Go to the documentation of this file.
4 % Anchor points of the fingers at the palm
5 % (we assume that the universal joint connecting the hand and the finger has
6 % the rotation axis aligned with the palm axis)
23 % Length of the phalanges. first index is the leg, second
24 % index is the phalanx.
25 % Phalanges are numbered from 2 since the attachment point
26 % of the finger on the palm is seen as the first phalanx
43 % Contact point on the object
61 % Normals of the object surface at the contact points
62 % Pointing into the object
79 % Contact point on the fingertip
80 q_1_4_x:=27.856821097374684
82 q_1_4_z:=19.151400000000000
84 q_2_4_x:=27.856821097374684
86 q_2_4_z:=19.151651859208762
88 q_3_4_x:=27.856821097374684
90 q_3_4_z:=19.151651859208762
92 q_4_4_x:=34.762406989603285
94 q_4_4_z:=19.508283467663215
96 % Normals of the fingertip at the contact point
97 % Pointing outward the finger
116 % Two ranges for the universal joint connecting the palm and finger 1
117 phi_1_1_min:=-15*pi/180
118 phi_1_1_max:= 15*pi/180
123 % Range for the first rotation in finger 1
127 % Range for the second rotation in finger 1
131 % Two ranges for the universal joint connecting the palm and finger 2
132 phi_2_1_min:=-15*pi/180
133 phi_2_1_max:= 15*pi/180
138 % Range for the first rotation in finger 2
142 % Range for the second rotation in finger 2
146 % Two ranges for the universal joint connecting the palm and finger 3
147 phi_3_1_min:=-15*pi/180
148 phi_3_1_max:= 15*pi/180
153 % Range for the first rotation in finger 2
157 % Range for the second rotation in finger 2
161 % Two ranges for the universal joint connecting the palm and finger 4
162 phi_4_1_min:=-15*pi/180
163 phi_4_1_max:= 15*pi/180
168 % Range for the first rotation in finger 2
172 % Range for the second rotation in finger 2
176 % Radius of the cylinders representing the fingers
179 % Radius of the spheres representing rotulas
182 % Radius of the spheres representing contact points on the object
188 palm: body "bodies/palm.off" color (0.75,0.75,0)
191 p12: sphere rr (0,0,0) color (0.30,0.9,0.1)
193 (p_1_2,0,0) color (0.25,0.6,0.6)
195 p13: sphere rr (0,0,0) color (0.30,0.9,0.1)
197 (p_1_3,0,0) color (0.25,0.6,0.6)
199 p14: sphere rr (0,0,0) color (0.3,0.9,0.10)
201 (p_1_4,0,0) color (0.3,0.5,0.98)
202 sphere rf (p_1_4,0,0) color (0.3,0.5,0.98)
205 p22: sphere rr (0,0,0) color (0.30,0.9,0.1)
207 (p_2_2,0,0) color (0.25,0.6,0.6)
209 p23: sphere rr (0,0,0) color (0.30,0.9,0.1)
211 (p_2_3,0,0) color (0.25,0.6,0.6)
213 p24: sphere rr (0,0,0) color (0.3,0.9,0.10)
215 (p_2_4,0,0) color (0.3,0.5,0.98)
216 sphere rf (p_2_4,0,0) color (0.3,0.5,0.98)
219 p32: sphere rr (0,0,0) color (0.30,0.9,0.1)
221 (p_3_2,0,0) color (0.25,0.6,0.6)
223 p33: sphere rr (0,0,0) color (0.30,0.9,0.1)
225 (p_3_3,0,0) color (0.25,0.6,0.6)
227 p34: sphere rr (0,0,0) color (0.3,0.9,0.10)
229 (p_3_4,0,0) color (0.3,0.5,0.98)
230 sphere rf (p_3_4,0,0) color (0.3,0.5,0.98)
233 p42: sphere rr (0,0,0) color (0.3,0.9,0.10)
235 (p_4_2,0,0) color (0.25,0.6,0.6)
237 p43: sphere rr (0,0,0) color (0.3,0.9,0.10)
239 (p_4_3,0,0) color (0.25,0.6,0.6)
241 p44: sphere rr (0,0,0) color (0.3,0.9,0.10)
243 (p_4_4,0,0) color (0.3,0.5,0.98)
244 sphere rf (p_4_4,0,0) color (0.3,0.5,0.98)
246 % object: one small circle at the contact points plus cylinders
247 % connecting the contact points (representing the object body).
249 sphere rc (x_1_x,x_1_y,x_1_z)
250 sphere rc (x_2_x,x_2_y,x_2_z)
251 sphere rc (x_3_x,x_3_y,x_3_z)
252 sphere rc (x_4_x,x_4_y,x_4_z)
253 cylinder rc*0.5 (x_1_x,x_1_y,x_1_z) (x_2_x,x_2_y,x_2_z)
254 cylinder rc*0.5 (x_1_x,x_1_y,x_1_z) (x_3_x,x_3_y,x_3_z)
255 cylinder rc*0.5 (x_1_x,x_1_y,x_1_z) (x_4_x,x_4_y,x_4_z)
256 cylinder rc*0.5 (x_2_x,x_2_y,x_2_z) (x_3_x,x_3_y,x_3_z)
257 cylinder rc*0.5 (x_2_x,x_2_y,x_2_z) (x_4_x,x_4_y,x_4_z)
258 cylinder rc*0.5 (x_3_x,x_3_y,x_3_z) (x_4_x,x_4_y,x_4_z)
263 universal: palm (q_1_1_x,q_1_1_y,q_1_1_z)+(1,0,0)
265 range [phi_1_1_min,phi_1_1_max] +(0,-1,0)
266 [phi_1_2_min,phi_1_2_max] +(1, 0,0)
268 revolute: p12 (p_1_2,0,0)+(0,-1,0)
270 range [phi_1_3_min,phi_1_3_max] +(1,0,0) +(1,0,0)
272 revolute: p13 (p_1_3,0,0)+(0,-1,0)
274 range [phi_1_4_min,phi_1_4_max] +(1,0,0) +(1,0,0)
277 universal: palm (q_2_1_x,q_2_1_y,q_2_1_z)+(1,0,0)
279 range [phi_2_1_min,phi_2_1_max] +(0,-1,0)
280 [phi_2_2_min,phi_2_2_max] +(1, 0,0)
282 revolute: p22 (p_2_2,0,0)+(0,-1,0)
284 range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
286 revolute: p23 (p_2_3,0,0)+(0,-1,0)
288 range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
291 universal: palm (q_3_1_x,q_3_1_y,q_3_1_z)+(1,0,0)
293 range [phi_3_1_min,phi_3_1_max] +(0,-1,0)
294 [phi_3_2_min,phi_3_2_max] +(1, 0,0)
296 revolute: p32 (p_3_2,0,0)+(0,-1,0)
298 range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
300 revolute: p33 (p_3_3,0,0)+(0,-1,0)
302 range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
305 universal: palm (q_4_1_x,q_4_1_y,q_4_1_z)+(-1,0,0)
307 range [phi_4_1_min,phi_4_1_max] +(0,-1,0)
308 [phi_4_2_min,phi_4_2_max] +(1, 0,0)
310 revolute: p42 (p_4_2,0,0)+(0,-1,0)
312 range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
314 revolute: p43 (p_4_3,0,0)+(0,-1,0)
316 range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
318 % contacts finger- object
319 revolute: p14 (q_1_4_x,q_1_4_y,q_1_4_z)+(mhat_1_x,mhat_1_y,mhat_1_z)
320 object (x_1_x,x_1_y,x_1_z)+(nhat_1_x,nhat_1_y,nhat_1_z)
323 revolute: p24 (q_2_4_x,q_2_4_y,q_2_4_z)+(mhat_2_x,mhat_2_y,mhat_2_z)
324 object (x_2_x,x_2_y,x_2_z)+(nhat_2_x,nhat_2_y,nhat_2_z)
327 revolute: p34 (q_3_4_x,q_3_4_y,q_3_4_z)+(mhat_3_x,mhat_3_y,mhat_3_z)
328 object (x_3_x,x_3_y,x_3_z)+(nhat_3_x,nhat_3_y,nhat_3_z)
330 revolute: p44 (q_4_4_x,q_4_4_y,q_4_4_z)+(mhat_4_x,mhat_4_y,mhat_4_z)
331 object (x_4_x,x_4_y,x_4_z)+(nhat_4_x,nhat_4_y,nhat_4_z)
|
Follow us!