Mechanisms

Summary
Mechanisms
Functions
Parallel_3RPRConstructs the Manipulator object of a planar 3-R P R manipulator.
Parallel_3RPR_fullConstructs the Manipulator object of a planar 3-R P R manipulator.
Parallel_3PRRConstructs the Manipulator object of a 3- P R R manipulator.
ParallelPRP2PRR
Parallel_RPRRPConstructs the Manipulator object of a R P R R P manipulator.
Parallel_RR_RRRConstructs the Manipulator object of a 2-R R manipulator.
Parallel_PRRPConstructs the Manipulator object of a P R R P manipulator.
OrthoglideConstructs the Manipulator object of the Orthoglide manipulator.
ParallelRPR2PRRConstructs the Manipulator object of the R P R 2-P R R manipulator.
Parallel3PPPSConstructs the Manipulator object of the 3- P P P S manipulator.
Serial3RConstructs the Manipulator object of the serial 3R manipulator.
Parallel3PRSdConstructs the Manipulator object of the 3- P R S manipulator.
Parallel3PRScConstructs the Manipulator object of the 3- P R S manipulator.

Functions

Parallel_3RPR

Parallel_3RPR := proc({   
d1 ::algebraic := 17.04,
d2 ::algebraic := 16.54,
d3 ::algebraic := 20.84,
beta ::algebraic := arccos ((d2^2-d3^2-d1^2)/(-2*d3*d1)),
A2x ::algebraic := 15.91,
A3x ::algebraic := 0,
A3y ::algebraic := 10,
precision ::integer := 4
}   
,   
morespec ::seq(name=algebraic),  
moreranges ::seq(name=range)  )

Constructs the Manipulator object of a planar 3-R P R manipulator.

Parameters

name = constantthe geometric parameters of the robot (see Figure1),
Figure1
  • where name is one of d1, d2, d3, beta, A2x, A3x, A3y,
  • and constant is a numerical value.
  • All the variables d1, d3, A2x, A3x, A3y must be assigned.
  • One of d2, beta must be assigned (if both are assigned, d3 is ignored).
  • By default, the values are d1 = 17.04, d2 = 16.54, d3 = 20.84, A2x = 15.91, A3x = 0, A3y = 10.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar 3-R P R manipulator whose dimensions are given in input.

Example

> robot := Parallel_3RPR (d1=3, d2=4, d3=5, A2x=5, A3x=0, A3y=5):
> robot[Equations];
         2           2         2      2          2
[cosAlpha  + sinAlpha  - 1, B1x  + B1y  - R1, B1x  + 6 B1x cosAlpha - 10 B1x

                 2                         2                              2
     + 9 cosAlpha  - 30 cosAlpha + 25 + B1y  + 6 B1y sinAlpha + 9 sinAlpha

              2                                                2
     - R2, B1x  + 6 B1x cosAlpha - 8 B1x sinAlpha + 25 cosAlpha

                  2      2
     + 25 sinAlpha  + B1y  + 8 B1y cosAlpha + 6 B1y sinAlpha - 10 B1y

     - 40 cosAlpha - 30 sinAlpha + 25 - R3]

Parallel_3RPR_full

Parallel_3RPR_full := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of a planar 3-R P R manipulator.

Parameters

name = constantthe geometric parameters of the robot (see Figure1),
Figure1
  • where name is one of d1, d2, d3, beta, A2x, A3x, A3y,
  • and constant is a numerical value.
  • All the variables d1, d3, A2x, A3x, A3y must be assigned.
  • One of d2, beta must be assigned (if both are assigned, d3 is ignored).
  • By default, the values are d1 = 17.04, d2 = 16.54, d3 = 20.84, A2x = 15.91, A3x = 0, A3y = 10.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar 3-R P R manipulator whose dimensions are given in input.

Parallel_3PRR

Parallel_3PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of a 3- P R R manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of l1, l2,
  • and constant is a numerical value.
  • By default, the values are l1 = 1, l2 = 1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar P R R P manipulator whose dimensions are given in input.

Example

