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.
67 % We can symmetrically enlarge the ranges
for the joints so that
68 % the hand can better manipulate objects without regrasping.
69 % Set to zero to use the original ranges
70 enlarge_range := 20*pi/180
73 % Two ranges
for the universal joint connecting the palm and finger 2
75 phi_2_1_min:= -pi/8 -enlarge_range
76 phi_2_1_max:= pi/8 +enlarge_range
79 phi_2_2_min:= 0 -enlarge_range
80 phi_2_2_max:= pi/2 +enlarge_range
82 % Range
for the first rotation in finger 2
84 phi_2_3_min:= 0 -enlarge_range
85 phi_2_3_max:= pi/2 +enlarge_range
87 % Range
for the second rotation in finger 2
89 phi_2_4_min:= 0 -enlarge_range
90 phi_2_4_max:= pi/2 +enlarge_range
92 % Two ranges
for the universal joint connecting the palm and finger 3
94 phi_3_1_min:= -pi/8 -enlarge_range
95 phi_3_1_max:= pi/8 +enlarge_range
98 phi_3_2_min:= 0 -enlarge_range
99 phi_3_2_max:= pi/2 +enlarge_range
101 % Range
for the first rotation in finger 3
103 phi_3_3_min:= 0 -enlarge_range
104 phi_3_3_max:= pi/2 +enlarge_range
106 % Range
for the second rotation in finger 3
108 phi_3_4_min:= 0 -enlarge_range
109 phi_3_4_max:= pi/2 +enlarge_range
111 % Two ranges
for the universal joint connecting the palm and finger 4
113 phi_4_0_min:= 0 -enlarge_range
114 phi_4_0_max:= pi/2 +enlarge_range
117 phi_4_1_min:= -pi/8 -enlarge_range
118 phi_4_1_max:= pi/8 +enlarge_range
121 phi_4_2_min:= 0 -enlarge_range
122 phi_4_2_max:= pi/2 +enlarge_range
124 % Range
for the first rotation in finger 4
126 phi_4_3_min:= 0 -enlarge_range
127 phi_4_3_max:= pi/2 +enlarge_range
129 % Range
for the second rotation in finger 4
131 phi_4_4_min:= 0 -enlarge_range
132 phi_4_4_max:= pi/2 +enlarge_range
135 %-------------------------------------------------------------------
136 %--------------------------------------------------------------------
141 palm:body
"bodies/palmSAH.off" white
142 body
"bodies/acs1palm.off" blue
143 body
"bodies/acs2palm.off" blue
144 body
"bodies/acs3palm.off"
147 body
"bodies/p1_fix.off" white
148 body
"bodies/p2_fix.off" white
149 body
"bodies/b2_fix.off" blue
150 body
"bodies/p3_fix.off" white
151 body
"bodies/p4_fix.off" white
152 body
"bodies/b4_fix.off" blue
155 p22: body
"bodies/p1.off" white
156 body
"bodies/p2.off" white
157 body
"bodies/b2.off" blue
159 p23: body
"bodies/p3.off" white
161 p24: body
"bodies/p4.off" white
162 body
"bodies/b4.off" blue
163 % sphere 2 (30.208874832331,-10.212833655037,7.583242855271) green decoration
164 % cylinder 1 (30.208874832331,-10.212833655037,7.583242855271)
165 % (34.046960601797714,-27.205244498838244,17.408062005854628) green decoration
168 p32: body "bodies/p1.off" white
169 body "bodies/p2.off" white
170 body "bodies/b2.off" blue
172 p33: body "bodies/p3.off" white
174 p34: body "bodies/p4.off" white
175 body "bodies/b4.off" blue
176 % sphere 2 (33.278747904751611,-2.089804273193277,10.351782339115564) green decoration
177 % cylinder 1 (33.278747904751611,-2.089804273193277,10.351782339115564)
178 % (43.085167357299085,-4.601605419698904,27.600695131552996) green decoration
181 p40: body "bodies/p0thumb.off" white
183 p42: body "bodies/p1.off" white
184 body "bodies/p2.off" white
185 body "bodies/b2.off" blue
187 p43: body "bodies/p3.off" white
189 p44: body "bodies/p4.off" white
190 body "bodies/b4.off" blue
191 % sphere 2 (30.381430522240365,-0.019837519377347,11.978261369801023) green decoration
192 % cylinder 1 (30.381430522240365,-0.019837519377347,11.978261369801023)
193 % (39.909468754589511,-2.078854942086429,29.441850196152657) green decoration
196 setrill > body "bodies/setrill.off" red
198 % sphere 1.5 (4.081312572140,-20.099035681215,17.571868733535) decoration
199 % cylinder 1 (4.081312572140,-20.099035681215,17.571868733535)
200 % (24.4878754328420,15.9801928637570,105.4312124012070) decoration
201 % sphere 1.5 (-2.617325269543,97.298411237989,0.669470143052) decoration
202 % cylinder 1 (-2.617325269543,97.298411237989,0.669470143052)
203 % (-15.7039516172580,110.8063550480458,4.0168208583128) decoration
204 % sphere 1.5 (15.717922085067,34.132545925422,-11.002520770916) decoration
205 % cylinder 1 (15.717922085067,34.132545925422,-11.002520770916)
206 % (94.307532510403036,-28.222457342032023,-66.015124625493243) decoration
212 universal: palm (q21x,q21y,q21z)+(1,0,0)
214 range [phi_2_1_min,phi_2_1_max] +(0,1,0)
215 [phi_2_2_min,phi_2_2_max] +(0,0,1)
217 revolute: p22 (q23x_2,q23y_2,q23z_2)+(0,-1,0)
219 range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
221 revolute: p23 (q24x_3,q24y_3,q24z_3)+(0,-1,0)
223 range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
226 universal: palm (q31x,q31y,q31z)+(1,0,0)
228 range [phi_3_1_min,phi_3_1_max] +(0,0.99937,0.035485)
229 [phi_3_2_min,phi_3_2_max] +(0,0,1)
231 revolute: p32 (q33x_2,q33y_2,q33z_2)+(0,-1,0)
233 range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
235 revolute: p33 (q34x_3,q34y_3,q34z_3)+(0,-1,0)
237 range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
240 revolute: palm (q40x,q40y,q40z)+(0,0,-1)
242 range [phi_4_0_min,phi_4_0_max] +(0,-1,0) +(0,0,1)
244 universal: p40 (q41x_0,q41y_0,q41z_0) +(0.573580,0,0.81915)
246 range [phi_4_1_min,phi_4_1_max] +(0,-1,0)
247 [phi_4_2_min,phi_4_2_max] +(0,0,1)
249 revolute: p42 (q43x_2,q43y_2,q43z_2)+(0,-1,0)
251 range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
253 revolute: p43 (q44x_3,q44y_3,q44z_3)+(0,-1,0)
255 range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
Follow us!