Robotics 1 Inverse kinematics

Similar documents
Robotics 1 Inverse kinematics

Robotics 1 Inverse kinematics

Position and orientation of rigid bodies

Inverse differential kinematics Statics and force transformations

Robotics I. February 6, 2014

DIFFERENTIAL KINEMATICS. Geometric Jacobian. Analytical Jacobian. Kinematic singularities. Kinematic redundancy. Inverse differential kinematics

Differential Kinematics

Robotics I. Classroom Test November 21, 2014

MEAM 520. More Velocity Kinematics

Robotics I. April 1, the motion starts and ends with zero Cartesian velocity and acceleration;

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Lecture «Robot Dynamics» : Kinematics 3

Robotics I June 11, 2018

Robotics 2 Robot Interaction with the Environment

A new large projection operator for the redundancy framework

8 Velocity Kinematics

Robotics & Automation. Lecture 17. Manipulability Ellipsoid, Singularities of Serial Arm. John T. Wen. October 14, 2008

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1.

Trajectory Planning from Multibody System Dynamics

Video 8.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar

Lecture Note 8: Inverse Kinematics

Robotics I. June 6, 2017

Ch. 5: Jacobian. 5.1 Introduction

Kinematic representation! Iterative methods! Optimization methods

Robotics I Kinematics, Dynamics and Control of Robotic Manipulators. Velocity Kinematics

Lecture Note 8: Inverse Kinematics

q 1 F m d p q 2 Figure 1: An automated crane with the relevant kinematic and dynamic definitions.

Robot Dynamics Instantaneous Kinematiccs and Jacobians

Robotics I. Test November 29, 2013

Position and orientation of rigid bodies

Given U, V, x and θ perform the following steps: a) Find the rotation angle, φ, by which u 1 is rotated in relation to x 1

Algorithms for Sensor-Based Robotics: Potential Functions

Directional Redundancy for Robot Control

Example: RR Robot. Illustrate the column vector of the Jacobian in the space at the end-effector point.

Control of Mobile Robots

Robust Control of Cooperative Underactuated Manipulators

Math 302 Outcome Statements Winter 2013

13 Path Planning Cubic Path P 2 P 1. θ 2

(W: 12:05-1:50, 50-N202)

Robotics: Tutorial 3

Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202)

Mathematical optimization

Advanced Robotic Manipulation

Case Study: The Pelican Prototype Robot

GENG2140, S2, 2012 Week 7: Curve fitting

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Kinematic Analysis of the 6R Manipulator of General Geometry

Numerical Methods I Solving Nonlinear Equations

Linear Algebra and Robot Modeling

ECEN 615 Methods of Electric Power Systems Analysis Lecture 18: Least Squares, State Estimation

MULTIVARIABLE CALCULUS, LINEAR ALGEBRA, AND DIFFERENTIAL EQUATIONS

Mobile Robotics 1. A Compact Course on Linear Algebra. Giorgio Grisetti

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Adaptive Robust Tracking Control of Robot Manipulators in the Task-space under Uncertainties

Preliminary Examination in Numerical Analysis

Minimization of Static! Cost Functions!

Math 411 Preliminaries

Constrained optimization. Unconstrained optimization. One-dimensional. Multi-dimensional. Newton with equality constraints. Active-set method.

Chapter 3 Numerical Methods

Robot Dynamics II: Trajectories & Motion

Chapter 3 Numerical Methods

Computational Methods. Least Squares Approximation/Optimization

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Bastian Steder

Kinematics of a UR5. Rasmus Skovgaard Andersen Aalborg University

Nonlinear Optimization for Optimal Control

ROBOTICS: ADVANCED CONCEPTS & ANALYSIS

Unconstrained optimization

Vector Derivatives and the Gradient

CHAPTER 2 EXTRACTION OF THE QUADRATICS FROM REAL ALGEBRAIC POLYNOMIAL

Nonlinear Optimization

Screw Theory and its Applications in Robotics

, b = 0. (2) 1 2 The eigenvectors of A corresponding to the eigenvalues λ 1 = 1, λ 2 = 3 are

Math, Numerics, & Programming. (for Mechanical Engineers)

Ridig Body Motion Homogeneous Transformations

5 Handling Constraints

Robot Modeling and Control

Lecture Notes: Geometric Considerations in Unconstrained Optimization

