Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

RobotHandDirect.world

Go to the documentation of this file.
00001 
00003 [CONSTANTS]
00004 
00005 % Values for the rotations (must be inside the limits below)
00006 % Abduction rotation for finger 1
00007 phi_1_1:=pi/8
00008 phi_1_2:=pi/2
00009 % First rotation in finger 1
00010 phi_1_3:=pi/8
00011 % Second rotation in finger 1
00012 phi_1_4:=pi/4
00013 
00014 % Abduction rotation for finger 2
00015 phi_2_1:=0
00016 phi_2_2:=pi/4
00017 % first rotation  in finger 2
00018 phi_2_3:=pi/8
00019 % second rotation  in finger 2
00020 phi_2_4:=pi/4
00021 
00022 % Two ranges for the universal joint connecting the palm and finger 3
00023 phi_3_1:=0
00024 phi_3_2:=pi/4
00025 % Range for the first rotation  in finger 2
00026 phi_3_3:=pi/8
00027 % Range for the second rotation  in finger 2
00028 phi_3_4:=pi/4
00029 
00030 % Two ranges for the universal joint connecting the palm and finger 4
00031 phi_4_1:=0
00032 phi_4_2:=pi/2
00033 % Range for the first rotation  in finger 2
00034 phi_4_3:=pi/8
00035 % Range for the second rotation  in finger 2
00036 phi_4_4:=pi/4
00037 
00038 % Anchor points of the fingers at the palm
00039 %  (we assume that the universal joint connecting the hand and the finger has
00040 %   the rotation axis aligned with the palm axis)
00041 q_1_1_x:= 9.5
00042 q_1_1_y:=-67
00043 q_1_1_z:=197.55
00044 
00045 q_2_1_x:=9.5
00046 q_2_1_y:=0
00047 q_2_1_z:=197.55
00048 
00049 q_3_1_x:=9.5
00050 q_3_1_y:=67
00051 q_3_1_z:=197.55
00052 
00053 q_4_1_x:=40.1650
00054 q_4_1_y:=30.012
00055 q_4_1_z:=66.8142
00056 
00057 % Length of the phalanges. first index is the leg, second
00058 %   index is the phalanx.
00059 %   Phalanges are numbered from 2 since the attachment point
00060 %   of the finger on the palm is seen as the first phalanx
00061 p_1_2:=76.66
00062 p_1_3:=56
00063 p_1_4:=33.805151243
00064 
00065 p_2_2:=76.66
00066 p_2_3:=56
00067 p_2_4:=33.805151243
00068 
00069 p_3_2:=76.66
00070 p_3_3:=56
00071 p_3_4:=33.805151243
00072 
00073 p_4_2:=76.66
00074 p_4_3:=66
00075 p_4_4:=39.862238567
00076 
00077 % Contact point on the fingertip
00078 q_1_4_x:=27.856821097374684
00079 q_1_4_y:=0
00080 q_1_4_z:=19.151400000000000
00081 
00082 q_2_4_x:=27.856821097374684
00083 q_2_4_y:=0
00084 q_2_4_z:=19.151651859208762
00085 
00086 q_3_4_x:=27.856821097374684
00087 q_3_4_y:=0
00088 q_3_4_z:=19.151651859208762
00089 
00090 q_4_4_x:=34.762406989603285
00091 q_4_4_y:=0
00092 q_4_4_z:=19.508283467663215
00093 
00094 % Normals of the fingertip at the contact point
00095 % Pointing outside the finger
00096 % NOTE: The interpretation of the results of this
00097 % file given below is strongly based on these
00098 % vectors to be (0,0,1)
00099 mhat_1_x:=0 
00100 mhat_1_y:=0 
00101 mhat_1_z:=1 
00102 
00103 mhat_2_x:=0 
00104 mhat_2_y:=0 
00105 mhat_2_z:=1 
00106 
00107 mhat_3_x:=0 
00108 mhat_3_y:=0 
00109 mhat_3_z:=1 
00110 
00111 mhat_4_x:=0 
00112 mhat_4_y:=0 
00113 mhat_4_z:=1 
00114 
00115 % Joint ranges
00116 
00117 % Two ranges for the universal joint connecting the palm and finger 1
00118 phi_1_1_min:=-15*pi/180
00119 phi_1_1_max:= 15*pi/180
00120 
00121 phi_1_2_min:=0
00122 phi_1_2_max:=pi/2
00123 
00124 % Range for the first rotation  in finger 1
00125 phi_1_3_min:=0
00126 phi_1_3_max:=pi/2
00127 
00128 % Range for the second rotation  in finger 1
00129 phi_1_4_min:=0
00130 phi_1_4_max:=pi/2
00131 
00132 % Two ranges for the universal joint connecting the palm and finger 2
00133 phi_2_1_min:=-15*pi/180
00134 phi_2_1_max:= 15*pi/180
00135 
00136 phi_2_2_min:=0
00137 phi_2_2_max:=pi/2
00138 
00139 % Range for the first rotation  in finger 2
00140 phi_2_3_min:=0
00141 phi_2_3_max:=pi/2
00142 
00143 % Range for the second rotation  in finger 2
00144 phi_2_4_min:=0
00145 phi_2_4_max:=pi/2
00146 
00147 % Two ranges for the universal joint connecting the palm and finger 3
00148 phi_3_1_min:=-15*pi/180
00149 phi_3_1_max:= 15*pi/180
00150 
00151 phi_3_2_min:=0
00152 phi_3_2_max:=pi/2
00153 
00154 % Range for the first rotation  in finger 2
00155 phi_3_3_min:=0
00156 phi_3_3_max:=pi/2
00157 
00158 % Range for the second rotation  in finger 2
00159 phi_3_4_min:=0
00160 phi_3_4_max:=pi/2
00161 
00162 % Two ranges for the universal joint connecting the palm and finger 4
00163 phi_4_1_min:=-15*pi/180
00164 phi_4_1_max:= 15*pi/180
00165 
00166 phi_4_2_min:=   pi/4
00167 phi_4_2_max:= 3*pi/4
00168 
00169 % Range for the first rotation  in finger 2
00170 phi_4_3_min:=0
00171 phi_4_3_max:=pi/2
00172 
00173 % Range for the second rotation  in finger 2
00174 phi_4_4_min:=0
00175 phi_4_4_max:=pi/2
00176 
00177 % Radius of the cylinders representing the fingers
00178 rf:=20
00179 
00180 % Radius of the spheres representing rotulas
00181 rr:=25
00182 
00183 % Radius of the spheres representing contact points on the object
00184 rc:=5
00185 
00186 [LINKS]
00187 
00188 % palm
00189   palm: body "bodies/palm.off" color (0.5,0.5,0.5)
00190 
00191 % finger 1
00192   p12: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00193        cylinder rf (0,0,0) 
00194                    (p_1_2,0,0) color (0.25,0.6,0.6)
00195 
00196   p13: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00197        cylinder rf (0,0,0) 
00198                    (p_1_3,0,0) color (0.25,0.6,0.6)
00199    
00200   p14: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00201        cylinder rf (0,0,0) 
00202                    (p_1_4,0,0) color (0.3,0.5,0.98)
00203        sphere   rf (p_1_4,0,0) color (0.3,0.5,0.98)
00204 
00205 % finger 2
00206   p22: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00207        cylinder rf (0,0,0) 
00208                    (p_2_2,0,0) color (0.25,0.6,0.6)
00209 
00210   p23: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00211        cylinder rf (0,0,0) 
00212                    (p_2_3,0,0) color (0.25,0.6,0.6)
00213    
00214   p24: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00215        cylinder rf (0,0,0) 
00216                    (p_2_4,0,0) color (0.3,0.5,0.98)
00217        sphere   rf (p_2_4,0,0) color (0.3,0.5,0.98)
00218 
00219 % finger 3
00220   p32: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00221        cylinder rf (0,0,0) 
00222                    (p_3_2,0,0) color (0.25,0.6,0.6)
00223 
00224   p33: sphere   rr (0,0,0)     color (0.30,0.9,0.1)
00225        cylinder rf (0,0,0) 
00226                    (p_3_3,0,0) color (0.25,0.6,0.6)
00227    
00228   p34: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00229        cylinder rf (0,0,0) 
00230                    (p_3_4,0,0) color (0.3,0.5,0.98)
00231        sphere   rf (p_3_4,0,0) color (0.3,0.5,0.98)
00232 
00233 % finger 4
00234   p42: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00235        cylinder rf (0,0,0) 
00236                    (p_4_2,0,0) color (0.25,0.6,0.6)
00237 
00238   p43: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00239        cylinder rf (0,0,0) 
00240                    (p_4_3,0,0) color (0.25,0.6,0.6)
00241    
00242   p44: sphere   rr (0,0,0)     color (0.3,0.9,0.10)
00243        cylinder rf (0,0,0) 
00244                    (p_4_4,0,0) color (0.3,0.5,0.98)
00245        sphere   rf (p_4_4,0,0) color (0.3,0.5,0.98)
00246 
00247 % Contact points are represented by cylinders (aligned with 
00248   X_1 : red
00249         sphere   rc*2 (0,0,0)
00250         cylinder rc   (0,0,0) 
00251                       (5*rc*mhat_1_x,5*rc*mhat_1_y,5*rc*mhat_1_z)
00252         sphere   rc   (5*rc*mhat_1_x,5*rc*mhat_1_y,5*rc*mhat_1_z)
00253         
00254   X_2: red
00255        sphere   rc*2 (0,0,0)
00256        cylinder rc   (0,0,0) 
00257                      (5*rc*mhat_2_x,5*rc*mhat_2_y,5*rc*mhat_2_z) 
00258        sphere   rc   (5*rc*mhat_2_x,5*rc*mhat_2_y,5*rc*mhat_2_z)
00259 
00260   X_3: red
00261        sphere   rc*2 (0,0,0)
00262        cylinder rc   (0,0,0) 
00263                      (5*rc*mhat_3_x,5*rc*mhat_3_y,5*rc*mhat_3_z) 
00264        sphere   rc   (5*rc*mhat_3_x,5*rc*mhat_3_y,5*rc*mhat_3_z)
00265 
00266   X_4: red
00267        sphere   rc*2 (0,0,0)
00268        cylinder rc   (0,0,0) 
00269                      (5*rc*mhat_4_x,5*rc*mhat_4_y,5*rc*mhat_4_z)
00270        sphere   rc   (5*rc*mhat_4_x,5*rc*mhat_4_y,5*rc*mhat_4_z)
00271 
00272 [JOINTS]
00273 
00274 % finger 1
00275   universal: palm (q_1_1_x,q_1_1_y,q_1_1_z)+(1,0,0)
00276              p12  (0,0,0)+(0,1,0)
00277              range [phi_1_1,phi_1_1] +(0,-1,0)
00278                    [phi_1_2,phi_1_2] +(0,0,1)
00279 
00280   revolute: p12 (p_1_2,0,0)+(0,-1,0)
00281             p13 (0,0,0)+(0,-1,0)
00282             range [phi_1_3,phi_1_3] +(1,0,0) +(1,0,0)
00283 
00284   revolute: p13 (p_1_3,0,0)+(0,-1,0) 
00285             p14 (0,0,0)+(0,-1,0)
00286             range [phi_1_4,phi_1_4] +(1,0,0) +(1,0,0)
00287 
00288 % finger 2
00289   universal: palm (q_2_1_x,q_2_1_y,q_2_1_z)+(1,0,0)
00290              p22  (0,0,0)+(0,1,0)
00291              range [phi_2_1,phi_2_1] +(0,-1,0)
00292                    [phi_2_2,phi_2_2] +(0,0,1)
00293 
00294   revolute: p22 (p_2_2,0,0)+(0,-1,0)
00295             p23 (0,0,0)+(0,-1,0)
00296             range [phi_2_3,phi_2_3] +(1,0,0) +(1,0,0)
00297 
00298   revolute: p23 (p_2_3,0,0)+(0,-1,0) 
00299             p24 (0,0,0)+(0,-1,0)
00300             range [phi_2_4,phi_2_4] +(1,0,0) +(1,0,0)
00301 
00302 % finger 3
00303   universal: palm (q_3_1_x,q_3_1_y,q_3_1_z)+(1,0,0)
00304              p32 (0,0,0)+(0,1,0)
00305              range [phi_3_1,phi_3_1] +(0,-1,0)
00306                    [phi_3_2,phi_3_2] +(0,0,1)
00307 
00308   revolute: p32 (p_3_2,0,0)+(0,-1,0)
00309             p33 (0,0,0)+(0,-1,0)
00310             range [phi_3_3,phi_3_3] +(1,0,0) +(1,0,0)
00311 
00312   revolute: p33 (p_3_3,0,0)+(0,-1,0) 
00313             p34 (0,0,0)+(0,-1,0)
00314             range [phi_3_4,phi_3_4] +(1,0,0) +(1,0,0)
00315 
00316 % finger 4
00317   universal: palm (q_4_1_x,q_4_1_y,q_4_1_z)+(-1,0,0)
00318              p42  (0,0,0)+(0,-1,0)
00319              range [phi_4_1,phi_4_1] +(0,-1,0)
00320                    [phi_4_2,phi_4_2] +(0, 0,1)
00321 
00322   revolute: p42 (p_4_2,0,0)+(0,-1,0)
00323             p43 (0,0,0)+(0,-1,0)
00324             range [phi_4_3,phi_4_3] +(1,0,0) +(1,0,0)
00325 
00326   revolute: p43 (p_4_3,0,0)+(0,-1,0) 
00327             p44 (0,0,0)+(0,-1,0)
00328             range [phi_4_4,phi_4_4] +(1,0,0) +(1,0,0)
00329 
00330   fix: p14 X_1 Txyz(q_1_4_x,q_1_4_y,q_1_4_z)
00331   fix: p24 X_2 Txyz(q_2_4_x,q_2_4_y,q_2_4_z)
00332   fix: p34 X_3 Txyz(q_3_4_x,q_3_4_y,q_3_4_z)
00333   fix: p44 X_4 Txyz(q_4_4_x,q_4_4_y,q_4_4_z)
00334