ICubTree

From Wiki for iCub and Friends
Revision as of 18:45, 30 August 2013 by Straversaro (talk | contribs) (Corrected naming of the Torso joints)
Jump to navigation Jump to search

Draft page

For using the iCub with the new iDynTree library a whole body serialization of link and joints is necessary.

Body part serialization

The chosen serialization between the body parts of the iCub is:

BodyPart serialization BodyPart ID
torso 1
head 2
left_arm 3
right_arm 4
left_leg 5
right_leg 6

This is the same serialization used in skinDynLib and in the upcoming yarpWholeBodyInterface.


Some methods of the old iDyn library (part of the iCubWholeBody class) used another serialization:

Deprecated
left_leg
right_leg
torso
left_arm
right_arm
head

While this serialization is going to be deprecated, it can be used in iDynTree using the iCubTree_serialization_tag

Joint serialization

The serialization of the body part induces a serialization of ICub joints (note that in the dynamical model the joint of the hands are not took in account)

Global DOF Index Local DOF Index DOF Identifier BodyPart
0 0 torso_pitch torso
1 1 torso_roll torso
2 2 torso_yaw torso
3 0 neck_pitch head
4 1 neck_roll head
5 2 neck_yaw head
6 0 l_shoulder_pitch left_arm
7 1 l_shoulder_roll left_arm
8 2 l_shoulder_yaw left_arm
9 3 l_elbow left_arm
10 4 l_wrist_prosup left_arm
11 5 l_wrist_pitch left_arm
12 6 l_wrist_yaw left_arm
13 0 r_shoulder_pitch right_arm
14 1 r_shoulder_roll right_arm
15 2 r_shoulder_yaw right_arm
16 3 r_elbow right_arm
17 4 r_wrist_prosup right_arm
18 5 r_wrist_pitch right_arm
19 6 r_wrist_yaw right_arm
20 0 l_pitch_pitch left_leg
21 1 l_pitch_roll left_leg
22 2 l_pitch_yaw left_leg
23 3 l_knee left_leg
24 4 r_ankle_pitch left_leg
25 5 r_ankle_roll left_leg
26 0 r_pitch_pitch right_leg
27 1 r_pitch_roll right_leg
28 2 r_pitch_yaw right_leg
29 3 r_knee right_leg
30 4 r_ankle_pitch right_leg
31 5 r_ankle_roll right_leg

Links

A similar serialization is provided also for the links. Please note that some of the links do not match a physical link, but are defined to describe useful reference frames (such as "imu_frame"). Among those links there are "l_gripper","r_gripper","l_sole","r_sole" that match the frames of the end effectors in the classical iDynChain(s).

Global Link Index Local Link Index Link Identifier BodyPart
0 0 root_link torso
1 1 lap_belt_1 torso
2 2 lap_belt_2 torso
3 3 chest torso
4 0 neck_1 head
5 1 neck_2 head
6 2 head head
7 3 imu_frame head
8 0 l_shoulder_1 left_arm
9 1 l_shoulder_2 left_arm
10 7 l_upper_arm left_arm
11 2 l_arm left_arm
12 3 l_elbow_1 left_arm
13 4 l_forearm left_arm
14 5 l_wrist_1 left_arm
15 6 l_hand left_arm
16 8 l_gripper left_arm
17 0 r_shoulder_1 right_arm
18 1 r_shoulder_2 right_arm
19 7 r_upper_arm right_arm
20 2 r_arm right_arm
21 3 r_elbow_1 right_arm
22 4 r_forearm right_arm
23 5 r_wrist_1 right_arm
24 6 r_hand right_arm
25 8 r_gripper right_arm
26 0 l_hip_1 left_leg
27 1 l_hip_2 left_leg
28 6 l_upper_thigh left_leg
29 2 l_thigh left_leg
30 3 l_shank left_leg
31 4 l_ankle_1 left_leg
32 5 l_foot left_leg
33 7 l_sole left_leg
34 0 r_hip_1 right_leg
35 1 r_hip_2 right_leg
36 6 r_upper_thigh right_leg
37 2 r_thigh right_leg
38 3 r_shank right_leg
39 4 r_ankle_1 right_leg
40 5 r_foot right_leg
41 7 r_sole right_leg
42 4 torso torso

Tree

A graphic representation of the iCub tree (note that the transformation on the graph are not the one currently provided by iCubTree): File:Test icub.pdf