0% found this document useful (0 votes)
23 views29 pages

Trajectory Planning in Cartesian Space: Robotics 1

This document discusses trajectory planning in Cartesian space. It describes: 1) Planning linear Cartesian paths by parameterizing the position as a function of a path parameter from the initial to final position. 2) Using a trapezoidal velocity profile to generate timing laws for Cartesian paths with specified maximum velocity and acceleration. 3) Concatenating linear paths by introducing a "via point" and using a parabolic blending function to transition between paths with different velocities while maintaining constant acceleration.

Uploaded by

qiu qiu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views29 pages

Trajectory Planning in Cartesian Space: Robotics 1

This document discusses trajectory planning in Cartesian space. It describes: 1) Planning linear Cartesian paths by parameterizing the position as a function of a path parameter from the initial to final position. 2) Using a trapezoidal velocity profile to generate timing laws for Cartesian paths with specified maximum velocity and acceleration. 3) Concatenating linear paths by introducing a "via point" and using a parabolic blending function to transition between paths with different velocities while maintaining constant acceleration.

Uploaded by

qiu qiu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Robotics 1

Trajectory planning
in Cartesian space
Prof. Alessandro De Luca

Robotics 1 1
Trajectories in Cartesian space
n in general, the trajectory planning methods proposed in the
joint space can be applied also in the Cartesian space
n consider independently each component of the task vector (i.e., a
position or an angle of a minimal representation of orientation)
n however, when planning a trajectory for the three
orientation angles, the resulting global motion cannot be
intuitively visualized in advance
n if possible, we still prefer to plan Cartesian trajectories
separately for position and orientation
n the number of knots to be interpolated in the Cartesian
space is typically low (e.g., 2 knots for a PTP motion, 3 if a
“via point” is added) ⇒ use simple interpolating paths, such
as straight lines, arc of circles, …
Robotics 1 2
Planning a linear Cartesian path
(position only)
GIVEN
𝑝# 𝐿 𝑝# , 𝑝$ ∈ ℝ'; 𝑣# , 𝑣$ ∈ ℝ (typically = 0);
bounds 𝑣)*+ , 𝑎)*+ ∈ ℝ-
𝑝$
𝐿 = 𝑝$ − 𝑝#
path parameterization 𝑝$ − 𝑝#
= unit vector of directional
𝑝(𝑠) = 𝑝# + 𝑠(𝑝$ − 𝑝# ) 𝑝$ − 𝑝# cosines of the line

𝑠 ∈ [0,1] may also use 𝑠 = 𝜎/𝐿, where 𝜎 ∈ [0, 𝐿] is the


arc length (gives the current length of the path)

𝑑𝑝 𝑑>𝑝 > 𝑑𝑝
𝑝̇ 𝑠 = 𝑠̇ = 𝑝$ − 𝑝# 𝑠̇ 𝑝̈ 𝑠 = > 𝑠̇ + 𝑠̈ = 𝑝$ − 𝑝# 𝑠̈
𝑑𝑠 𝑑𝑠 𝑑𝑠
𝑝$ − 𝑝# 𝑝$ − 𝑝#
= 𝜎̇ = 𝜎̈
𝐿 𝐿

Robotics 1 3
Timing law with trapezoidal speed -1

bang-coast-bang
𝜎(𝑡)
̈ 𝑎)*+ given*: 𝐿, 𝑣)*+ , 𝑎)*+
find: 𝑇B , 𝑇
𝑡
= area of the
𝜎(𝑡)
̇ 𝑣)*+ (𝑇 − 𝑇B ) = 𝐿 speed profile
𝑣)*+
𝑡 𝑣)*+
𝑇B =
𝑎)*+
𝜎(𝑡) 𝐿 >
𝐿𝑎)*+ + 𝑣)*+
𝑇=
𝑡 𝑎)*+ 𝑣)*+
𝑇B 𝑇 − 𝑇B 𝑇
. > /𝑎
a “coast” phase exists iff 𝐿 > 𝑣)*+ )*+

* = other input data combinations are possible (see textbook)


Robotics 1 4
Timing law with trapezoidal speed -2

