Kinematics Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position. 1/31 Statics deals with the forces and moments which are aplied on the mechanism at rest. The essential concept is a stiffness. Dynamics analyzes the forces and moments which result from motion and acceleration of a mechanism and a load. The terms and laws studied can be applied to robot-industrial manipulator as well as to any other machine with moving components. We will refer here to robot and will use some terms used in robotics (like end effector) but any machine could and shall be studied in similar way when position, stiffness or dynamics of the system is important. ROBOTICS, Vladimír Smutný Slide 1, Page 1
J5 axis J4 axis Kinematics Terminology Fore arm Elbow block 2/31 Link is the rigid part of the robot body (e.g. forearm). Joint is a part of the robot body which allows controlled or free relative motion of two links (connection element). J6 axis J3 axis Upper arm End effector is the link of the manipulator which is used to hold the tools (gripper, spray gun, welding gun...). Shoulder J1 axis J2 axis Base is the link of the manipulator which is usually connected to the ground and is directly connected to the world coordinate system. Base Kinematic pair is a pair of links which relative motion is bounded by the joint connecting them (e.g. base and shoulder connected by J1 axis). Joint can be either controlled or freely moving. For controlled joint there is an actuator mounted in it and control system can change its position. Freely moving joint changes its status according position of other joints. ROBOTICS, Vladimír Smutný Slide 2, Page 2
Kinematics Terminology II Kinematic chain is a set of links connected by joints. Kinematic chain can be represented by a graph. The vertices represent links and edges represent joints. Mechanism is a kinematic chain when one of its links is fixed to the ground. Open kinematic chain Mixed kinematic chain Parallel manipulators is the chain which can be described by acyclic graph. contains in its graph a loop. consist of equivalent loops. 3/31 ROBOTICS, Vladimír Smutný Slide 3, Page 3
Kinematics Degrees of Freedom Degrees of freedom (less formal definition) is a number of independent parameters needed to specify the position of the mechanism completely. Examples: 3/31 Rigid body in a 2D space e.g. plane has 3 DOF. Rigid body in a 3D space has 6 DOF. A point in a plane has 2 DOF. A point in a 3D space has 3 DOF. ROBOTICS, Vladimír Smutný Slide 4, Page 4
Kinematics Degrees of Freedom Degrees of freedom (less formal definition) is a number of independent parameters needed to specify the position of the mechanism completely. Examples: 3/31 Rigid body in a 2D space e.g. plane has 3 DOF. Rigid body in a 3D space has 6 DOF. A point in a plane has 2 DOF. A point in a 3D space has 3 DOF. ROBOTICS, Vladimír Smutný Slide 4, Page 5
Kinematics Degrees of Freedom The DOF is important notion not only in robotics. Few more definitions are related to it: Ambient space - the space robot/mechanism lives in, usually E 2 (the plane - planar manipulator) or E 3 (space). It is Euclidean space. Operational space 4/31 is the subspace of the ambient space occupied by any of the robot part during any of possible robot motions. The operational (3D, physical) space shall be guarded by fence, doors or invisible bariers to prevent injuries of both robot and humans. Work envelope (working space) is the subspace of the ambient space where the robot can reach by the end effector. The cuts through this space are usually drawn in the technical specifications by manufacturers. The work envelope has actually little use in the practice, it can just provide basic notion where the robot can work. ROBOTICS, Vladimír Smutný Slide 5, Page 6
Kinematics Degrees of Freedom We usually need to study the position of the end effector or the tool fixed to it. Let us assume the end effector or tool is a rigid body. 5/31 The rigid body position in the 3D ambient space can be described by six parameters. The semantics and values depend on the chosen parametrization, e.g. position of the reference point on it (3 parameters) and 3 angles. The position space is the 6D (3D for planar case) space representing all possible positions of rigid body in 3D (2D) ambient space. The end effector position can be studied in this 6D space position space. The working space is a subspace of the position space containing positions which can be reached by end effector (tool). All required end effector positions shall of course lie in the working space, so the feasibility of the particular robot use (its reach) shall be studied in this space. The joint space a space of all possible?????????????????? joints space trajectories The DOF is a dimension of the subspace which contains?????????????? Revolute joint is preferred in machinery as it can be easily and cheply manufactured, it has low friction, good rigidity. We will study mainly robots with revolute and prismatic joints. ROBOTICS, Vladimír Smutný Slide 6, Page 7
Types of kinematic pairs Symbol Name has/removes DOF 6/31 Spherical 3 / 3 Revolute 1 / 5 Prismatic 1 / 5 Cylindrical 2 / 4 Flat 3 / 3 ROBOTICS, Vladimír Smutný Slide 7, Page 8
Typical structure of manipulators 7/31 Cartezian Cylindrical Spherical Angular robot has large working space compare to dimensions. Scara is particularly suited for operations above horizontal plane, where three vertical axes does not work against gravity. ROBOTICS, Vladimír Smutný Slide 8, Page 9
Typical structure of manipulators II 8/31 Angular SCARA Animations taken from Masud Salimian s web page Body in the coordinate system The rigid body in a plane has 3 degree of freedom. The same body in 3D space has 6 degree of freedom: Questions: How many DOF has a rubber tape? Let the coordinate system of a base is O xyz. The coordinate system of a body is O x b y b z b. The description of a coordinate system O x b y b z b in coordinate system of a base is: x o OO = x o = y o z o (n, t, b). Let us form a matrix R = (n, t, b), n, t, b are unit and orthogonal vectors, then a matrix R is ortonormal, that is R 1 = R T. ROBOTICS, Vladimír Smutný Slide 9, Page 10
Body in the coordinate system Point in 3D - described by three coordinates. Rigid body in 3D - described by 6 coordinates: 10/31 3 coordinates of reference point x0 = orientation could be described e.g. by: coordinates of vectors attached to the body (n, t, b), Euler angles (Φ, Θ, Ψ), rotational matrix R. x 0 y 0 z 0 Euler angles The matrix R has nine coeficients, but its dimension is only three, the bounding condition is unit size and orthogonality of vectors n, t, b: n T t = 0 t T b = 0 b T n = 0 n = 1 t = 1 b = 1 The matrix R can be contructed easily using Euler angles, see Fig.??: R z (φ) = R x (θ) = R z (ψ) = cos φ sin φ 0 sin φ cos φ 0 0 0 1 1 0 0 0 cos θ sin θ 0 sin θ cos θ cos ψ sin ψ 0 sin ψ cos ψ 0 0 0 1 (1) (2) (3) 1. Rotate the coordinate system O xyz around the axis z by the angle φ. We will get O x y z. 2. Rotate the coordinate system O x y z around the axis x by the angle θ. We will get O x y z. 3. Rotate the coordinate system O x y z around the axis z by the angle ψ. We will get O x b y b z b. R = R z (φ)r x (θ)r z (ψ) cos φ cos ψ cos θ sin φ sin ψ cos θ cos ψ sin φ cos φ sin ψ R = cos ψ sin φ + cos φ cos θ sin ψ cos φ cos θ cos ψ sin φ sin ψ sin θ sin ψ cos ψ sin θ (4) Euler angles define uniquely the rotation, the same rotation can be reached by different triples of angles. Other definitions like roll pitch yaw define similar angles with similar properties but with different equations. If the matrix R is given, Euler angles can be calculated by the comparison of the matrix coeficients r 33, r 32, r 23. ROBOTICS, Vladimír Smutný Slide 11, Page 11
Rotation Matrix Resulting from Euler Angles Cos Φ Cos Ψ Cos Θ Sin Φ Sin Ψ Cos Θ Cos Ψ Sin Φ Cos Φ Sin Ψ Sin Φ Sin Θ Cos Ψ Sin Φ Cos Φ Cos Θ Sin Ψ Cos Φ Cos Θ Cos Ψ Sin Φ Sin Ψ Cos Φ Sin Θ Sin Θ Sin Ψ Cos Ψ Sin Θ Cos Θ 12/31 We know the coordinates of a point in coordinate system u O x b y b z b : x b = v and we are looking for its coordinates w x in coordinate system O xyz: x = y z. OP = OO + O A + AB + BP x = x o + un + vt + wb x = x o + Rx b Inverse transform: x b = R T x o + R T x ROBOTICS, Vladimír Smutný Slide 13, Page 12
Coordinate transformation 13/31 Homogeneous coordinates Let us define homogenneous coordinates: Euclidean -metric Homogeneous - projective x x x = y x = y z z x = x/w y/w z/w does not exist (point at infinity) x = x y z w x = 1 w 0 x y z 0 It is possible to show, that where A is a matrix 4x4: Inverse matrix: A = A 1 = x = Ax b, [ R xo 0 0 0 1 ] [ R T R T x o 0 0 0 1 Consecutive coordinate transformations, see Fig.??: x 0 = A 0 1A 1 2A 2 3A 3 4... A n 1 n x n. (5) ] ROBOTICS, Vladimír Smutný Slide 14, Page 13
Consecutive coordinate transformations 14/31 Open kinematic chain modelling Open kinematic chain is formed by the sequence of links connected by joints. If we know the description joints using geometrical tranformations we can easily find transformation of point coordinates from end effector coordinate system to base coordinate system and vice versa. This transformation is called kinematic equations. ROBOTICS, Vladimír Smutný Slide 15, Page 14
Open kinematic chain 15/31 Unique and efficient description of transformations can be found by the method Denavit-Hartenberg. The description is then called Denavit-Hartenberg notation. See fig.??. We describe the joint i. 1. Find the axes of rotation of joints i 1, i, i + 1. 2. Find the common normal of joint axes i 1 and i and axes of joints i a i + 1. 3. Find points O i 1, H i, O i. 4. Axis z i shall be placed into the axis of the joint i + 1. 5. Axis x i shall be placed into the common normal H i O i. 6. Axis y i forms with the other axes right-hand coordinate system. 7. Name the distance of points O i 1, H i = d i. 8. Name the distance of points H i, O i = a i. 9. Name the angle between common normals θ i. 10. Name the angle between axes i, i + 1 α i. 11. The origin of a base coordinate system O o can be placed anywhere on the joint axis and axis x 0 can be oriented arbitrarily. For example to get d 1 = 0. 12. The origin O n of the end effector coordinate system and orientation of the axis z n can be placed arbitrarily when other rules hold. 13. When the axis of two consecutive joints are parallel, the common normal position can be placed arbitrarily, e.g. to get d i = 0. 14. The position of joint axis can be arbitrarily chosen for prismatic joints. ROBOTICS, Vladimír Smutný Slide 16, Page 15
Base and end effector coordinate frames in DH 19/31 The tranformation in the joint is uniquelly described by four parameters a i, d i, α i, θ i. Parameters a i, α i are constant, one of the parameters d i, θ i is changing when the joint moves. The joints are usually: where Revolute, then d i Prismatic, then θ i is constant and θ i is changing, is constant and d i is changing. The matrix of transformation A can be calculated A i 1 int = A int i = A i 1 i = A i 1 int Aint i, cos θ i sin θ i 0 0 sin θ i cos θ i 0 0 0 0 1 d i 0 0 0 1 1 0 0 a i 0 cos α i sin α i 0 0 sin α i cos α i 0 0 0 0 1,. It can be shown, that: A i 1 i = cos θ i sin θ i cos α i sin θ i sin α i a i cos θ i sin θ i cos θ i cos α i cos θ i sin α i a i sin θ i 0 sin α i cos α i d i 0 0 0 1. Denote q i the parameter θ i, d i, which is changing. Expression 5 can be redrawn to x 0 = A 0 1(q 1 )A 1 2(q 2 )A 2 3(q 3 )A 3 4(q 4 )... A n 1 n (q n )x n. For each value of the vector q = (q 1, q 2, q 3, q 4,... q n ) Q = R n we can calculate coordinates of point P in base coordinate system from given P coordinates in end effector coordinate system and vice versa. Kinematic equation are always solvable analytically. ROBOTICS, Vladimír Smutný Slide 20, Page 16
5-R-1-P manipulator 20/31 Inverse kinematics We call inverse kinematics the task when there is give a matrix T(q) = A 0 1(q 1 )A 1 2(q 2 )A 2 3(q 3 )A 3 4(q 4 )... A n 1 n (q n ). (6) and we are looking for values of vector q. The system of nonlinear equations (usually trigonometric) is typically not possible to solve analytically. Solving inverse kinematics: Analytically, if possible. There is not a unique description, how to solve the system. Numerically. Look up table, precalculated for the working space W Q. There are a manipulator structures, which can be solved analytically. We call them solvable. The sufficient condition of solvability is e.g. when the 6 DOF robot has three consecutive revolute joint with axes intersecting in one point. The other property of inverse kinematics is ambiquity of solution in singular points. There is often the subspace Q s of the space Q, which gives the same T. q Q s : T(q) = T To decide which q solving 6 to select has to be taken into account mainly: 1. Is the selected value q applicable, i.e. can the robot be sent to q? 2. How to reach the singular point. The function q shall allways be a continuous function of time. The preceeding values of q should make with the selected value continous function of time. 3. How to continue from the singular point? The future values of q should form with the selected value continous function of time. 4. Will not the selected value of q guide us to the situation where we will not be able to satisfy above conditions? 5. Will the required operational space limit us during manipulation? The example is the insertion of the seat into car. We design sometimes redundant robots (with more degrees of freedom, e.g. 8), to increase the space Q s, from which we select q to allow more freedom to fulfill above requirements. Think about following: Is it possible to design the robot with prismatic joints only which can position arbitrarily the rigid body in 3D space? Why? Choose some manipulating task and design the structure of redundant robot for it. ROBOTICS, Vladimír Smutný Slide 21, Page 17