Manipulator trajectory planning

Similar documents
Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

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

Planning in Mobile Robotics

Ch. 6: Trajectory Generation

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

Non-holonomic Planning

INSTITUTE OF AERONAUTICAL ENGINEERING

COLLISION-FREE TRAJECTORY PLANNING FOR MANIPULATORS USING GENERALIZED PATTERN SEARCH

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

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

Motion Capture & Simulation

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Jacobian: Velocities and Static Forces 1/4

Trajectory planning in Cartesian space

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

Lecture 2: Kinematics of medical robotics

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

Drawing using the Scorbot-ER VII Manipulator Arm

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

Blending in pick and place applications

15-780: Problem Set #4

Jacobian: Velocities and Static Forces 1/4

Lecture «Robot Dynamics»: Kinematic Control

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

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

Intermediate Desired Value Approach for Continuous Transition among Multiple Tasks of Robots

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

WORKSPACE AGILITY FOR ROBOTIC ARM Karna Patel

Trajectory Planning for Automatic Machines and Robots

Path Planning with Motion Optimization for Car Body-In-White Industrial Robot Applications

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

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Optimization of a two-link Robotic Manipulator

Introduction to Robotics

Planar Robot Kinematics

Lecture 3. Planar Kinematics

MOTION TRAJECTORY PLANNING AND SIMULATION OF 6- DOF MANIPULATOR ARM ROBOT

10. Cartesian Trajectory Planning for Robot Manipulators

To Do. History of Computer Animation. These Lectures. 2D and 3D Animation. Computer Animation. Foundations of Computer Graphics (Spring 2010)

Optimal Joint Trajectory Planning for Manipulator Robot Performing Constrained Motion Tasks

Representing Curves Part II. Foley & Van Dam, Chapter 11

1. Introduction 1 2. Mathematical Representation of Robots

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

Fundamentals of Inverse Kinematics Using Scara Robot

Theory of Robotics and Mechatronics

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

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

Simulation of Robot Manipulator Trajectory Optimization Design

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

Optimization of Robotic Arm Trajectory Using Genetic Algorithm

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

Robotics. Chapter 25. Chapter 25 1

Inverse Kinematics of Robot Manipulators with Multiple Moving Control Points

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Operation Trajectory Control of Industrial Robots Based on Motion Simulation

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

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

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

Using Algebraic Geometry to Study the Motions of a Robotic Arm

1724. Mobile manipulators collision-free trajectory planning with regard to end-effector vibrations elimination

Singularity Handling on Puma in Operational Space Formulation

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics

Robot Motion Planning Using Generalised Voronoi Diagrams

Arm Trajectory Planning by Controlling the Direction of End-point Position Error Caused by Disturbance

Elastic Bands: Connecting Path Planning and Control

Planning for Optimal Robot Trajectory for Visual Inspection

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Homework Assignment /645 Fall Instructions and Score Sheet (hand in with answers)

Robot learning for ball bouncing

Exam in DD2426 Robotics and Autonomous Systems

ROBOTICS (5 cfu) 09/02/2016. Last and first name Matricola Graduating

Geometric Modeling of Parallel Robot and Simulation of 3-RRR Manipulator in Virtual Environment

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

PPGEE Robot Dynamics I

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

15-494/694: Cognitive Robotics

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Lecture 2.2 Cubic Splines

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Animation Lecture 10 Slide Fall 2003

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Robot Motion Control Matteo Matteucci

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Navigation and Metric Path Planning

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Computer Animation. Rick Parent

Kinematical Animation.

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

Motion Synthesis and Editing. Yisheng Chen

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections

Robotics kinematics and Dynamics

So we re going to start as usual with a short video snippet. Do you wanna play the video? [Video]

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Kinematics and dynamics analysis of micro-robot for surgical applications

METR 4202: Advanced Control & Robotics

Prof. Fanny Ficuciello Robotics for Bioengineering Visual Servoing

FREE SINGULARITY PATH PLANNING OF HYBRID PARALLEL ROBOT

Transcription:

Manipulator trajectory planning Václav Hlaváč Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics Czech Republic http://cmp.felk.cvut.cz/~hlavac Courtesy to several authors of presentations on the web.

Lecture outline We consider a robotic manipulator (open kinematic chain) for simplicity. Generalization of methods for mobile robots comes in future lectures. Problem formulation - trajectory generation. Path vs. trajectory. Path planning vs. trajectory generation. Joint space vs. operational (Cartesian) space. Via points and point to point planning / trajectory generation. Trajectory approximation / interpolation functions.

Terminology: path vs. trajectory Both terms are often confused and used as synonyms informally. Path: an ordered locus of points in the space (either joint or operational), which the manipulator should follow. Path is a pure geometric description of motion. Trajectory: a path on which timing law is specified, e.g., velocities and accelerations in its each point. 3

Robot Motion Planning Path planning (global): Geometric path. Issues: obstacle avoidance, shortest path. Trajectory generating (local): Interpolate or approximate the desired path by a class of polynomial functions and generate a sequence of time-based control set points for the control of manipulator from the initial configuration to its destination. Tasks Task Plan Action Plan Path Plan Trajectory Plan Controller Robot Sensor 4

