Open Source RoboticsRobots, software & learning

Pink

Software

Python differential inverse kinematics using weighted tasks, Pinocchio models and quadratic-program solvers. [1] [2] [3] [5]

Installation & first result →Official websiteGetting started

For
Robotics developers evaluating the selected source workflow [1] [2] [3] [5]
Source rights
Named licenses are documented by part. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware

Requirements · Research details and dates

On this page

Overview

Pink supplies Python differential inverse kinematics for articulated robot models using Pinocchio and quadratic programming. It combines weighted task errors with configured limits and optional barriers. This is model/solver software, not a physical robot driver or a promise that every requested task is feasible. [1] [5]

The old stephane-caron/pink repository resolves to pink-kinematics/pink. This entry preserves the current project identity rather than counting that rename as another implementation. [6] The source and installation documentation identify the package name as pin-pink on PyPI and pink on conda-forge. [1] [3]

The installation guide recommends conda install -c conda-forge pink and offers pip install pin-pink. Its source fallback requires separately installed eigenpy/Pinocchio before installing without dependencies. The README's concrete example loads a model with upkie_description, selects quadprog and uses a 0.006-second integration timestep. [1] Those are upstream example choices, not verified compatibility or recommended values for every robot. Match the actual model, libraries and backend; no package or solver was installed here. [3]

For a bounded first model task, the README creates FrameTask/PostureTask objects, sets targets and assigns costs. Frame names such as base and left_contact belong to the selected robot model, not arbitrary strings guaranteed to exist. Position/orientation costs normalize different units and trade off competing tasks; a weighted objective is not an independent demonstration that every target can be achieved. Pink is a local method rather than a global IK solver and can stop at a local optimum constrained by configuration limits. A stationary configuration therefore does not prove a reached target or the absence of another solution. [1]

The inspected solve_ik.py constructs objective and inequality terms from tasks, limits, barriers and the integration timestep. Match the model's configuration/velocity limits and solver result handling before applying a model update. A computed velocity or integrated configuration does not establish motor transport, feedback accuracy or collision safety on hardware. [5]

The project is Apache-2.0; external model meshes, Pinocchio and solver dependencies retain their own terms. Begin with one matched model and task configuration, then inspect solver behavior and limits before adding a robot interface. No IK solve, model integration, numerical comparison, trajectory execution or physical-control test was performed. [1] [2] [5]

Is this for you?

Known limitations
  • Old stephane-caron/pink resolves to pink-kinematics/pink; same project, not two entries.
  • QP result/model integration is not a physical control interface or universal feasibility guarantee.
  • No installation, solver run, model/limit validation or physical trajectory test.

Editorial assessment of bounded source evidence; no runtime, fit, manufacturing or compatibility proof.

[1] [2] [3] [5] · Editorial assessment

What you need

Languages / runtimes
  • Python

Upstream source/declaration only; no installation, compilation, simulation or device test.

[5]

Dependencies
  • Conda pink or PyPI pin-pink; Pinocchio/eigenpy and a selected qpsolvers backend
  • Matched robot model, tasks, limits and integration timestep

[1] [2] [3] [5]

Installation & first result

Open the upstream getting-started guide [1] [2] [3] [5]

  • Inspect the pinned implementation and select the exact configuration described in the article.
  • Follow the chosen upstream environment/build route, resolving the listed dependencies before runtime or hardware integration.

Editorial assessment of bounded source evidence; no runtime, fit, manufacturing or compatibility proof.

[1] [2] [3] [5] · Editorial assessment

Installation

The guide recommends conda install -c conda-forge pink and offers pip install pin-pink. Its source fallback requires eigenpy and Pinocchio installed separately before the no-dependencies installation. Select a compatible model and QP solver.

Upstream source/declaration only; no installation, compilation, simulation or device test.

[1] [3]

What we checked

Pinned source and selected artifact structure review only; no dependency installation, upstream build, native CAD/kernel/fit/strength validation, fabrication, wiring, calibration, simulation, powered operation or performance testing. Original archives stay private.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Nov 1, 2026
Sources last checked
Nov 1, 2026
Next review
Dec 1, 2026
Reviewed revision
2c33316

Source files and licenses

Distinct inspectable robotics software/data workflow with specific contribution and bounded next source-investigation step; not performance or physical-build certification.

LayerAvailability / license
softwareavailable · Apache-2.0
Selected project implementation; external dependencies, hardware, weights/data and asset rights remain separate. [5] [2]
documentationavailable · Apache-2.0
Scoped project declaration; no blanket grant over all linked material. [1] [2]

Outside the selected contribution; no separate released layer claimed.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history