This package implements forward kinematics for a kinematic chain. The kinematic chain is a tree of joints (hpp::model::Joint) that belongs to a robot (hpp::model::Device).
The position of each joint depends on the current configuration of the robot.
A body (hpp::model::Body) can be attached to each joint. Bodies carry
A hpp::model::HumanoidRobot is a device with accessors to specific joints like
In the following, we denote by a rigid-body motion with
Joints are represented by abstract class hpp::model::Joint. A joint is a mapping from an input space (a Lie group or a vector space) to SE(3) the space of rigid-body motion. The mapping is called the joint internal motion.
The types of joints implemented in the package are the following:
The position of a joint is defined by the following relation
where
Abstract class hpp::model::JointConfiguration aims at handling joint configuration and velocities. The main methods are the following:
The class device represents either a robot as a kinematic chain, or a free-floating object (hence the name of the class).
The kinematic chain can be accessed via method hpp::model::Device::rootJoint.
The joints are stored in a vector (hpp::model::device::getJointVector). The configuration of the robot (commonly denoted by is a vector built by concatenation of joint configuration vectors in the order to the joint vector.
The velocity of the robot (commonly denoted by is represented by a vector built by concatenating joint velocities in the order of the joint vector.
`
The following operations are defined between configurations and velocities.