Trajectory generation, problem formulation 5 The aim of the trajectory generation: to generate inputs to the motion control system which ensures that the planned trajectory is executed. The user or the upper-level planner describes the desired trajectory by some parameters, usually: Initial and final point (point-to-point control). Finite sequence of points along the path (motion through sequence of points). Trajectory planning/generation can be performed either in the joint space or operational space.

Minimal requirements Capability to move robot arm and its end effector from the initial posture to the final posture. Motion laws have to be considered in order not to: violate saturation limits of joint drives. excite the modeled resonant modes of the mechanical structure. Device planning algorithm (in the sense of the motion generation) which generates smooth trajectories. 6 Question: Why should trajectories be smooth?

Joint space vs. operational space Joint-space description: The description of the motion to be made by the robot by its joint values. The motion between the two points is unpredictable. Operational space description: In many cases operational space = Cartesian space. The motion between the two points is known at all times and controllable. It is easy to visualize the trajectory, but it is difficult to ensure that singularity does not occur. 7

Example Joint vs. operational space 8 Sequential motions of a robot to follow a straight line. Cartesian-space trajectory (a) The trajectory specified in Cartesian coordinates may force the robot to run into itself, and (b) the trajectory may requires a sudden change in the joint angles.

Trajectory in the operational space 9 Calculate path from the initial point to the final point. Assign a total time to traverse the path. Discretize the points in time and space. Blend a continuous time function between these points Solve inverse kinematics at each step. Advantages Collision free path can be obtained. Disadvantages Computationally expensive due to inverse kinematics. It is unknown how to set the total time.

Trajectory in the joint space Calculate inverse kinematics solution from initial point to the final point. Assign total time using maximal velocities in joints. Discretize the individual joint trajectories in time. Blend a continuous function between these point. Advantages Inverse kinematics is computed only once. Can easily take into account joint angle, velocity constraints. Disadvantages Cannot deal with operational space obstacles. 10

Trajectory Planning 11 (continuity, smoothness) Path constraints Path specification Trajectory Planner joint space { q( t), q ( t), q ( t)} or sequence of control set points along desired trajectory { p( t), v( t), a( t)} cartesian space

The best planning approach Combination of via points (global plan) and point to point (locally between two points). Via points provides a course approximation of the path. 1

Trajectory planning Path Profile q(tf) q(t) Joint i Set down Final 13 Velocity Profile Acceleration Profile q(t1) q(t0) Lift-off Initial t0 t1 t tf Time Speed t0 t1 t tf Time Acceleration t0 t1 t tf Time

Curve interpolation, motivation 14 Draftsman use ducks and strips of wood (splines) to draw curves. Wood splines have second-order continuity. And pass through the control points.

Function used for interpolation For instance: Polynomials of different orders. Linear functions with parabolic blends. Splines. 15

Trajectory generation, basics Different approaches will be demonstrated on a simple example Let us consider a simple degree of freedom robot. We desire to move the robot from Point A to Point B. Let s assume that both joints of the robot can move at the maximum rate of 10 degree/sec. 16

Non-normalized movement 17 Move the robot from A to B, to run both joints at their maximum angular velocities. After [sec], the lower link will have finished its motion, while the upper link continues for another 3 [sec]. The path is irregular and the distances traveled by the robot s end are not uniform.

Normalized movement Let s assume that the motions of both joints are normalized by a common factor such that the joint with smaller motion will move proportionally slower and the both joints will start and stop their motion simultaneously. Both joints move at different speeds, but move continuously together. The resulting trajectory will be different. 18

Straight line movement 19 Let us assume that the robot hand follows a straight line between points A and B. The simplest way is to draw a line (interpolate) between A, B. Divide the line into five segments and solve for necessary angles α and β at each point. The joint angles do not change uniformly.

Straight line movement, version Again interpolation between A, B by a straight line. The aim is to accelerate at the beginning and decelerate at the end. Divide the segments differently. The arm move at smaller segments as we speed up at the beginning. Go at a constant cruising rate. Decelerate with smaller segments as approaching point B. 0

Continuous transition between points 1 Stop-and-go motion through the via-point list creates jerky motions with unnecessary stops. Solution: take multiple neighboring trajectory into account and enforce constraints on the same tangent and acceleration on the trajectory point. How? Blend the two portions of the motion at point B.

Continuous transition between points, option Alternative scheme ensuring that the trajectory passes through control points. Two via points D and E are picked such that point B will fall on the straight-line section of the segment ensuring that the robot will pass through point B.

Interpolation appetizer The initial location and orientation of the robot is known. Using the inverse kinematic equations, we find the final joint angles for the desired position and orientation. 3 Interpolation polynomial θ ( t ) = c0 + c1t + ct + c3t 3 θ ( i ) = θi t θ ( t f ) = θ f θ ( ) = 0 t i θ ( t f ) = 0 Initial condition θ ( t ) = c1 + ct + 3c3t The first derivative of the interpolating polynomial θ ti = c0 = θi ( ) 3 ( t f ) = c0 + c1t f + ct f + c3t f θ θ ( ti ) = c1 = 0 θ ( t f ) c1 + ct f + 3c3t = 0 = f Substituting the initial and final conditions

