Installation

Pinker is distributed as a source package: its C extension is compiled at installation time, while everything else in the library is pure Python.

From PyPI

You can install Pinker directly from PyPI, for instance using pip:

pip install pinker

The main runtime dependencies are NumPy and qpsolvers (which brings in a QP solver of your choice). Since the library ships no QP solver of its own, you should install at least one, for instance:

pip install daqp

Solvers available in your environment will be listed in qpsolvers.available_solvers. You can select the backend QP solver by name when calling pinker.solve_ik.solve_ik().

Robot descriptions

The examples and tests load their robot models from robot_descriptions:

pip install robot_descriptions

Descriptions whose URDF is generated from xacro, such as the official Universal Robots arms, also require xacrodoc:

pip install xacrodoc

Descriptions are then loaded by name with load_robot_description():

import pinker

robot = pinker.load_robot_description("ur3_official_description")

Local URDF files are loaded with load_robot_urdf(), which does not require the robot_descriptions package:

robot = pinker.load_robot_urdf("robot.urdf")