Background Mathematics (2/2) 1. David Barber

Lecture «Robot Dynamics»: Kinematics 2

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares

Exercise 1b: Differential Kinematics of the ABB IRB 120

1. Method 1: bisection. The bisection methods starts from two points a 0 and b 0 such that

Advanced Techniques for Mobile Robotics Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

DYNAMICS OF PARALLEL MANIPULATOR

Analysis of the Acceleration Characteristics of Non-Redundant Manipulators

Advanced Robotic Manipulation

Numerical methods part 2

Numerical Methods for Inverse Kinematics

Lecture «Robot Dynamics»: Dynamics and Control

MATHEMATICS COMPREHENSIVE EXAM: IN-CLASS COMPONENT

CHAPTER 2: QUADRATIC PROGRAMMING

Robotics. Control Theory. Marc Toussaint U Stuttgart

Reconstructing Null-space Policies Subject to Dynamic Task Constraints in Redundant Manipulators

A nonlinear equation is any equation of the form. f(x) = 0. A nonlinear equation can have any number of solutions (finite, countable, uncountable)

Advanced Robotic Manipulation

ME451 Kinematics and Dynamics of Machine Systems

REDUCING the torque needed to execute a given robot

Structural topology, singularity, and kinematic analysis. J-P. Merlet HEPHAISTOS project INRIA Sophia-Antipolis

Single Exponential Motion and Its Kinematic Generators

Introduction to gradient descent

Transcription:

Robotics 1 Inverse kinematics Prof. Alessandro De Luca Robotics 1 1

Inverse kinematics what are we looking for? direct kinematics is always unique; how about inverse kinematics for this 6R robot? Robotics 1 2

Inverse kinematics problem! given a desired end-effector pose position + orientation), find the values of the joint variables that will realize it! a synthesis problem, with input data in the form! T = R p 000 1 classical formulation: inverse kinematics for a given end-effector pose! a typical nonlinear problem! existence of a solution workspace definition)! uniqueness/multiplicity of solutions! solution methods p " r =, or any other task vector! generalized formulation: inverse kinematics for a given value of task variables Robotics 1 3

Solvability and robot workspace! primary workspace WS 1 : set of all positions p that can be reached with at least one orientation! or R)! out of WS 1 there is no solution to the problem! for p " WS 1 and a suitable! or R) there is at least one solution! secondary or dexterous) workspace WS 2 : set of positions p that can be reached with any orientation among those feasible for the robot direct kinematics)! for p " WS 2 there is at least one solution for any feasible! or R)! WS 2 # WS 1 Robotics 1 4

Workspace of Fanuc R-2000i/165F section for a constant angle $ 1 WS 1! WS 2 for spherical wrist without joint limits) rotating the base joint angle $ 1 Robotics 1 5

Workspace of planar 2R arm y p 2 orientations l 1 +l 2 l 2 q 2 l 1 -l 2 l 1! if l 1 l 2 q 1! WS 1 = {p " R 2 : l 1 -l 2 &!p!& l 1 +l 2 }! WS 2 = '! if l 1 = l 2 = "! WS 1 = {p " R 2 :!p!& 2"} x WS 1 inner and outer boundaries 1 orientation! WS 2 = {p = 0} infinite number of feasible orientations at the origin) Robotics 1 6

Wrist position and E-E pose inverse solutions for an articulated 6R robot LEFT DOWN Unimation PUMA 560 RIGHT DOWN 4 inverse solutions out of singularities for the position of the wrist center only) LEFT UP 8 inverse solutions considering the complete E-E pose spherical wrist: 2 alternative solutions for the last 3 joints) RIGHT UP Robotics 1 7

Counting and visualizing the 8 solutions to the inverse kinematics of a Unimation Puma 560 RIGHT UP RIGHT DOWN LEFT UP LEFT DOWN Robotics 1 8

Inverse kinematic solutions of UR10 6-dof Universal Robot UR10, with non-spherical wrist video slow motion) desired pose #"0.2373& p = "0.0832 $ 1.3224 ' [m] # 3 /2 0.5 0& R = "0.5 3 /2 0 $ 0 0 1' configuration at start q = " /3 #2" /3 " /6 0 " /2 0) [rad] Robotics 1 9

