ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino.

Slides:



Advertisements
Similar presentations
 (x) f(x,u) u x f(x,  (x) x. Example: Using feed-forward, what should be canceled?
Advertisements

ICRA 2005 – Barcelona, April 2005Basilio Bona – DAUIN – Politecnico di TorinoPage 1 Identification of Industrial Robot Parameters for Advanced Model-Based.
Supervisory Control of Hybrid Systems Written by X. D. Koutsoukos et al. Presented by Wu, Jian 04/16/2002.
Kinematics of Particles
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Constant Jerk Trajectory Generator (TG)
Trajectory Generation
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 6)
Kinematics of Particles
Trajectory Planning.  Goal: to generate the reference inputs to the motion control system which ensures that the manipulator executes the planned trajectory.
Paper by Kevin M.Lynch, Naoji Shiroma, Hirohiko Arai, and Kazuo Tanie
Trajectory Week 8. Learning Outcomes By the end of week 8 session, students will trajectory of industrial robots.
ME Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Kinematics of Particles Lecture II. Subjects Covered in Kinematics of Particles Rectilinear motion Curvilinear motion Rectangular coords n-t coords Polar.
Inverse Kinematics Jacobian Matrix Trajectory Planning
Introduction to ROBOTICS
Definition of an Industrial Robot
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
© Manfred Huber Autonomous Robots Robot Path Planning.
Lecture 2: Introduction to Concepts in Robotics
1  (x) f(x,u) u x f(x,  (x) x Example: Using feed-forward, what should be canceled?
20/10/2009 IVR Herrmann IVR: Introduction to Control OVERVIEW Control systems Transformations Simple control algorithms.
INVERSE KINEMATICS IN A ROBOTIC ARM AND METHODS TO AVOID SINGULARITIES Submitted By :-Course Instructor :- Avinash Kumar Prof. Bhaskar Dasgupta Roll No.-
BIPEDAL LOCOMOTION Prima Parte Antonio D'Angelo.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Robotics Chapter 5 – Path and Trajectory Planning
T. Bajd, M. Mihelj, J. Lenarčič, A. Stanovnik, M. Munih, Robotics, Springer, 2010 ROBOT CONTROL T. Bajd and M. Mihelj.
Mechanics Unit 5: Motion and Forces 5.6 Motion in one Dimension - Speed and Velocity, Acceleration...
Chapter 2 Kinematics: Description of Motion
Motion in One Direction Chapter : Displacement and Velocity Main Objectives:  Describe motion in terms of frame of reference, displacement, time,
Control 1 Keypoints: The control problem Forward models: –Geometric –Kinetic –Dynamic Process characteristics for a simple linear dynamic system.
Progress in identification of damping: Energy-based method with incomplete and noisy data Marco Prandina University of Liverpool.
The City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Inverse Kinematics Jacobian.
Robotics Sharif In the name of Allah. Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #2: The.
Review: Differential Kinematics
Chapter 7: Trajectory Generation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: 1.
Kinematics of Particles Lecture II. Subjects Covered in Kinematics of Particles Rectilinear motion Curvilinear motion Rectangular coords n-t coords Polar.
S ystems Analysis Laboratory Helsinki University of Technology Automated Solution of Realistic Near-Optimal Aircraft Trajectories Using Computational Optimal.
ME451 Kinematics and Dynamics of Machine Systems Review of Differential Calculus 2.5, 2.6 September 11, 2013 Radu Serban University of Wisconsin-Madison.
Outline: Introduction Solvability Manipulator subspace when n<6
Trajectory Generation
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Optimal Path Planning Using the Minimum-Time Criterion by James Bobrow Guha Jayachandran April 29, 2002.
Theoretical Mechanics KINEMATICS * Navigation: Right (Down) arrow – next slide Left (Up) arrow – previous slide Esc – Exit Notes and Recommendations:
ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino.
ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino.
Kinematics of Particles Lecture II. Subjects Covered in Kinematics of Particles Rectilinear motion Curvilinear motion Rectangular coords n-t coords Polar.
ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino.
Basilio Bona DAUIN – Politecnico di Torino
Basilio Bona DAUIN – Politecnico di Torino
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Trajectory Generation
Basilio Bona DAUIN – Politecnico di Torino
Basilio Bona DAUIN – Politecnico di Torino
Basilio Bona DAUIN – Politecnico di Torino
Direct Manipulator Kinematics
Modeling robot systems
Zaid H. Rashid Supervisor Dr. Hassan M. Alwan
Autonomous Cyber-Physical Systems: Dynamical Systems
Kinematics of Particles
Robot Kinematics We know that a set of “joint angles” can be used to locate and orientate the hand in 3-D space We know that the joint angles can be combined.
Basilio Bona DAUIN – Politecnico di Torino
Chapter 4 . Trajectory planning and Inverse kinematics
Model of robot system Óbuda University
Constant Jerk Trajectory Generator (TG)
Presentation transcript:

ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino

Trajectory Planning 1

Introduction The robot planning problem can be decomposed into a structured class of interconnected activities, at different hierarchical levels, usually called with different names: 1.Objective: it defines the highest hierarchical level; typically due to the goal of the overall process where the robot is present; for example, the assembly of an engine head in an assembly line 2.Task: it defines a subset of actions/operations to be accomplished for the attainment of the objective: for example, the assembly of the engine pistons 3.Operation: it defines one of the single activities in which the task is decomposed: for example, the grasping and insertion of a piston in the cylinder Basilio Bona - DAUIN - PoliTo3 ROBOTICS 01PEEQW /2016

Introduction 4.Move: it defines a single motion that must be executed to perform an operation: for example, close the hand to grasp the piston, move the piston in a predefined position, move the arm near the sample, attain the right pose. 5.Path/Trajectory: the elementary move is decomposed in one or more geometrical paths (no time law is defined ) or trajectories (time law and kinematic constraints are defined). control 6.Reference: it consists of the data vector obtained sampling the path/trajectory; it is supplied to motors for their control: this represents the reference signal at the most basic level. Basilio Bona - DAUIN - PoliTo4 ROBOTICS 01PEEQW /2016

Decomposition of a planning problem Basilio Bona - DAUIN - PoliTo5 ROBOTICS 01PEEQW /2016 Objective……...TaskOperation MovePathReference…………… …

Planning and control control The control problem consists in designing a control algorithm for the robot motors, such that the TCP motion follows a specified path in the cartesian space. Two types of tasks can be defined: 1.tasks that do not require an interaction with the environment (free space motion); the manipulator moves its TCP following cartesian trajectories, with constraint on positions, velocities and accelerations. Sometimes it is sufficient to move the joints from a specified point to another without following a particular geometric path 2.tasks that require and interaction with the environment, i.e., where the TCP shall move in some cartesian subspace while it applies (or is subject to) forces or torques to the environment The control may take place at joint level (joint space control) or at cartesian level (task space control) Basilio Bona - DAUIN - PoliTo6 ROBOTICS 01PEEQW /2016

Fixed vs mobile robots  This first part of the course will introduce the planning problems and algorithms related to fixed (industrial) robotic arms  Mobile robots path planning will be treated later on  The two problems are very similar  The only difference is the kinematic model of the robot and the actuation controls that operate on it: on the revolute joints, for robotic arms on the wheel motors, for wheeled robots on the leg motors, for legged (humanoid and other types of biomimetic robots) Etc. Basilio Bona - DAUIN - PoliTo7 ROBOTICS 01PEEQW /2016

Industrial Robots Basilio Bona - DAUIN - PoliTo8 ROBOTICS 01PEEQW /2016

Path vs trajectory  Path = is the geometrical description of the desired set of points in the task space. The control shall maintain the TCP on the desired path  Trajectory = is the path AND the time law required to follow the path, from the starting point to the endpoint Basilio Bona - DAUIN - PoliTo9 ROBOTICS 01PEEQW /2016 A B

An example Basilio Bona - DAUIN - PoliTo10 ROBOTICS 01PEEQW /2016 PATHTRAJECTORY desired speed desired acceleration The geometrical path is usually described by an implicit equation A B A B constraints

Trajectory planning Basilio Bona - DAUIN - PoliTo11 ROBOTICS 01PEEQW /2016 TRAJECTORY PLANNER TRAJECTORY PLANNER Desired path Desired kinematic constraints Robot dynamic constraint Joint reference samples The trajectory planner is a software “node” that, given the desired path, computes the joint reference values (for the control block), the kinematic constraints (max speed, etc.), and the dynamic constraints (max accelerations, max torques, etc.)

Basilio Bona - DAUIN - PoliTo12 ROBOTICS 01PEEQW /2016 The control problem and the trajectory planner ControllerActuatorGearboxRobot Transducer TRAJECTORY PLANNER TRAJECTORY PLANNER Usually, in control design courses, the reference signal generation is not considered (since typical signals, as step functions or sinusoidal, are assumed), but here is very important

Trajectory Planning Task SpaceJoint Space Task-space path Joint-space path Inverse Kinematics Basilio Bona - DAUIN - PoliTo13 ROBOTICS 01PEEQW /2016 Task-space and joint-space paths can be different, since the inverse kinematics function is nonlinear Task-space and joint-space paths can be different, since the inverse kinematics function is nonlinear A BA B B

Constraints of different type 1.Desired Path (task space constraints) a)Initial and final positions b)Initial and final orientations 2.Trajectory (time-dependent task space constraints) a)Initial and final velocities b)Initial and final accelerations c)Velocities on a given part of the path (e.g., constant velocity) d)Acceleration (e.g., centrifugal acceleration affecting curvature radius) e)Fly-by points 3.Technological constraints (joint space constraints) a)Motor maximum velocities b)Motor maximum accelerations c)Motor temperature, etc. Basilio Bona - DAUIN - PoliTo14 ROBOTICS 01PEEQW /2016

