Go to the documentation of this file.
5 % qji_k is a vector expressing the anchor point of reference
6 % frame i with respect to reference frame k of finger j.
7 % if k is not given, it means it is respect to the palm,
8 % which in our case, it is the absoulute one.
28 % These anchor points can be seen as the length of the phalanges,
29 % but that is because the phalanges are aligned with this vectors.
85 % We can symmetrically enlarge the ranges for the joints so that
86 % the hand can better manipulate objects without regrasping.
87 % Set to zero to use the original ranges
88 enlarge_range := 20*pi/180
90 % Two ranges for the universal joint connecting the palm and finger 2
92 phi_2_1_min:= -pi/8 -enlarge_range
93 phi_2_1_max:= pi/8 +enlarge_range
96 phi_2_2_min:= 0 -enlarge_range
97 phi_2_2_max:= pi/2 +enlarge_range
99 % Range for the first rotation in finger 2
101 phi_2_3_min:= 0 -enlarge_range
102 phi_2_3_max:= pi/2 +enlarge_range
104 % Range for the second rotation in finger 2
106 phi_2_4_min:= 0 -enlarge_range
107 phi_2_4_max:= pi/2 +enlarge_range
109 % Range for the contact rotation
114 phi_2_5_max:= pi/2+0.25
116 % Two ranges for the universal joint connecting the palm and finger 3
118 phi_3_1_min:= -pi/8 -enlarge_range
119 phi_3_1_max:= pi/8 +enlarge_range
122 phi_3_2_min:= 0 -enlarge_range
123 phi_3_2_max:= pi/2 +enlarge_range
125 % Range for the first rotation in finger 3
127 phi_3_3_min:= 0 -enlarge_range
128 phi_3_3_max:= pi/2 +enlarge_range
130 % Range for the second rotation in finger 3
132 phi_3_4_min:= 0 -enlarge_range
133 phi_3_4_max:= pi/2 +enlarge_range
135 % Range for the contact rotation
137 phi_3_5_max:= pi/2+0.25
139 % Two ranges for the universal joint connecting the palm and finger 4
141 phi_4_0_min:= 0 -enlarge_range
142 phi_4_0_max:= pi/2 +enlarge_range
145 phi_4_1_min:= -pi/8 -enlarge_range
146 phi_4_1_max:= pi/8 +enlarge_range
149 phi_4_2_min:= 0 -enlarge_range
150 phi_4_2_max:= pi/2 +enlarge_range
152 % Range for the first rotation in finger 4
154 phi_4_3_min:= 0 -enlarge_range
155 phi_4_3_max:= pi/2 +enlarge_range
157 % Range for the second rotation in finger 4
159 phi_4_4_min:= 0 -enlarge_range
160 phi_4_4_max:= pi/2 +enlarge_range
162 % Range for the contact rotation
164 phi_4_5_max:= pi/2+0.25
166 %-------------------------------------------------------------------
167 %--------------------------------------------------------------------
172 palm:body "bodies/palmSAH.off" white
173 body "bodies/acs1palm.off" blue
174 body "bodies/acs2palm.off" blue
175 body "bodies/acs3palm.off"
178 body "bodies/p1_fix.off" white
179 body "bodies/p2_fix.off" white
180 body "bodies/b2_fix.off" blue
181 body "bodies/p3_fix.off" white
182 body "bodies/p4_fix.off" white
183 body "bodies/b4_fix.off" blue
186 p22: body "bodies/p1.off" white
187 body "bodies/p2.off" white
188 body "bodies/b2.off" blue
190 p23: body "bodies/p3.off" white
192 p24: body "bodies/p4.off" white
193 body "bodies/b4.off" blue
196 p32: body "bodies/p1.off" white
197 body "bodies/p2.off" white
198 body "bodies/b2.off" blue
200 p33: body "bodies/p3.off" white
202 p34: body "bodies/p4.off" white
203 body "bodies/b4.off" blue
206 p40: body "bodies/p0thumb.off" white
208 p42: body "bodies/p1.off" white
209 body "bodies/p2.off" white
210 body "bodies/b2.off" blue
212 p43: body "bodies/p3.off" white
214 p44: body "bodies/p4.off" white
215 body "bodies/b4.off" blue
220 setrill2 > body "bodies/setrill.off" red
222 % contact links (after the hand but before the object!)
224 p35: sphere 0.5 (0,0,0) green
225 p45: sphere 0.5 (0,0,0) green
230 universal: palm (q21x,q21y,q21z)+(1,0,0)
232 range [phi_2_1_min,phi_2_1_max] +(0,1,0)
233 [phi_2_2_min,phi_2_2_max] +(0,0,1)
235 revolute: p22 (q23x_2,q23y_2,q23z_2)+(0,-1,0)
237 range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
239 revolute: p23 (q24x_3,q24y_3,q24z_3)+(0,-1,0)
241 range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
244 universal: palm (q31x,q31y,q31z)+(1,0,0)
246 range [phi_3_1_min,phi_3_1_max] +(0,0.99937,0.035485)
247 [phi_3_2_min,phi_3_2_max] +(0,0,1)
249 revolute: p32 (q33x_2,q33y_2,q33z_2)+(0,-1,0)
251 range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
253 revolute: p33 (q34x_3,q34y_3,q34z_3)+(0,-1,0)
255 range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
258 revolute: palm (q40x,q40y,q40z)+(0,0,-1)
260 range [phi_4_0_min,phi_4_0_max] +(0,-1,0) +(0,0,1)
262 universal: p40 (q41x_0,q41y_0,q41z_0) +(0.573580,0,0.81915)
264 range [phi_4_1_min,phi_4_1_max] +(0,-1,0)
265 [phi_4_2_min,phi_4_2_max] +(0,0,1)
267 revolute: p42 (q43x_2,q43y_2,q43z_2)+(0,-1,0)
269 range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
271 revolute: p43 (q44x_3,q44y_3,q44z_3)+(0,-1,0)
273 range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
276 % contact joints (after the hand joints)
278 revolute: p34 (q35x_4,q35y_4,0)+(0,1,0)
279 p35 (0,0,q35z_4)+(0,1,0)
280 range [phi_3_5_min,phi_3_5_max] +(0,0,1) +(0,0,1)
282 revolute: p44 (q45x_4,q45y_4,0)+(0,1,0)
283 p45 (0,0,q45z_4)+(0,1,0)
284 range [phi_4_5_min,phi_4_5_max] +(0,0,1) +(0,0,1)
|
Follow us!