The 8 inverse kinematic solutions of UR10 Robotics 1 10 q = 1.0472 "1.2833 "0.7376 "2.6915 "1.5708 3.1416 # $ & ' q = 1.0472 "1.9941 0.7376 2.8273 "1.5708 3.1416 # $ & ' q = 1.0472 "1.5894 "0.5236 0.5422 1.5708 0 # $ & ' q = 1.0472 "2.0944 0.5236 0 1.5708 0 # $ & ' q = 2.7686 "1.5522 0.5236 2.5994 "1.5708 1.4202 # $ & ' q = 2.7686 "1.1475 "0.7376 0.3143 1.5708 "1.7214 # $ & ' q = 2.7686 "1.8583 0.7376 "0.4501 1.5708 "1.7214 # $ & ' q = 2.7686 "1.0472 "0.5236 3.1416 "1.5708 1.4202 # $ & ' shoulderright wristdown elbowup shoulderright wristdown elbowdown shoulderright wristup elbowup shoulderright wristup elbowdown shoulderleft wristdown elbowdown shoulderleft wristdown elbowup shoulderleft wristup elbowdown shoulderleft wristup elbowup

Multiplicity of solutions some examples! E-E positioning of a planar 2R robot arm! 2 regular solutions in WS 1! 1 solution on WS 1! for l 1 = l 2 : ) solutions in WS 2 singular solutions! E-E positioning of an articulated elbow-type 3R robot arm! 4 regular solutions in WS 1 with singular cases yet to be investigated..)! spatial 6R robot arms! & 16 distinct solutions, out of singularities: this upper bound of solutions was shown to be attained by a particular instance of orthogonal robot, i.e., with twist angles * i = 0 or ±+/2,i)! analysis based on algebraic transformations of robot kinematics! transcendental equations are transformed into a single polynomial equation of one variable! seek for an equivalent polynomial equation of the least possible degree Robotics 1 11

A planar 3R arm workspace and number/type of inverse solutions y q 3 l1 = l 2 = l 3 = " p l 1 l 2 q 2 l 3 WS 1 = {p " R 2 :!p!& 3"} WS 2 = {p " R 2 :!p!& "} q 1 x any planar orientation is feasible in WS 2 1. in WS 1 : ) 1 regular solutions except for 2. and 3.), at which the E-E can take a continuum of ) orientations but not all orientations in the plane!) 2. if!p!= 3" : only 1 solution, singular 3. if!p!= " : ) 1 solutions, 3 of which singular 4. if!p!< " : ) 1 regular solutions never singular) Robotics 1 12

! if m = n!! solutions Multiplicity of solutions summary of the general cases! a finite number of solutions regular/generic case)! degenerate solutions: infinite or finite set, but anyway different in number from the generic case singularity)! if m < n robot is redundant for the kinematic task)!! solutions! ) n-m solutions regular/generic case)! a finite or infinite number of singular solutions! use of the term singularity will become clearer when dealing with differential kinematics! instantaneous velocity mapping from joint to task velocity! lack of full rank of the associated m"n Jacobian matrix Jq) Robotics 1 13

Dexter robot 8R arm)! m = 6 position and orientation of E-E)! n = 8 all revolute joints)! ) 2 inverse kinematic solutions redundancy degree = n-m = 2) video exploring inverse kinematic solutions by a self-motion Robotics 1 14

Solution methods ANALYTICAL solution in closed form) " preferred, if it can be found * " use ad-hoc geometric inspection " algebraic methods solution of polynomial equations) " systematic ways for generating a reduced set of equations to be solved * sufficient conditions for 6-dof arms 3 consecutive rotational joint axes are incident e.g., spherical wrist), or 3 consecutive rotational joint axes are parallel D. Pieper, PhD thesis, Stanford University, 1968 NUMERICAL solution in iterative form) " certainly needed if n>m redundant case), or at/close to singularities " slower, but easier to be set up " in its basic form, it uses the analytical) Jacobian matrix of the direct kinematics map J r q) = f r q) q " Newton method, Gradient method, and so on Robotics 1 15

