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 - PoliTo 3 ROBOTICS 01PEEQW - 2016/2017
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). 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 - PoliTo 4 ROBOTICS 01PEEQW - 2016/2017
Decomposition of a planning problem … … ... Path Reference Move … Operation Objective … … Task … … … Basilio Bona - DAUIN - PoliTo 5 ROBOTICS 01PEEQW - 2016/2017
Planning and 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 - PoliTo 6 ROBOTICS 01PEEQW - 2016/2017
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 - PoliTo 7 ROBOTICS 01PEEQW - 2016/2017
Industrial Robots Basilio Bona - DAUIN - PoliTo 8 ROBOTICS 01PEEQW - 2016/2017
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 B q t 3 ( ) q t 4 ( ) q t 5 ( ) q t 2 ( ) ( ) x q t ( ) q t 6 ( ) ⋯ ( ) α q ( ) t A q t 1 ( ) Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 2016/2017
An example PATH TRAJECTORY constraints desired acceleration desired speed A A B B φ θ ψ = f x y z φ θ ψ = f x t ( ( ), ( ), ( ), ( ), ( ), ( )) y t z t t t t 0 ( , , , , , ) 0 The geometrical path is usually described by an implicit equation Basilio Bona - DAUIN - PoliTo 10 ROBOTICS 01PEEQW - 2016/2017
Trajectory planning Desired path Desired kinematic TRAJECTORY Joint reference samples constraints PLANNER q r Robot dynamic constraint 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 - PoliTo 11 ROBOTICS 01PEEQW - 2016/2017
The control problem and the trajectory planner TRAJECTORY PLANNER q q ( ) t r Controller Actuator Gearbox Robot Transducer 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 Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 2016/2017
Trajectory Planning Task Space Joint Space p ( ) t B 0 q ( ) t 0 A p ( ) t B A f q ( ) t f B ( ) ( ) π p π ′ q ( ) t ( ) t Task-space path Joint-space path Inverse Kinematics Task-space and joint-space paths can be different, since the inverse kinematics function is nonlinear Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 2016/2017
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 - PoliTo 14 ROBOTICS 01PEEQW - 2016/2017
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 q ( ) t Joint Space Task Space 0 p ( ) t 0 q ( ) t f p ( ) t f A simple joint space PTP linear path may generate a “strange” task space path Basilio Bona - DAUIN - PoliTo 15 ROBOTICS 01PEEQW - 2016/2017
Joint space vs Task space Joint space Task space Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 2016/2017
Task space vs Joint space Elbow up Elbow down Task space Joint space Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 2016/2017
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 ( ) ( ) ( ) π ′ = − + = + − = + ∆ q ( ) t 1 s t ( ) q s t ( ) q q s t ( ) q q q s t ( ) q 0 f 0 f 0 0 Initial value Final value � This is obtained using a unique scalar time-varying quantity called the curvilinear or profile abscissa s(t) = ≤ ≤ = 0 s t ( ) s t ( ) s t ( ) 1 0 f Convex combination Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 2016/2017
Point-to-Point Trajectory – 3 q t 1 ( ) q t 2 ( ) q t 3 ( ) PROFILE CONVEX GENERATOR COMBINATION q t 4 ( ) s t ( ) ɺ s t ( ) q t 5 ( ) ɺɺ s t ( ) q t 6 ( ) 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 Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 2016/2017
Simple Trajectory Planning 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 s t ( ) the scalar variable The various kinematic and dynamic constraints are reflected in the constraints on the max velocity and acceleration of ( ) s t − ɺ ≤ ɺ ≤ ɺ ɺ > s s t ( ) s s 0 max max max Velocity constraints − + − + − ɺɺ ≤ ɺɺ ≤ ɺɺ ɺɺ > ɺɺ > s s t ( ) s s 0, s 0 max max max max Acceleration constraints Positive acceleration may be different from negative acceleration (deceleration) Basilio Bona - DAUIN - PoliTo 20 ROBOTICS 01PEEQW - 2016/2017
Simple profile s f 2-1-2 profile s 0 t t t t 0 1 2 f ɺ s t ( ) ɺ s max = − A s s Trapezoidal velocity f Area A 0 t t t t 0 1 2 f ɺɺ s t ( ) + B − B s + ɺɺ max + − = ɺ B B s f Acceleration is limited t t t t 0 1 f s − 2 ɺɺ max Basilio Bona - DAUIN - PoliTo 21 ROBOTICS 01PEEQW - 2016/2017
Recommend
More recommend