RSShand_setrill2.world
Go to the documentation of this file.
1 
3 [CONSTANTS]
4 
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.
9 
10 q21x := -4.3
11 q21y := 0
12 q21z := 150.15
13 
14 q31x := -4.3
15 q31y := 40.165
16 q31z := 145.43
17 
18 % Thumb
19 
20 q40x := -3
21 q40y := 27.1
22 q40z := 0
23 
24 q41x_0:= 97
25 q41y_0:= 6
26 q41z_0:=-87
27 
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.
30 
31 % finger 1
32 q13x_2 := 67.8
33 q13y_2 := 0
34 q13z_2 := 0
35 
36 q14x_3 := 30
37 q14y_3 := 0
38 q14z_3 := 0
39 
40 q15x_4 := 27
41 q15y_4 := 0
42 q15z_4 :=-12.5
43 
44 % finger 2
45 q23x_2 := 67.8
46 q23y_2 := 0
47 q23z_2 := 0
48 
49 q24x_3 := 30
50 q24y_3 := 0
51 q24z_3 := 0
52 
53 q25x_4 := 27
54 q25y_4 := 0
55 q25z_4 :=-12.5
56 
57 % finger 3
58 q33x_2 := 67.8
59 q33y_2 := 0
60 q33z_2 := 0
61 
62 q34x_3 := 30
63 q34y_3 := 0
64 q34z_3 := 0
65 
66 q35x_4 := 27
67 q35y_4 := 0
68 q35z_4 :=-12.5
69 
70 % finger 4
71 q43x_2 := 67.8
72 q43y_2 := 0
73 q43z_2 := 0
74 
75 q44x_3 := 30
76 q44y_3 := 0
77 q44z_3 := 0
78 
79 q45x_4 := 27
80 q45y_4 := 0
81 q45z_4 :=-12.5
82 
83 % Joint ranges
84 
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
89 
90 % Two ranges for the universal joint connecting the palm and finger 2
91 % -pi/16
92 phi_2_1_min:= -pi/8 -enlarge_range
93 phi_2_1_max:= pi/8 +enlarge_range
94 
95 % 1.35*pi/16
96 phi_2_2_min:= 0 -enlarge_range
97 phi_2_2_max:= pi/2 +enlarge_range
98 
99 % Range for the first rotation in finger 2
100 % pi/8
101 phi_2_3_min:= 0 -enlarge_range
102 phi_2_3_max:= pi/2 +enlarge_range
103 
104 % Range for the second rotation in finger 2
105 % pi/8
106 phi_2_4_min:= 0 -enlarge_range
107 phi_2_4_max:= pi/2 +enlarge_range
108 
109 % Range for the contact rotation
110 phi_2_5b_min:= -pi/5
111 phi_2_5b_max:= pi/5
112 
113 phi_2_5_min:= 0.05
114 phi_2_5_max:= pi/2+0.25
115 
116 % Two ranges for the universal joint connecting the palm and finger 3
117 % -pi/16
118 phi_3_1_min:= -pi/8 -enlarge_range
119 phi_3_1_max:= pi/8 +enlarge_range
120 
121 % 1.2*pi/16
122 phi_3_2_min:= 0 -enlarge_range
123 phi_3_2_max:= pi/2 +enlarge_range
124 
125 % Range for the first rotation in finger 3
126 % pi/8
127 phi_3_3_min:= 0 -enlarge_range
128 phi_3_3_max:= pi/2 +enlarge_range
129 
130 % Range for the second rotation in finger 3
131 % pi/8
132 phi_3_4_min:= 0 -enlarge_range
133 phi_3_4_max:= pi/2 +enlarge_range
134 
135 % Range for the contact rotation
136 phi_3_5_min:= 0.05
137 phi_3_5_max:= pi/2+0.25
138 
139 % Two ranges for the universal joint connecting the palm and finger 4
140 % pi/2
141 phi_4_0_min:= 0 -enlarge_range
142 phi_4_0_max:= pi/2 +enlarge_range
143 
144 % 0
145 phi_4_1_min:= -pi/8 -enlarge_range
146 phi_4_1_max:= pi/8 +enlarge_range
147 
148 % 0
149 phi_4_2_min:= 0 -enlarge_range
150 phi_4_2_max:= pi/2 +enlarge_range
151 
152 % Range for the first rotation in finger 4
153 % 3*pi/16
154 phi_4_3_min:= 0 -enlarge_range
155 phi_4_3_max:= pi/2 +enlarge_range
156 
157 % Range for the second rotation in finger 4
158 % 3*pi/16
159 phi_4_4_min:= 0 -enlarge_range
160 phi_4_4_max:= pi/2 +enlarge_range
161 
162 % Range for the contact rotation
163 phi_4_5_min:= 0.05
164 phi_4_5_max:= pi/2+0.25
165 
166 %-------------------------------------------------------------------
167 %--------------------------------------------------------------------
168 
169 [LINKS]
170 
171 % palm
172  palm:body "bodies/palmSAH.off" white
173  body "bodies/acs1palm.off" blue
174  body "bodies/acs2palm.off" blue
175  body "bodies/acs3palm.off"
176 
177  // finger 1 fixed to the palm
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
184 
185 % finger 2
186  p22: body "bodies/p1.off" white
187  body "bodies/p2.off" white
188  body "bodies/b2.off" blue
189 
190  p23: body "bodies/p3.off" white
191 
192  p24: body "bodies/p4.off" white
193  body "bodies/b4.off" blue
194 
195 % finger 3
196  p32: body "bodies/p1.off" white
197  body "bodies/p2.off" white
198  body "bodies/b2.off" blue
199 
200  p33: body "bodies/p3.off" white
201 
202  p34: body "bodies/p4.off" white
203  body "bodies/b4.off" blue
204 
205 % finger 4
206  p40: body "bodies/p0thumb.off" white
207 
208  p42: body "bodies/p1.off" white
209  body "bodies/p2.off" white
210  body "bodies/b2.off" blue
211 
212  p43: body "bodies/p3.off" white
213 
214  p44: body "bodies/p4.off" white
215  body "bodies/b4.off" blue
216 
217 
218 
219 % object
220  setrill2 > body "bodies/setrill.off" red
221 
222 % contact links (after the hand but before the object!)
223 
224  p35: sphere 0.5 (0,0,0) green
225  p45: sphere 0.5 (0,0,0) green
226 
227 [JOINTS]
228 
229 % finger 2
230  universal: palm (q21x,q21y,q21z)+(1,0,0)
231  p22 (0,0,0)+(0,-1,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)
234 
235  revolute: p22 (q23x_2,q23y_2,q23z_2)+(0,-1,0)
236  p23 (0,0,0)+(0,-1,0)
237  range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
238 
239  revolute: p23 (q24x_3,q24y_3,q24z_3)+(0,-1,0)
240  p24 (0,0,0)+(0,-1,0)
241  range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
242 
243 % finger 3
244  universal: palm (q31x,q31y,q31z)+(1,0,0)
245  p32 (0,0,0)+(0,-1,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)
248 
249  revolute: p32 (q33x_2,q33y_2,q33z_2)+(0,-1,0)
250  p33 (0,0,0)+(0,-1,0)
251  range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
252 
253  revolute: p33 (q34x_3,q34y_3,q34z_3)+(0,-1,0)
254  p34 (0,0,0)+(0,-1,0)
255  range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
256 
257 % finger 4
258  revolute: palm (q40x,q40y,q40z)+(0,0,-1)
259  p40 (0,0,0)+(-1,0,0)
260  range [phi_4_0_min,phi_4_0_max] +(0,-1,0) +(0,0,1)
261 
262  universal: p40 (q41x_0,q41y_0,q41z_0) +(0.573580,0,0.81915)
263  p42 (0,0,0)+(0,-1,0)
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)
266 
267  revolute: p42 (q43x_2,q43y_2,q43z_2)+(0,-1,0)
268  p43 (0,0,0)+(0,-1,0)
269  range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
270 
271  revolute: p43 (q44x_3,q44y_3,q44z_3)+(0,-1,0)
272  p44 (0,0,0)+(0,-1,0)
273  range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
274 
275 
276 % contact joints (after the hand joints)
277 
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)
281 
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)
285 
286 
287 
288 [COLLISIONS]
289 
290  Do Not Check : all
291  Check: p24,setrill2
292  Check: p35,setrill2
293  Check: p45,setrill2
294 
295  /*
296  Check: all
297 
298  Do not Check: palm,p22
299  Do not Check: p22,p23
300  Do not Check: p23,p24
301  Do not Check: p24,setrill2
302 
303  Do not Check: palm,p32
304  Do not Check: p32,p33
305  Do not Check: p33,p34
306  Do not Check: p34,p35
307  Do not Check: p34,setrill2
308  Do not Check: p35,setrill2
309 
310  Do not Check: palm,p40
311  Do not Check: p40,p42
312  Do not Check: p42,p43
313  Do not Check: p43,p44
314  Do not Check: p44,p45
315  Do not Check: p44,setrill2
316  Do not Check: p45,setrill2
317  */
318