y p y Inverse kinematics of planar 2R arm l 2 q 2 p direct kinematics p x = l 1 c 1 + l 2 c 12 l 1 p y = l 1 s 1 + l 2 s 12 q 1 p x x data q 1, q 2 unknowns squaring and summing the equations of the direct kinematics p x 2 + p y 2 - l 1 2 + l 22 ) = 2 l 1 l 2 c 1 c 12 + s 1 s 12 ) = 2 l 1 l 2 c 2 and from this in analytical form c 2 = p x 2 + p y 2 - l 1 2 - l 22 )/ 2 l 1 l 2, s 2 = ±-1 - c 2 2 q 2 = ATAN2 {s 2, c 2 } must be in [-1,1] else, point p is outside robot workspace!) 2 solutions Robotics 1 16

y p y. Inverse kinematics of 2R arm cont d) q 1 * p q 2 p x 2 solutions one for each value of s 2 ) x by geometric inspection q 1 = * -. q 1 = ATAN2 {p y, p x } - ATAN2 {l 2 s 2, l 1 + l 2 c 2 } note: difference of ATAN2 needs to be re-expressed in -+, +]! q 2 p {q 1,q 2 } UP/LEFT q 2 {q 1,q 2 } DOWN/RIGHT q 1 q 1 q 2 e q 2 have same absolute value, but opposite signs Robotics 1 17

Algebraic solution for q 1 another solution method p x = l 1 c 1 + l 2 c 12 = l 1 c 1 + l 2 c 1 c 2 - s 1 s 2 ) p y = l 1 s 1 + l 2 s 12 = l 1 s 1 + l 2 s 1 c 2 + c 1 s 2 ) linear in s 1 and c 1 l 1 + l 2 c 2 - l 2 s 2 c 1 = p x l 2 s 2 l 1 + l 2 c 2 s 1 p y except for l 1 =l 2 and c 2 =-1 det = l 2 1 + l 2 2 + 2 l 1 l 2 c 2 ) > 0 being then q 1 undefined singular case: ) 1 solutions) q 1 = ATAN2 {s 1, c 1 } = ATAN2 {p y l 1 +l 2 c 2 )-p x l 2 s 2 )/det, p x l 1 +l 2 c 2 )+p y l 2 s 2 )/det} notes: a) this method provides directly the result in -+, +] b) when evaluating ATAN2, det > 0 can be eliminated from the expressions of s 1 and c 1 Robotics 1 18

Inverse kinematics of polar RRP) arm Note: q 2 is NOT a DH variable! p z q 3 p x = q 3 c 2 c 1 p y = q 3 c 2 s 1 p z = d 1 + q 3 s 2 q 2 d 1 p x 2 + p y 2 + p z - d 1 ) 2 = q 3 2 p y q 3 = + -p x 2 + p y 2 + p z - d 1 ) 2 p x q 1 our choice: take here only the positive value... if q 3 = 0, then q 1 and q 2 remain both undefined stop); else q 2 = ATAN2{p z - d 1 )/q 3, ± -p x 2 + p y2 )/q 3 2 } if p x2 +p y 2 = 0, then q 1 remains undefined stop); else q 1 = ATAN2{p y /c 2, p x /c 2 } 2 regular solutions {q 1,q 2,q 3 }) if it stops, a singular case: ) 2 or ) 1 solutions) Robotics 1 we have eliminated q 3 >0 from both arguments! 19

Inverse kinematics for robots with spherical wrist j6 first 3 robot joints of any type RRR, RRP, PPP, ) W z 4 z 3 z 5 y 6 x 6 O 6 = p z 6 = a z 0 j5 j4 d 6 x 0 j1 y 0 find q 1,, q 6 from the input data: p origin O 6 ) R = [n s a] orientation of RF 6 ) 1. W = p - d 6 a / q 1, q 2, q 3 inverse position kinematics for main axes) 2. R = 0 R 3 q 1, q 2, q 3 ) 3 R 6 q 4, q 5, q 6 ) / 3 R 6 q 4, q 5, q 6 ) = 0 R T 3 R / q 4, q 5, q 6 inverse orientation given known, Euler ZYZ or ZXZ kinematics for wrist) after 1. rotation matrix Robotics 1 20

6R example: Unimation PUMA 600 spherical wrist n = 0 x 6 q) s = 0 y 6 q) a function of q 1, q 2, q 3 only! a = 0 z 6 q) p = 0 6 q) 8 different inverse solutions that can be found in closed form see Paul, Shimano, Mayer; 1981) here d 6 =0, Robotics 1 so that 0 6 =W directly 21