> robot := Parallel_3PRR (l1=1,l2=1):
> robot[Equations];

TODO

ParallelPRP2PRR

ParallelPRP2PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the *Manipulator* object of a P R P2 P R R manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of l1, l2, a, b,
  • and constant is a numerical value.
  • By default, the values are l1 = 1, l2 = 1.5, a = 1, b = 1.2
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A *Manipulator* data structure representing the planar 2 P R RP R P manipulator whose dimensions are given in input.

Example

> robot := ParallelPRP2PRR (l1=1,l2=1):
> robot[Equations];
      2                                     2                         2    2
[1 - x  + 2 x cos(phi) + 2 x rho1 - cos(phi)  - 2 cos(phi) rho1 - rho1  - y

                              2       2
     + 2 y sin(phi) - sin(phi) , 1 - x  - 12/5 x cos(phi) + 2 x rho2

       36         2                            2    2
     - -- cos(phi)  + 12/5 cos(phi) rho2 - rho2  - y  - 12/5 y sin(phi)
       25

       36         2
     - -- sin(phi) , -4 x cos(phi) + 4 cos(phi) rho3 - 4 y sin(phi)]
       25

Parallel_RPRRP

Parallel_RPRRP := proc({   
e ::constant := 0.7,
L4 ::constant := 1,
S2min ::constant := 0.5,
S2max ::constant := 1.5,
S4min ::constant := 0.1,
S4max ::constant := 1.1,
precision := 4   
}   
,   
morespec ::seq(name=algebraic)  )

Constructs the Manipulator object of a R P R R P manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of e, L4, S2min, S2max, S4min, S4max,
  • and constant is a numerical value.
  • By default, the values are e = 0.7, L4 = 1, S2min = 0.5, S2max = 1.5, S4min = 0.1, S4max = 1.1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar R P R R P manipulator whose dimensions are given in input.

Example

> robot := Parallel_RPRRP (e=1,L4=1):
> robot[Equations];

Parallel_RR_RRR

Parallel_RR_RRR := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of a 2-R R manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of e, l1, l2, l3, l4,
  • and constant is a numerical value.
  • By default, the values are e = 1, l1 = 1, l2 = 1, l3 = 1, l4 = 1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar 2-R R manipulator whose dimensions are given in input.

Example

> robot := Parallel_RR_RRR (e=1,L4=1):
> robot[Equations];

Parallel_PRRP

Parallel_PRRP := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of a P R R P manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of l1, l2,
  • and constant is a numerical value.
  • By default, the values are l1 = 1, l2 = 1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the planar P R R P manipulator whose dimensions are given in input.

Example

> robot := Parallel_PRRP (l1=1,l2=1):
> robot[Equations];

Orthoglide

Orthoglide := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of the Orthoglide manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of l1, l2,
  • and constant is a numerical value.
  • By default, the values are l1 = 1, l2 = 1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the Orthoglide manipulator whose dimensions are given in input.

Example

> robot := Orthoglide (l1=1,l2=1,l3=1):
> robot[Equations];

ParallelRPR2PRR

ParallelRPR2PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of the R P R 2-P R R manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of a, b, L2, L3,
  • and constant is a numerical value.
  • By default, the values are a = 1, b = 4, L2 = 2, L3 = 2.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the Orthoglide manipulator whose dimensions are given in input.

Example

> robot := ParallelRPR2PRR ():
> robot[Equations];

Parallel3PPPS

Parallel3PPPS := proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false,
tiltandtorsion ::truefalse := false,
normalize ::truefalse := false,
ortho ::truefalse := false
}   )

Constructs the Manipulator object of the 3- P P P S manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is either one of Ax, Ay, Az, Bx, By, Bz, Cx, Cy, Cz, or one of L1, L2, L3.
  • and constant is a numerical value.
  • By default, the values are Ax = 1, Ay = 0, Az = 0, Bx = 0, By = 1, Bz = 0, Cx = 0, Cy = 0, Cz = 1, and L1 = (Bx-Ax)^2 + (By-Ay)^2 + (Bz-Az)^2, L2 = (Cx-Bx)^2 + (Cy-By)^2 + (Cz-Bz)^2, L3 = (Ax-Cx)^2 + (Ay-Cy)^2 + (Az-Cz)^2.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the Orthoglide manipulator whose dimensions are given in input.

