ICubForwardKinematics
From Wiki for RobotCub and Friends
The iCub forward kinematics are described with respect to a (root) reference frame which is positioned at the level of the waist in the center of the robot as represented in the following pic. (The x axis is in red. The y axis is in green. The z axis is in blue.).
The origin of the root reference frame is a point on the axis of rotation of the torso pitch. Among all points in this axis, the origin is located in the middle of the robot in between the two legs.
- The z axis of the root reference frame is parallel to gravity but pointing upwards.
- The x axis of the root reference frame points behind the robot.
- The y axis of the root reference frame points laterally and is chosen according to the right hand rule.
Seven additional reference frames are defined with respect to this common root reference frame. The reference frames are located as shown in the CAD figure. The x axis is in red. The y axis is in green. The z axis is in blue.
- Left hand reference frame (see the CAD picture Media:LeftHandCADRefFrame.jpg)
- Right hand reference frame (see the CAD picture Media:RightHandCADRefFrame.jpg)
- Left foot reference frame (see the CAD picture Media:LegsCADRefFrame.jpg)
- Right foot reference frame (see the CAD picture Media:LegsCADRefFrame.jpg)
- Left eye reference frame (see the CAD picture Media:HeadCADRefFrame.jpg)
- Right eye reference frame (see the CAD picture Media:HeadCADRefFrame.jpg)
- Inertia sensor reference frame (see the CAD picture Media:InertiaCADRefFrame.jpg)
The roto-translation which converts a point in one of these reference frames to the root reference frame are given by the following SE(3) matrices:
| End effector | Reference frame | SE(3) Matrix | Description | Matlab files | |
|---|---|---|---|---|---|
| All | -> | Root | - | Whole body (all reference frames) | Media: ICubFwdKinNew.zip |
| Left hand | -> | Root | T_RoLh | ICubFowardKinematics_left | Media: ICubFwdKinNew.zip |
| Right hand | -> | Root | T_RoRh | ICubFowardKinematics_right | Media: ICubFwdKinNew.zip |
| Left foot | -> | Root | T_RoLf | iCubWaistLeftLegKinematics | Media: ICubFwdKinNew.zip |
| Right foot | -> | Root | T_RoRf | iCubWaistRightLegKinematics | Media: ICubFwdKinNew.zip |
| Left eye | -> | Root | T_RoLe | ICubHeadKinematics | Media:ICubFwdKinNew.zip |
| Right eye | -> | Root | T_RoRe | ICubHeadKinematics | Media:ICubFwdKinNew.zip |
| Inertia sensor | -> | Root | T_RoIs | iCubInertiaSensorKinematics | Media:ICubFwdKinNew.zip |
Each of these matrices is constructed with two steps. The first consists in a rigid roto-translation from the points in the root reference frame to points in the 0th reference frame as defined by the Denavit-Hartenberg convention. The second step corresponds to the Denavit-Hartenberg description of the forward kinematic, i.e. the roto-translation from the 0th reference frame to the nth reference frame being n the number of degrees of freedom.



