Trajectory planning in Cartesian space

Similar documents
Written exams of Robotics 1

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

Automatic Control Industrial robotics

Robotics 2 Iterative Learning for Gravity Compensation

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Ch. 6: Trajectory Generation

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Written exams of Robotics 2

(Discrete) Differential Geometry

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Manipulator trajectory planning

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

1. Introduction 1 2. Mathematical Representation of Robots

CGT 581 G Geometric Modeling Curves

Trajectory Planning for Automatic Machines and Robots

Interpolating/approximating pp gcurves

3.3 Interpolation of rotations represented by quaternions

Introduction to Robotics

10. Cartesian Trajectory Planning for Robot Manipulators

INSTITUTE OF AERONAUTICAL ENGINEERING

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Non-holonomic Planning

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Kinematics, Kinematics Chains CS 685

Kinematic Model of Robot Manipulators

t dt ds Then, in the last class, we showed that F(s) = <2s/3, 1 2s/3, s/3> is arclength parametrization. Therefore,

Lecture 2.2 Cubic Splines

Visualizing Quaternions

Cam makes a higher kinematic pair with follower. Cam mechanisms are widely used because with them, different types of motion can be possible.

Industrial Robots : Manipulators, Kinematics, Dynamics

Lecture «Robot Dynamics»: Kinematic Control

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Tutorial 4. Differential Geometry I - Curves

COLLISION-FREE TRAJECTORY PLANNING FOR MANIPULATORS USING GENERALIZED PATTERN SEARCH

CHAPTER 3 MATHEMATICAL MODEL

which is shown in Fig We can also show that the plain old Puma cannot reach the point we specified

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Exercise 2b: Model-based control of the ABB IRB 120

Mobile Robot Kinematics

Robotics I. March 27, 2018

EE Kinematics & Inverse Kinematics

Robotics 2 Visual servoing

15-780: Problem Set #4

ME 115(b): Final Exam, Spring

Optimization of a two-link Robotic Manipulator

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

CS559 Computer Graphics Fall 2015

Control of industrial robots. Kinematic redundancy

Fundamental problems in mobile robotics

Lecture 3.5: Sumary of Inverse Kinematics Solutions

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module - 3 Lecture - 1

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Curvature. Corners. curvature of a straight segment is zero more bending = larger curvature

Autonomous Navigation for Flying Robots

Planning in Mobile Robotics

Mathematically, the path or the trajectory of a particle moving in space in described by a function of time.

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Exercise 2b: Model-based control of the ABB IRB 120

Shape Modeling. Differential Geometry Primer Smooth Definitions Discrete Theory in a Nutshell. CS 523: Computer Graphics, Spring 2011

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

Lecture Note 3: Rotational Motion

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

PPGEE Robot Dynamics I

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Quaternions and Rotations

ds dt ds 1 dt 1 dt v v v dt ds and the normal vector is given by N

CS354 Computer Graphics Rotations and Quaternions

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

Lecture «Robot Dynamics»: Kinematics 2

Computer Animation. Rick Parent

Quaternions and Rotations

Inverse Kinematics of a Rhino Robot

Differential Geometry MAT WEEKLY PROGRAM 1-2

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Motion Capture & Simulation

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Simulation of Robot Manipulator Trajectory Optimization Design

Math 348 Differential Geometry of Curves and Surfaces

For each question, indicate whether the statement is true or false by circling T or F, respectively.

[9] D.E. Whitney, "Resolved Motion Rate Control of Manipulators and Human Prostheses," IEEE Transactions on Man-Machine Systems, 1969.

Space Curves of Constant Curvature *

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Trajectory Optimization

Mechanisms. Updated: 18Apr16 v7

Bezier Curves, B-Splines, NURBS

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis

Trajectory Optimization of Composite-pipe Cutting Based on Robot. Harbin , China. Abstract

Using Redundancy in Serial Planar Mechanisms to Improve Output-Space Tracking Accuracy

General Spatial Curve Joint for Rail Guided Vehicles: Kinematics and Dynamics

Forward kinematics and Denavit Hartenburg convention

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Transcription:

Robotics 1 Trajectory planning in Cartesian space Prof. Alessandro De Luca Robotics 1 1