𝜎(𝑡)
̈ *DEF G H
𝑎)*+ , 𝑡 ∈ [0, 𝑇B ]
>
𝑡 H
IDEF
𝑣)*+ 𝑡 − > * , 𝑡 ∈ [𝑇B , 𝑇 − 𝑇B ]
𝜎(𝑡)
̇ 𝜎 𝑡 = DEF
𝑣)*+
H H
*DEF GJK IDEF
𝑡 − + 𝑣)*+ 𝑇 −* ,
> DEF
𝑡 ∈ [𝑇 − 𝑇B , 𝑇]
𝜎(𝑡) 𝐿
discontinuous acceleration profile!
𝑡 if needed, use for instance a
𝑇B 𝑇 − 𝑇B 𝑇 a rest-to-rest quintic polynomial timing
.
can be used also in the joint space!
Robotics 1 5
Concatenation of linear paths
𝑧 𝐵 =“via point” no need to pass
(and stop!)
𝐵−𝐴
𝐶′ there
= 𝐾VW
𝐵−𝐴 unit vectors of
𝐴′ over-fly 𝐶 directional cosines
𝐶−𝐵
= 𝐾WX
𝐴 𝑦 𝐶−𝐵

given: constant speeds 𝑣P on linear path 𝐴𝐵


𝑥 𝑣> on linear path 𝐵𝐶
desired transition: with constant acceleration for a time D𝑇

𝑥(𝑡)
𝑝 𝑡 = 𝑦(𝑡) 𝑡 ∈ [0, ∆𝑇] (transition starts at 𝑡 = 0)
𝑧(𝑡)
note: during over-fly, the path remains always in the plane specified
by the two lines intersecting at 𝐵 (in essence, it is a planar problem)
Robotics 1 6
Time profiles on components

𝑥(𝑡)
̈ 𝑥(𝑡)
̇
𝑣>𝐾WX,+
𝑣P𝐾VW,+

D𝑇 𝑡 𝑡
𝑦(𝑡)
̈ 𝑦(𝑡)
̇
𝑣>𝐾WX,Z

𝑣P𝐾VW,Z 𝑡
𝑡
𝑧(𝑡)
̈ 𝑧(𝑡)
̇
𝑣P𝐾VW,Y
𝑣>𝐾WX,Y
𝑡
D𝑇 𝑡

Robotics 1 7
Timing law during transition
𝑧 𝐵 𝐵−𝐴
𝐶′ = 𝐾VW
𝐵−𝐴 unit vectors of
𝐴′ over-fly 𝐶 directional cosines
𝐶−𝐵
= 𝐾WX
𝐴 𝑦 𝐶−𝐵
𝑥(𝑡)
𝑥 𝑝 𝑡 = 𝑦(𝑡) 𝑡 ∈ [0, ∆𝑇] (transition starts at 𝑡 = 0)
𝑧(𝑡)

