RSShand_setrill.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 q13x_2 := 67.8
31 q13y_2 := 0
32 q13z_2 := 0
33 
34 q14x_3 := 30
35 q14y_3 := 0
36 q14z_3 := 0
37 
38 
39 q23x_2 := 67.8
40 q23y_2 := 0
41 q23z_2 := 0
42 
43 q24x_3 := 30
44 q24y_3 := 0
45 q24z_3 := 0
46 
47 
48 q33x_2 := 67.8
49 q33y_2 := 0
50 q33z_2 := 0
51 
52 q34x_3 := 30
53 q34y_3 := 0
54 q34z_3 := 0
55 
56 
57 q43x_2 := 67.8
58 q43y_2 := 0
59 q43z_2 := 0
60 
61 q44x_3 := 30
62 q44y_3 := 0
63 q44z_3 := 0
64 
65 % Joint ranges
66 
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
71 
72 
73 % Two ranges for the universal joint connecting the palm and finger 2
74 % -pi/16
75 phi_2_1_min:= -pi/8 -enlarge_range
76 phi_2_1_max:= pi/8 +enlarge_range
77 
78 % 1.35*pi/16
79 phi_2_2_min:= 0 -enlarge_range
80 phi_2_2_max:= pi/2 +enlarge_range
81 
82 % Range for the first rotation in finger 2
83 % pi/8
84 phi_2_3_min:= 0 -enlarge_range
85 phi_2_3_max:= pi/2 +enlarge_range
86 
87 % Range for the second rotation in finger 2
88 % pi/8
89 phi_2_4_min:= 0 -enlarge_range
90 phi_2_4_max:= pi/2 +enlarge_range
91 
92 % Two ranges for the universal joint connecting the palm and finger 3
93 % -pi/16
94 phi_3_1_min:= -pi/8 -enlarge_range
95 phi_3_1_max:= pi/8 +enlarge_range
96 
97 % 1.2*pi/16
98 phi_3_2_min:= 0 -enlarge_range
99 phi_3_2_max:= pi/2 +enlarge_range
100 
101 % Range for the first rotation in finger 3
102 % pi/8
103 phi_3_3_min:= 0 -enlarge_range
104 phi_3_3_max:= pi/2 +enlarge_range
105 
106 % Range for the second rotation in finger 3
107 % pi/8
108 phi_3_4_min:= 0 -enlarge_range
109 phi_3_4_max:= pi/2 +enlarge_range
110 
111 % Two ranges for the universal joint connecting the palm and finger 4
112 % pi/2
113 phi_4_0_min:= 0 -enlarge_range
114 phi_4_0_max:= pi/2 +enlarge_range
115 
116 % 0
117 phi_4_1_min:= -pi/8 -enlarge_range
118 phi_4_1_max:= pi/8 +enlarge_range
119 
120 % 0
121 phi_4_2_min:= 0 -enlarge_range
122 phi_4_2_max:= pi/2 +enlarge_range
123 
124 % Range for the first rotation in finger 4
125 % 3*pi/16
126 phi_4_3_min:= 0 -enlarge_range
127 phi_4_3_max:= pi/2 +enlarge_range
128 
129 % Range for the second rotation in finger 4
130 % 3*pi/16
131 phi_4_4_min:= 0 -enlarge_range
132 phi_4_4_max:= pi/2 +enlarge_range
133 
134 
135 %-------------------------------------------------------------------
136 %--------------------------------------------------------------------
137 
138 [LINKS]
139 
140 % palm
141  palm:body "bodies/palmSAH.off" white
142  body "bodies/acs1palm.off" blue
143  body "bodies/acs2palm.off" blue
144  body "bodies/acs3palm.off"
145 
146  // finger 1 fixed to the palm
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
153 
154 % finger 2
155  p22: body "bodies/p1.off" white
156  body "bodies/p2.off" white
157  body "bodies/b2.off" blue
158 
159  p23: body "bodies/p3.off" white
160 
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
166 
167 % finger 3
168  p32: body "bodies/p1.off" white
169  body "bodies/p2.off" white
170  body "bodies/b2.off" blue
171 
172  p33: body "bodies/p3.off" white
173 
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
179 
180 % finger 4
181  p40: body "bodies/p0thumb.off" white
182 
183  p42: body "bodies/p1.off" white
184  body "bodies/p2.off" white
185  body "bodies/b2.off" blue
186 
187  p43: body "bodies/p3.off" white
188 
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
194 
195 %object
196  setrill > body "bodies/setrill.off" red
197 
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
207 
208 
209 [JOINTS]
210 
211 % finger 2
212  universal: palm (q21x,q21y,q21z)+(1,0,0)
213  p22 (0,0,0)+(0,-1,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)
216 
217  revolute: p22 (q23x_2,q23y_2,q23z_2)+(0,-1,0)
218  p23 (0,0,0)+(0,-1,0)
219  range [phi_2_3_min,phi_2_3_max] +(1,0,0) +(1,0,0)
220 
221  revolute: p23 (q24x_3,q24y_3,q24z_3)+(0,-1,0)
222  p24 (0,0,0)+(0,-1,0)
223  range [phi_2_4_min,phi_2_4_max] +(1,0,0) +(1,0,0)
224 
225 % finger 3
226  universal: palm (q31x,q31y,q31z)+(1,0,0)
227  p32 (0,0,0)+(0,-1,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)
230 
231  revolute: p32 (q33x_2,q33y_2,q33z_2)+(0,-1,0)
232  p33 (0,0,0)+(0,-1,0)
233  range [phi_3_3_min,phi_3_3_max] +(1,0,0) +(1,0,0)
234 
235  revolute: p33 (q34x_3,q34y_3,q34z_3)+(0,-1,0)
236  p34 (0,0,0)+(0,-1,0)
237  range [phi_3_4_min,phi_3_4_max] +(1,0,0) +(1,0,0)
238 
239 % finger 4
240  revolute: palm (q40x,q40y,q40z)+(0,0,-1)
241  p40 (0,0,0)+(-1,0,0)
242  range [phi_4_0_min,phi_4_0_max] +(0,-1,0) +(0,0,1)
243 
244  universal: p40 (q41x_0,q41y_0,q41z_0) +(0.573580,0,0.81915)
245  p42 (0,0,0)+(0,-1,0)
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)
248 
249  revolute: p42 (q43x_2,q43y_2,q43z_2)+(0,-1,0)
250  p43 (0,0,0)+(0,-1,0)
251  range [phi_4_3_min,phi_4_3_max] +(1,0,0) +(1,0,0)
252 
253  revolute: p43 (q44x_3,q44y_3,q44z_3)+(0,-1,0)
254  p44 (0,0,0)+(0,-1,0)
255  range [phi_4_4_min,phi_4_4_max] +(1,0,0) +(1,0,0)
256 
257 [COLLISIONS]
258 
259  Do Not Check : all
260  Check: p24,setrill
261  Check: p34,setrill
262  Check: p44,setrill
263 
264  /*
265  Check: all
266 
267  Do not Check: palm,p22
268  Do not Check: p22,p23
269  Do not Check: p23,p24
270  Do not Check: p24,setrill
271 
272  Do not Check: palm,p32
273  Do not Check: p32,p33
274  Do not Check: p33,p34
275  Do not Check: p34,setrill
276 
277  Do not Check: palm,p40
278  Do not Check: p40,p42
279  Do not Check: p42,p43
280  Do not Check: p43,p44
281  Do not Check: p44,setrill
282  */
283