Point-to-Point Trajectory – 1 When it is not important to follow a specific path, the trajectory is usually planned in the joint space, implementing a simple point-to- point (PTP) linear path, while the time law is constrained by the motor maximum velocity and maximum acceleration values A simple joint space PTP linear path may generate a “strange” task space path Basilio Bona - DAUIN - PoliTo15 ROBOTICS 01PEEQW /2016 Task SpaceJoint Space

Joint space vs Task space Basilio Bona - DAUIN - PoliTo16 ROBOTICS 01PEEQW /2016 Joint spaceTask space

Task space vs Joint space Basilio Bona - DAUIN - PoliTo17 ROBOTICS 01PEEQW /2016 Task spaceJoint space Elbow up Elbow down

Point-to-Point Trajectory – 2  Usually the PTP trajectory in the joint space is obtained implementing a linear convex combination of the initial and final values Basilio Bona - DAUIN - PoliTo18 ROBOTICS 01PEEQW /2016 Convex combination  This is obtained using a unique scalar time-varying quantity called the curvilinear or profile abscissa Initial valueFinal value

Point-to-Point Trajectory – 3 Basilio Bona - DAUIN - PoliTo19 ROBOTICS 01PEEQW /2016 PROFILE GENERATOR CONVEX COMBINATION coordinated motion This approach allows a coordinated motion, i.e., a motion of all joints that starts and ends at the same time instants, providing a smoother motion of the entire mechanical structure, avoiding unwanted jerks that can introduce undesirable vibrations

