Kinematics of Robot Manipulator Introduction to ROBOTICS Kinematics of Robot Manipulator
Outline Review Robot Manipulators Kinematics Robot Configuration Robot Specification Number of Axes, DOF Precision, Repeatability Kinematics Preliminary World frame, joint frame, end-effector frame Rotation Matrix, composite rotation matrix Homogeneous Matrix Direct kinematics Denavit-Hartenberg Representation Examples Inverse kinematics
Review What is a robot? Why use robots? By general agreement a robot is: A programmable machine that imitates the actions or appearance of an intelligent creature–usually a human. To qualify as a robot, a machine must be able to: 1) Sensing and perception: get information from its surroundings 2) Carry out different tasks: Locomotion or manipulation, do something physical–such as move or manipulate objects 3) Re-programmable: can do different things 4) Function autonomously and/or interact with human beings Why use robots? Perform 4A tasks in 4D environments 4A: Automation, Augmentation, Assistance, Autonomous 4D: Dangerous, Dirty, Dull, Difficult
Manipulators Robot arms, industrial robot Rigid bodies (links) connected by joints Joints: revolute or prismatic Drive: electric or hydraulic End-effector (tool) mounted on a flange or plate secured to the wrist joint of robot
Robotic Manipulators a robotic manipulator is a kinematic chain i.e. an assembly of pairs of rigid bodies that can move respect to one another via a mechanical constraint the rigid bodies are called links the mechanical constraints are called joints
A150 Robotic Arm link 3 link 2
Joints most manipulator joints are one of two types revolute (or rotary) like a hinge allows relative rotation about a fixed axis between two links axis of rotation is the z axis by convention prismatic (or linear) like a piston allows relative translation along a fixed axis between two links axis of translation is the z axis by convention our convention: joint i connects link i – 1 to link i when joint i is actuated, link i moves
Joint Variables revolute and prismatic joints are one degree of freedom (DOF) joints; thus, they can be described using a single numeric value called a joint variable qi : joint variable for joint i revolute qi = qi : angle of rotation of link i relative to link i – 1 prismatic qi = di : displacement of link i relative to link i – 1
Revolute Joint Variable qi = qi : angle of rotation of link i relative to link i – 1 link i qi link i – 1
Prismatic Joint Variable qi = di : displacement of link i relative to link i – 1 link i – 1 link i di
Common Manipulator Arrangments most industrial manipulators have six or fewer joints the first three joints are the arm the remaining joints are the wrist it is common to describe such manipulators using the joints of the arm R: revolute joint P: prismatic joint
Articulated Manipulator RRR (first three joints are all revolute) joint axes z0 : waist z1 : shoulder (perpendicular to z0) z2 : elbow (parallel to z1) z0 z1 z2 q2 q3 shoulder forearm elbow q1 waist
Spherical Manipulator RRP Stanford arm http://infolab.stanford.edu/pub/voy/museum/pictures/display/robots/IMG_2404ArmFrontPeekingOut.JPG z0 z1 d3 q2 shoulder z2 q1 waist
SCARA Manipulator RRP Selective Compliant Articulated Robot for Assembly http://www.robots.epson.com/products/g-series.htm z1 z2 z0 q2 d3 q1
Manipulators Robot Configuration: Cartesian: PPP Cylindrical: RPP Spherical: RRP Hand coordinate: n: normal vector; s: sliding vector; a: approach vector, normal to the tool mounting plate SCARA: RRP (Selective Compliance Assembly Robot Arm) Articulated: RRR
Manipulators Motion Control Methods Point to point control a sequence of discrete points spot welding, pick-and-place, loading & unloading Continuous path control follow a prescribed path, controlled-path motion Spray painting, Arc welding, Gluing
Manipulators Robot Specifications Number of Axes Major axes, (1-3) => Position the wrist Minor axes, (4-6) => Orient the tool Redundant, (7-n) => reaching around obstacles, avoiding undesirable configuration Degree of Freedom (DOF) Workspace Payload (load capacity) Precision v.s. Repeatability Precision (validity) is defined as how accurately a specified point can be reached. It is a function of the resolution of the actuators, as well as its feedback devices. Most industrial robots can have precision of 0.001 inch or better. Repeatability (variability) is how accurately the same position can be reached if the motion is repeated many times. The robot may not reach the same point every time, but will be within a certain radius from the desired point. The radius of a circle that is formed by this repeated motion is called repeatability. It is much more important than precision. If a robot is not precise, it will generally show a consistent error, which can be predicted and thus corrected through programming. However, if the error is random, it cannot be predicted and thus cannot be eliminated. Repeatability defines the extent of this random error. Manufactures must specify repeatability in conjunction with the number of tests, the applied payload during the tests, and the orientation of the arm. Have repeatability in the 0.001 inch range. Depending on their configuration and the size of their links and wrist joints, robots can reach a collection of points called a workspace. Payload is the weight a robot can carry and still remain within its other specification. how accurately a specified point can be reached how accurately the same position can be reached if the motion is repeated many times Which one is more important?
What is Kinematics Forward kinematics Given joint variables End-effector position and orientation, -Formula?
What is Kinematics Inverse kinematics End effector position and orientation Joint variables -Formula?
Example 1
Example II given the joint variables and dimensions of the links what is the position and orientation of the end effector? a2 q2 a1 q1
Forward Kinematics choose the base coordinate frame of the robot we want (x, y) to be expressed in this frame (x, y) ? a2 q2 y0 a1 q1 x0
Forward Kinematics notice that link 1 moves in a circle centered on the base frame origin (x, y) ? a2 q2 y0 a1 q1 ( a1 cos q1 , a1 sin q1 ) x0
Forward Kinematics choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame (x, y) ? y1 a2 q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0
Forward Kinematics notice that link 2 moves in a circle centered on frame 1 (x, y) ? y1 a2 ( a2 cos (q1 + q2), a2 sin (q1 + q2) ) q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0
Forward Kinematics because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end effector in the base frame (a1 cos q1 + a2 cos (q1 + q2), a1 sin q1 + a2 sin (q1 + q2) ) y1 a2 ( a2 cos (q1 + q2), a2 sin (q1 + q2) ) q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0
Forward Kinematics we also want the orientation of frame 2 with respect to the base frame x2 and y2 expressed in terms of x0 and y0 y2 x2 a2 q2 y0 q1 a1 q1 x0
Forward Kinematics x2 = (cos (q1 + q2), sin (q1 + q2) ) y2 x2 y2 = (-sin (q1 + q2), cos (q1 + q2) ) a2 q2 y0 q1 a1 q1 x0
Inverse Kinematics given the position (and possibly the orientation) of the end effector, and the dimensions of the links, what are the joint variables? y2 x2 (x, y) a2 q2 ? y0 a1 q1 ? x0
Inverse Kinematics harder than forward kinematics because there is often more than one possible solution (x, y) a2 y0 a1 x0
Inverse Kinematics law of cosines (x, y) a2 b q2 ? y0 a1 x0
Inverse Kinematics and we have the trigonometric identity therefore, We could take the inverse cosine, but this gives only one of the two solutions.
Inverse Kinematics Instead, use the two trigonometric identities: to obtain which yields both solutions for q2 . In many programming languages you would use the four quadrant inverse tangent function atan2 c2 = (x*x + y*y – a1*a1 – a2*a2) / (2*a1*a2); s2 = sqrt(1 – c2*c2); theta21 = atan2(s2, c2); theta22 = atan2(-s2, c2);
Inverse Kinematics
Preliminary Robot Reference Frames World frame Joint frame Tool frame WF is a universal coordinate frame. JF is used to specify movements of each individual joint of the robot. HF specifies movements of the robot’s hand relative to a frame attached to the hand T P W R
Points and Vectors point : a location in space vector : magnitude (length) and direction between two points
Coordinate Frames choosing a frame (a point and two perpendicular vectors of unit length) allows us to assign coordinates
Coordinate Frames the coordinates change depending on the choice of frame
Preliminary Coordinate Transformation Reference coordinate frame OXYZ Body-attached frame O’uvw O, O’ Point represented in OXYZ: Point represented in O’uvw: Two frames coincide ==>
Preliminary Properties: Dot Product Let and be arbitrary vectors in and be the angle from to , then Properties of orthonormal coordinate frame Mutually perpendicular Unit vectors
Preliminary Coordinate Transformation Rotation only How to relate the coordinate in these two frames?
Preliminary Basic Rotation , , and represent the projections of onto OX, OY, OZ axes, respectively Since
Preliminary Basic Rotation Matrix Rotation about x-axis with
Preliminary Is it True? Rotation about x axis with
Basic Rotation Matrices Rotation about x-axis with Rotation about y-axis with Rotation about z-axis with
Preliminary Basic Rotation Matrix Obtain the coordinate of from the coordinate of Dot products are commutative! <== 3X3 identity matrix
Properties of Rotation Matrices RT = R-1 the columns of R are mutually orthogonal each column of R is a unit vector det R = 1 (the determinant is equal to 1) 4/23/2017
Example A point is attached to a rotating frame, the frame rotates 60 degree about the OZ axis of the reference frame. Find the coordinates of the point relative to the reference frame after the rotation.
Example A point is the coordinate w.r.t. the reference coordinate system, find the corresponding point w.r.t. the rotated OU-V-W coordinate system if it has been rotated 60 degree about OZ axis.
Composite Rotation Matrix A sequence of finite rotations matrix multiplications do not commute rules: if rotating coordinate O-U-V-W is rotating about principal axis of OXYZ frame, then Pre-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix if rotating coordinate OUVW is rotating about its own principal axes, then post-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix
Example Find the rotation matrix for the following operations: Pre-multiply if rotate about the OXYZ axes Post-multiply if rotate about the OUVW axes
Translation suppose we are given o1 expressed in {0}
Translation 1 the location of {1} expressed in {0}
Translation 1 the translation vector can be interpreted as the location of frame {j} expressed in frame {i}
Translation 2 a point expressed in frame {1} p1 expressed in {0}
Translation 2 the translation vector can be interpreted as a coordinate transformation of a point from frame {j} to frame {i}
Translation 3 q0 expressed in {0}
Translation 3 the translation vector can be interpreted as an operator that takes a point and moves it to a new point in the same frame
Coordinate Transformations position vector of P in {B} is transformed to position vector of P in {A} description of {B} as seen from an observer in {A} Rotation of {B} with respect to {A} Translation of the origin of {B} with respect to origin of {A}
Coordinate Transformations Two Special Cases 1. Translation only Axes of {B} and {A} are parallel 2. Rotation only Origins of {B} and {A} are coincident
Homogeneous Representation Coordinate transformation from {B} to {A} Homogeneous transformation matrix Rotation matrix Position vector Scaling
Homogeneous Transformation Special cases 1. Translation 2. Rotation
Example Translation along Z-axis with h: O, O’ O, O’ h
Example Rotation about the X-axis by
Homogeneous Transformation Composite Homogeneous Transformation Matrix Rules: Transformation (rotation/translation) w.r.t (X,Y,Z) (OLD FRAME), using pre-multiplication Transformation (rotation/translation) w.r.t (U,V,W) (NEW FRAME), using post-multiplication
Example Find the homogeneous transformation matrix (T) for the following operations:
Homogeneous Representation A frame in space (Geometric Interpretation) (z’) (y’) (X’) Principal axis n w.r.t. the reference coordinate system
Homogeneous Transformation Translation
Homogeneous Transformation Composite Homogeneous Transformation Matrix ? Transformation matrix for adjacent coordinate frames Chain product of successive coordinate transformation matrices
Example For the figure shown below, find the 4x4 homogeneous transformation matrices and for i=1, 2, 3, 4, 5 Can you find the answer by observation based on the geometric interpretation of homogeneous transformation matrix?
Orientation Representation Rotation matrix representation needs 9 elements to completely describe the orientation of a rotating rigid body. Any easy way? Euler Angles Representation
Orientation Representation Euler Angles Representation ( , , ) Many different types Description of Euler angle representations Euler Angle I Euler Angle II Roll-Pitch-Yaw Sequence about OZ axis about OZ axis about OX axis of about OU axis about OV axis about OY axis Rotations about OW axis about OW axis about OZ axis
Euler Angle I, Animated w'= z w'"= w" f v'" v " v' y u'" u' =u" x
Orientation Representation Euler Angle I
Euler Angle I Resultant eulerian rotation matrix:
Euler Angle II, Animated w'= z w"'= w" v"' v' =v" y u"' u" Note the opposite (clockwise) sense of the third rotation, f. u' x
Orientation Representation Matrix with Euler Angle II Quiz: How to get this matrix ?
Orientation Representation Description of Roll Pitch Yaw Z Y X Quiz: How to get rotation matrix ?
Inverse Transformation the inverse of a transformation undoes the original transformation if then
Thank you! Homework 1 is posted on the web. Next class: kinematics II