Skip to content

Repository files navigation

PlaCo

Rhoban's Planning and Control library

QP-based task-space inverse kinematics and dynamics for robots.
Written in C++ for runtime performance, with Python bindings for fast prototyping.

Documentation PyPI Python versions Build arXiv License

Documentation  ·  Getting started  ·  Examples repository  ·  Build from source  ·  Paper

pip install placo

What is PlaCo?

PlaCo is Rhoban's planning and control library. It is built on top of pinocchio and the eiquadprog QP solver, and provides a high-level API to express whole-body control problems as a set of tasks and constraints, which are assembled into a quadratic program and solved for you.

Quadruped demo

Task-Space Inverse Kinematics

Specify tasks for constrained inverse kinematics (IK): frames, center of mass, joints, gears, wheels…

Documentation  ·  Examples gallery

Megabot demo

Task-Space Inverse Dynamics

Specify tasks for constrained inverse dynamics (ID), including contacts, torque and velocity limits.

Documentation  ·  Examples gallery

Installation

PlaCo is distributed as a wheel for Linux and macOS (x86-64 and arm64), and requires Python 3.10 or later:

pip install placo

It can also be built from sources, which is required to use the C++ API.

A first taste

import numpy as np
import placo

# Load a robot and create the kinematics solver
robot = placo.RobotWrapper("models/6axis/")
solver = placo.KinematicsSolver(robot)
solver.mask_fbase(True)  # the robot is anchored to the ground

# Ask the "effector" frame to reach a given pose
effector_task = solver.add_frame_task("effector", np.eye(4))
effector_task.configure("effector", "soft", 1.0, 1.0)

# Solve the IK, and integrate the result in the robot state
robot.update_kinematics()
solver.solve(True)

Head to the getting started guide for a walkthrough, or to the examples repository for runnable robots and scenarios.

Resources

  • Documentation — guides and full API reference
  • Examples repository — runnable demos, models and videos
  • PaperPlaCo: a QP-based robot planning and control framework
  • Issues — bug reports and feature requests

Citation

If you use PlaCo in your research, please cite the following paper:

@misc{duclusaud2025placo,
      title={PlaCo: a QP-based robot planning and control framework},
      author={Marc Duclusaud and Grégoire Passault and Vincent Padois and Olivier Ly},
      year={2025},
      eprint={2511.06141},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2511.06141},
}

License

PlaCo is released under the MIT License.

About

Rhoban Planning and Control

Resources

Stars

369 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages