The forward kinematics is about finding an end effector or toolpiece pose given a set of joint variables.

Similar documents
ME 115(b): Solution to Homework #1

Stirling Paatz of robot integrators Barr & Paatz describes the anatomy of an industrial robot.

Figure Cartesian coordinate robot

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

INTRODUCTION. Robotics is a relatively young field of modern technology that crosses traditional

Metrics on SO(3) and Inverse Kinematics

Constraint satisfaction and global optimization in robotics

5 Systems of Equations

Kinematics and Dynamics of Mechatronic Systems. Wojciech Lisowski. 1 An Introduction

Simulation of Trajectories and Comparison of Joint Variables for Robotic Manipulator Using Multibody Dynamics (MBD)

Practical Work DELMIA V5 R20 Lecture 1. D. Chablat / S. Caro Damien.Chablat@irccyn.ec-nantes.fr Stephane.Caro@irccyn.ec-nantes.fr

Design Aspects of Robot Manipulators

Lecture 2: Homogeneous Coordinates, Lines and Conics

1 Review of Least Squares Solutions to Overdetermined Systems

Robot Dynamics and Control

INTRODUCTION TO SERIAL ARM

Robot Task-Level Programming Language and Simulation

PYTHAGOREAN TRIPLES KEITH CONRAD

Introduction to Accuracy and Repeatability in Linear Motion Systems

Exam 1 Sample Question SOLUTIONS. y = 2x

Operational Space Control for A Scara Robot

Section 1.1. Introduction to R n

by the matrix A results in a vector which is a reflection of the given

Arrangements And Duality

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS

INTRODUCTION. Chapter Robotics

Special Situations in the Simplex Algorithm

DRAFT. Further mathematics. GCE AS and A level subject content

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

IV. ALGEBRAIC CONCEPTS

Charlesworth School Year Group Maths Targets

Basics of Polynomial Theory

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Véronique PERDEREAU ISIR UPMC 6 mars 2013

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

Linear Programming. March 14, 2014

PLANE TRUSSES. Definitions

Kinematical Animation

Biggar High School Mathematics Department. National 5 Learning Intentions & Success Criteria: Assessing My Progress

Essential Mathematics for Computer Graphics fast

Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and Motion Optimization for Maritime Robotic Research

15. Symmetric polynomials

Solving Simultaneous Equations and Matrices

ACTUATOR DESIGN FOR ARC WELDING ROBOT

Industrial Robotics. Training Objective

LEGO NXT-based Robotic Arm

MODERN APPLICATIONS OF PYTHAGORAS S THEOREM

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

The Graphical Method: An Example

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Determinants and the Solvability of Linear Systems

High Accuracy Articulated Robots with CNC Control Systems

13.4 THE CROSS PRODUCT

Review of Fundamental Mathematics

Big Ideas in Mathematics

Extra Credit Assignment Lesson plan. The following assignment is optional and can be completed to receive up to 5 points on a previously taken exam.

QUADRATIC, EXPONENTIAL AND LOGARITHMIC FUNCTIONS

Force/position control of a robotic system for transcranial magnetic stimulation

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS

Chapter 4 One Dimensional Kinematics

Equations Involving Lines and Planes Standard equations for lines in space

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Common Core Unit Summary Grades 6 to 8

LINEAR EQUATIONS IN TWO VARIABLES

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Introduction to Engineering Analysis - ENGR1100 Course Description and Syllabus Monday / Thursday Sections. Fall '15.

Intermediate Math Circles March 7, 2012 Linear Diophantine Equations II

Linear Algebra Notes

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Lecture L6 - Intrinsic Coordinates

LEARNING OBJECTIVES FOR THIS CHAPTER

8.2. Solution by Inverse Matrix Method. Introduction. Prerequisites. Learning Outcomes

A vector is a directed line segment used to represent a vector quantity.

An Application of Robotic Optimization: Design for a Tire Changing Robot

Session 7 Bivariate Data and Analysis

Geometric Transformations

1 if 1 x 0 1 if 0 x 1

How To Calculate Kinematics Of A Parallel Robot

Elements of a graph. Click on the links below to jump directly to the relevant section

Linear Programming. April 12, 2005

Final Review Geometry A Fall Semester

Objectives. Experimentally determine the yield strength, tensile strength, and modules of elasticity and ductility of given materials.

Kinematics of Robots. Alba Perez Gracia

An Application of Robotic Optimization: Design for a Tire Changing Robot

Lewis, F.L.; et. al. Robotics Mechanical Engineering Handbook Ed. Frank Kreith Boca Raton: CRC Press LLC, 1999

LINES AND PLANES CHRIS JOHNSON

Linear Programming Problems

3. Mathematical Induction

Math 4310 Handout - Quotient Vector Spaces

Similarity and Diagonalization. Similar Matrices

1 TRIGONOMETRY. 1.0 Introduction. 1.1 Sum and product formulae. Objectives

Performance. 13. Climbing Flight

Projective Geometry: A Short Introduction. Lecture Notes Edmond Boyer

Robot coined by Karel Capek in a 1921 science-fiction Czech play

Notes on Factoring. MA 206 Kurt Bryan

Computer Animation. Lecture 2. Basics of Character Animation

Transcription:

Inverse Manipulator Kinematics The forward kinematics is about finding an end effector or toolpiece pose given a set of joint variables. The Inverse Kinematics is the opposite problem. We want to find a set of joint variables that give rise to a particular end effector or toolpiece pose. 1

Inverse Manipulator Kinematics Consider a robotic manipulator with joint variables (θ 1, θ 2,, θ N ). The relative position of the tool frame {T } with respect to the station frame is S T T (θ 1,..., θ N ) = S B T 0 1 T (a 0,α 0,d 1 ) (θ 1) 1 2 T (a 1,α 1,d 2 ) (θ 2) N N 1 T (a N 1,α N 1,d N ) (θ N) W T T The above construction is a function (θ 1,..., θ N ) S T T (θ 1,..., θ N ). The forward kinematics are the mapping (θ 1,..., θ N ) 0 W T (θ 1,..., θ N ). that comprises just the transformation associated with the robotic manipulator. 2

The inverse kinematics of a manipulator is the inverse of the forward kinematics ( θ 0W 1 T ) 0 W T (. θ 0W N T ) The inverse kinematics are the key to practical programming of robotic manipulators. Once the desired wrist frame specified in terms of the base frame the associated joint variables can be calculated and these values passed to individual joint controllers to drive the robot to the desired position. 3

Using the inverse kinematics Recall the standard frames: The base frame, the station frame, tool frame and goal frame. 1. The user specifies the station frame relative to the base frame T based on the physical arrangement of the workspace. B S 2. The user specifies the tool frame relative to the wrist frame W T T. This depends on the particular tool gripped by the robot and how it is gripped. 3. The user specifies the goal frame, usually specified for the goal of the tool. The goal frame {G} is specified with respect to the station frame G S T. 4. The goal wrist frame is calculated based on setting the tool frame equal to the goal frame {T } = {G}. Thus, 0 W T = 0 B T B S T S T T T W T = 0 S T S G T G W T 5. The desired wrist specification 0 W T is passed as data to the inverse kinematics algorithm and the joint variables are calculated ( θ W0 1 T ) W 0 T. θ N ( W0 T ) The joint variable set points are passed to the joint controllers. 4

Existence and Uniqueness of Solutions The forward kinematics are a well defined functional mapping. For any value of the joint variables (within the physical limitations of the mechanism) there exists a unique rigid body transformation S T T. It is clear that the inverse kinematics will not share the nice functional properties of the forward kinematics. Existence: there are certainly S T T that can not be achieved by the robotic manipulator. This is non-existence of a solution. Such orientations lie outside of the manipulator s reach and should not be considered. Uniqueness: certain rigid body transformations (often most of the workspace) can be achieved using a number of different joint variable settings. This is a non-uniqueness of the solutions. Obviously the maths is telling us something about what is happening in the real world. Lets have a look at what each of these two situations mean in the real world. 5

Workspace of a robotic manipulator: Whether the manipulator s kinematic equations have none, one or multiple solutions will depend on its workspace and on the position/pose of frame we wish the end effector to attain. Roughly speaking the workspace is the volume of space which the end effector of the robot can reach. More Specifically, Dextrous Workspace: This is the volume of space which the end-effector of the manipulator can reach with all orientations. Reachable Workspace: This is the volume of space which the end-effector of the manipulator can reach with at least one orientation. The dextrous workspace is obviously a subset of the reachable workspace. Example 4.1 A two link planar manipulator. Example 4.2 A three link planar manipulator. Example 4.3 Construct the reachable workspace of a two link planar manipulator. 6

