Go to the documentation of this file.
4 % Radius of the spheres representing contact points
7 % radius of the sphere modeling the fingertip
10 % radius of the sphere, the object itself
13 % qji_k is a vector expreseing the anchor point of reference frame i with respect to reference frame k of finger j.
14 % if k is not given, it means it is respect to the palm, which in our case, it is the absoulute one.
41 % These anchor points can be seen as the length of the phalanges,
42 % but that is because the phalanges are aligned with this vectors.
79 % Fingertip point vectors, qj5_4, and fingertip normal vector, mj_4
109 % Palm contact points vectors, and normal vector.
122 % Two ranges for the universal joint connecting the palm and finger 1
129 % Range for the first rotation in finger 1
133 % Range for the second rotation in finger 1
137 % Range for contact point in finger 1
140 % Two ranges for the universal joint connecting the palm and finger 2
147 % Range for the first rotation in finger 2
151 % Range for the second rotation in finger 2
155 % Range for contact point in finger 2
158 % Two ranges for the universal joint connecting the palm and finger 3
165 % Range for the first rotation in finger 3
169 % Range for the second rotation in finger 3
173 % Range for contact point in finger 3
176 % Two ranges for the universal joint connecting the palm and finger 4
186 % Range for the first rotation in finger 4
190 % Range for the second rotation in finger 4
194 % Range for contact point in finger 4
195 beta_4:= pi/2 %l 'unic que he canviat
199 % BEZIER PATCHES FOR FINGERS!!
201 %control points and vectors of the patches
205 b3_00_x_o := 1312.701
208 b3_01_x_o := 1343.237
211 b3_10_x_o := 1312.701
214 b3_11_x_o := 1343.237
219 b4_00_x_o := 1311.411
222 b4_01_x_o := 1341.948
225 b4_10_x_o := 1311.411
228 b4_11_x_o := 1341.948
235 %-------------------------------------------------------------------
237 %--------------------------------------------------------------------
243 palm: body "bodies/palmSAH.off" white
244 body "bodies/acs1palm.off" blue
245 body "bodies/acs2palm.off" blue
246 body "bodies/acs3palm.off"
249 p12: body "bodies/p1.off" white
250 body "bodies/p2.off" white
251 body "bodies/b2.off" blue
253 p13: body "bodies/p3.off" white
255 p14: body "bodies/p4.off" white
256 body "bodies/b4.off" blue
259 p22: body "bodies/p1.off" white
260 body "bodies/p2.off" white
261 body "bodies/b2.off" blue
263 p23: body "bodies/p3.off" white
265 p24: body "bodies/p4.off" white
266 body "bodies/b4.off" blue
269 p32: body "bodies/p1.off" white
270 body "bodies/p2.off" white
271 body "bodies/b2.off" blue
273 p33: body "bodies/p3.off" white
275 p34: body "bodies/p4.off" white
276 body "bodies/b4.off" blue
279 p40: body "bodies/p0thumb.off" white
281 p42: body "bodies/p1.off" white
282 body "bodies/p2.off" white
283 body "bodies/b2.off" blue
285 p43: body "bodies/p3.off" white
287 p44: body "bodies/p4.off" white
288 body "bodies/b4.off" blue
290 object: body "bodies/guitar_left.off"
291 %cyan sphere RS (0,0,0)
293 % X_P: green sphere rc (0,0,0)
295 % X_1: green sphere rc (0,0,0)
297 % X_2: green sphere rc (0,0,0)
299 X_3: green sphere rc (0,0,0)
301 X_4: green sphere rc (0,0,0)
308 universal: palm (q11x,q11y,q11z)+(1,0,0)
310 range [phi_1_1_min,phi_1_1_max] +(0,-0.99941,0.034301)
311 [phi_1_2_min,phi_1_2_max] +(0,0,1)
314 revolute: p12 (q13x_2,q13y_2,q13z_2)+(0,-1,0)
316 range [phi_1_3_min,phi_1_3_max] +(1,0,0) +(1,0,0)
319 revolute: p13 (q14x_3,q14y_3,q14z_3)+(0,-1,0)
321 range [phi_1_4_min,phi_1_4_max] +(1,0,0) +(1,0,0)
325 universal: palm (q21x,q21y,q21z)+(1,0,0)
327 range [phi_2_1_min,phi_2_1_max] +(0,-1,0)
328 [phi_2_2_min,phi_2_2_max] +(0, 0,1)
331 revolute: p22 (q23x_2,q23y_2,q23z_2)+(0,-1,0)
333 range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
336 revolute: p23 (q24x_3,q24y_3,q24z_3)+(0,-1,0)
338 range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
342 universal: palm (q31x,q31y,q31z)+(1,0,0)
344 range [phi_3_1_min,phi_3_1_max] +(0,-0.99937,-0.035485)
345 [phi_3_2_min,phi_3_2_max] +(0, 0,1)
348 revolute: p32 (q33x_2,q33y_2,q33z_2)+(0,-1,0)
350 range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
353 revolute: p33 (q34x_3,q34y_3,q34z_3)+(0,-1,0)
355 range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
359 revolute: palm (q40x,q40y,q40z)+(0,0,-1)
361 range [phi_4_0_min,phi_4_0_max] +(0,-1,0) +(0,0,1)
364 universal: p40 (q41x_0,q41y_0,q41z_0)+(0.573580,0,0.81915)
366 range [phi_4_1_min,phi_4_1_max] +(0,1,0)
367 [phi_4_2_min,phi_4_2_max] +(0,0,1)
370 revolute: p42 (q43x_2,q43y_2,q43z_2)+(0,-1,0)
372 range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
375 revolute: p43 (q44x_3,q44y_3,q44z_3)+(0,-1,0)
377 range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
380 % KINEMATIC OF THE OBJECT-FINGER CONTACT
382 % SPHERICAL: p14 (q15x_4,q15y_4,q15z_4)
384 % range [beta_1] +(m1x_4,m1y_4,m1z_4) +(0,0,1)
387 % in_patch: X_1 (0,0,0) (0,0,1)
388 % object (b1_00_x_o,b1_00_y_o,b1_00_z_o) (b1_01_x_o,b1_01_y_o,b1_01_z_o) (b1_10_x_o,b1_10_y_o,b1_10_z_o) (b1_11_x_o,b1_11_y_o,b1_11_z_o)
391 % SPHERICAL: p24 (q25x_4,q25y_4,q25z_4)
393 % range [beta_2] +(m2x_4,m2y_4,m2z_4) +(0,0,1)
396 % in_patch: X_2 (0,0,0) (0,0,1)
397 % object (b2_00_x_o,b2_00_y_o,b2_00_z_o) (b2_01_x_o,b2_01_y_o,b2_01_z_o) (b2_10_x_o,b2_10_y_o,b2_10_z_o) (b2_11_x_o,b2_11_y_o,b2_11_z_o)
400 SPHERICAL: p34 (q35x_4,q35y_4,q35z_4)
402 range [beta_3] +(m3x_4,m3y_4,m3z_4) +(0,0,1)
405 in_patch: X_3 (0,0,0) (0,0,1)
406 object (b3_00_x_o,b3_00_y_o,b3_00_z_o) (b3_01_x_o,b3_01_y_o,b3_01_z_o) (b3_10_x_o,b3_10_y_o,b3_10_z_o) (b3_11_x_o,b3_11_y_o,b3_11_z_o)
409 SPHERICAL: p44 (q45x_4,q45y_4,q45z_4)
411 range [beta_4] +(m4x_4,m4y_4,m4z_4) +(0,0,1)
414 in_patch: X_4 (0,0,0) (0,0,1)
415 object (b4_00_x_o,b4_00_y_o,b4_00_z_o) (b4_01_x_o,b4_01_y_o,b4_01_z_o) (b4_10_x_o,b4_10_y_o,b4_10_z_o) (b4_11_x_o,b4_11_y_o,b4_11_z_o)
418 % SPHERICAL: palm (qpx,qpy,qpz)
420 % range [beta_1] +(mpx,mpy,mpz) +(0,0,1)
423 % in_patch: X_P (0,0,0) (0,0,1)
424 % object (bp_00_x_o,bp_00_y_o,bp_00_z_o) (bp_01_x_o,bp_01_y_o,bp_01_z_o) (bp_10_x_o,bp_10_y_o,bp_10_z_o) (bp_11_x_o,bp_11_y_o,bp_11_z_o)
|
Follow us!