Simple Trajectory Planning Basilio Bona - DAUIN - PoliTo20 ROBOTICS 01PEEQW /2016 A seen in the previous formula, a PTP trajectory planning in the joint space requires only the design of the time law (i.e., the profile) for the scalar variable The various kinematic and dynamic constraints are reflected in the constraints on the max velocity and acceleration of Acceleration constraints Positive acceleration may be different from negative acceleration (deceleration) Velocity constraints

Simple profile Acceleration is limited Trapezoidal velocity profile Area A BB BB Basilio Bona - DAUIN - PoliTo21 ROBOTICS 01PEEQW /2016

Simple profile Since every trajectory is a mono-dimensional curve, it can be described by a single variable. In our case we use s(t) t o parameterize the curve, after adding some minor constraints Another constraint is the continuity of the velocity This kind of trajectory is the most simple one, since it allows to fulfil the technological constraints on s(t) and its derivatives, and at the same time, provide a continuous curve, that does not overshoot the final target. The coordinate s(t) represents a sort of percentage of the path completed at time t Basilio Bona - DAUIN - PoliTo22 ROBOTICS 01PEEQW /2016

Continuous Profile Basilio Bona - DAUIN - PoliTo23 ROBOTICS 01PEEQW /2016

2-1-2 profile Basilio Bona - DAUIN - PoliTo24 ROBOTICS 01PEEQW /2016

