This website uses browsing/session and functional cookies to ensure you get the best experience. Learn More

ICubForwardKinematics

From Wiki for iCub and Friends
Jump to: navigation, search

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 (colored cylinders: the x axis is in red, the y axis is in green, the z axis is in blue).

ReferenceFrame.jpg ReferenceFrameGlobal.jpg

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.

  1. The z axis of the root reference frame is parallel to gravity but pointing upwards.
  2. The x axis of the root reference frame points behind the robot.
  3. The y axis of the root reference frame points laterally and is chosen according to the right hand rule.

For simpler visualization the root reference frame of the forward kinematics is depicted in the picture below (light blue) (for the exact position refer the CAD pictures above):

Robot-ref-frame.jpg

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.

  1. Left hand reference frame (see the CAD picture Media:LeftHandCADRefFrame.jpg)
  2. Right hand reference frame (see the CAD picture Media:RightHandCADRefFrame.jpg)
  3. Left Fingers reference frame (see the CAD picture Media:LeftHand.png)
  4. Right Fingers reference frame (see the CAD picture Media:RightHand.png)
  5. Left foot reference frame (see the CAD picture Media:LegsCADRefFrame.jpg)
  6. Right foot reference frame (see the CAD picture Media:LegsCADRefFrame.jpg)
  7. Left eye reference frame (see the CAD picture Media:HeadCADRefFrame.jpg)
  8. Right eye reference frame (see the CAD picture Media:HeadCADRefFrame.jpg)
  9. 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 arm -> Root T_RoLa iCub Left Arm Forward Kinematics Media:ICubFwdKinNew.zip
Right arm -> Root T_RoRa iCub Right Arm Forward Kinematics Media:ICubFwdKinNew.zip
Left hand -> Root T_RoLt, T_RoLi, T_RoLm iCub Left Fingers Forward Kinematics []
Right hand -> Root T_RoRt, T_RoRi, T_RoRm iCub Right Fingers Forward Kinematics []
Left foot V1 -> Root T_RoLf iCub Left Leg Forward Kinematics V1 Media:ICubFwdKinNew.zip
Left foot V2.5 -> Root T_RoLf iCub Left Leg Forward Kinematics V2.5 Media:ICubFwdKinNewV2.5.zip
Right foot V1 -> Root T_RoRf iCub Right Leg Forward Kinematics V1 Media:ICubFwdKinNew.zip
Right foot V2.5 -> Root T_RoRf iCub Right Leg Forward Kinematics V2.5 Media:ICubFwdKinNewV2.5.zip
Left eye V1 -> Root T_RoLe iCub Head Forward Kinematics (left eye) V1 Media:ICubFwdKinNew.zip
Left eye V2 -> Root T_RoLe iCub Head Forward Kinematics (left eye) V2 Media:ICubFwdKinNewV2.zip
Right eye V1 -> Root T_RoRe iCub Head Forward Kinematics (right eye) V1 Media:ICubFwdKinNew.zip
Right eye V2 -> Root T_RoRe iCub Head Forward Kinematics (right eye) V2 Media:ICubFwdKinNewV2.zip
Inertia sensor V1 -> Root T_RoIs iCub Inertial Sensor Forward Kinematics V1 Media:ICubFwdKinNew.zip
Inertia sensor V2 -> Root T_RoIs iCub Inertial Sensor Forward Kinematics V2 Media:ICubFwdKinNewV2.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.

Finally, the following image shows the root reference frame and all other coordinate systems at each joint of the robot (no hands included), along with the fixed transformation matrices from limbs to base reference frames. The Upper/Lower Torso division has been made according to the iDyn library convention (which is different the one found in iKin).

NewiCubRefFrames1.png


Code

Here is a list of known projects that encode the kinematics in various formats. None of them are guaranteed to be accurate or up-to-date.

... and probably many others, especially summer school projects.

Personal tools
Namespaces

Variants
Actions
Navigation
Print/export
Toolbox