Automatic Control Motion planning

Similar documents
SERVOMOTOR SIZING AND APPLICATION. Gary Kirckof, P.E.

1 Trajectory Generation

1 Piecewise Cubic Interpolation

Trajectory Planning for Automatic Machines and Robots

SPLINE INTERPOLATION

Lecture 8: Kinematics: Path and Trajectory Planning

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

Automatic Control Systems theory overview (discrete time systems)

Contents. Chapter 1 Introduction Chapter 2 Unacceptable Cam Curves Chapter 3 Double-Dwell Cam Curves... 27

Curve Fitting. 1 Interpolation. 2 Composite Fitting. 1.1 Fitting f(x) 1.2 Hermite interpolation. 2.1 Parabolic and Cubic Splines

Numerical Analysis. A Comprehensive Introduction. H. R. Schwarz University of Zürich Switzerland. with a contribution by

Smooth Profile Generation for a Tile Printing Machine

The Way of Analysis. Robert S. Strichartz. Jones and Bartlett Publishers. Mathematics Department Cornell University Ithaca, New York

Robotics I. Figure 1: Initial placement of a rigid thin rod of length L in an absolute reference frame.

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

Quaternion Cubic Spline

An experimental robot load identification method for industrial application

There is a unique function s(x) that has the required properties. It turns out to also satisfy

Control of industrial robots. Centralized control

Research Article Simplified Robotics Joint-Space Trajectory Generation with a via Point Using a Single Polynomial

CHAPTER 1 Prerequisites for Calculus 2. CHAPTER 2 Limits and Continuity 58

Control of Mobile Robots

Preface. 2 Linear Equations and Eigenvalue Problem 22

Fitting a Natural Spline to Samples of the Form (t, f(t))

Selection of Servomotors and Reducer Units for a 2 DoF PKM

Robotics I. Test November 29, 2013

Interpolation and Polynomial Approximation I

Polynomials. p n (x) = a n x n + a n 1 x n 1 + a 1 x + a 0, where

Curves. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Taku Komura

CS 450 Numerical Analysis. Chapter 8: Numerical Integration and Differentiation

Robotics I. June 6, 2017

Introduction to Computer Graphics. Modeling (1) April 13, 2017 Kenshi Takayama

Equal Pitch and Unequal Pitch:

Practical smooth minimum time trajectory planning for path following robotic manipulators*

Robotics Errors and compensation

The written qualifying (preliminary) examination covers the entire major field body of knowledge

CS545 Contents XIII. Trajectory Planning. Reading Assignment for Next Class

Cubic Splines; Bézier Curves

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

Introduction to centralized control

Contents. Preface to the Third Edition (2007) Preface to the Second Edition (1992) Preface to the First Edition (1985) License and Legal Information

Virtual Prototyping of a New Tracking System

Applied Numerical Analysis

TABLE OF CONTENTS INTRODUCTION, APPROXIMATION & ERRORS 1. Chapter Introduction to numerical methods 1 Multiple-choice test 7 Problem set 9

Control of Electromechanical Systems

M2R IVR, October 12th Mathematical tools 1 - Session 2

On-Line Planning of Time-Optimal, Jerk-Limited Trajectories

Inverse differential kinematics Statics and force transformations

Some notes on Chapter 8: Polynomial and Piecewise-polynomial Interpolation

NUMERICAL METHODS FOR ENGINEERING APPLICATION

Fundamental Numerical Methods for Electrical Engineering

SCHOOL OF ELECTRICAL, MECHANICAL AND MECHATRONIC SYSTEMS. Transient Stability LECTURE NOTES SPRING SEMESTER, 2008

Summer Packet for Students Taking Introduction to Calculus in the Fall

Exam 2. Average: 85.6 Median: 87.0 Maximum: Minimum: 55.0 Standard Deviation: Numerical Methods Fall 2011 Lecture 20

Lectures 9-10: Polynomial and piecewise polynomial interpolation

MTH5112 Linear Algebra I MTH5212 Applied Linear Algebra (2017/2018)

NUMERICAL COMPUTATION IN SCIENCE AND ENGINEERING

Engineering 7: Introduction to computer programming for scientists and engineers

Scientific Computing: An Introductory Survey

Bézier Curves and Splines

Robotics I. February 6, 2014

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

Interpolation. Escuela de Ingeniería Informática de Oviedo. (Dpto. de Matemáticas-UniOvi) Numerical Computation Interpolation 1 / 34

homogeneous 71 hyperplane 10 hyperplane 34 hyperplane 69 identity map 171 identity map 186 identity map 206 identity matrix 110 identity matrix 45

GAIN SCHEDULING CONTROL WITH MULTI-LOOP PID FOR 2- DOF ARM ROBOT TRAJECTORY CONTROL