2-1-2 profile Basilio Bona - DAUIN - PoliTo25 ROBOTICS 01PEEQW /2016

2-1-2 profile Basilio Bona - DAUIN - PoliTo26 ROBOTICS 01PEEQW /2016

2-1-2 profile Basilio Bona - DAUIN - PoliTo27 ROBOTICS 01PEEQW /2016

2-1-2 profile Basilio Bona - DAUIN - PoliTo28 ROBOTICS 01PEEQW /2016

2-1-2 profile – An example Basilio Bona - DAUIN - PoliTo29 ROBOTICS 01PEEQW / tempo (s) tempo (s)

Bang-bang profile – An example Basilio Bona - DAUIN - PoliTo30 ROBOTICS 01PEEQW / tempo (s) tempo (s)

Sampled Data Profile Basilio Bona - DAUIN - PoliTo31 ROBOTICS 01PEEQW /2016

Discrete Time (sampled data) profile  Since the manipulator controller is a discrete-time computer, it is necessary to sample the continuous variable s(t)  s k.  The sampling interval T is fixed according to the control specifications, and in modern robots is approximately 1 ms  A sequence of N samples is obtained as  The samples are then rounded off to be stored in a fixed length internal register (it can be a fixed length word or exponent + mantissa) Basilio Bona - DAUIN - PoliTo32 ROBOTICS 01PEEQW /2016

Discrete Time (sampled data) profile Basilio Bona - DAUIN - PoliTo33 ROBOTICS 01PEEQW /2016

Sampled profile Basilio Bona - DAUIN - PoliTo34 ROBOTICS 01PEEQW /2016

Sampled position profile (2-1-2) Basilio Bona - DAUIN - PoliTo35 ROBOTICS 01PEEQW /2016 vmax=2 amaxp=8 amaxm=5 alfa=1 deltat= Phase 1Phase 2Phase 3

Sampled velocity profile Basilio Bona - DAUIN - PoliTo36 ROBOTICS 01PEEQW /2016 vmax=2 amaxp=8 amaxm=5 alfa=1 deltat=0.02

Sampled acceleration profile Basilio Bona - DAUIN - PoliTo37 ROBOTICS 01PEEQW /2016 vmax=2 amaxp=8 amaxm=5 alfa=1 deltat=0.02

Practical problems Basilio Bona - DAUIN - PoliTo38 ROBOTICS 01PEEQW /2016

Interpolation schemes Basilio Bona - DAUIN - PoliTo39 ROBOTICS 01PEEQW /2016

Incremental Interpolation Which one? Basilio Bona - DAUIN - PoliTo40 ROBOTICS 01PEEQW /2016

Incremental Interpolation Basilio Bona - DAUIN - PoliTo41 ROBOTICS 01PEEQW /2016 This plot shows the difference between the exact computation and the incremental interpolation Notice that the final value of the profile is larger than 1, since no correction of the commuting instants was implemented This plot shows the error between the two values; as one can see, during the constant velocity phase, no error arises

Absolute Interpolation Basilio Bona - DAUIN - PoliTo42 ROBOTICS 01PEEQW /2016