Existence of Solutions For a solution to exist, the desired position/pose must be reachable by the manipulator, ie. must be in its workspace. The extent of the workspace is obviously a function of the number of joints. How many joints must manipulator have to operate in 3-space? The rigid body transformation S T T is specified by 6 parameters corresponding to the position of the origin S P T org and the three parameters specifying the desired orientation. In order that an arbitrary rigid body transformation be obtained, then there must be at least 6 joint variables. If N < 6 then the forward kinematics define an algebraic mapping R N SE(3) into the special Euclidean group of rigid body transformations. By the inverse function theorem, except at singular points, the image space (the reachable workspace) is locally an N-dimensional sub-manifold of SE(3). The dextrous workspace of a robotic manipulator with N < 6 joints cannot contain a volume of space. 7

If N 6 then the image space (the reachable workspace) is 6- dimensional) except at singular points. Most robotic manipulators are built with 6 joints to 1. Provide full dextrous coverage of a volume of space. 2. To avoid over-parameterisation of the dextrous workspace, thirdly, to minimise cost. 8

Manipulator subspace: The manipulator subspace is the smallest p-dimensional subspace that contains the manipulator reachable workspace. This can be thought of as the subset of SE(3) that can be reached by a hypothetical manipulator identical to the actual manipulator but with no limits on either joint angle or joint displacement. In practical terms, this subset of SE(3) is the set of all possible transformations resulting from substituting the full range of all joint variables into B T T. The manipulator subspace is an approximation that is useful in classifying different types of manipulators. For example, planar manipulators. Example 4.4 planar 3-link manipulator Example 4.5 polar 2-link manipulator 9

Non-Uniqueness of inverse kinematics. Most manipulator designs lead to multiple possible joint configurations associated with the same rigid body transformation S T T. For example, a planar arm with three links will have, for a range of end effector poses, an elbow up position and and elbow down position. It turns out that, in general, the more non-zero link parameters there are, the more possible solutions to the inverse kinematics problem there will be. Non-uniqueness of the inverse kinematics is an important practical problem. A path planning algorithm must choose between different possible orientations when positioning a manipulator. The possibility of multiple solutions may be exploited to advantage in situations where obstacles are present in the workspace. In most manufacturing environments this often leads to a simple choice between possible solutions. Different configurations are usually far apart in joint space. Thus, the second most common constraint applied in choosing a goal configuration is that of nearest neighbour. 10

Non-uniqueness of the inverse kinematics of the PUMA manipulator Consider the four solutions shown in the diagram that all place the wrist frame with the same orientation. For each solution pictured, there is another solution in which the last three joints flip to an alternate configuration according to the formulae: θ 4 = θ 4 + 180 θ 5 = θ 5 θ 6 = θ 6 + 180 11

Solving for inverse kinematics A manipulator is termed solvable if for any given position and orientation there is a (computable) algorithm that determines all the possible joint variable configurations that lead to that configuration. We must know all possible solutions in order to provide the path planning algorithm with the full information in order to best position the manipulator. Solutions of manipulator inverse kinematics can be split into two categories 1. Closed form solutions: In which the forward kinematics may be rewritten in a manner that leads to a set of highly structured non-linear equations that may be solved explicitly for the joint variables. 2. Numerical solutions: In which a numerical algorithm is applied that explicitly generates all solutions in a computationally feasible manner. 12

Closed form solutions Can be further divided into two approaches: 1. Algebraic Where the forward kinematic equations are treated as a system on non-linear equations to be solved without regard to the geometric structure of the robot from which the equations were derived. Geometric Where the geometric structure of the robot from which the forward kinematic equations were derived is used to guide the approach used to solve the inverse variable mapping. In practice, the two approaches involve the same computational complexity. Indeed, one often ends up solving the same equations. Example 4.6: 13

Numerical Solutions - the reality Craig indicates that numerical solutions involve prohibitive computational costs - and this was the case in the mid 1980 s. These days, numerical (ie. iterative) solutions are computationally feasible, and allow the inverse kinematics of arbitrary mechanisms to be determined. In fact, it has been shown that there are numerical algorithms that can solve for any kinematic manipulator consisting of a single series chain of six prismatic and revolute joints. This solution is not in closed-form. The basic idea with a numerical solution is to repeatedly apply the forward kinematics to a chosen set of joint angles. According to the jacobian (derivatives) at the chosen point, a new, hopefully closer set of joint angles are chosen at each iteration - until the desired point is reached. In practice, the manipulators that can be solved in closed-form are those with a simple mechanical design. For example most of the joint twist angles must be 0 or ±90. Most of the joint displacements or fixed joint angles should be zero or ±90 (in the case of an angle). Manipulators are often designed simply to make a closed form inverse kinematic solution possible, so the study of finding closed form solutions is still useful. Lets look at some strategies and special cases of manipulator design where the inverse kinematics can be solved in closed form. 14