Cubic Splines. Antony Jameson. Department of Aeronautics and Astronautics, Stanford University, Stanford, California, 94305

Introduction to centralized control

Function Approximation

In practice one often meets a situation where the function of interest, f(x), is only represented by a discrete set of tabulated points,

PRECALCULUS BISHOP KELLY HIGH SCHOOL BOISE, IDAHO. Prepared by Kristina L. Gazdik. March 2005

INTRODUCTION TO COMPUTATIONAL MATHEMATICS

Chapter 2 Interpolation

Interpolation. Create a program for linear interpolation of a three axis manufacturing machine with a constant

NUMERICAL MATHEMATICS AND COMPUTING

Math 302 Outcome Statements Winter 2013

Flatness-based guidance for planetary landing

Stepping Motors. Chapter 11 L E L F L D

Virtual Passive Controller for Robot Systems Using Joint Torque Sensors

Electric Vehicle Performance Power and Efficiency

Introduction to Numerical Analysis

Positioning Servo Design Example

Chapter 2 One-Dimensional Kinematics. Copyright 2010 Pearson Education, Inc.

Trajectory Planning from Multibody System Dynamics

Chapter 2: Rigid Bar Supported by Two Buckled Struts under Axial, Harmonic, Displacement Excitation..14

Introduction to Applied Linear Algebra with MATLAB

Sensorless Control of Two-phase Switched Reluctance Drive in the Whole Speed Range

2.010 Fall 2000 Solution of Homework Assignment 1

Trajectory Planning Using High-Order Polynomials under Acceleration Constraint

Preface Chapter 1. Overview of Mechanical Transmission Problems Chapter 2. Reminders of Solid Mechanics

Linear Algebra Homework and Study Guide

Table of Contents. Foreword... Introduction...

BIOMECHANICS AND MOTOR CONTROL OF HUMAN MOVEMENT

Chapter One: Introduction

Examples of Applications of Potential Functions in Problem Solving (Web Appendix to the Paper)

Outline. 1 Interpolation. 2 Polynomial Interpolation. 3 Piecewise Polynomial Interpolation

Semi-Analytical Guidance Algorithm for Fast Retargeting Maneuvers Computation during Planetary Descent and Landing

ECE 422/522 Power System Operations & Planning/Power Systems Analysis II : 7 - Transient Stability

Ascent Phase Trajectory Optimization for a Hypersonic Vehicle Using Nonlinear Programming

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

Robotics & Automation. Lecture 25. Dynamics of Constrained Systems, Dynamic Control. John T. Wen. April 26, 2007

Transcription:

Automatic Control Motion planning (luca.bascetta@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria

Motivations 2 Electric motors are used in many different applications, ranging from machine tools and industrial robots to household appliances and advanced driver assistance systems. The motion of these motors should be appropriately controlled, starting from the trajectory performed by the rotor. A trajectory can be characterized by different profiles and maximum values of velocity, acceleration and jerk, generating different effects on the actuator, on the motion transmission system and on the mechanical load performance and wear. Motion planning is the activity aiming at selecting suitable velocity, acceleration and jerk profiles.

Profile selection criteria 3 Which are the guidelines to select the profile? low computational complexity and memory consumption continuity of position, velocity (and jerk) profiles minimize undesired effects (curvature regularity) accuracy (no overshoot) We will consider two different problems: point-to-point motion planning only start and goal, and motion duration are specified trajectory planning a set of desired positions is specified

Polynomial trajectories (I) 4 Let s consider the point-to-point motion planning problem. Given the initial and final conditions on position, velocity, acceleration and jerk, and the motion duration, the easiest solution to the planning problem is given by polynomial functions The coefficients can be determined imposing the initial and final conditions. Increasing the order of the polynomial, the trajectory becomes smoother and we can satisfy more initial and final conditions. We will now consider two classical examples: 3 rd and 5 th order polynomials.

Polynomial trajectories (II) 5 Given the following initial and final conditions: initial and final time (t i and t f ) initial position and velocity (q i and qሶ i ) final position and velocity (q f and qሶ f ) To satisfy the four boundary conditions we need at least a 3 rd order polynomial Then, imposing the boundary conditions we obtain (T = t f t i )

Polynomial trajectories Example 6

Polynomial trajectories (III) 7 In order to enforce initial conditions on the acceleration as well, we need at least a 5 th order polynomial Then, imposing the boundary conditions we obtain (T = t f t i )

Polynomial trajectories Example 8

Polynomial trajectories (IV) 9 An harmonic motion is characterized by an acceleration profile that is proportional to the position profile, with opposite sign. A generalization of the harmonic trajectory is given by where Note that the harmonic trajectory has continuous derivatives (of any order) t t i, t f.

Polynomial trajectories Example 10

Polynomial trajectories (V) 11 In order to avoid discontinuities at t i and t f in the acceleration profile, we can modify the harmonic trajectory introducing the cycloidal trajectory where

Polynomial trajectories Example 12

Trapezoidal trajectories (I) 13 A very common way to plan the motion of a motor in industrial drives is based on trapezoidal velocity profiles. The trajectory is composed of a linear part, where the velocity is constant, and two parabolic blends, where the velocity is a linear function of time. The trajectory can be thus divided in three parts: 1. in the first part a constant acceleration is applied, the velocity is linear and the position a parabolic function of time 2. in the second part the acceleration is zero, the velocity is constant and the position is a linear function of time 3. in the third part a constant negative acceleration is applied, the velocity is linear and the position a parabolic function of time If T a = T d (T a symmetric. Τ (t f t i ) 2) the profile is

Trapezoidal trajectories (II) 14 First part (acceleration) Third part (deceleration) Second part (constant velocity)

Trapezoidal trajectories Example 15

Trapezoidal trajectories (III) 16 In order to correctly select the parameters of the trapezoidal profile, we should satisfy some constraints. Assuming that T d = T a, the velocity at time t i + T a is given by where We also have that Using the previous relations we obtain the following constraint Then, integrating the velocity profile we obtain a constraint on the velocities

Trapezoidal trajectories (IV) 17 Given the distance h = q f q i the duration T = t f t i We have three different ways to specify the trajectory: 1. choosing the acceleration time T a (T a < TΤ2) 2. choosing the acceleration ( qሷ a 4 h ΤT 2 ) 3. choosing the velocity ( qሶ v h ΤT)

ሶ Trapezoidal trajectories (V) 18 If we would like to select the maximum velocity and acceleration according to the motor specifications, we have to select acceleration time T a = qሶ max qሷ max distance h = qሶ max T T a In this case the duration will be and the trajectory is described by the following equations These equations hold only if T a Τ T 2, or equivalently h 2 Τqሷ max. q max

ሶ Trapezoidal trajectories (VI) 19 2 If h < q max Τqሷ max the trajectory will not reach the maximum velocity and the maximum acceleration. If we would like to minimize the trajectory duration we can use a bang-bang acceleration profile where the acceleration time and the trajectory duration are and the maximum velocity is

Trapezoidal trajectories (VII) 20 The trapezoidal velocity profile is characterized by a discontinuous acceleration profile. As a consequence, jerk has infinite values in the acceleration discontinuities. This can negatively affect a mechanical system, increasing wear and causing vibrations. To overcome this problem we can introduce a continuous trapezoidal acceleration profile. The trajectory can be divided in three parts: 1. acceleration (acceleration linearly increases until the maximum value and then linearly decreases) 2. constant velocity 3. deceleration (is symmetric to phase 1)

Trajectory scaling (I) 21 Sometimes a planned trajectory need to be scaled in order to adapt to actuator constraints. There are two different solutions to this problem: 1. kinematic scaling, trajectory has to satisfy maximum acceleration and maximum velocity constraints 2. dynamic scaling, trajectory has to satisfy maximum torque constraints We will now consider the problem of kinematic scaling. In order to scale a trajectory we need to parametrize it introducing a normalized parameter σ = σ t. Given a trajectory q t, from q i to q f, whose duration is T = t f t i, the normalized form is where h = q f q i and

Trajectory scaling (II) 22 Considering the normalized form we have The maximum velocity, acceleration, values correspond to the maximum values of functions σ i τ. Modifying the trajectory duration T one can satisfy the kinematic constraints.

Trajectory scaling (III) 23 Consider a 3 rd order polynomial trajectory, we can introduce the parameter Imposing the boundary conditions we obtain and consequently Maximum velocity and acceleration are given by

Trajectory scaling (IV) 24 Consider a 5 th order polynomial trajectory, we can introduce the parameter Imposing the boundary conditions we obtain and consequently Maximum velocity, acceleration and jerk are given by

Trajectory scaling (V) 25 A harmonic trajectory can be parameterized introducing consequently Maximum velocity, acceleration and jerk are given by

Trajectory scaling (VI) 26 A cycloidal trajectory can be parameterized introducing consequently Maximum velocity, acceleration and jerk are given by

ሶ Trajectory scaling Example 27 Consider a trajectory with q i = 10, q f = 50, and a motor characterized by q max = 30 Τs and qሷ max = 80 Τs 2. Trajectory Max vel/acc Constraints Min duration 3 rd deg. poly 2 Faster 5 th deg. poly 2.5 Harmonic 2.094 Faster Cycloidal 2.667

Interpolation (I) 28 Up to now we have considered only point-to-point trajectories. In many practical problems, however, we would like to determine a trajectory that goes through multiple points. This problem can be addressed using interpolation techniques. We are now interested to determine a trajectory that goes through a set of points at certain time instants

Interpolation (II) 29 To determine a trajectory that goes through n points we can consider a polynomial function of order n 1 Given a set of points t i, q i i = 1,, n, we can define vectors q and a, and Vandermonde matrix T as follows as a consequence Caveat: matrix T is always invertible if t i > t i 1 i = 1,, n.

Interpolation Example 30 Polynomial interpolation with 4 th order polynomial t i 0 2 4 8 10 q i 10 20 0 30 40

Interpolation (III) 31 Pro & cons of the polynomial interpolation method: q t derivatives of any order are continuous in t 1, t n increasing the number of points the condition number of matrix T increases, making the computation of the inverse an ill-conditioned problem For example, assuming t i = Τ i n, i = 1,, n n 3 4 5 6 10 15 20 Condition number 15.1 98.87 686.43 4924.37 1.519 10 7 4.032 10 11 1.139 10 16 Other methods exist to compute the coefficients of q t, but they always become more and more inefficient as n increases.

Interpolation (IV) 32 Other issues of polynomial interpolation are: the computational complexity of determining the coefficients increases as n increases if a single point t i, q i changes we need to recompute all the coefficients if we add a point at the end of the trajectory t n+1, q n+1 we need to increase the order of the polynomial and recompute all the coefficients the trajectory obtained with polynomial interpolation is usually affected by undesired oscillations In order to overcome these issues we can consider n 1 polynomials of order p (instead of just one polynomial), each one interpolating a segment of the trajectory. A first solution can be obtained using 3 rd order polynomials and imposing position and velocity constraints for each point of the trajectory, in order to compute the cubic polynomial between two consecutive points.

Interpolation Example 33 Polynomial interpolation with 3 rd order polynomial segments t i 0 2 4 8 10 q i 10 20 0 30 40 qሶ i 0 /s -10 /s 10 /s 3 /s 0 /s

Interpolation (V) 34 If only the desired points are specified, we can compute the velocities using the following relations where is the slope between points at t k 1 and t k.

Interpolation Example 35 Polynomial interpolation with 3 rd order polynomial segments t i 0 2 4 8 10 q i 10 20 0 30 40

Interpolation (VI) 36 As you have seen in the example, a trajectory generated with cubic interpolation is affected by discontinuities in the acceleration. To overcome this problem we can still use cubic segments, but we should specify only the position of each point and impose the continuity of position, velocity and acceleration. This approach leads to the so called smooth path line (spline). Among all the interpolating functions ensuring continuity of the derivatives, the spline is the one that has minimum curvature. Let s study now how to determine the coefficients of the cubic segments that form the spline.

Interpolation (VII) 37 If we consider n points we will have n 1 cubic polynomials each one characterized by 4 coefficients. We have thus to determine 4 n 1 coefficients, imposing the following constraints: 2 n 1 interpolation conditions (every cubic segment should start and end in a trajectory point) n 2 continuity conditions on the velocity of the inner points n 2 continuity conditions on the accelerations of the inner points At the end we have 4 n 1 coefficients and only 4n 6 constraints. We can enforce two more constraints imposing, for example, the initial and final velocity. Let s summarize the problem.

Interpolation (VIII) 38 We would like to determine a function where each segment is described by given the following constraints where v k, k = 2,, n 1 must be specified. To solve this problem we have to determine coefficients a ki.

Interpolation (IX) 39 We start assuming velocities v k, k = 2,, n 1 known. For each cubic polynomial we have 4 boundary conditions on positions and velocities, giving rise to the following system Solving this system with respect to the coefficients yields

Interpolation (X) 40 In order to compute velocities v k, k = 2,, n 1 we impose n continuity conditions on the accelerations of the intermediate points If we now substitute the expressions of coefficients a k2, a k3, a k+1,2, and multiply by T k T k+1 Τ2, we obtain and in matrix form where c k are functions of the intermediate positions and the duration of each segment.

Interpolation (XI) 41 Finally, neglecting v 1 and v n that are known, we have This is a set of n 2 linear equations that can be written as Av = c.

Interpolation (XII) 42 We observe that matrix A is a diagonally dominant matrix, and is always invertible for T k > 0 matrix A is a tridiagonal matrix, implying that numerically efficient techniques exist (Gauss-Jordan method) to compute its inverse once the inverse of matrix A is known, we can compute velocities v 2,, v n 1 as follows We can derive a similar procedure to determine the spline using the intermediate accelerations instead of the intermediate velocities.

Interpolation (XIII) 43 We conclude observing that the total duration of the trajectory is given by In many applications one is interested to find the minimum time trajectory. This goal can be achieved determining the segment durations T k that minimize T, satisfying the maximum velocity and maximum acceleration constraints: This is a nonlinear optimization problem with linear cost function.

Interpolation Example 44 Cubic spline interpolation t i 0 2 4 8 10 q i 10 20 0 30 40