Trajectories in Cartesian space! in general, the trajectory planning methods proposed in the joint space can be applied also in the Cartesian space! consider independently each component of the task vector (i.e., a position or an angle of a minimal representation of orientation)! however, when planning a trajectory for the three orientation angles, the resulting global motion cannot be intuitively visualized in advance! if possible, we still prefer to plan Cartesian trajectories separately for position and orientation! the number of knots to be interpolated in the Cartesian space is typically low (e.g., 2 knots for a PTP motion, 3 if a via point is added) use simple interpolating paths, such as straight lines, arc of circles, Robotics 1 2

Planning a linear Cartesian path (position only) p i L p f path parameterization p(s) = p i + s (p f - p i ) GIVEN p i, p f, v max, a max v i, v f (typically = 0) p f - p i!p f - p i! = L =!p f - p i! unit vector of directional cosines of the line s! [0,1] setting s = "/L, "! [0,L] is the arc length (gives the current length of the path). dp.... d p(s) = s = (p f - p i ) s p(s) = 2 p. s 2 + ds ds 2 p f - p i. = " = p f - p i.. " L L dp... s = (p f - p i ) s ds Robotics 1 3

Timing law with trapezoidal speed - 1.. "(t). "(t) a max bang- coast- bang v max t given*: L, v max, a max find: T s, T V max (T - T s ) = L = area of the speed profile "(t) T s T-T s T L t t T s = v max a max L a max + v 2 max T = a max v max a coast phase exists iff: L > v max2 /a max * = other input data combinations are possible (see textbook) Robotics 1 4

Timing law with trapezoidal speed - 2.. "(t) a max a max t 2 /2 t! [0,T s ]. "(t) v max t t "(t) = v max t - v max 2 2 a max t! [T s,t-t s ] - a max (t-t) 2 /2 + v max T - v max 2 a max "(t) L t! [T-T s,t] T s T-T s T t can be used also in the joint space! Robotics 1 5

x A z A Concatenation of linear paths B = via point over-fly C no need to pass (and stop!) there C y B - A!B - A! = K AB C - B!C - B! = K BC unit vectors of direction cosines given: constant speeds v 1 on linear path AB v 2 on linear path BC desired transition: with constant acceleration for a time #T x(t) p(t) = y(t) t! [0, #T] (transition starts at t = 0) z(t) note: during over-fly, the path remains always in the plane specified by the two lines intersecting at B (in essence, it is a planar problem) Robotics 1 6

.. x(t) Time profiles on components v 1 K AB,x. x(t) v 2 K BC,x.. y(t) #T t. y(t) t v 2 K BC,y.. z(t) t v 1 K AB,y. z(t) t v 1 K AB,z t #T v2 KBC,z t Robotics 1 7

Timing law during transition x A z A B p(t) = C x(t) y(t) z(t) C y.. p(t) = (v 2 K BC - v 1 K AB )/#T B - A!B - A! = K AB C - B!C - B! = K BC unit vectors of direction cosines t! [0, #T] (transition starts at t = 0) $ %. p(t) = v 1 K AB + (v 2 K BC - v 1 K AB ) t/#t p(t) = A + v 1 K AB t + (v 2 K BC - v 1 K AB ) t 2 /(2#T) $ % thus, we obtain a parabolic blending (see textbook for this same approach in the joint space) Robotics 1 8

