Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

DeltaManipulator.world

Go to the documentation of this file.
00001 
00002 [CONSTANTS]
00003 
00004 % INPUT PARAMETERS
00005 
00006 theta1_min:= pi/3-0.2
00007 theta1_max:= theta1_min
00008 
00009 theta2_min:= pi/3
00010 theta2_max:= theta2_min
00011 
00012 theta3_min:= pi/3+0.2
00013 theta3_max:= theta3_min
00014 
00015 % PARAMETERS OF THE PLATFORM
00016 
00017 % radius of the circunference inscribing the base triangle
00018 r_b:=1
00019 
00020 % angles from the center of the base to the legs anchor points
00021 beta1_b:=0
00022 beta2_b:=beta1_b+(2*pi/3)
00023 beta3_b:=beta2_b+(2*pi/3)
00024 
00025 % radius of the circunference inscribing the platform triangle
00026 r_p:=1
00027 
00028 % angles from the center of the platform to the legs anchor points
00029 beta1_p:=0
00030 beta2_p:=beta1_p+(2*pi/3)
00031 beta3_p:=beta2_p+(2*pi/3)
00032 
00033 % Length of the bottom part of each leg
00034 lenght_A:=1
00035 
00036 % Length of the upper part of each leg (i.e., the long bar of the 4 bar)
00037 length_B:=1
00038 
00039 % Length of the short bar forming the 4 bars in the upper part of each leg
00040 length_B1:=0.1
00041 
00042 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00043 % nothing to be modified behond this point
00044 
00045 % Anchor points of the legs in the base
00046 x1_b:=r_b*cos(beta1_b)
00047 y1_b:=r_b*sin(beta1_b)
00048 
00049 x2_b:=r_b*cos(beta2_b)
00050 y2_b:=r_b*sin(beta2_b)
00051 
00052 x3_b:=r_b*cos(beta3_b)
00053 y3_b:=r_b*sin(beta3_b)
00054 
00055 % Tangent vectors to the sphere inscribing the base triangle at the
00056 % leg anchor points
00057 alpha1_b:=beta1_b+pi/2
00058 alpha2_b:=beta2_b+pi/2
00059 alpha3_b:=beta3_b+pi/2
00060 
00061 % Anchor points of the legs in the platform
00062 x1_p:=r_p*cos(beta1_p)
00063 y1_p:=r_p*sin(beta1_p)
00064 
00065 x2_p:=r_p*cos(beta2_p)
00066 y2_p:=r_p*sin(beta2_p)
00067 
00068 x3_p:=r_p*cos(beta3_p)
00069 y3_p:=r_p*sin(beta3_p)
00070 
00071 % Tangent vectors to the sphere inscribing the plotform triangle at the
00072 % leg anchor points
00073 alpha1_p:=beta1_p+pi/2
00074 alpha2_p:=beta2_p+pi/2
00075 alpha3_p:=beta3_p+pi/2
00076 
00077 % radius of the bars used in the representation. The bars for the
00078 % base/platform are 1.5 times this radius
00079 rb:=0.025
00080 
00081 
00082 [LINKS]
00083 
00084 base : 0.5*red
00085        % One sphere at each vertex of the triangle
00086        sphere rb*1.5 (x1_b,y1_b,0) 
00087        sphere rb*1.5 (x2_b,y2_b,0)
00088        sphere rb*1.5 (x3_b,y3_b,0)
00089 
00090        % Three bars forming the triangle
00091        cylinder rb*1.5 (x1_b,y1_b,0)(x2_b,y2_b,0)
00092        cylinder rb*1.5 (x1_b,y1_b,0)(x3_b,y3_b,0) 
00093        cylinder rb*1.5 (x2_b,y2_b,0)(x3_b,y3_b,0) 
00094 
00095        % Part of the revolute joint with the first leg fixed at the base
00096        cylinder rb (x1_b-length_B1*cos(alpha1_b),y1_b-length_B1*sin(alpha1_b),0) 
00097                    (x1_b-0.5*length_B1*cos(alpha1_b),y1_b-0.5*length_B1*sin(alpha1_b),0)
00098        sphere rb (x1_b-length_B1*cos(alpha1_b),y1_b-length_B1*sin(alpha1_b),0)
00099        cylinder rb (x1_b+0.5*length_B1*cos(alpha1_b),y1_b+0.5*length_B1*sin(alpha1_b),0) 
00100                    (x1_b+    length_B1*cos(alpha1_b),y1_b+    length_B1*sin(alpha1_b),0)
00101        sphere rb (x1_b+ length_B1*cos(alpha1_b),y1_b+ length_B1*sin(alpha1_b),0)
00102 
00103        % Part of the revolute joint with the second leg fixed at the base
00104        cylinder rb (x2_b-length_B1*cos(alpha2_b),y2_b-length_B1*sin(alpha2_b),0) 
00105                    (x2_b-0.5*length_B1*cos(alpha2_b),y2_b-0.5*length_B1*sin(alpha2_b),0)
00106        sphere rb (x2_b-length_B1*cos(alpha2_b),y2_b-length_B1*sin(alpha2_b),0)
00107        cylinder rb (x2_b+0.5*length_B1*cos(alpha2_b),y2_b+0.5*length_B1*sin(alpha2_b),0) 
00108                    (x2_b+    length_B1*cos(alpha2_b),y2_b+    length_B1*sin(alpha2_b),0)
00109        sphere rb (x2_b+ length_B1*cos(alpha2_b),y2_b+ length_B1*sin(alpha2_b),0)
00110 
00111        % Part of the revolute joint with the third leg fixed at the base
00112        cylinder rb (x3_b-length_B1*cos(alpha3_b),y3_b-length_B1*sin(alpha3_b),0) 
00113                    (x3_b-0.5*length_B1*cos(alpha3_b),y3_b-0.5*length_B1*sin(alpha3_b),0)
00114        sphere rb (x3_b-length_B1*cos(alpha3_b),y3_b-length_B1*sin(alpha3_b),0)
00115        cylinder rb (x3_b+0.5*length_B1*cos(alpha3_b),y3_b+0.5*length_B1*sin(alpha3_b),0) 
00116                    (x3_b+    length_B1*cos(alpha3_b),y3_b+    length_B1*sin(alpha3_b),0)
00117        sphere rb (x3_b+ length_B1*cos(alpha3_b),y3_b+ length_B1*sin(alpha3_b),0)
00118 
00119 
00120 platform: 0.5*green
00121           sphere rb*1.5 (x1_p,y1_p,0) 
00122           sphere rb*1.5 (x2_p,y2_p,0)
00123           sphere rb*1.5 (x3_p,y3_p,0)
00124           cylinder rb*1.5 (x1_p,y1_p,0)(x2_p,y2_p,0)
00125           cylinder rb*1.5 (x1_p,y1_p,0)(x3_p,y3_p,0) 
00126           cylinder rb*1.5 (x2_p,y2_p,0)(x3_p,y3_p,0)
00127 
00128           cylinder rb (x1_p-length_B1*cos(alpha1_p),y1_p-length_B1*sin(alpha1_p),0) 
00129                       (x1_p+length_B1*cos(alpha1_p),y1_p+length_B1*sin(alpha1_p),0)
00130 
00131           cylinder rb (x2_p-length_B1*cos(alpha2_p),y2_p-length_B1*sin(alpha2_p),0) 
00132                       (x2_p+length_B1*cos(alpha2_p),y2_p+length_B1*sin(alpha2_p),0)
00133 
00134           cylinder rb (x3_p-length_B1*cos(alpha3_p),y3_p-length_B1*sin(alpha3_p),0) 
00135                       (x3_p+length_B1*cos(alpha3_p),y3_p+length_B1*sin(alpha3_p),0)
00136 
00137 leg1_a: cylinder rb (0,0,0) (0,0,lenght_A)
00138         cylinder rb (-0.5*length_B1,0,0) 
00139                     (+0.5*length_B1,0,0)
00140         cylinder rb (-length_B1,0,lenght_A) 
00141                     (+length_B1,0,lenght_A)
00142          
00143 leg2_a: cylinder rb (0,0,0) (0,0,lenght_A)
00144         cylinder rb (-0.5*length_B1,0,0) 
00145                     (+0.5*length_B1,0,0)
00146         cylinder rb (-length_B1,0,lenght_A) 
00147                     (+length_B1,0,lenght_A)
00148 
00149 leg3_a: cylinder rb (0,0,0) (0,0,lenght_A)
00150         cylinder rb (-0.5*length_B1,0,0) 
00151                     (+0.5*length_B1,0,0)
00152         cylinder rb (-length_B1,0,lenght_A) 
00153                     (+length_B1,0,lenght_A)
00154         
00155 
00156 [JOINTS]
00157 %---------------------------------------------------------
00158 
00159 revolute: base   (x1_b,y1_b,0)+(cos(alpha1_b),sin(alpha1_b),0)
00160           leg1_a (0,0,0)+(1,0,0)
00161           range [theta1_min,theta1_max] +(cos(beta1_b),sin(beta1_b),0) +(0,-1,0)
00162 
00163 sph_sph: leg1_a  (-length_B1,0,lenght_A)
00164          platform (x1_p-length_B1*cos(alpha1_p),y1_p-length_B1*sin(alpha1_p),0) 
00165          length length_B
00166          radius rb 
00167          0.25*white
00168 
00169 sph_sph: leg1_a  (+length_B1,0,lenght_A)
00170          platform (x1_p+length_B1*cos(alpha1_p),y1_p+length_B1*sin(alpha1_p),0) 
00171          length length_B
00172          radius rb 
00173          0.25*white
00174 
00175 %---------------------------------------------------------
00176 
00177 revolute: base   (x2_b,y2_b,0)+(cos(alpha2_b),sin(alpha2_b),0)
00178           leg2_a (0,0,0)+(1,0,0)
00179           range [theta2_min,theta2_max] +(cos(beta2_b),sin(beta2_b),0) +(0,-1,0)
00180 
00181 sph_sph: leg2_a  (-length_B1,0,lenght_A)
00182          platform (x2_p-length_B1*cos(alpha2_p),y2_p-length_B1*sin(alpha2_p),0) 
00183          length length_B
00184          radius rb 
00185          0.25*white
00186 
00187 sph_sph: leg2_a  (+length_B1,0,lenght_A)
00188          platform (x2_p+length_B1*cos(alpha2_p),y2_p+length_B1*sin(alpha2_p),0) 
00189          length length_B
00190          radius rb 
00191          0.25*white
00192 
00193 %---------------------------------------------------------
00194 
00195 revolute: base   (x3_b,y3_b,0)+(cos(alpha3_b),sin(alpha3_b),0)
00196           leg3_a (0,0,0)+(1,0,0)
00197           range [theta3_min,theta3_max] +(cos(beta3_b),sin(beta3_b),0) +(0,-1,0)
00198 
00199 sph_sph: leg3_a  (-length_B1,0,lenght_A)
00200          platform (x3_p-length_B1*cos(alpha3_p),y3_p-length_B1*sin(alpha3_p),0) 
00201          length length_B
00202          radius rb 
00203          0.25*white
00204 
00205 sph_sph: leg3_a  (+length_B1,0,lenght_A)
00206          platform (x3_p+length_B1*cos(alpha3_p),y3_p+length_B1*sin(alpha3_p),0) 
00207          length length_B
00208          radius rb 
00209          0.25*white
00210 
00211 %---------------------------------------------------------
00212 %fix: base platform Tz(1)
00213