Galileo Sphere Robot (GSR) Kinematics

From SoftMC-Wiki
Revision as of 14:45, 19 August 2014 by Lisa (talk | contribs)
Jump to: navigation, search

Robot Kinematics for Galileo Sphere Robot

GSR-SETUP.JPG GSR-SIDE-DRAWINGS.PNG GSR-FRONT-DRAWING.PNG


Robot Definition as a Group of Axes with a Predefined Point Type

The robot kinematics will be assigned to a new model type (15) with a XYZPR (x,y,z, pitch, roll) point type. The following line defines the GALILEO robot as a new system variable:

Common Shared GALILEO As Group Axnm = A1 Axnm = A2 Axnm = A3 Axnm = A4  Axnm = A5 model = 15 of '''xyzpr'''

Kinematics of the Robot

GSR0.PNG

Joint Coordinates

Axis name Joint Type Range Units
Theta1 J1 Rotary axis [-180,180] deg
Theta2 J2 Rotary axis [-10,90] deg
Z1 J3 Linear [Z1min,Z1max] mm
Z2 J4 Linear [Z2min,Z2max] mm
Theta3 J5 Rotary axis Multi turn deg

Three Rotary Axes:

  • theta1 – big horizontal rotary (J1 or joint #1)
  • theta2 – pitch axis (J2 or joint #2)
  • theta3 – tool rotation (J5 or joint #5)

Two linear axes:

  • Z1 (J3 or joint #3)
  • Z2 (J4 or joint #4)


The Z1 is the linear axis without connecting rod. General presentation of the robot joint point in MC-Basic language is (list of numeric expressions inside curly brackets):

{J1, J2, J3, J4, J5}

Cartesian Coordinates

Cartesian coordinates (world) of the robot TCP (Tool Center Point) are (Xw, Yw, Zw). Orientation of the robot tool’s Z axis is always expressed as a rotation needed to rotate the Z world (Zw) axis into Z tool (Zt) axis. It can be expressed with 3 Euler angles (Yaw, Pitch, Roll) of the ZYZ order of rotations. Yaw Angle: Rotating (Xw, Yw, Zw) system around Zw axis into (X1, Y1, Z1) Pitch Angle: Rotating (X1, Y1, Z1) system around Y1 axis into (X2, Y2, Z2) Roll Angle: Rotating (X2, Y2, Z2) system around Z2 axis into (X3, Y3, Z3) which coincides to (Xt, Yt, Zt)

As the given robot has only 5 degrees of freedom (DOF) we are reducing the orientation representation to Pitch and Roll angles only. That corresponds to rotations around Y2 (axis obtained after rotating Yw with θ1) and Z3 tools Z axis (in that order).

General presentation of the robot Cartesian point in MC-Basic language is (list of numeric expressions inside curly brackets preceded with hash sign):

#{X, Y, Z, Pitch, Roll}

Geometry

The important geometrical parameters of the robot are:

GSR1.PNG

List of parameters:

Name Units Description MC-BASIC property
D1 mm Distance between the axes <robot>.Link[1][1]
D2 mm Tool mounting rod <robot>.Link[1][2]
D3 mm Extension rod <robot>.Link[1][3]
L1 mm Tool Length <robot>.Link[2][1]
B1 mm Vertical (Z) offset of the θ2 rotation center (C2) from the center of θ1-circle (C1). <robot>.Link[2][2]

There are two additional parameters that are defined implicitly by defining the zero coordinate of the z axes (z1off and z2off). Both z axes should have zero at same line (see picture). These two will include the offset from the axis encoder zero position to the rotation axis of θ2 - including all fixed additional linkages connected to it (not depicted in the picture as they do not alternate the basic robot kinematics).

IMPORTANT.svgIMPORTANT
The assumption is that the robot has symmetrical setup. The tool flange is in the middle of D2 link and the center of rotation of the theta2 is in the middle of the theta1 circle. It is crucial to have these two requirements fulfilled, if not the kinematics relations will be invalid.

Singularities

Theoretically speaking there are two singularities of these kinematics, let’s call them roll-singularity and linkage-singularity (these names are just arbitrarily given as we need somehow to denote them), but we will handle just one and the other will be not available to the user. Here is the explanation:

Roll-singularity

GSR-CONFIG.PNG

This type of singularity happens when θ1 and θ3 are co-linear. Their sum (θ1 + θ3) builds the Cartesian roll angle and any combination of these two numbers will represent the same roll angle.

Linkage-singularity

GSR-RSING.PNG

It is a typical four-bar mechanism singularity where for the same position of Z1X segment there are two solutions for Z2 point. In order to avoid problems with this type of singularity only solutions with minimal x angle will be taken (x’ angle in the drawing).  

Configuration flags

Actually there should be two configuration flags in the system. But, as the one of the configuration is not allowed, only one (ARM) is made available (accessible for reading and writing) to the user.

GSR-LSING.PNG

The Arm configuration flag is defined according to the following reasoning:

In case the tool-tip is on the same side as the θ2 slider it is RIGHTY else it is LEFTY.

Or:

Arm is LEFTY if r > 0
Arm is RIGHTY if r < 0


In the MC-BASIC language it is:

Typical robot poses

Here is a list of some typical poses for a better understanding of the workspace coordinates. They do not necessary represent the feasible positions of the robot (due to some axis position limitations) but they are good examples to finalize and test robot kinematics definitions.

GSR-POS0.PNG

• Horizontal position, pitch angle = 90 degrees: {0,0,Z1,Z2-D3,0}  #{Z1+L1,B1,-90,0}

• Same pose rotating theta 3 – directly translated into roll angle. {0,0,Z1,Z2-D3,45}  #{Z1+L1,B1,-90,45} {0,0,Z1,Z2-D3,-45}  #{Z1+L1,B1,-90,-45}


GSR-POS1.PNG


Horizontal position, pitch angle = ±90 degrees: {90,0,Z1,Z1-D3,0}  #{0,-(Z1+L1),B1,-90,0} {-90,0,Z1,Z1-D3,0}  #{0,+(Z1+L1),B1,-90,0}

GSR-POS2.PNG

• Singular point: {0,90,Z1,Z1-D3,0}  #{0,0,B1+(Z1+L1),0,0} {R,90,Z1,Z1-D3,-R}  #{0,0, B1+ (Z1+L1),0,0} for any R!

GSR light v2 sezione T2 Z out

GSR-LV02T2ZOUT.PNG

-->move {0,90,386+76,386,0}
-->?setpoint
#{-7.41629e-14 , 0 , 743 , 0 , 0}
-->


GSR light v2 sezione T2 Z in

GSR-LV02T2ZIN.PNG

-->move {0,90,232+76,232,0}
-->?setpoint
#{-2.26485e-14 , 0 , 589 , 0 , 0}
-->

GSR light v02 Z.in T3.60

GSR-V02ZINT360.PNG

-->moves {0,90,113.3+373,373,0}
-->?setpoint
#{60.8857 , 0 , 730.64 , -29.986 , 0}
-->?113.3+373+95+149
730.3


GSR light v02 Z.out T3.60

GSR-V02ZOUTT360.PNG

-->moves {0,90,230+373,230+373-113.3,0}
-->?setpoint
#{60.8857 , 0 , 847.34 , -29.986 , 0}
-->?230+373+95+149
847
-->


GSR light v02 Z.in T3.135

GSR-V02ZINT3135.PNG

-->move {0,90,76+373,76+373 - 18.9,0}
-->?setpoint
#{-104.514 , 0 , 718.183 , 45.022 , 0}
-->?120+373+76+149
718
-->

GSR light v02 Z.in T3.150

GSR-V02ZINT3150.PNG

-->move {0,90,76+373,76+373,0}
-->?setpoint
#{-133.315 , 0 , 696.909 , 60 , 0}
-->?99+373+76+149
697

GSR light v02 Z.in T3.180

GSR-V02ZINT3180.PNG

-->move {0,90,76+373,76+373+76,0}
-->?setpoint
#{-170 , 0 , 636 , 90 , 0}
-->?38+373+76+149
636
-->


NOTE-Info.svgNOTE
At this point we have the linkage singularity!!!