Créer une présentation
Télécharger la présentation

Télécharger la présentation
## Mechatronics Robotics Lecture 10: Forward inverse kinematics details

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**1. **Mechatronics & RoboticsLecture 10: Forward & inverse kinematics (details) Dr Vesna Brujic-Okretic
Room: 11cBC03 or
MSRR Lab.
Ext.: 9676 or 9681
Email: mes1vb@surrey.ac.uk

**2. **Week 10: Robot Kinematics Calculations1) Reminder of forward and inverse kinematics 2) 2D rigid body transformations 3) Homogenous co-ordinate systems4) Forward kinematics of 2D 3-link manipulator5) Inverse kinematics of 2D 2-link manipulator

**3. **Forward and inverse kinematics :
Robot kinematic calculations deal with the relationship between joint positions and an external fixed Cartesian coordinate frame.
Dynamics, force, momentum etc. are not considered.

**4. **Forward kinematics :
Position of end-effector can be determined using the joint angles and mechanical structure of the manipulator.
A Kinematic model maps an eligible joint vector into a corresponding position and orientation of the end-effector (called the robot pose).

**5. **Inverse kinematics :
No single generic procedure exists for calculating the inverse kinematics of an arm.
There are often multiple solutions for a given position and orientation.
For a 6 DOF robot, there may be as many as 16 solutions.

**6. **Inverse kinematics :
First of all: the position/orientation must be reachable.
Joint angles must be monitored if they are approaching limits - singularities can occur

**7. **Forward and inverse kinematics of robot arms :
Each joint can be considered to have its own co-ordinate system or frame - we first need to work out the transformations between each link - we express these transformations as rotations, translations, scalings etc..

**8. **2D Rigid body transformations :
Simple 2D transformations can be considered separately as:
a translation (in X and Y)
and a rotation (about a point in X and Y)
We will deal with both individually then consider a composite translation and rotation.

**9. **Translation

**10. **2D translation :
We can translate points in the (x,y) plane to new positions by ADDING translation amounts to the coordinates of the points.
For each point P(x0,y0) to be moved by xf units parallel to the X-AXIS and by yf units parallel to the Y-AXIS to the new point P'(x1, y1), we can write:
x0 = x1 + xf,
y0 = y1 + yf.
If we define the column vectors:
x0 = x1 + xf
y0 = y1 + yf
Then this can be expressed more concisely as:
P' = P + T.

**11. **Rotation

**12. **2D rotation about the origin:
We can rotate points in the (x,y) plane by theta about the origin using the following equations derived from simple trigonometry:
x0 = x1 * cosq - y1 * sinq
y0 = x1 * sinq + y1 * cosq
In matrix form we can write this as :
x0 cosq -sinq x1
y0 = sinq cosq y1
or P' = R * P

**13. **Composite R and T

**14. **Composite 2D translations and rotations :
We can combine a translation and rotation in 2D using :
x0 = xf + x1 * cosq - y1 * sinq
y0 = yf + x1 * sinq + y1 * cosq
In matrix form we can write this as :
x0 = xf cosq -sinq x1
y0 yf + sinq cosq y1
or P' = T + R * P

**15. **Homogeneous Co-ordinate systems :
The mathematics for implementing composite translations and rotations becomes rather cumbersome when there are a number of combinations involved
This is particularly true in robotics where we must deal with a number of links and several different co-ordinate systems
We have not so far considered other transforms such as scaling
We have also only considered the two-dimensional (2D) case
In order to deal more elegantly with composite geometrical transforms we need to use the homogeneous co-ordinate system.

**16. **Homogeneous Co-ordinate systems :
In general a homogeneous representation of an N-dimensional vector is of a dimension of (N+1) and the physical N-dimensional vector is obtained by dividing by the (N+1)th co-ordinate.
Hence for the three dimensional case:
x x
y y
z z
1
(with a scaling factor of 1)
Matrix multiplication is associative so we can use that to combine 2 matrices into a single matrix