Solution (various options) B d 1 d 2 A C C B - A = d 1 K AB C - B = d 2 K BC p(t) = A + v 1 K AB t + (v 2 K BC - v 1 K AB )t 2 /(2#T) 1 A p(#t) = A + (#T/2) (v 1 K AB + v 2 K BC ) = C - B + A + (#T/2) (v 1 K AB + v 2 K BC ) = C - B 1 d 1 K AB + d 2 K BC = (#T/2) (v 1 K AB + v 2 K BC ) d 1 = v 1 #T/2 d 2 = v 2 #T/2 by choosing, e.g., d 1 (namely A ) #T = 2d 1 /v 1 d 2 = d 1 v 2 /v 1 Robotics 1 9

A numerical example! transition from A=(3,3) to C=(8,9) via B=(1,9), with speed from v 1 =1 to v 2 =2! exploiting two options for solution (resulting in different paths!)! assign transition time: #T=4 (we re-center it here for t! [-#T/2, #T/2])! assign distance from B for departing: d 1 =3 (assign d 2 for landing is handled similarly) B C B C A A A #T=4 d 1 =3 Robotics 1 10

A numerical example (cont d) first option: #T=4 (resulting in d 1 =2, d 2 =4) second option: d 1 =3 (resulting in #T=6, d 2 =6) actually, the same vel/acc profiles only with a different time scale!! Robotics 1 11

Alternative solution (imposing acceleration) A B C C.. p(t) = 1/#T (v 2 K BC - v 1 K AB ) A v 1 = v 2 = v max (for simplicity)..!p(t)! = a max #T = (v max /a max )!K BC - K AB! = (v max /a max ) & 2 (1 - K BC,x K AB,x - K BC,y K AB,y - K BC,z K AB,z ) then, d 1 = d 2 = v max #T/2 Robotics 1 12

Application example plan a Cartesian trajectory from A to C (rest-to-rest) that avoids the obstacle O, with a ' a max and v ' v max A B C add a via point B sufficiently far from O C A O C A on AA ( a max on A B and BC ( v max on C C ( - a max + over-fly between A e C Robotics 1 13

Other Cartesian paths! circular path through 3 points in 3D (often built-in feature)! linear path for the end-effector with constant orientation! in robots with spherical wrist: planning may be decomposed into a path for wrist center and one for E-E orientation, with a common timing law! though more complex in general, it is often convenient to parameterize the Cartesian geometric path p(s) in terms of its arc length (e.g., with s = R) for circular paths), so that! velocity: dp/dt = dp/ds! ds/dt! dp/ds = unit vector (!!!=1) tangent to the path: tangent direction t(s)! ds/dt = absolute value of tangential velocity (= speed)! acceleration: d 2 p/dt 2 = d 2 p/ds 2! (ds/dt) 2 + dp/ds! d 2 s/dt 2!!d 2 p/ds 2! = curvature *(s) (= 1/radius of curvature)! d 2 p/ds 2!(ds/dt) 2 = centripetal acceleration: normal direction n(s) + to the path, on the osculating plane; binormal direction b(s) = t(s) " n(s)! d 2 s/dt 2 = scalar value (with any sign) of tangential acceleration Robotics 1 14

Definition of Frenet frame! For a generic (smooth) path p(s) in R 3, parameterized by s (not necessarily its arc length), one can define a reference frame as in figure s n(s) b(s) t(s) p = dp/ds p = d 2 p/ds 2 derivatives w.r.t. the parameter t(s) = p (s)/!p (s)! unit tangent vector n(s) = p (s)/!p (s)! unit normal vector ( osculating plane) b(s) = t(s) " n(s) unit binormal vector! general expression of path curvature (at a path point p(s)) *(s) =!p (s) " p (s)!/!p (s)! 3 Robotics 1 15

! for Cartesian robots (e.g., PPP joints) Optimal trajectories 1. the straight line joining two position points in the Cartesian space is one path that can be executed in minimum time under velocity/acceleration constraints (but other such paths may exist, if (joint) motion can also be not coordinated) 2. the optimal timing law is of the bang-coast-bang type in acceleration (in this special case, also in terms of actuator torques)! for articulated robots (with at least a R joint)! 1. e 2. are no longer true in general in the Cartesian space, but time-optimality still holds in the joint space when assuming bounds on joint velocity/acceleration! straight line paths in the joint space do not correspond to straight line paths in the Cartesian space, and vice-versa! bounds on joint acceleration are conservative (though kinematically tractable) w.r.t. actual ones on actuator torques, which involve the robot dynamics! when changing robot configuration/state, different torque values are needed to impose the same joint accelerations Robotics 1 16

Planning orientation trajectories A x A z A x B zb B y A y B! using minimal representations of orientation (e.g., ZXZ Euler angles,,),-), we can plan independently a trajectory for each component! e.g., a linear path in space, ) -, with a cubic timing law. but poor prediction/understanding of the resulting intermediate orientations! alternative method: based on the axis/angle representation! determine the (neutral) axis r and the angle ) AB : R(r,) AB ) = R A T R B (rotation matrix changing the orientation from A to B. inverse axis-angle problem)! plan a timing law )(t) for the (scalar) angle ) interpolating 0 with ) AB (with possible constraints/boundary conditions on its time derivatives)! /t, R A R(r,)(t)) specifies then the actual end-effector orientation at time t Robotics 1 17

