Robotics

Here are notes connecting bits of knowledge I found useful in robotics. Don't hesitate to chime in the discussions if you have questions.

Locomotion

Models

Contact dynamics

Dynamics

Kinematics

Control theory

Robots

Upkie wheeled biped

Upkie is an open source, homemade, self-balancing wheeled biped robot. Its wheels allow it to balance continually. Its legs allow it to go off-road and negotiate uneven terrains. Upkie is designed to be made at home using tools and components ordered online (like mjbots actuators) and open source software maintained on GitHub. The robot motions are coordinated by a Raspberry Pi that interacts over Bluetooth with a remote controller.

Software

Pinocchio

Pinocchio is a C++/Python robotics software that implements rigid body dynamics algorithms (recursive Newton-Euler, articulated-body, ...) and their analytical derivatives. In recent years it has become a de facto standard used in optimal control (Crocoddyl, OCS2), motion planning (HPP) and physics simulators (Jiminy). I started using it full-time with whole-body inverse kinematics in Pink.

OpenRAVE

OpenRAVE is a C++/Python robotics software for forward kinematics and inverse dynamics of robot models. It provides other features not listed here such as symbolic inverse kinematics for serial manipulators. I used it in my PhD and developed the pymanoid library to add whole-body inverse kinematics and model predictive control to it for prototyping humanoid walking controllers.

See also

Optimization

Physics