𝑝(𝑡)
̈ = (𝑣>𝐾WX − 𝑣P𝐾VW )/D𝑇 ó
õ
𝑝̇ 𝑡 = 𝑣P𝐾VW + 𝑣>𝐾WX − 𝑣P𝐾VW 𝑡/D𝑇
ó
õ thus, we obtain a
parabolic blending
𝑝 𝑡 = 𝐴[ + 𝑣P𝐾VW 𝑡 + 𝑣>𝐾WX − 𝑣P𝐾VW 𝑡 >/(2D𝑇) (see textbook
for this same approach
in the joint space)
Robotics 1 8
Solution
(various options)

𝐵 𝑑2 𝐵 − 𝐴′ = 𝑑1𝐾𝐴𝐵
𝑑1 1
𝐶′ 𝐶′ − 𝐵 = 𝑑2𝐾𝐵𝐶
𝐶
𝐴′
𝑝 𝑡 = 𝐴[ + 𝑣P𝐾VW 𝑡 + 𝑣>𝐾WX − 𝑣P𝐾VW 𝑡 >/(2D𝑇)
𝐴
𝑝(∆𝑇) = 𝐴′ + (D𝑇/2)(𝑣1 𝐾𝐴𝐵 + 𝑣2𝐾𝐵𝐶 ) = 𝐶′

− 𝐵 + 𝐴′ + (∆𝑇/2) (𝑣1𝐾𝐴𝐵 + 𝑣2𝐾𝐵𝐶 ) = 𝐶′ − 𝐵

1 𝑑1𝐾𝐴𝐵 + 𝑑2𝐾𝐵𝐶 = (D𝑇/2)(𝑣1𝐾𝐴𝐵 + 𝑣2𝐾𝐵𝐶 )


𝑑1 = 𝑣1D𝑇/2 𝑑2 = 𝑣2D𝑇/2

by choosing, e.g., 𝑑P
D𝑇 = 2𝑑1/𝑣1 𝑑2 = 𝑑1𝑣2/𝑣1
(namely 𝐴′)

Robotics 1 9
A numerical example
n transition: 𝐴 = (3,3) to 𝐶 = (8,9) via 𝐵 = (1,9), with speed from 𝑣P = 1 to 𝑣> = 2
n exploiting two options for solution (resulting in different paths!)
n assign transition time: ∆𝑇 = 4 (we re-center it here for 𝑡 ∈ [−∆𝑇/2, ∆𝑇/2])
n assign distance from 𝐵 for departing: 𝑑P = 3 (assign 𝑑> for landing is handled similarly)

𝐵 𝐶 𝐵 𝐶

𝐴′

𝐴 𝐴

∆𝑇 = 4 𝑑P = 3
Robotics 1 10
A numerical example (cont’d)
first option: ∆𝑇 = 4 (resulting in 𝑑P = 2, 𝑑> = 4) ⇒ 𝑝̈ = 0.39 m/s2

0.5791

-0.2372

second option: 𝑑P = 3 (resulting in ∆𝑇 = 6, 𝑑> = 6) ⇒ 𝑝̈ = 0.17 m/s2

0.3860

-0.1581

actually: similar velocity/acceleration profiles, but with a different time scale!!


Robotics 1 11
Alternative solution
(imposing acceleration)

𝐵
𝐶’ 𝑝(𝑡)
̈ = (𝑣> 𝐾WX − 𝑣P 𝐾VW )/D𝑇
𝐴’ 𝐶

𝐴 𝑣P = 𝑣> = 𝑣)*+ (for simplicity)


𝑝(𝑡)
̈ = 𝑎)*+

D𝑇 = 𝑣)*+ ⁄𝑎)*+ 𝐾WX − 𝐾VW

= (𝑣)*+ ⁄𝑎)*+ ) 2(1 − 𝐾WX,+ 𝐾VW,+ − 𝐾WX,Z 𝐾VW,Z − 𝐾WX,Y 𝐾VW,Y )

then, 𝑑P = 𝑑> = 𝑣)*+ D𝑇/2

Robotics 1 12
Application example
plan a Cartesian trajectory from 𝐴 to 𝐶 (rest-to-rest)
that avoids the obstacle 𝑂, with 𝑎 ≤ 𝑎)*+ and 𝑣 ≤ 𝑣)*+
add a via point 𝐵
𝐵 “sufficiently far” from 𝑂
𝐶′′
𝐴′′ 𝐶′

𝐴′ 𝐶
𝑂

on 𝐴𝐴′ ® 𝑎)*+ ; on 𝐴′𝐵 and 𝐵𝐶 [ ® 𝑣)*+ ; on 𝐶′𝐶® − 𝑎)*+ ;