A complete position/orientation Cartesian trajectory " initial given configuration " initial end-effector position " initial orientation # 0 0 1& R(0) = % 0 "1 0( % ( $ 1 0 0' ( ) T ( ) T q(0) = 0 " /2 0 0 0 0 p(0) = 0.540 0 1.515 y(0)! z w! x(0)! linear path for position axis-angle method for orientation y w! " final end-effector position " final orientation # 1 0 0& R(T) = % 0 0 1( % ( $ 0 "1 0' p(t) = ( 0 0.540 1.515) T " the final configuration is NOT specified a priori z w! z(t)! y(t)! Robotics 1 y w! 18

L = p final " p init = 0.763 [m] video " = r # $ " = # " = r # $ " = # ( ) = 0.540 0 1.515 p(s) = p init + s p final " p init # 0 0 1& R init = % 0 "1 0( % ( = R T init $ 1 0 0' # 1 0 0& R final = % 0 0 1( % ( $ 0 "1 0' Axis-angle orientation trajectory ( ) T + s ("0.540 0.540 0) T, s # [0,1] # 0 "1 0 & R T init R final = % 0 0 "1( % ( = Rot(r, ) ) if $ 1 0 0 ' r = 1 # 1 & %"1( 3 % (, ) = 2* [rad] (=120 ) if $ 1 3 ' R(s) = R init Rot(r, "(s)) "(s) = s" if, s # [0,1] coordinated Cartesian motion with bounds on v max = 0.4 [m/s] a max = 0.1 [m/s 2 ] " max = # /4 [rad/s] " max = # /8 [rad/s 2 ] triangular speed profile s (t) with minimum time T = 5.52 s! (imposed by the bounds on linear motion) s = s(t), t " [0, T] Robotics 1 19

Axis-angle orientation trajectory x = y = z = planned motion of Cartesian position and velocity triangular profile for linear speed T = 5.52 s! joint 2 actual joint motion [rad] 2.5 2 1.5 1 0.5 0 0.5 actual joint angles T = 5.52 1 0 1 2 3 4 5 6 7 8 time [s] T = 5.52 T = 5.52 " the robot joint velocity was commanded by inversion of the geometric Jacobian " a user program, via KUKA RSI interface at T c = 12 ms sampling time (one-way communication) " robot motion execution is # what was planned, but only thanks to an external kinematic control loop (at task level) Robotics 1 20

" initial configuration Comparison of orientation trajectories Euler angles vs. axis-angle method " initial end-effector position " initial orientation " initial Euler ZYZ angles " final end-effector position " final orientation " final Euler ZYZ angles ( ) T q(0) = 0 " /2 " /2 0 #" /2 0 # 0 0 1& R(0) = % 0 "1 0( % ( $ 1 0 0' # 0 0 "1& R(T) = % 0 "1 0 ( % ( $ "1 0 0 ' ( ) T p(0) = 0.115 0 1.720 ( ) T x(t)! " ZYZ (0) = 0 # /2 # via a linear path (for position) p(t) = ("0.172 0 1.720) T ( ) T " ZYZ (T) = #$ $ /2 0.. p(0)! z(t) x(0)!! p(t)! Robotics 1 21 z w! z(0)! x w!

Comparison of orientation trajectories Euler angles vs. axis-angle method # 0 0 1& R init = % 0 "1 0( % ( $ 1 0 0' # 0 & ) * ZYZ,init = % + /2( % ( $ + ' #"1 0 0 & R T init R final = % 0 1 0 ( % ( $ 0 0 "1' # 0 & ) r = %"1( % (, * = + $ 0 ' # 0 0 "1& R final = % 0 "1 0 ( % ( $ "1 0 0 ' # "+ & ) * ZYZ, final = % + /2( % ( z $ 0 ' w! xw! y w! video video using ZYZ Euler angles using axis-angle method Robotics 1 22

Comparison of orientation trajectories Euler angles vs. axis-angle method 1.8 end effector position 1.8 end effector position x = y = z = 1.6 1.4 1.2 1 1.6 1.4 1.2 1 [m] 0.8 0.6 0.4 linear motion only along the x-direction [m] 0.8 0.6 0.4 planned Cartesian components of position and velocity [m/s] 0.2 0 0.2 0 1 2 3 4 5 6 7 8 time [s] 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 end effector velocity T! 7.2 s! [m/s] 0.2 0 0.2 0 1 2 3 4 5 6 7 8 time [s] 0 0.02 0.04 0.06 0.08 0.1 end effector velocity T! 6 s! faster motion time with the axis-angle method (imposed by the previous bounds on angular motion) 0.09 0 1 2 3 4 5 6 7 8 time [s] using ZYZ Euler angles 0.12 0 1 2 3 4 5 6 7 8 time [s] using axis-angle method Robotics 1 23

Comparison of orientation trajectories Euler angles vs. axis-angle method 2 = 1 = 0 = 4 3 2 1 end effector orientation with ZYZ Euler angles 4 3 2 1 end effector orientation with ZYZ Euler angles 1 = 0 (singularity of the representation) [rad] orientation in terms of ZYZ Euler angles 0 1 2 3 4 0 1 2 3 4 5 6 7 8 time [s] 2 pre-planned offline actual joint angles T! 7.2 s! [rad] 0 1 2 3 4 0 1 2 3 4 5 6 7 8 time [s] 3 by postprocessing actual joint angles T! 6 s! 1.5 2.5 1 2 actual joint motion [rad] 0.5 0 0.5 1 1.5 [rad] 1.5 1 0.5 0 0.5 only three joints move 2 1 2.5 1.5 3 0 1 2 3 4 5 6 7 8 time [s] using ZYZ Euler angles 2 0 1 2 3 4 5 6 7 8 time [s] using axis-angle method Robotics 1 24

Uniform time scaling! for a given path p(s) (in joint or Cartesian space) and a given timing law s(3) (3=t/T, T= motion time ), we need to check if existing bounds v max on (joint) velocity and/or a max on (joint) acceleration are violated or not! unless such constraints have already been taken into account during the trajectory planning, e.g., by using a bang-coast-bang acceleration timing law! velocity scales linearly with motion time! dp/dt = dp/ds!ds/d3!1/t! acceleration scales quadratically with motion time! d 2 p/dt 2 = (d 2 p/ds 2!(ds/d3) 2 + dp/ds!d 2 s/d3 2 )!1/T 2! if motion is unfeasible, scale (increase) time T kt (k>1), based on the most violated constraint (max of the ratios v /v max and a /a max )! if motion is too slow w.r.t. the robot capabilities, decrease T (k<1)! in both cases, after scaling, there will be (at least) one instant of saturation (for at least one variable)! no need to re-compute motion profiles from scratch! Robotics 1 25

Numerical example - 1! 2R planar robot with links of unitary length (1 [m])! linear Cartesian path p(s) from q 0 =(110, 140 ) p 0 =f(q 0 )=(-.684, 0) [m] to p 1 =(0.816, 1.4), with rest-to-rest cubic timing law s(t), T=1 [s]! bounds in joint space: max (absolute) velocity v max,1 = 2, v max,2 = 2.5 [rad/s], max (absolute) acceleration a max,1 = 5, a max,2 = 7 [rad/s2 ]. s max #3 [m/s] q 0 p 1 path length L=2.0518 [m] zero initial and final speed p 0 s=s(t) non-zero (symmetric) acceleration T=1 Robotics 1 26

Numerical example - 2! violation of both joint velocity and acceleration bounds with T=1 [s]! max relative violation of joint velocities: k vel = 2.898! max relative violation of joint accelerations: k acc = 6.2567! minimum uniform time scaling of Cartesian trajectory to recover feasibility k = max {1, k vel, $k acc } = 2.898 T scaled = kt = 2.898 > T k acc k vel = joint 1 = joint 2 Robotics 1 27

Numerical example - 3! scaled trajectory with T scaled = 2.898 [s]! speed [acceleration] on path and joint velocities [accelerations] scale linearly [quadratically] traced Cartesian path and associated joint paths remain the same! at least 1 instant of saturation! Robotics 1 = joint 1 = joint 2 28