Example

> robot := Parallel3PPPS ():
> robot[Equations];

Serial3R

Serial3R := proc(morespec ::seq(name=algebraic),
precision := 4 )

Constructs the Manipulator object of the serial 3R manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of theta1, d2, d3, d4, r2, r3,
  • and constant is a numerical value.
  • By default, the values are theta1 = 0, d2 = 1, d3 = 0.5, d4 = 0.8, r2 = 0.15, r3 = 0.1.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the Orthoglide manipulator whose dimensions are given in input.

Example

> robot := Serial3R ():
> robot[Equations];

Parallel3PRSd

Parallel3PRSd := proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false,
tiltandtorsion ::truefalse := false,
ortho ::truefalse := false,
normalize ::truefalse := false
}   )

Constructs the Manipulator object of the 3- P R S manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of r, l.
  • and constant is a numerical value.
  • By default, the values are r = 1.3 and *l*=1.5.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the 3- _P R S manipulator with parallel prismatics, whose dimensions are given in input.

Example

> robot := Parallel3PRSd ():
> robot[Equations];

Parallel3PRSc

Parallel3PRSc:= proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false
}   )

Constructs the Manipulator object of the 3- P R S manipulator.

Parameters

name = constantthe geometric parameters of the robot,
  • where name is one of r, l.
  • and constant is a numerical value.
  • By default, the values are r = 1.3 and *l*=1.5.
precision = integer (optional)the precision, where integer is the number of significative digits; default value: 4.

Returns

A Manipulator data structure representing the Orthoglide manipulator whose dimensions are given in input.

Example

> robot := Parallel3PRSc ():
> robot[Equations];
Parallel_3RPR := proc({   
d1 ::algebraic := 17.04,
d2 ::algebraic := 16.54,
d3 ::algebraic := 20.84,
beta ::algebraic := arccos ((d2^2-d3^2-d1^2)/(-2*d3*d1)),
A2x ::algebraic := 15.91,
A3x ::algebraic := 0,
A3y ::algebraic := 10,
precision ::integer := 4
}   
,   
morespec ::seq(name=algebraic),  
moreranges ::seq(name=range)  )
Constructs the Manipulator object of a planar 3-R P R manipulator.
Parallel_3RPR_full := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of a planar 3-R P R manipulator.
Parallel_3PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of a 3- P R R manipulator.
ParallelPRP2PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )
Parallel_RPRRP := proc({   
e ::constant := 0.7,
L4 ::constant := 1,
S2min ::constant := 0.5,
S2max ::constant := 1.5,
S4min ::constant := 0.1,
S4max ::constant := 1.1,
precision := 4   
}   
,   
morespec ::seq(name=algebraic)  )
Constructs the Manipulator object of a R P R R P manipulator.
Parallel_RR_RRR := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of a 2-R R manipulator.
Parallel_PRRP := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of a P R R P manipulator.
Orthoglide := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of the Orthoglide manipulator.
ParallelRPR2PRR := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of the R P R 2-P R R manipulator.
Parallel3PPPS := proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false,
tiltandtorsion ::truefalse := false,
normalize ::truefalse := false,
ortho ::truefalse := false
}   )
Constructs the Manipulator object of the 3- P P P S manipulator.
Serial3R := proc(morespec ::seq(name=algebraic),
precision := 4 )
Constructs the Manipulator object of the serial 3R manipulator.
Parallel3PRSd := proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false,
tiltandtorsion ::truefalse := false,
ortho ::truefalse := false,
normalize ::truefalse := false
}   )
Constructs the Manipulator object of the 3- P R S manipulator.
Parallel3PRSc:= proc(morespec ::seq(name=algebraic),  
precision := 4,   
{   
quaternions ::truefalse := false
}   )
Constructs the Manipulator object of the 3- P R S manipulator.
Close