Trajectory planning Trajectory planning – – 1 1 Basilio Bona 1 ROBOTICA 03CFIOR
Introduction The robot planning problem can be decomposed into a structured class of interconnected activities, at different hierarchical levels, usually referred to with different names: 1. Objective : it defines the highest activity level; typically shared by the entire process or FMS where the robot is present; for example, the assembly of an engine head. 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 insertion of a piston in the cylinder. Basilio Bona 2 ROBOTICA 03CFIOR
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. 5. Path/Trajectory : the elementary move is decomposed in one ore more paths (no time law defined) or trajectories (time law ore more paths (no time law defined) or trajectories (time law and kinematic constraints are defined). 6. Reference : it consists of the vector of the data obtained sampling the path/trajectory, supplied to the motors as references for their control control : this is represents the action performed at the most basic level. Basilio Bona 3 ROBOTICA 03CFIOR
Decomposition of a planning problem … … ... Path Reference Move … Operation Objective … … … Task … … … Basilio Bona 4 ROBOTICA 03CFIOR
Planning and control The control control problem consists in designing of control algorithms for the robot drives, 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 value to Sometimes it is sufficient to move the joints from a specified value 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 We will consider only the first type of tasks The control may take place at joint level ( joint space control ) or at cartesian level ( task space control ) Basilio Bona 5 ROBOTICA 03CFIOR
Path vs trajectory � Path = is the geometrical description of the set of desired points in the task space. The control shall maintain the TCP on the commanded path � Trajectory = is the path AND the time law required to follow the path, from the starting point to the endpoint follow the path, from the starting point to the endpoint q t 3 ( ) q t 4 ( ) q t 5 ( ) q t 2 ( ) ( ) x q t ( ) q t 6 ( ) ⋯ ( ) α q ( ) t q t 1 ( ) Basilio Bona 6 ROBOTICA 03CFIOR
An example PATH TRAJECTORY desired acceleration desired speed φ θ ψ = 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 7 ROBOTICA 03CFIOR
Trajectory planning Desired path Desired kinematic TRAJECTORY Joint reference samples constraints PLANNER q q r r Robot dynamic constraint The trajectory planner is a software function that computes the joint reference values (for the control block) given the desired path, the kinematic constraints (max speed etc.) and the dynamic constraints (max accelerations, max torques, etc.) Basilio Bona 8 ROBOTICA 03CFIOR
The control problem and the trajectory planner TRAJECT PLANN q q ( ) t r JECTORY ANNER Controller Controller Actuator Actuator Gearbox Gearbox Robot Robot Transducer Usually, in control design courses, the reference signal generation is not considered (typical signals are assumed), but here is very important Basilio Bona 9 ROBOTICA 03CFIOR
Trajectory Planning Task Space Joint Space p ( ) t 0 q ( ) t 0 p ( ) t f q ( ) t f ( ( ) ) ( ( ) ) π p π p π ′ q ′ ( ) ( ) t 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 highly nonlinear Basilio Bona 10 ROBOTICA 03CFIOR
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) a) Initial and final velocities Initial and final velocities b) Initial and final accelerations c) Velocities on a given part of the path, e.g., constant velocity or others d) Acceleration, e.g., centrifugal acceleration affecting curvature radius e) Fly points 3. Technological constraints (joint space constraints) a) Motor maximum velocities b) Motor maximum accelerations Basilio Bona 11 ROBOTICA 03CFIOR
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 0 0 q ( ) t f A simple joint space PTP path may generate a “strange” task space path Basilio Bona 12 ROBOTICA 03CFIOR
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 s t called the curvilinear or profile abscissa ( ) = ≤ ≤ = 0 s t ( ) s t ( ) s t ( ) 1 0 f Convex combination Basilio Bona 13 ROBOTICA 03CFIOR
Point-to-Point Trajectory – 3 q t 1 ( ) q t 2 ( ) q t 3 ( ) PROFILE CONVEX GENERATOR COMBINATION q t q t 4 ( ) 4 ( ) s t s t ( ) ( ) ɺ s t ( ) q t 5 ( ) ɺɺ s t ( ) q t 6 ( ) This approach allows a coordinate motion coordinate 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 14 ROBOTICA 03CFIOR
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 Assume that 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 15 ROBOTICA 03CFIOR
Simple profile s f 2-1-2 profile s 0 t t t t 0 1 2 f ɺ s t ( ) ɺ s max = = − − A A s s s s Trapezoidal velocity Trapezoidal velocity Area A A f 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 16 ROBOTICA 03CFIOR
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 Area = = ⇒ = s t ( ) 0 s t ( ) 1 A 1 0 f ɺ = ɺ = s t ( ) s t ( ) 0 0 f s + ɺɺ = ɺɺ = ɺɺ s t ( ) 0; ( s t ) − + 0 0 max − − ɺɺ ɺɺ = = ɺɺ ɺɺ ɺɺ ɺɺ = = s t ( ) s ; ( s t ) 0 − + f max f s t ɺ ( ) 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 overshoots the final target. The coordinate s ( t ) represents a sort of percentage of the path completed at time t Basilio Bona 17 ROBOTICA 03CFIOR
2-1-2 profile Basilio Bona 18 ROBOTICA 03CFIOR
2-1-2 profile Basilio Bona 19 ROBOTICA 03CFIOR
2-1-2 profile Basilio Bona 20 ROBOTICA 03CFIOR
2-1-2 profile Basilio Bona 21 ROBOTICA 03CFIOR
2-1-2 profile Basilio Bona 22 ROBOTICA 03CFIOR
2-1-2 profile – An example 1.4 2.5 1.2 2 1 1.5 0.8 1 0.6 0.5 0.4 0 0.2 -0.5 -0.5 0 0 0 0 0.2 0.2 0.4 0.4 0.6 0.6 0.8 0.8 0 0.2 0.4 0.6 0.8 tempo (s) tempo (s) 10 8 = ɺ s 2 6 max 4 + ɺɺ = s 8 2 max 0 − ɺɺ = s 5 -2 max -4 -6 0.2 0.4 0.6 0.8 0 Basilio Bona 23 ROBOTICA 03CFIOR
Recommend
More recommend