Numerical solution of inverse kinematics problems! use when a closed-form solution q to r d = f r q) does not exist or is too hard to be found! J r q) = f r analytical Jacobian) q! Newton method here for m=n)! r d = f r q) = f r q k ) + J r q k ) q - q k ) + o!q - q k! 2 ) q k+1 = q k + J r -1 q k ) [r d - f r q k )] 0 neglected! convergence if q 0 initial guess) is close enough to some q * : f r q * ) = r d! problems near singularities of the Jacobian matrix J r q)! in case of robot redundancy m<n), use the pseudo-inverse J r# q)! has quadratic convergence rate when near to solution fast!) Robotics 1 22

Operation of Newton method! in the scalar case, also known as method of the tangent! for a differentiable function fx), find a root of fx * )=0 by iterating as x k+1 = x k " fx k ) f'x k ) an approximating sequence { x 1,x 2,x 3,x 4,x 5,...} " x * animation from http://en.wikipedia.org/wiki/file:newtoniteration_ani.gif Robotics 1 23

Numerical solution of inverse kinematics problems cont d)! Gradient method max descent)! minimize the error function Hq) = #!r d - f r q)! 2 = # [r d - f r q)] T [r d - f r q)] q k+1 = q k - * 1 q Hq k ) from 1 q Hq) = - J rt q) [r d - f r q)], we get q k+1 = q k + * J rt q k ) [r d - f r q k )]! the scalar step size * > 0 should be chosen so as to guarantee a decrease of the error function at each iteration too large values for * may lead the method to miss the minimum)! when the step size * is too small, convergence is extremely slow Robotics 1 24

Revisited as a feedback scheme r d + - r e J rt q) f r q). q q0) 2 3 q r d = cost * = 1) e = r d - f r q) / 0 4 closed-loop equilibrium e=0 is asymptotically stable V = # e T e 5 0 Lyapunov candidate function... V = e T e = e T d q dt r d - f r q)) = - et J r = - e T J r J rt e & 0. V = 0 4 e " KerJ rt ) in particular e = 0 asymptotic stability Robotics 1 25

Properties of Gradient method! computationally simpler: Jacobian transpose, rather than its pseudo)-inverse! direct use also for robots that are redundant for the task! may not converge to a solution, but it never diverges! the discrete-time evolution of the continuous scheme q k+1 = q k + 6T J rt q k ) [r d - fq k )] * = 6T) is equivalent to an iteration of the Gradient method! scheme can be accelerated by using a gain matrix K>0. q = J rt q) K e note: K can be used also to escape from being stuck in a stationary point, by rotating the error e out of the kernel of J r T if a singularity is encountered) Robotics 1 26

A case study analytic expressions of Newton and gradient iterations! 2R robot with l 1 = l 2 = 1, desired end-effector position r d = p d = 1,1)! direct kinematic function and error " f r q) = c 1 + c 12 " $ ' e = p # s 1 + s 12 & d - f r q) = $ 1 ' - f # 1& r q)! Jacobian matrix J r q) = " f rq) " q = # -s + s ) -s & 1 12 12 $ c 1 + c 12 c 12 '! Newton versus Gradient iteration det J r q) q k+1 = q k + J -1 r q k ) 1 " c 12 s 12 $ ' s 2 #-c 1 + c 12 ) -s 1 + s 12 )& # " -s + s ) c + c & 1 12 1 12 $ -s 12 c 12 ' J r T q k ) " 1- c 1 + c 12 ) $ ' # 1- s 1 + s 12 )& Robotics 1 27 q=q k q=q k e k q=q k

Error function! 2R robot with l1=l2=1, desired end-effector position pd = 1,1) e = pd - frq) plot of!e!2 as a function of q = q1,q2) Robotics 1 two local minima inverse kinematic solutions) 28

Error reduction by Gradient method!! flow of iterations along the negative or anti-) gradient two possible cases: convergence or stuck at zero gradient) start one solution. local maximum stop if this is the initial guess). saddle point stop after some iterations) another start......the other solution q1,q2) =0,!/2) q1,q2) =!/2,-!/2) Robotics 1 q1,q2)max =-3!/4,0) q1,q2)saddle =!/4,0) e " KerJrT)! 29

