Cinematica dei Manipolatori e dei robot mobili A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by joints (rotoidal or prismatic) For each joint correspond a degree of freedom In manipulators one extreme is rigidly constrained to a base, to the other end is fixed an end effector. Knowing the variable associated with each joint (joint variable: angle for revolute, relative position for prismatic), the position and orientation (pose or posture) of the terminal are uniquely determined In the case of mobile robots we do not have rigid constraints to determine the position unequivocally, but wheels (generally) that determine a speed constraint Knowing the variable connected with each joint (total angle of rotation of the wheel) there is no information about the pose of the vehicle Cinematica dei Manipolatori e dei robot mobili
Cinematica dei Manipolatori In manipulators the overall motion is realized by means of the composition of the relative motions of each arm with respect to the previous In the operations of manipulation is necessary to describe the position and orientation of the end effector (pose), in the case where there are obstacles it is necessary to consider position and orientation of each joint (posture) Regarding the kinematics of manipulators we will consider: - the direct kinematics by means of which, as a function of the variables of the joint, is possible to derive the end effector pose with respect to the reference system - the working space and the joint space for the management of the workspace of the robot - the calibration of kinematic parameters in order to obtain a better positioning accuracy - the solution of inverse kinematics by which we determine the joint variables from the end effector pose Cinematica dei Manipolatori
Cinematica dei Manipolatori o’ = o’x x + o’y y + o’z z Dove: o’x o’y o’z vector o’ along the reference system x y z unit vector wrt the reference system A rigid body is completely described by means of the pose, or by the position of a reference point and the attitude of the body reference system wrt the reference Cinematica dei Manipolatori
Cinematica dei Manipolatori The vector o’ is an applied vector since, in addition to the direction and module, it is also specified the application point O- x y z reference ’ O’- x’ y’ z’ body reference Wrt reference system the unit vectors of the body reference are expressed by the equations: Cinematica dei Manipolatori
Cinematica dei Manipolatori The body reference unit vectors decomposition wrt the absolute reference: S’ S O- x y z absolute reference ’ O’- x’ y’ z’ body reference The orthonormality allows the above relation that also implies: … that is a simple scalar product Cinematica dei Manipolatori
Cinematica dei Manipolatori The three vectors can be combined to form a matrix: R provides the orientation of the body reference wrt the absolute reference The vectors of the columns of R build an orthonormal reference so that: And therefore: R is defined ortogonal, and holds: Cinematica dei Manipolatori
Cinematica dei Manipolatori – Trasformazione coordinate If the body reference origin coincides with the absolute reference origin: o’ = 0 (zero) P can be represented wrt both references: Cinematica dei Manipolatori – Trasformazione coordinate
Cinematica dei Manipolatori – Trasformazione coordinate Note: x’, y’, z’ are the unit vectors of ’ wrt , i.e. we observe from the absolute reference P and p’ are representations of the same vector: So R is the coordinates transformation matrix of the vector expressed wrt ’ in the coordinates of the same vector expressed with respect to and vice versa via RT Cinematica dei Manipolatori – Trasformazione coordinate
Cinematica dei Manipolatori – Rotazione di un vettore If p' is the representation of the vector with respect to the body reference, if we assume that the initial conditions of the reference and the solidarity reference coincide: p' = p at the beginning. Following a pure rotation (still suppose o'= 0) of the body: p’ is always identical whichever motion (are the body reference coordinates), p varies as a function of the rotation providing the vector wrt the absolute reference So R represent the rotation matrix of the vector p’ from the position solidal to S to the actual one Cinematica dei Manipolatori – Rotazione di un vettore
Cinematica dei Manipolatori – Rotazione di un vettore S’ p = R p’ S’ S S p p = p’ p’ At the beginning the two references coincide and so p = p’ After the rotation p = R p’ Nota: rotation preserve modulus: Cinematica dei Manipolatori – Rotazione di un vettore
R resembles three different geometrical meanings: the orientation of one reference wrt another Coordinates transformation Rotation matrix Cinematica dei Manipolatori – significato di R
Given 3 references: O-x0 y0 z0, O-x1 y1 z1, O-x2 y2 z2, with the same origin A vector p can be expressed wrt each of the three p0 p1 and p2 If we define Ri j the matrix of coordinates transformation from i to j (j is the reference, the one wrt the coordinates are expressed) The matrix that expresses the coordinates of a point with respect to the reference 0 starting from those expressed with respect to 2 is equal to the composition of two partial transformations: transformation from 2 to 1 transformation from 1 to 0 The overall transformation matrix is determined by multiplying from right to left C. M. – composizione matrici di trasformazione coordinate
Starting with a reference superimposed to the 0 The rotation expressed by R2 0 (rotation from 0 till 2: note that from the point of view of the rotation sense is from the apex to the subscript) we obtain: Rotation from 0 to 1 (current reference 0) Rotation from 1 to 2 (current reference 1) The composition of rotations from 0 to 2 are obtained multiplying from left to right Since each partial rotation is obtained from the outcome of the previous one, the rotation reference is called the current reference The operation is defined "successive rotations wrt current reference axes” C. M. – composizione matrici di rotazione (terna corrente)
C. M. – composizione matrici di rotazione (terna corrente) Note: the result depends from the order of rotation C. M. – composizione matrici di rotazione (terna corrente)
Rotazioni rispetto alla terna corrente - Esempio
Rotazioni rispetto alla terna corrente - Esempio Comp sx toward dx Rotazioni rispetto alla terna corrente - Esempio
If the rotations are defined wrt the absolute (fixed) reference then the operation is defined "successive rotations wrt fixed reference axes” Suppose we have a point p that rotate: 1. first according to a rotation matrix defined by R1 2. then according to a rotation matrix defined by R2 The resulting vector p'' is given by: In this case the multiplication is from right to left C. M. – operazioni di rotazione rispetto a terna fissa
C. M. – operazioni di rotazione rispetto a terna fissa
Rotazioni rispetto alla terna fissa - Esempio Comp dx verso sx Rotazioni rispetto alla terna fissa - Esempio
C. M. – Trasformazioni Omogenee If we have also a translation In this case the homogeneous representation is used: So we define a ,matrix of homogeneous transformation: So the coordinates transformation(from reference 1 to 0) can be written: C. M. – Trasformazioni Omogenee
C. M. – Trasformazioni Omogenee From 0 to 1 : where: Note: Note : C. M. – Trasformazioni Omogenee
Verification:
C. M. – Trasformazioni Omogenee As for the coordinates transformation we have a product from right to left : Comp dx verso sx C. M. – Trasformazioni Omogenee