**17. **2D Homogeneous transformation matrix :
A transformation in 2D can be completely described by a single 3x3 matrix using the homogeneous representation :-
This can be expanded to give the same equations we agreed upon in the heterogeneous case :

**18. **Homogeneous transformation matrix :
A complete transformation can be described by a single matrix using the homogeneous representation, in which
the rotation,
translation,
perspective transformation and
scaling
are organized as follows for a 3D case:-

**19. **Forward and inverse kinematics of robot arms :
Each joint can be considered to have its own co-ordinate system.
We first need to work out the transformations between each link - we define these using homogeneous notation we just discussed.

**20. **Forward kinematics of a planar 3 link arm :
We wish to know the position of the end-effector (in the world) if we already know the arms joint angles.
This is achieved by finding the transformation matrices for each joint and combining them in the correct order to get the position of the final link as a function of the joint angles.

**21. **Forward kinematics of a planar 3 link arm :
We start at the link nearest the end effector, E.
We define the end-effector co-ordinate frame to be coincident with joint(3) - with the local X-axis in line with link(3).
Thus, in the local frame, E is defined as the point (l3, 0, 1) using the homogenous representation.

**22. **Forward kinematics of a planar 3 link arm :
We then define the transform between the local co-ordinate frame at joint(3) to the local coordinate frame at joint(2).
This is given by a rotation about q3 and a translation of length l2.
In homogeneous representation:
This is then repeated at the other joints.

**23. **Forward kinematics of a planar 3 link arm :
The transform between the local co-ordinate frame at joint(2) to the local coordinate frame at joint(1) is given by a rotation about q2 followed by a translation of length l1.
In homogeneous representation:
N.B. : These transformation matrices we are developing are called the A-matrices for the arm.

**24. **Forward kinematics of a planar 3 link arm :
Finally, the transform between the local co-ordinate frame at joint(1) to the world coordinate frame of Xo,Yo is given by a rotation about q1 :-
We then need to combine the A-matrices together using matrix multiplication:

**25. **Forward kinematics of a planar 3 link arm :
This gives :
To summarise;
1) define a local frame in line with the last link and then the vector required to reach the end-effector.
2) define a homogeneous transform matrix for a rotation and a transformation to get to the next joint.
3) repeat step (2) until you reach the base line where only a rotation to the world frame is needed.
4) the forward kinematic solution is the product of the A-matrices multiplied by the end-effector vector.

**26. **Inverse kinematics of a planar 2 link arm :
In the previous section the forward kinematics of a simple 2D, 3-link planar manipulator were developed. The position and orientation of any point rigidly attached to the gripper can be found if the joint angles are known.
In this section we want to do the reverse: given the position and orientation of the gripper, to what angles must the robot joints be set.
We wish to know where to drive the arms joint angles for the end-effector to reach a particular position.
This constitutes a set of highly non-linear equations for the joint angles q1, q2, q3.
In general, very little is known about solving such equations: even the number of solutions is a problem.
We shall constrain ourselves to considering the simplified case of 2D, 2-link (planar) manipulators and illustrate the problem with an example

**27. **Inverse kinematics of a planar 2 link arm :
2-link 2D arm.

**28. **Inverse kinematics of a planar 2 link arm :
First we derive the forward kinematics of the arm which are:
By comparing this with equ 8.2 on page 106, we can derive two simultaneous equations :
From standard trig identities and from equ.2 respectively :

**29. **Inverse kinematics of a planar 2 link arm :
These, after substitution in equ.1, give :
Hence there are two solutions :
Thus, there are two possible robot configurations that could lead to the end-effector reaching the same desired position.

**30. **Week 10: Robot Kinematics Calculations1) Overview of forward and inverse kinematics 2) 2D rigid body transformations 3) Homogenous co-ordinate systems4) Forward kinematics of 2D 3-link manipulator5) Inverse kinematics of 2D 2-link manipulator