Convergence analysis when does the gradient method get stuck?! lack of convergence occurs when! the Jacobian matrix J r q) is singular the robot is in a singular configuration )! AND the error is in the null space of J rt q) " p d = $ 1 ' # 1& p d p # e =p d "p = 1-2 & $ 1-2' q 2 q 1 p d " J T r q) = -s + s ) c + c " 1 12 1 12 $ ' = 2 2 # -s 12 c $ ' 12 & q=q saddle # 2 2& q 1,q 2 ) saddle =!/4,0) e " KerJ rt ) p e " KerJ rt ) q 1,q 2 ) max =-3!/4,0) p d e KerJ rt )!! p the algorithm will proceed in this case, moving out of the singularity q 1,q 2 ) =!/9,0) Robotics 1 30

! initial guess q 0 Issues in implementation! only one inverse solution is generated for each guess! multiple initializations for obtaining other solutions! optimal step size * in Gradient method! a constant step may work good initially, but not close to the solution or vice versa)! an adaptive one-dimensional line search e.g., Armijo s rule) could be used to choose the best * at each iteration! stopping criteria Cartesian error possibly, separate for position and orientation)!r d - fq k )! $ #! understanding closeness to singularities algorithm increment!q k+1 -q k! $ # q $ min {Jq k )} $ 0 numerical conditioning of Jacobian matrix SVD) or a simpler test on its determinant, for m=n) Robotics 1 31

Numerical tests on RRP robot! RRP/polar robot: desired E-E position r d = p d = 1, 1,1) see slide 19, d 1 =0.5! the two known) analytic solutions, with q 3 0, are: q * = 0.7854, 0.3398, 1.5) q ** = q 1* +, + q 2*, q 3* ) = -2.3562, 2.8018, 1.5)! norms # = 10-5 max Cartesian error), # q =10-6 min joint increment)! k max =15 max iterations), detj r ) $ 10-4 closeness to singularity)! numerical performance of Gradient with different *) vs. Newton! test 1: q 0 = 0, 0, 1) as initial guess! test 2: q 0 = -+/4, +/2, 1) singular start, since c 2 =0 see slide 19)! test 3: q 0 = 0, +/2, 0) double singular start, since also q 3 =0! solution and plots with Matlab code Robotics 1 32

Numerical test! -1 test 1: q0 = 0, 0, 1) as initial guess; evolution of error norm Gradient: * = 0.5 Gradient: * = 1 too large, oscillates around solution slow, 15 max) iterations good, converges in 11 iterations 0.57䏙10-5 Newton very fast, converges in 5 iterations Gradient: * = 0.7 Cartesian errors component-wise ex ey ez Robotics 1 0.15䏙10-8 33

Numerical test - 1! test 1: q 0 = 0, 0, 1) as initial guess; evolution of joint variables Gradient: * = 1 Gradient: * = 0.7 not converging to a solution converges in 11 iterations Newton converges in 5 iterations both to solution q * = 0.7854, 0.3398, 1.5) Robotics 1 34

Numerical test - 2! test 2: q 0 = -+/4, +/2, 1): singular start error norms Gradient * = 0.7 Newton with check of singularity: blocked at start without check: it diverges! starts toward solution, but slowly stops in singularity): when Cartesian error vector e KerJ rt ) joint variables!! Robotics 1 35

Numerical test - 3! test 3: q 0 = 0, +/2, 0): double singular start error norm 0.96 10-5 Gradient with * = 0.7) starts toward solution exits the double singularity slowly converges in 19 iterations to the solution q * =0.7854, 0.3398, 1.5) Newton is either blocked at start or w/o check) explodes! NaN in Matlab Cartesian errors joint variables Robotics 1 36

Final remarks! an efficient iterative scheme can be devised by combining! initial iterations with Gradient method sure but slow, having linear convergence rate)! switch then to Newton method quadratic terminal convergence rate)! joint range limits are considered only at the end! check if the solution found is feasible, as for analytical methods! if the problem has to be solved on-line! execute iterations and associate an actual robot motion: repeat steps at times t 0, t 1 =t 0 +T,..., t k =t k-1 +T e.g., every T=40 ms)! the good choice for the initial q 0 at t k is the solution of the previous problem at t k-1 gives continuity, needs only 1-2 Newton iterations)! crossing of singularities and handling of joint range limits need special care in this case! Jacobian-based inversion schemes are used also for kinematic control, along a continuous task trajectory r d t) Robotics 1 37