Solving transcendental equations in trigonometric functions Transcendental equations are difficult to solve since, although there may be only a single variable (say θ), it may appear in several different trigonometric functions, sin(θ), cos(θ) or tan(θ). This can be overcome by using the identities u = tan(θ/2) cos(θ) = 1 u2 1 + u 2 sin(θ) = 2u 1 + u 2 Example 4.7: Solve for θ in for arbitrary a, b and c. a cos(θ) + b sin(θ) = c Closed-form solvable: Manipulators that are sufficiently simple that the forward kinematics can be rewritten as a set of polynomial equations or order four or less are termed closed-form solvable. (Polynomials of order five do not have a closed-form solution.) 15

Pieper s solution for the case when three joint axes intersect. Another strategy for determining inverse kinematics is Piepers solution. Although an arbitrary 6 dof manipulator cannot be solved using a closed form solution, the quite common class of manipulators, where three axes intersect at a point, can be solved - using Pieper s solution. For example: 1. The wrist joint of a PUMA 560 manipulator. 2. All vertical axes of a SCARA manipulator. (Manipulators with consecutive parallel axes are amenable to the same analysis. The axes are considered to meet at infinity.) The key idea in Pieper s approach is to split the calculation into two separate problems - the first three, and the last three joints. 1. Locate the intersection of the last 3 joint axes 2. Calculate the position of this intersection point, given we know the desired position P and pose R of the end effector/tool 3. Solve inverse kinematics for first three joints 4. Compute 0 3T, and determine 3 6T as 0 3T T 0 6T 5. Solve inverse kinematics for last three joints 16

Repeatability vs Accuracy of a manipulator The inverse kinematics are useful when reaching points specified with respect to cartesian (or task) space. Goals specified in this manner are termed computed points. A second popular approach to programming a robotic manipulator is to move it to the desired point and read off the joint encoder readings. In this way the cartesian representation of the point is only implicitly used in the original location task (usually human supervised) and the task location is represented directly in the joint coordinates. Goals specified in this manner are termed taught points. The precision of the encoders and actuators, and the rigidity of the links and joints allow one to return to a taught point with a given error. This error is termed the repeatability of the manipulator. The repeatability of a manipulator is not the same as its accuracy. The accuracy is defined as the maximum error associated with its ability to move to a computed point. In moving to a computed point the joint parameters enter into the computations of the inverse kinematics and lead to errors on top of the encoder and actuator errors. In practice, the design kinematics of an industrial manipulator are not sufficiently accurate to provide reliable industrial control. For example, a small deviation of the parameters of a base link or joint from the true values can lead to considerable variation in the position of the tool frame. 17

Commercial controllers are individually tuned to a given manipulator based on a series of experiments that provide sufficient data to accurately estimate the actual link parameters. 18

Summary The forward kinematics is the problem of finding an end effector or tool pose from a set of given joint angles. The inverse kinematic problem is to determine a set of joint angles given a known end effector pose. It is the question: What joint angles must I command to get the robot end effector to my desired position and orientation in space. The inverse kinematic problem is very important in the practical use of robotic manipulators, since we work with task objects in operational space, but me must command the robot in joint space. Finding inverse kinematic solution not as straight forward as finding forward kinematic solution. Problems with, no solutions, single solution (easy), multiple solutions. Saw the practical reality of what the maths in each of these cases is telling us, ie. depends on the relationship between the robot s workspace and the point we specify. Number of possibilites for solving the inverse kinematics: numerical, closed form (algebraic and geometric). These days, with fast, modern computing hardware, numerical approach most popular. 19

However, closed form solution methods still useful, since most robots designed with simple form so closed form solution is possible. Strategies for finding closed form solution: Reduction to polynomial, Pieper s method. A manipulator s repeatability a measure of errors in the encoders, actuators and through joint and link deformation, ie. relevant to taught points. A manipulator s accuracy a measure of errors relevant for repeatability, but also including errors in Denavit Hartenberg parameters, ie. relevant to computed points which depend on the inverse kinematics. 20