Absolute interpolation Basilio Bona - DAUIN - PoliTo43 ROBOTICS 01PEEQW /2016 This plot shows the difference between the exact computation and the absolute interpolation Large errors arise, mainly due to the errors accumulated in the first and third phase

Approximation of commutation instants  Since the commutation times are rarely an exact multiple of the sampling period, it is necessary to compute the profile so that the profile constraints are never violated  We proceed as follows We compute the new profile samples recursively The transition between the acceleration phase and the constant speed phase is computed so that the maximal velocity is not exceeded The transition between constant speed phase and the deceleration phase is computed so that a)The maximal deceleration is not exceeded b)There is sufficient time intervals to decelerate and reach the zero final speed without violating a) c)The final zero velocity must be reached “uniformly” from above Basilio Bona - DAUIN - PoliTo44 ROBOTICS 01PEEQW /2016

Approximation of commutation instants  What happens if one does not take care of numerical problems (e.g., when using Matlab)? Basilio Bona - DAUIN - PoliTo45 ROBOTICS 01PEEQW /2016 Delta=0.005 Delta=0.05

Transition from phase 1 to phase 2  Transition from phase 1 (max acceleration) to phase 2 (constant velocity): Basilio Bona - DAUIN - PoliTo46 ROBOTICS 01PEEQW /2016 Condition TRUE Go to phase 2 Condition FALSE Remain in phase 1 The transition acceleration is

The max velocity should not be exceeded Basilio Bona - DAUIN - PoliTo47 ROBOTICS 01PEEQW /2016

Basilio Bona - DAUIN - PoliTo48 ROBOTICS 01PEEQW /2016

The max velocity should not be exceeded Basilio Bona - DAUIN - PoliTo49 ROBOTICS 01PEEQW /2016

Transition from phase 2 to phase 3  Transition from phase 2 (constant velocity) to phase 3 (max deceleration) : Basilio Bona - DAUIN - PoliTo50 ROBOTICS 01PEEQW /2016 Condition TRUE Go to phase 3 Condition FALSE Remain in phase 2 The transition deceleration is Braking space

The max deceleration should not be exceeded Basilio Bona - DAUIN - PoliTo51 ROBOTICS 01PEEQW /2016 Max deceleration exceeded

The zero final velocity must be attained from above Basilio Bona - DAUIN - PoliTo52 ROBOTICS 01PEEQW /2016 Velocity becomes negative

An example – velocity profile Basilio Bona - DAUIN - PoliTo53 ROBOTICS 01PEEQW / Exact commutation time Approximate commutation time

An example – acceleration profile Basilio Bona - DAUIN - PoliTo54 ROBOTICS 01PEEQW /2016 The acceleration profiles approximately follows the standard profile

Joint trajectory planning Basilio Bona - DAUIN - PoliTo55 ROBOTICS 01PEEQW /2016

Joint point-to-point trajectory planning Basilio Bona - DAUIN - PoliTo56 ROBOTICS 01PEEQW /2016 Point-to-point joint trajectory Continuous time Discrete time

Joint point-to-point trajectory planning Basilio Bona - DAUIN - PoliTo57 ROBOTICS 01PEEQW /2016

Example: point-to-point Basilio Bona - DAUIN - PoliTo58 ROBOTICS 01PEEQW /2016 This is also called a convex combination

Technological constrains on actuators Basilio Bona - DAUIN - PoliTo59 ROBOTICS 01PEEQW /2016

Technological constrains on actuators Basilio Bona - DAUIN - PoliTo60 ROBOTICS 01PEEQW /2016

Conclusions  Path planning is a very important issue in robotics  The geometrical path (and its time law) provides the reference data necessary for any control implementation  A real path planning algorithm must work in discrete time, (often in real-time) since robot acts on a sampled data control system  Path planning may be defined in joint space or task space  Task space planning requires the computation of inverse kinematic functions (beware of singularities) Basilio Bona - DAUIN - PoliTo61 ROBOTICS 01PEEQW /2016