Building a Path Polynomial Motion Set 4 ( ) 3 0 1 3 q t = a + at+ at + at + dq q ( t) = = a + at+ 3at + 1 3 dt dq q ( t) = = a + 6at+ 3 dt These are the trajectory equations for a joint (Position, Velocity and Acceleration)

Solving the Path Polynomial implies finding a i s for specific paths 5 We would have boundary conditions for position and velocity at both ends of the path. We would have the desired total time of travel. Using these conditions we can solve for a 0, a 1, a and a 3 to build a 3 rd order path polynomial for the required motion.

Solving the Path Polynomial is a matter of finding a i s for specific paths 6 = + + + 3 0 0 10 0 30 q a at at at = + + 3 0 1 0 30 q a at at = + + + 3 f 0 1 f f 3 f q a at a t a t = + + 3 f 1 f 3 f q a at at Poly s holding at starting time and position Poly s holding at ending time and position

Solving the Path Polynomial is a matter of finding a i s for specific paths Writing these as Matrix Forms: 7 1 t t t 3 a q 0 0 0 0 0 0 1 3 t t a q 0 0 1 0 = 1 t t t 3 a q f f f f 0 1 t 3t a q f f 3 f

Solving the Path Polynomial is a matter of finding a i s for specific paths If we set t 0 = 0 (starting time is when we start counting motion!) then: 8 1 0 0 0 a q 0 0 0 1 0 0 a q 1 0 = 1 t t t 3 a q f f f f 0 1 t 3t a q f f 3 f By examination, a 0 = q 0 & a 1 = q 0 (dot)

Solving the Path Polynomial is a matter of finding a i s for specific paths 9 Completing the solution consists of forming relationships for: a & a 3 Done by substituting a 0 & a 1 values and solving the last two equation simultaneously: Be Careful and note the order of the positions and velocities! a a 3 = = ( 3( q ) ( )) f q0 tf q 0 + q f ( ( q ) ( )) 0 qf + tf q f + q 0 t t 3 f f

Applying it to the Coffee Bot 30 Start: X = 0; v = 0 @ time = 0 End: X = 9.5 ; v = 0 @ time =.5 sec a0 = 0 ; a1 = 0 a = (3 * 9.5)/(0.5 ) = 114 a3 = ( *(- 9.5))/(0.5 3 ) = -15

Applying it to the Coffee Bot: Position 31 10 9 8 Position vs. Time 7 Pos of Joint (in) 6 5 4 3 1 0 0 0.05 0.1 0.15 0. 0.5 0.3 0.35 0.4 0.45 0.5 time (sec)

Applying it to the Coffee Bot: Velocity 3 30 5 Velocity (in/sec) 0 15 10 Joint Velocity Vs. Time 5 0 0 0.05 0.1 0.15 0. 0.5 0.3 0.35 0.4 0.45 0.5 Time (sec)

Applying it to the Coffee Bot: Acceleration 33 300 00 Acceleration Vs. Time Acceleration (in/sec^) 100 0 0 0.05 0.1 0.15 0. 0.5 0.3 0.35 0.4 0.45 0.5-100 -00-300 time (sec)

The boundary conditions 1) Initial position ) Initial velocity 3) Initial acceleration 4) Lift-off position 5) Continuity in position at t 1 6) Continuity in velocity at t 1 7) Continuity in acceleration at t 1 8) Set-down position 9) Continuity in position at t 10) Continuity in velocity at t 11) Continuity in acceleration at t 1) Final position 13) Final velocity 14) Final acceleration 34

Requirements Initial Position Position (given) Velocity (given, normally zero) Acceleration (given, normally zero) Final Position Position (given) Velocity (given, normally zero) Acceleration (given, normally zero) 35

Requirements 36 Intermediate positions set-down position (given) set-down position (continuous with previous trajectory segment) Velocity (continuous with previous trajectory segment) Acceleration (continuous with previous trajectory segment)

Requirements 37 Intermediate positions Lift-off position (given) Lift-off position (continuous with previous trajectory segment) Velocity (continuous with previous trajectory segment) Acceleration (continuous with previous trajectory segment)

Trajectory Planning n-th order polynomial, must satisfy 14 conditions, 13-th order polynomial 38 a 13 13 t + + at + a1t + a0 = 4-3-4 trajectory h h h 1 n ( t) a 3 n4 n3 3-5-3 trajectory 3 4 3 1 n 0 0 4 3 = 14 + 13 + 1 1 10 t 0 t 1, 5 unknowns ( t) = a ( t) = a t t t + + a a a t t t + + a a a t t t + + a a + a t n + t a + a n0 t 1 t, 4 unknowns t t f, 5 unknowns

References B. Siciliano et al. Robotics (Modeling, planning and control), Springer, Berlin, 009, chapter 4: Trajectory planning, pages 161-189. 39