+ over-fly between 𝐴′′ e 𝐶′′ (e.g., with 𝑎)*+ in norm)
Robotics 1 13
Other Cartesian paths
n circular path through 3 points in 3D (often built-in feature)
n linear path for the end-effector with constant orientation
n in robots with spherical wrist: planning may be decomposed into a path for
wrist center and one for E-E orientation, with a common timing law
n though more complex in general, it is often convenient to parameterize the
Cartesian geometric path 𝑝(𝑠) in terms of its arc length (e.g., with 𝑠 = 𝑅𝜃
for circular paths), so that the following hold:
n velocity 𝑝̇ = 𝑑𝑝 ⁄𝑑𝑡 = 𝑑𝑝 ⁄𝑑𝑠 𝑑𝑠 ⁄𝑑𝑡 = 𝑝 𝑠̇
[
[
n 𝑝 = unit vector ( k = 1) tangent to the path ⇒ tangent direction 𝑡(𝑠)

n 𝑠̇ ≥ 0 is the absolute value of the tangential velocity (= speed)

>
n acceleration 𝑝̈ = 𝑑 𝑝 ⁄𝑑𝑠
> 𝑑𝑠 ⁄𝑑𝑡 > + 𝑑𝑝 ⁄𝑑𝑠 𝑑 > 𝑠 ⁄𝑑𝑡 > = 𝑝 [[ 𝑠̇ > + 𝑝 [ 𝑠̈

n 𝑝 [[ = curvature 𝜅(𝑠) (= 1/radius of curvature)


[[ >
n 𝑝 𝑠̇ = centripetal acceleration ⇒ normal direction 𝑛(𝑠) ^ to the path, on the

osculating plane; the binormal direction is 𝑏 𝑠 = 𝑡 𝑠 × 𝑛(𝑠)


n 𝑠̈ = scalar value (with any sign) of the tangential acceleration

Robotics 1 14
Definition of Frenet frame
n for a smooth and non-degenerate curve 𝑝(𝑠) ∈ ℝ' , parameterized by 𝑠
(not necessarily its arc length), one can define a reference frame as shown
𝑝 [ = 𝑑𝑝/𝑑𝑠 𝑝 [[ = 𝑑 > 𝑝/𝑑𝑠 >
derivatives w.r.t. the parameter 𝑠
𝑏(𝑠) unit tangent vector
𝑡(𝑠) = 𝑝[ (𝑠)⁄ 𝑝[ (𝑠)
𝑛(𝑠) 𝑡(𝑠) unit normal vector (∈ osculating plane)
𝑛(𝑠) = 𝑡 [ (𝑠)⁄ 𝑡 [ (𝑠)
= 𝑝[ (𝑠)× 𝑝[[ (𝑠)×𝑝[ (𝑠) / 𝑝[ (𝑠) k 𝑝[[ (𝑠)×𝑝[ (𝑠)
unit binormal vector
𝑠 𝑏(𝑠) = 𝑡(𝑠) × 𝑛(𝑠)
= 𝑝[ (𝑠)×𝑝[[ (𝑠)/ 𝑝 [ (𝑠)×𝑝 [[ (𝑠)

n general expressions of path curvature and torsion (at a path point 𝑝(𝑠))
𝜅(𝑠) = 𝑝[ 𝑠 × 𝑝[[ (𝑠) ⁄ 𝑝[ (𝑠) '
𝜏(𝑠) = 𝑝[ 𝑠 k 𝑝[[ 𝑠 × 𝑝[[[ (𝑠) ⁄ 𝑝[ 𝑠 × 𝑝[[ (𝑠)) >

Robotics 1 15
Examples of paths with Frenet frame
Viviani curve
= intersection of a sphere with a tangent cylinder
𝑥 = 𝑟 cos > 𝑠
𝑦 = 𝑟 cos 𝑠 sin 𝑠
𝑧 = 𝑟 sin 𝑠
𝑠 ∈ −𝜋/2, 𝜋/2
𝑥 = 𝑟 cos > 𝑠
𝑦 = −𝑟 cos 𝑠 sin 𝑠
𝑧 = −𝑟 sin 𝑠
By Ag2gaeh - https://commons.wikimedia.org/w/index.php?curid=81698760 By Gonfer https://commons.wikimedia.org/w/index.php?curid=18558097

Helix curve (right handed)

𝑥 = 𝑟 cos 𝑠 𝑟
𝜅=
𝑦 = 𝑟 sin 𝑠 𝑟 > + ℎ>
𝑧=ℎ𝑠 ℎ
𝜏=
𝑠 ∈ 0,2𝜋 𝑟 > + ℎ>
By Goldencako - https://commons.wikimedia.org/w/index.php?curid=7519084

Exercise
6𝑠 + 2 a) define the Frenet frame 𝑡(𝑠), 𝑛(𝑠), 𝑏(𝑠)
given the path 𝑝 𝑠 = 5𝑠 > , 𝑠 ∈ 0,1
b) compute the curvature 𝜅(𝑠) and the torsion 𝜏(𝑠)
−8𝑠
Robotics 1 16
Optimal trajectories
n for Cartesian robots (e.g., PPP joints)
1. the straight line joining two position points in the Cartesian space is one path
that can be executed in minimum time under velocity/acceleration constraints
(but other such paths exist, if (joint) motion is not coordinated)
2. the optimal timing law is of the bang-coast-bang type in acceleration (in this
special case, also in terms of motor torques)
n for articulated robots (with at least one R joint)
n 1. e 2. are no longer true in general in the Cartesian space, but time-optimality
still holds in the joint space when assuming bounds on joint velocity/acceleration
n straight line paths in the joint space do not correspond to straight line paths

in the Cartesian space, and vice-versa


n bounds on joint acceleration are conservative (though kinematically tractable)
w.r.t. actual bounds on motor torques, which involve the full robot dynamics
n when changing robot configuration/state, different torque values are needed

to impose the same joint accelerations …

Robotics 1 17
Planning orientation trajectories
𝑧V 𝑧W
𝑥V
𝐴 𝐵
𝑥W
𝑦V 𝑦W

n using minimal representations of orientation (e.g., ZXZ Euler angles 𝜙, 𝜃, 𝜓),


we can plan a trajectory for each component independently
n e.g., a linear path in space 𝜙, 𝜃, 𝜓 , with a cubic timing law

Þ but poor prediction/understanding of the resulting intermediate orientations


n alternative method based on the axis/angle representation
n determine the (neutral) axis 𝑟 and the angle 𝜃VW : 𝑅(𝑟, 𝜃VW ) = 𝑅VK 𝑅W (rotation
matrix changing the orientation from 𝐴 to 𝐵 Þ inverse axis-angle problem)
n plan a timing law 𝜃(𝑡) for the (scalar) angle interpolating 𝜃 = 0 with 𝜃 = 𝜃VW
in time 𝑇 (with possible constraints/boundary conditions on its time derivatives)
n "𝑡 ∈ [0, 𝑇], 𝑅V 𝑅(𝑟, 𝜃(𝑡)) specifies the actual end-effector orientation at time 𝑡
Robotics 1 18
A complete position/orientation
Cartesian trajectory
𝑥(0)
§ initial given configuration 𝑞 0 = 0 𝜋/2 0 0 0 0 𝑇

𝑇
§ initial end-effector position 𝑝 0 = 0.540 0 1.515
𝑦(0)
§ initial orientation
0 0 1
𝑅 0 = 0 −1 0 𝑧w
1 0 0

linear path axis-angle method 𝑦𝑤


for position for orientation
𝑇
§ final end-effector position 𝑝 𝑇 = 0 0.540 1.515
𝑧(𝑇)
§ final orientation
1 0 0
𝑅 𝑇 = 0 0 1 𝑦(𝑇)
0 −1 0 𝑧𝑤
§ the final configuration is NOT specified a priori
𝑦𝑤
Robotics 1 19
Axis-angle orientation trajectory
coordinated
video Cartesian motion
with bounds
𝐿 = 𝑝‚ƒ„…† − 𝑝ƒ„ƒ‡
𝑣)*+ = 0.4 [m⁄s]
= 0.763 [m] 𝑎)*+ = 0.1 [m⁄s2]
𝜔)*+ = 𝜋/4 [rad⁄s]
𝜔̇ )*+ = 𝜋/8 [rad⁄s2]
𝜔 = 𝑟𝜃̇ → 𝜔 = 𝜃̇

𝜔̇ = 𝑟𝜃̈ → 𝜔̇ = 𝜃̈ triangular
speed profile 𝑠(𝑡)
̇
with minimum
time 𝑇 = 5.52 s
𝑝 𝑠 = 𝑝ƒ„ƒ‡ + 𝑠 𝑝‚ƒ„…† − 𝑝ƒ„ƒ‡ (imposed by the bounds
on linear motion)
= 0.540 0 1.515 K + 𝑠 −0.540 0.540 0 K, 𝑠 ∈ 0,1

0 0 1 0 −1 0 𝒔 = 𝒔 𝒕 , 𝒕 ∈ [𝟎, 𝑻]
K
K
𝑅ƒ„ƒ‡ = 0 −1 0 = 𝑅ƒ„ƒ‡ 𝑅ƒ„ƒ‡ 𝑅‚ƒ„…†
= 0 0 −1
1 0 0 1 0 0 𝑅 𝑠 = 𝑅ƒ„ƒ‡ 𝑅𝑜𝑡(𝑟, 𝜃 𝑠 )
= 𝑅𝑜𝑡 𝑟, 𝜃#•
1 0 0
𝑅‚ƒ„…† = 0 0 1 1 1 2𝜋 𝜃 𝑠 = 𝑠𝜃ƒ• , 𝑠 ∈ 0,1
𝑟= −1 , 𝜃ƒ• = rad (= 120°)
0 −1 0 3 1 3
Robotics 1 20
Axis-angle orientation trajectory
𝑥=
𝑦=
𝑧=
triangular
planned profile for
motion of linear speed
Cartesian 𝑇 = 5.52 s
position
and velocity

𝑇 = 5.52 𝑇 = 5.52

§ the robot joint velocity was commanded


joint 2
by inversion of the geometric Jacobian
actual § a user program, via KUKA RSI interface
joint at 𝑇“ = 12 ms sampling time (two-way
motion communication)
§ robot motion execution is ≈ what was
planned, but only thanks to an external
kinematic control loop (at task level)
𝑇 = 5.52
Robotics 1 21
Comparison of orientation trajectories
Euler angles vs. axis-angle method

§ initial configuration 𝑞 0 = 0 𝜋/2 𝜋/2 0 −𝜋/2 0 𝑇

𝑇
§ initial end-effector position 𝑝 0 = 0.115 0 1.720
§ initial orientation 𝑥(0)
0
𝑅 0 = 0
0
−1
1
0
.
𝑧(𝑇) 𝑝(𝑇)
. 𝑝(0)
1 0 0 𝑥(𝑇) 𝑧(0)
K
§ initial Euler ZYZ 𝛼, 𝛽, 𝛾 angles 𝜙—˜— 0 = 0 𝜋/2 𝜋

via a linear path (for position)


𝑇
§ final end-effector position 𝑝 𝑇 = −0.172 0 1.720
§ final orientation zw
0 0 −1
𝑅 𝑇 = 0 −1 0 xw
−1 0 0
K
§ final Euler ZYZ angles 𝜙—˜— 𝑇 = −𝜋 𝜋/2 0

Robotics 1 22
Comparison of orientation trajectories
Euler angles vs. axis-angle method

0 0 1
𝑅ƒ„ƒ‡ = 0 −1 0
1 0 0 K
𝑅ƒ„ƒ‡ 𝑅‚ƒ„…†
0 −1 0 0
⟹ 𝜙—˜—,ƒ„ƒ‡ = 𝜋/2 = 0 1 0
𝜋 0 0 −1

0 0 1 0
𝑅‚ƒ„…† =− 0 1 0 ⟹ 𝑟 = −1 ,
1 0 0 0
𝜃=𝜋
−𝜋
⟹ 𝜙—˜—,‚ƒ„…† = 𝜋/2 zw
0
yw xw
(singularity at
𝛽 = 0 avoided!)

video video
using ZYZ Euler angles using axis-angle method
Robotics 1 23
Comparison of orientation trajectories
Euler angles vs. axis-angle method

𝑥=
𝑦=
𝑧=
linear motion
only along the
x-direction

planned
Cartesian
components 𝑇 ≈ 7.2 s 𝑇≈6s
of position
and velocity
faster motion
time with the
axis-angle method
(imposed by the
previous bounds
on angular motion)

using ZYZ Euler angles using axis-angle method


Robotics 1 24
Comparison of orientation trajectories
Euler angles vs. axis-angle method

𝜶= 𝜷 = 0 (singularity of
𝜷= the ZYZ representation)
𝜸=

by post-
orientation processing
in terms of ZYZ of planned
Euler angles pre-planned axis-angle
offline motion

𝑇 ≈ 7.2 s 𝑇≈6s

actual
joint
motion only three
joints move
(#2,#3,#5)

using ZYZ Euler angles using axis-angle method


Robotics 1 25
Uniform time scaling
n for a given path 𝑝(𝑠) (in joint or Cartesian space) and timing law 𝑠(𝜏)
(𝜏 = 𝑡/𝑇, 𝑇=“motion time”), we need to check if existing bounds 𝑣𝑚𝑎𝑥
on (joint) velocity and/or 𝑎𝑚𝑎𝑥 on (joint) acceleration are violated or not
n … unless such constraints have already been taken into account during the
trajectory planning, e.g., by using a bang-coast-bang acceleration timing law
n velocity scales linearly with motion time
n 𝑑𝑝 ⁄𝑑𝑡 = 𝑑𝑝 ⁄𝑑𝑠 𝑑𝑠 ⁄𝑑𝜏 k 1⁄𝑇
n acceleration scales quadratically with motion time
n 𝑑 > 𝑝⁄𝑑𝑡 > = 𝑑 > 𝑝⁄𝑑𝑠 > 𝑑𝑠 ⁄𝑑𝜏 >
+ 𝑑𝑝⁄𝑑𝑠 𝑑 > 𝑠 ⁄𝑑𝜏 > k 1⁄𝑇 >
n if motion is unfeasible, scale (increase) time 𝑇 → 𝑘𝑇 (𝑘 > 1), based on
the “most violated” constraint (max of the ratios |𝑣|/𝑣𝑚𝑎𝑥 and |𝑎|/𝑎𝑚𝑎𝑥)
n if motion is “too slow” w.r.t. the robot capabilities, decrease 𝑇 (𝑘 < 1)
n in both cases, after scaling, there will be (at least) one instant of saturation
(for at least one variable)
n no need to re-compute motion profiles from scratch!
Robotics 1 26
Numerical example -1
n 2R planar robot with links of unitary length (1 [m])
n linear Cartesian path 𝑝 𝑠 : 𝑞¢ = (110°, 140°) ⇒ 𝑝¢ = 𝑓(𝑞¢) = (−0.684, 0)
⇒ 𝑝P = (0.816, 1.4) [m], with rest-to-rest cubic timing law 𝑠(𝑡), 𝑇 = 1 [s]
n joint space bounds: max (absolute) velocity 𝑣)*+,P = 2, 𝑣)*+,> = 2.5 [rad/s],
max (absolute) acceleration 𝑎)*+,P = 5, 𝑎)*+,> = 7 [rad/s2]
𝑠)*+
̇
≈ 3 [m/s]
𝑝1
path length 𝐿 = 2.0518 [m]
𝑞0 zero initial and
final speed

𝑝0
𝑠 = 𝑠(𝑡) non-zero
(symmetric)
acceleration
𝑇=1

Robotics 1 27
Numerical example -2

n violation of both joint velocity and acceleration bounds with 𝑇 = 1 [s]


n max relative violation of joint velocities: 𝑘I¤¥ = 2.898 = max 1, 𝑞̇ P ⁄𝑣)*+,P , 𝑞̇ > ⁄𝑣)*+,>
n …. and of joint accelerations: 𝑘*““ = 6.2567 = max 1, 𝑞̈ P ⁄𝑎)*+,P , 𝑞̈ > ⁄𝑎)*+,>
n minimum uniform time scaling of Cartesian trajectory to recover feasibility
𝑘 = max 1, 𝑘I¤¥ , 𝑘*““ = 2.898 ⇒ 𝑇B“*¥¤§ = 𝑘𝑇 = 2.898 > 𝑇

𝑘𝑎𝑐𝑐

𝑘𝑣𝑒𝑙

= joint 1 = joint 2

Robotics 1 28
Numerical example -3
n scaled trajectory with 𝑇B“*¥¤§ = 2.898 [s]
n speed [acceleration] on path and joint velocities [accelerations] scale linearly [quadratically]
scaled by 1/𝑘 = 1/2.898 scaled by
P P
H = = 0.1191
« >.¬-¬ H

traced Cartesian path


and associated joint paths
remain the same!

at least 1 instant of saturation!

Robotics 1 = joint 1 = joint 2 29

You might also like