Orocos KDL
KDLAdvancedA C++ kinematics and dynamics library from the Orocos project, long a default choice for kinematics in ROS.
KDL is part of Orocos, an open-source robot control software project originally developed at institutions including KU Leuven in Belgium. It's implemented in C++, with Python bindings also available. KDL models a robot as a kinematic chain of links connected by joints, and provides solvers for forward kinematics, inverse kinematics, the Jacobian matrix, and inverse dynamics. It's used extremely widely across the ROS ecosystem: kdl_parser converts a URDF into a KDL model, robot_state_publisher uses it to compute the pose of every link, and MoveIt's default kinematics plugin is also built on it. Its numerical inverse-kinematics solver tends to fail near joint limits, which is why it's often replaced by TRAC-IK; newer projects are also increasingly switching to Pinocchio.
ExampleAfter a robot arm publishes its joint angles in ROS, robot_state_publisher calls KDL to compute the pose of the end effector and every link, then publishes them to the TF transform tree.
- Also called
- KDL, Orocos Kinematics and Dynamics Library
- Related
- Forward Kinematics (FK) · Inverse Kinematics (IK) · Jacobian Matrix · TRAC-IK · MoveIt Motion Planning Framework · robot_state_publisher
- Sources
- Orocos KDL 官方页面 (Chinese)
orocos/orocos_kinematics_dynamics (GitHub)