Professional Documents
Culture Documents
Mechatronics
journal homepage: www.elsevier.com/locate/mechatronics
Keywords: We describe a novel 3D path following control framework for articulated robots in applications where
Motion control system constant speed travel along a path is desirable, such as robotic surface finishing tasks. Given the desired
Robot manipulators robot configuration sequence with a list of waypoints along a path, a trajectory optimization scheme based
Path following
on direct collocation is proposed to determine the Cartesian path and the maximum constant translation
Robotics technology
speed that are dynamically feasible. Employing the Hermite–Simpson collocation method, a Cartesian path
Mechatronics systems
is developed that not only preserves the characteristics of the original motion sequence but also satisfies the
physical requirements of the robot kinematics and dynamics. Since joint velocity control is quite common in
many industrial robots, we consider a 3D kinematic control in the robot tool frame with control inputs as
rate of change of orientation. The objective for the translation motion is to achieve constant speed along the
path tangent direction, and that of the orientation control is to orient the robot properly based on the path
provided by a converging path planner. We describe the optimization procedure employed with the direct
collocation method to obtain the desired Cartesian path, an arc-length based re-parametrization of the desired
path, and a path planner that provides a converging path to the desired path. To perform the surface finishing
operation, we further present the joint space control law that is converted from the synthesis of the proposed
path following and impedance force control in the tool frame. To verify and evaluate the performance of the
proposed framework, we have conducted extensive experiments with a six degrees-of-freedom (DOF) industrial
robot for several paths that can be employed for surface finishing of a variety of industrial parts.
∗ Corresponding author.
E-mail addresses: ywen27@tamu.edu (Y. Wen), ppagilla@tamu.edu (P.R. Pagilla).
https://doi.org/10.1016/j.mechatronics.2021.102540
Received 7 December 2020; Accepted 7 March 2021
Available online 26 April 2021
0957-4158/© 2021 Published by Elsevier Ltd.
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
2
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
need finishing, and these tasks are automated by employing articulated and input, ℎ(⋅) denotes the path constraints which includes the kine-
robots, there is a significant need for the development of an efficient matic constraints associated with constant speed travel while passing
3D path following scheme. through all the waypoints, and 𝜂(⋅) denotes the system inequality con-
Given the discrete representation of the workpiece surface, one can straints associated with the robot with lower and upper bounds given
use a high-level planning algorithm to generate a series of kinematically by 𝜂 𝑙 and 𝜂 𝑢 , respectively. This is a complex problem for a multiple
feasible waypoints in joint space that the robot should pass through DOF articulated robot which depends on the robot configuration and
to complete the task. We assume the joint space motion sequence is its constrained motion. To numerically solve this problem, we can
dense enough to be representative of the curvature of the workpiece transcribe the continuous-time problem using the direct collocation
surface. The goal is to perform robotic surface finishing along a path method into a finite dimensional nonlinear program (NLP) [29].
passing through the given waypoints with constant speed. If the robot
experiences perturbations and veers from the desired path, then we de- 3.1. Direct collocation
sire a subsequent path that will converge to the desired path smoothly
without impacting the surface. To achieve this goal, we formulate In the Hermite–Simpson collocation method, the control inputs and
the following three subproblems which form the focus of this paper: states are approximated by piecewise continuous linear functions and
(1) the construction of a dynamically feasible Cartesian path and the cubic polynomials, respectively. Since the boundary conditions, path
maximum achievable speed based on the given discrete joint space constraints and system inequality constraints are functions of the states
waypoints and robot dynamics and constraints; (2) an arc-length based and control, they can be converted to a set of equality and inequality
parametrization of the Cartesian path for the maximum speed; and (3) as functions of the linear and cubic polynomials coefficients. In the
a robot control law that can execute the dynamically feasible Cartesian following we utilize the transcription process described in [8] and
path. The proposed framework for the three subproblems and how they modify it to include all the given waypoints and introduce additional
are related is illustrated in Fig. 2. constraints associated with our problem.
We first present the transcription process to transcribe the continu-
3. Trajectory optimization
ous formulation provided in (2) into a discrete NLP which can be solved
using a large-scale NLP solver, i.e., the continuous state and control are
We consider the task of generating a smooth Cartesian path for the
discretized at appropriately chosen time grids in the time interval of
robot end-effector passing through the given waypoints and moving
interest. Suppose (𝑁 + 1) ∈ Z+ desired waypoints in joint space are
with the maximum possible speed. We employ a cubic spline interpo-
given as (𝐪𝑑0 , … , 𝐪𝑑𝑁 ), where 𝐪𝑑𝑖 ∈ R𝑛𝑥 . Let 0 = 𝑡00 < ⋯ < 𝑡𝑝0 < ⋯ <
lation with the Hermite–Simpson collocation method. In the following,
𝑡𝑁
0
= 𝑇𝑓 define the time intervals and 𝑝 ∈ [0, … , 𝑁] denote the stage
we present the continuous time and transcribed discrete formulation
number. The time interval of stage 𝑝 is partitioned into 𝑛𝑝 uniform
of the proposed trajectory optimization procedure with equality and
time grids, where 𝑛𝑝 is a design parameter. For convenience, we denote
inequality constraints.
We consider the following state space representation of the robot 𝛥𝑡𝑝 = (𝑡𝑝+1
0
− 𝑡𝑝0 )∕𝑛𝑝 as the time interval between two consecutive time
equations of motion: grids. Thus, 𝑡𝑝𝑘 = 𝑡𝑝0 + 𝑘𝛥𝑡𝑝 , 𝑘 ∈ [0, 1, … , 𝑛𝑝 ], 𝑡𝑝𝑘+0.5 = 12 (𝑡𝑝𝑘 + 𝑡𝑝𝑘+1 ) and
[ ] [ ] 𝑡𝑝𝑓 = 𝑡𝑝+1 . An illustration of this notation is provided along the time-axis
𝑿̇ 1 𝑿2 0
= ∶= 𝐅(𝑡). (1) in Fig. 3; note that the collocation point (𝑡𝑝𝑘+0.5 ) is not shown.
𝑿̇ 2 𝐇(𝑿1 )−1 (𝐮 − 𝐂(𝑿1 , 𝑿2 ) − 𝐠(𝑿1 ))
where 𝑿1 ∶= 𝐪(𝑡) and 𝑿2 ∶= 𝐪(𝑡) ̇ with 𝐪(𝑡) and 𝐪(𝑡)
̇ as the joint position 3.2. Equality constraints
and velocity vectors, 𝐮(𝑡) is the vector of joint torques, 𝑛𝑥 is the number
of robot joints, 𝐇(⋅) is the joint space inertia matrix, 𝐂(⋅) is the matrix of 3.2.1. System dynamics
Coriolis and centrifugal terms, and 𝐠(⋅) is the joint space gravity vector, The system dynamics is integrated over the time grids via the
𝑡 denotes time. We also define the robot joint space state vector as: Simpson quadrature that converts the differential equations into a set
𝑿(𝑡) = [𝑿1𝑇 , 𝑿2𝑇 ]𝑇 . of equality constraints along the time grids. For every two consecutive
We consider the following formulation for generating a time optimal time grids of stage 𝑝, the state is approximated as follows:
trajectory that conforms to all the given constraints:
1 𝑝
𝑿(𝑡𝑝𝑘+1 ) − 𝑿(𝑡𝑝𝑘 ) ≈ 𝛥𝑡 (𝐅(𝑡𝑝𝑘 ) + 4𝐅(𝑡𝑝𝑘+0.5 ) + 𝐅(𝑡𝑝𝑘+1 )). (3)
minimize 𝑇𝑓 6
𝑿(𝑡),𝐮(𝑡)
̇ where 𝑘 = 0, … , 𝑛𝑝 .
subject to 𝑿(𝑡) = 𝐅(𝑡)
𝑔 (𝑿(𝑡), 𝐮(𝑡)) = 𝒈𝑙 (2)
3.2.2. Boundary constraints
ℎ (𝑿(𝑡)) = 0 Assuming that the robot manipulator is at rest at the initial and final
𝜂 𝑙 ≤ 𝜂 (𝑿(𝑡), 𝐮(𝑡)) ≤ 𝜂 𝑢 . time, the corresponding boundary conditions for the state and control
are:
where 𝑇𝑓 is the total time taken to execute the trajectory, 𝑔(⋅) denotes
the boundary constraints on the initial and terminal values of the state Joint position: 𝐪(0) = 𝐪𝑑0 , 𝐪(𝑇𝑓 ) = 𝐪𝑑𝑁 ; (4a)
3
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
Velocity continuity: ̇ 𝑝𝑓 )
𝐪(𝑡 = ̇ 𝑝+1
𝐪(𝑡 0
); (9b)
Acceleration continuity: ̈ 𝑝𝑓 )
𝐪(𝑡 = 𝑝+1
̈ 0 );
𝐪(𝑡 (9c)
Fig. 3. Illustration of the state trajectory for joint 1 showing stages and time grids for
3.3. Inequality constraints
the proposed multi-stage TO. The dots refer to the discretized states and the blue curve
is the cubic spline interpolation. In addition, the green dots refer to the given joint
The joint inequality constraints encode physical limitations of the
space waypoints. The states at 𝑡00 and 𝑡𝑁−1
𝑓
are given by the boundary conditions. The
state at the initial time of a given stage is set to be equal to the joint waypoint. The robot actuators into the problem. These joint constraints include:
user has the flexibility to determine the number of grids for a given stage based on the
surface geometry: for a stage where rapid state changes are expected, more grid points Position bounds: 𝐪 ≤ 𝐪(𝑡𝑝𝑘 ) ≤ 𝐪; (10a)
can be assigned. For example, the illustration shows uniformly distributed 5 time grids
for stage 𝑝 with 𝑛𝑝 = 4. The last state of each stage has to coincide with the initial Velocity bounds: 𝐪̇ ≤ ̇ 𝑝𝑘 )
𝐪(𝑡 ≤ 𝐪;
̇ (10b)
state (waypoint) of the next stage; this is enforced by the continuity conditions. Note
that 𝑡𝑁−1 = 𝑇𝑓 which will be obtained by solving the trajectory optimization problem.
Acceleration bounds: 𝐪̈ ≤ ̈ 𝑝𝑘 )
𝐪(𝑡 ≤ 𝐪;
̈ (10c)
𝑓
where the underline and overline on variables indicate the lower and
Joint velocity: ̇
𝐪(0) = 𝟎, ̇ 𝑓 ) = 𝟎;
𝐪(𝑇 (4b)
upper bounds, respectively. Additional external workcell or obstacle
Joint input: 𝐮(0) = 𝟎, 𝐮(𝑇𝑓 ) = 𝟎. (4c) constraints can also be included into this formulation.
where 𝟎 indicates the zero vector.
3.4. NLP and joint space trajectory
3.2.3. Kinematic constraints
Since we wish to have the end-effector or tool travel at a constant
Based on the transcription process and the constraints described
speed, we have the following kinematic constraint:
above, we can now formulate the optimization problem as a NLP in
‖𝐉𝑣 (𝐪(𝑡𝑝𝑘 ))𝐪(𝑡
̇ 𝑝𝑘 )‖ = 𝑣𝑝𝑑 . (5) the following manner. Denote the vector of decision variables as 𝐲 =
{𝑿(𝑡𝑝𝑘 ), 𝑿(𝑡𝑝𝑘+0.5 ), 𝐮(𝑡𝑝𝑘 ), 𝛥𝑡𝑝 } for 𝑝 ∈ [0, 𝑁], 𝑘 ∈ [0, … , 𝑛𝑝 ]. The resulting
where 𝐉𝑣 (⋅) is the partition of robot Jacobian matrix corresponding to
NLP after the transcription can be formulated as:
the end-effector velocity and 𝑣𝑝𝑑 is the magnitude of the velocity vector
𝑛
for stage 𝑝, which is to be determined. Since we are seeking a constant 𝑁 ∑
∑ 𝑝
magnitude velocity of travel along the Cartesian path, this constraint minimize (𝛥𝑡𝑝 )
𝐲
𝑝=0 𝑘=1
coupled with time optimal formulation will ensure maximum speed of (11)
subject to 𝜁 (𝐲) = 𝟎,
travel. Since we have set the length of two time grids as the decision
𝐛𝑚𝑖𝑛 ≤ 𝐛(𝐲) ≤ 𝐛𝑚𝑎𝑥 ,
variables, 𝑣𝑑 is a dependent variable. For a given stage number 𝑝, the
𝐲𝑚𝑖𝑛 ≤ 𝐲 ≤ 𝐲𝑚𝑎𝑥 .
total distance the robot has to travel within a time interval can be
approximated by This NLP minimizes the overall trajectory execution time subject to the
𝑛𝑝 −1 set of boundary functions 𝐛(⋅) and bounds on the decision variables as
∑
𝑙𝑝 = ‖𝐟(𝐪(𝑡𝑝𝑘+1 )) − 𝐟(𝐪(𝑡𝑝𝑘 ))‖. (6) indicated by 𝐲𝑚𝑖𝑛 and 𝐲𝑚𝑎𝑥 . The equations of motion are transcribed to
𝑘=0 be included in the set of equality constraints 𝜁 (⋅). The proposed NLP
where 𝐟(⋅) is the forward position kinematics function of the robot provides a solution for the time grids as well as the values of the state
which provides the current end-effector position. Thus, the equality and control trajectories at each time grid. Specifically, a total number
∑
constraint between 𝑙𝑝 and 𝑣𝑑 is given by of 𝑛𝑑 = 𝑁 𝑝=0 (2𝑛𝑝 + 1) − (𝑁 − 1) joint position can be solved. Once the
decision variable 𝛥𝑡𝑝 is obtained, we can utilize (7) to obtain 𝑣𝑑 .
𝑙𝑝 = 𝑣𝑝𝑑 𝛥𝑡𝑝 𝑛𝑝 . (7) Because the state is represented with cubic polynomials in the
Hermite–Simpson collocation, the direct collocation solves for the de-
3.2.4. Waypoint constraints cision variables as well as the coefficients of the cubic polynomials
For the optimal path to pass through the given waypoints, we
simultaneously. For a given stage 𝑝 and 𝑡 ∈ [𝑡𝑝0 , 𝑡𝑝𝑓 ), the joint trajectory
impose the following constraints on the states at the beginning of each
is described by the following expression [8]:
stage:
𝛿𝑡
′ 𝑿(𝑡) = 𝑿(𝑡𝑝0 ) + 𝐅(𝑡𝑝0 )( )
𝐪(𝑡𝑝0 ) = 𝐪𝑑𝑝′ , 𝑝′ ∈ [1, 𝑁 − 1]. (8) ℎ𝑝
3 1 𝛿𝑡
+ (− 𝐅(𝑡𝑝0 ) + 2𝐅(𝑡𝑝0.5 ) − 𝐅(𝑡𝑝𝑓 ))( 𝑝 )2
3.2.5. Continuity constraints 2 2 ℎ
2 4 1 2 𝛿𝑡
We have so far established constraints associated with system dy- + ( 𝐅(𝑡𝑝0 ) − 𝐅(𝑡𝑝0 + ) + 𝐅(𝑡𝑝𝑓 ))( 𝑝 )3 (12)
namics and kinematics for a given stage 𝑝. The necessity of the conti- 3 3 2 3 ℎ
nuity condition is illustrated and explained in Fig. 3. Since the robot where ℎ𝑝 = 𝑡𝑝𝑓 − 𝑡𝑝0 and 𝛿𝑡 = 𝑡 − 𝑡𝑝0 .
4
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
where the path parameter 𝜙 is monotonically increasing and one can where the prime on 𝑥̃ 𝑗 (𝜙)′ denotes derivative of 𝑥̃ 𝑗 with respect to 𝜙.
specify (𝑁 ′ + 1) discrete break points (𝜙0 , 𝜙1 , … , 𝜙𝑁 ′ ) for interpolation. The arc-length can be calculated from:
For a 𝜙 in the interval (𝜙𝑗 ≤ 𝜙 < 𝜙𝑗+1 ), one can consider the following 𝜙
where 𝑠̄𝑒 = 𝑠̄ − 𝑠̄𝑚 , 𝑎̄𝑚𝑖 , 𝑏̄ 𝑚𝑖 and 𝑐̄𝑚𝑖 are the cubic spline parameters
4. Arc-length based 𝟑D path construction
for the re-interpolated cubic spline segment with the scaled arc-length
parameter. The construction of the desired Cartesian path for the robot
Let the Cartesian path be reparameterized based on arc-length is summarized in Algorithm 1.
which is denoted by 𝑠. Denote 𝐏 ∶ 𝐽 → R3 as the arc-length pa-
rameterized curve, where 𝐽 is an open interval and ‖𝑑𝐏(𝑠)∕𝑑𝑠‖2 = 1,
i.e., the curve is of unit speed. Since we would like the end-effector to Algorithm 1 Proposed spline interpolation method
travel along the parameterized curve with constant speed of magnitude Input: Given list of 𝑁 ′ indexed Cartesian coordinates expressed in the
𝑣𝑑 > 0, our goal is to obtain a re-parametrization of the Cartesian robot base frame.
path, as in Eq. (13), with a new path parameter 𝑠̄ such that the Output: Piecewise cubic spline parameterized by the scaled arc-length,
following condition is met: ‖𝑑 𝐏( ̄ 𝑠)∕𝑑
̄ 𝑠‖̄ 2 = 𝑣𝑑 , where 𝐏̄ ∶ 𝐼 → R3 is ̄ 𝑠)
P( ̄ = (𝑥(
̄ 𝑠),
̄ 𝑦(
̄ 𝑠),
̄ 𝑧( ̄ with constant speed 𝑣𝑑 .
̄ 𝑠)),
the reparameterized arc-length based curve. Assuming the interpolated 1: Interpolate the list of indexed control points with cubic spline as
curve to be regular, there exists a differentiable function ℎ ∶ 𝐽 → 𝐼 𝜎 (𝜙) = (𝑥(𝜙),
̃ 𝑦(𝜙),
̃ 𝑧(𝜙)).
̄
̄
such that 𝐏 = 𝐏(ℎ) and 𝑠̄ = ℎ(𝑠); to ensure that the reparametrization 2: Equally partition the Cartesian path 𝜎 by its arc-length into 𝑚′ seg-
is orientation preserving, we have 𝑑ℎ(𝑠)∕𝑑𝑠 > 0. Since the arc-length ments, and we have 𝑚′ + 1 knot points whose Cartesian coordinates
interpolated curve 𝐏(𝑠) is of unit-speed, we have the following relation: corresponding to 𝑠𝑚 are (𝑥̄ 𝑚 , 𝑦̄𝑚 , 𝑧̄ 𝑚 ), 𝑚 = 0 ∶ 𝑚′ .
3: Re-interpolate the 𝑚′ + 1 knot points (𝑥̄ 𝑚 , 𝑦̄𝑚 , 𝑧̄ 𝑚 ) with the scaled
‖ 𝑑𝐏(𝑠) ‖ ‖ 𝑑ℎ(𝑠) 𝑑 𝐏(ℎ(𝑠))
̄ ‖
‖ ‖
1=‖ ‖
‖ 𝑑𝑠 ‖ = ‖ ‖ arc-length 𝑠̄𝑚 = 𝑠𝑚 ∕𝑣𝑑 with cubic spline.
‖ ‖2 ‖ ‖ 𝑑𝑠 𝑑ℎ(𝑠) ‖
‖2
‖ ̄ ‖
𝑑ℎ(𝑠) ‖ 𝑑 𝐏(ℎ(𝑠)) ‖ 𝑑ℎ(𝑠)
= ‖ ‖ = 𝑣 . (15) 5. Motion control strategy for path following
𝑑𝑠 ‖‖ 𝑑ℎ(𝑠) ‖2
‖ 𝑑𝑠 𝑑
Since 𝑣𝑑 ≠ 0, the re-parametrization function ℎ is bijective and con- Our strategy relies on modeling the end-effector velocity via a kine-
tinuous. We would like the re-parametrization to have zero initial matic model and utilizing this model for path following while achieving
condition, thus the constant speed parametrization is related to the constant speed. Since most of the industrial robots are controlled in
arc-length parametrization by: the joint position or velocity mode, the control law is developed in
1 the task space to describe the desired behavior of end-effector velocity.
𝑠̄ = ℎ(𝑠) = 𝑠. (16) We separate the controller design into the tangential and transversal
𝑣𝑑
5
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
⃖⃖⃖⃖⃖⃖⃗ as:
where 𝑠̄𝑐𝑒 = 𝑠̄𝑐 − 𝑠̄𝑚 . We define the vector 𝐷𝐶
⃖⃖⃖⃖⃖⃖⃗ = 𝐩𝑐 − 𝐩𝑑 = [𝑥𝑑𝑐 , 𝑦𝑑𝑐 , 𝑧𝑑𝑐 ]𝑇 .
𝐷𝐶 (21)
path provided by the converging path planner such that the robot can ̄ 𝑠), ⃖⃖⃖⃖⃖⃖⃗ = 𝟎, and there is no compensation.
If 𝐩𝑐 ∈ 𝐏( ̄ we have 𝐩𝑐 = 𝐩𝑑 and 𝐷𝐶
follow the desired nominal path precisely. With the proposed multi- ̄ 𝑠),
If 𝐩𝑐 ∉ 𝐏( ̄ the orientation compensation provided by the path planner
stage optimization scheme that considers the input constraints, we can
depends on the magnitude of 𝛽𝑠 and ‖⃖⃖⃖⃖⃖⃖ ⃗
𝐷𝐶‖.
assume that there is a lower level control that provides the necessary
In summary, the robot end-effector follows one of the converging
compensation for torque control.
paths to reach its reference value in a manner illustrated in Fig. 5(b):
the dashed line represents the translated spline via vector 𝐷𝐶 ⃖⃖⃖⃖⃖⃖⃗ and the
5.1. Converging path planner blue line represents the desired path. A 2D illustration of the converging
path as an attractive field is provided in Fig. 5(c). For drawing this
Due to the registration uncertainty associated with the workpiece illustration, we randomly generated a list of points around the desired
and process disturbances, the end-effector may veer off the desired path as current robot positions and calculated the corresponding con-
path. Further, in some applications, the end-effector may need to lift off verging paths. The tangent vectors around the converging paths, as
the surface and make contact again for surfaces with complex contours shown by the arrows, form an attractive field around the desired path.
that have disconnected finishing segments. During this process, if the When 𝐩𝑐 ∉ 𝐏( ̄ 𝑠),
̄ the converging path connects the current end-effector
robot impacts the workpiece with a non-zero velocity in the surface nor- position to the desired path in a way that the end-effector would return
mal direction, there is possibility of bouncing behavior since the part to to the desired path with tool aligned with the path. The converging
be machined usually has high stiffness. To deal with this problem, we path could be different from the desired nominal path. The desired
propose a converging path that the end-effector must follow from its nominal path is interpolated from the discrete waypoints, and is used
current position to reach the reference value on the desired path. For by the numerical projection to locate a unique reference for a given
a given robot configuration 𝐪 ∈ R𝑛 , the robot end-effector Cartesian end-effector position. When the current robot pose and reference value
position 𝐩𝑐 ∈ R3 can be uniquely defined in the base frame. Since we is known, the converging path planner provides the desired converging
can calculate the total arc-length the robot has traveled, the reference path for the path control such that the robot can converge and stay
6
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
√
where 𝑑𝑥𝑦 = 𝑡2𝑥 + 𝑡2𝑦 . Since we have constrained the translation
speed of end-effector to be a constant, the control for the end-effector
orientation is used to regulate the orientation error between the end-
effector frame and the desired orientation derived from the converging
path. Define these orientation errors as 𝑒1 (𝑡) = 𝜃 − 𝜃𝑑 (𝑡) and 𝑒2 (𝑡) =
𝜓(𝑡) − 𝜓𝑑 (𝑡). When the end-effector is traveling along the path with
constant translational speed, we have 𝑑𝑑𝑡𝑠̄ = 𝑣𝑑 . The error governing
equations after simplification are given by:
( )
𝑣 𝜕𝑡𝑦 𝜕𝑡
𝑒̇ 1 = 𝑢1 − 𝑑 𝑡𝑥 − 𝑥 𝑡𝑦
𝑑𝑥𝑦 𝜕𝑠 𝜕𝑠
=∶ 𝑢1 − 𝑒1 (𝑠𝑒 ), (27)
( )
𝑣𝑑 𝜕𝑡 𝜕𝑡𝑦 𝜕𝑡
𝑒̇ 2 = 𝑢2 − ( 𝑥 𝑡𝑥 + 𝑡 )𝑡 − 𝑧 𝑑 2
2
𝑑𝑥𝑦 𝑑𝑥𝑦𝑧 𝜕𝑠 𝜕𝑠 𝑦 𝑧 𝜕𝑠 𝑥𝑦
Fig. 6. Illustration of the 3D kinematics model. The end-effector velocity is aligned
with the path tangent. =∶ 𝑢2 − 𝑒2 (𝑠𝑒 ). (28)
√
where 𝑑𝑥𝑦𝑧 = 𝑡2𝑥 + 𝑡2𝑦 + 𝑡2𝑧 . One can choose an orientation control law
based on feedback linearization and a PID controller in the following
onto the desired nominal path with its tangent aligned with that of the
desired path to avoid impact with the surface; When the robot is on the form to impose a linear error dynamics and guarantee the end-effector
desired path, the current robot position coincides with the reference to follow the converging path:
Cartesian point. [ ] [ 𝑡
]
𝑢1 𝑒1 (𝑠𝑒 ) − 𝑘𝑝1 𝑒1 − 𝑘𝑑1 𝑒̇ 1 − 𝑘𝑖1 ∫0 𝑒1 𝑑𝑡
To constrain the end-effector position onto the desired path, the = 𝑡 . (29)
𝑢2 𝑒2 (𝑠𝑒 ) − 𝑘𝑝2 𝑒2 − 𝑘𝑑2 𝑒̇ 2 − 𝑘𝑖2 ∫0 𝑒2 𝑑𝑡
velocity vector must travel in the direction of the tangent of the
converging path. Therefore, the objective of the control action must where the 𝑘𝑝𝑗 , 𝑘𝑑𝑗 , 𝑘𝑖𝑗 , 𝑗 = [1, 2] are the corresponding controller gains.
be to align the velocity vector of the end-effector orientation with that
of the tangent of the converging path. 6. Simultaneous motion and force control
5.2. Kinematic model Since the motion and contact force can only be regulated in mutu-
ally independent directions, force is controlled along the surface normal
To determine the end-effector velocity control input, we consider direction and motion is controlled along the other constrained task
the following kinematic model for the end-effector motion to impose a directions according to the workpiece geometry. Instead of using the
constant velocity 𝑣𝑑 along the path: fixed base frame to decompose motion and force control directions, we
𝑥̇ 𝑏 = 𝑣𝑑 sin 𝜓 cos 𝜃, 𝑦̇ 𝑏 = 𝑣𝑑 sin 𝜓 sin 𝜃, utilize the intuitive end-effector frame 𝑍-axis as the direction normal to
the surface which is utilized for force control. For the motion control,
𝑧̇ 𝑏 = 𝑣𝑑 cos 𝜓, 𝜃̇ = 𝑢1 , 𝜓̇ = 𝑢2 . (24)
since the kinematic model in (24) describes a velocity in the base frame,
where 𝑥̇ 𝑏 , 𝑦̇ 𝑏 , 𝑧̇ 𝑏 are the components of the end-effector velocity ex- the rotation axis-angle formula is employed to transform it to the end-
pressed in the base frame, 𝑢1 and 𝑢2 are the pseudo-control inputs effector frame. To find the desired rotation velocity, the desired base
for this kinematic model. The proposed kinematic model describes a frame rotation velocity 𝜔 𝑏 can be calculated by:
space velocity vector of constant speed 𝑣𝑑 expressed in the base frame:
𝜔 𝑏 = [−𝑢2 sin 𝜃, 𝑢2 cos 𝜃, 𝑢1 ]𝑇 . (30)
when the translational speed of the end-effector is constrained to be
a constant, a set of spherical coordinates can fully describe a given 3D The unit rotation axis 𝑤̂ ∈ R3 and the rate of rotation about that axis
Cartesian velocity vector. The parameters 𝜃 and 𝜓 continuously modify 𝑤𝜃 ∈ R are given by
the orientation of the robot end-effector frame. Denote the component
of the current robot end-effector velocity vector 𝑣⃗𝑑 in the base frame 𝜔𝑏 ‖,
𝑤̂ = 𝜔 𝑏 ∕‖𝜔 𝑤𝜃 = ‖𝜔
𝜔𝑏 ‖. (31)
as 𝑣⃗𝑑 = [𝑣𝑑𝑥 , 𝑣𝑑𝑦 , 𝑣𝑑𝑧 ]𝑇 . The orientation 𝜃 and 𝜓 can be calculated
There are several ways to change the orientation of the robot end-
according to:
√ effector velocity as described in (24) and we have chosen the following.
𝜃 = atan2(𝑣𝑑𝑦 , 𝑣𝑑𝑥 ), 𝜓 = atan2( 𝑣2𝑑𝑥 + 𝑣2𝑑𝑦 , 𝑣𝑑𝑧 ). (25) We fix the velocity orientation in the end-effector frame, and without
loss of generality, we can chose the end-effector 𝑌 -axis as the motion
The variables associated with this 3D kinematic model for the end- controlled direction. To change the orientation of this velocity vector,
effector frame are defined through the base and end-effector frames as we change the orientation of the robot end-effector frame. Thus, the
shown in Fig. 6. Without loss of generality, we assumed the direction of joint velocity control command to be sent to the robot controller can
the velocity vector 𝑣⃗𝑑 to be aligned with the 𝑌 -axis of the end-effector be calculated from:
frame. As shown in Fig. 6, the objective of the control laws for 𝑢1 and
𝑢2 is to align the velocity orientation, shown by the red arrow, with 𝐪̇ 𝑑 = 𝐉−1 𝜔 𝑇
𝑡 [𝜔 𝑒𝑒 , [0, 𝑣𝑑 , 𝑣𝑓 ] ]. (32)
that of the converging path tangent, shown by the green arrow.
where 𝐪̇ 𝑑 is the desired joint velocity vector, 𝐉𝑡 is the Jacobian matrix
at the robot end-effector or tool tip (see [30]), 𝜔 𝑒𝑒 ∈ R3 is the desired
5.3. Robot end-effector velocity control strategy
rotation velocity expressed in the robot end-effector frame, i.e., 𝜔 𝑒𝑒 =
𝐑𝑒𝑒𝑤̂ 𝑤𝜃 , where 𝐑𝑒𝑒 ∈ 𝑆𝑂(3) is the rotation matrix from the base frame
The objective of the motion control in the end-effector frame is
to the end-effector frame, and 𝑣𝑓 is the impedance term that is utilized
to orient the velocity vector based on the path tangent provided by
for force control in the surface normal direction. Denote 𝐟𝑑 as the
the converging path planner. To transform the local tangent ⃗𝑡 on the
desired force and 𝐟𝑐 as the measured force. A generalized impedance
converging path into the orientation variables defined in (24), we have:
model is employed to convert the contact force error 𝐟𝑒 = 𝐟𝑐 − 𝐟𝑑 to its
𝜃𝑑 = atan2(𝑡𝑦 , 𝑡𝑥 ), 𝜓𝑑 = atan2(𝑑𝑥𝑦 , 𝑡𝑧 ). (26) corresponding position error which is then regulated via end-effector
7
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
𝐯𝑓 = −𝐤𝑓 𝑝 𝐟𝑒 − 𝐤𝑓 𝑑 𝐟𝑖 , 𝐟̇ 𝑖 = 𝐟𝑒 . (33)
𝐪̇ 𝑑 = 𝐉−1 𝛴
𝑡 (𝛴 𝑚 𝐕𝑚 + (𝐈 − 𝛴 𝑚 )𝐕𝑓 ). (34)
7. Experiments
8
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
In this paper, we have proposed a novel control framework for Declaration of competing interest
robots to perform surface finishing operations when there is only
No author associated with this paper has disclosed any potential or
discrete data from scanners/sensors available to characterize the path
pertinent conflicts which may be perceived to have impending conflict
on the surface. To determine the maximum achievable constant speed
with this work. For full disclosure statements refer to https://doi.org/
and generate a path that is consistent with robot dynamics and joint
10.1016/j.mechatronics.2021.102540.
constraints, we have posed the problem as a nonlinear optimal control
program and solved it with an efficient numerical method based on Acknowledgments
direct collocation. By interpolating the discrete Cartesian waypoints
extracted from the joint position trajectory, we have formulated an The authors would like to thank Jie hu and Daniel Jaeger for their
arc-length based Cartesian path consistent with the desired constant help in setting up the robots and force torque sensor under ROS. The
speed of travel along the path. To perform robotic surface finishing first author would like to thank Yinai Fan from UIUC for his generous
operations, we have introduced a simultaneous motion and force con- help and suggestions on the development of the trajectory optimization
trol method. For the motion control, we present a converging path section.
9
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
[9] Sager Sebastian. Numerical methods for mixed-integer optimal control problems.
Der Andere Verlag Tönning; 2005.
[10] Kolter J Zico, Ng Andrew Y. Task-space trajectories via cubic spline optimization.
In: 2009 IEEE international conference on robotics and automation. IEEE; 2009,
p. 1675–82.
[11] Siu Anthony. Real time trajectory generation and interpolation [Ph.D. thesis],
University of British Columbia; 2011.
[12] Duan Molong, Yoon Deokkyun, Okwudire Chinedum E. A limited-preview filtered
B-spline approach to tracking control–with application to vibration-induced error
compensation of a 3D printer. Mechatronics 2018;56:287–96.
[13] Cohen Elaine, Riesenfeld Richard F, Elber Gershon. Geometric modeling with
splines: an introduction. CRC Press; 2001.
[14] Aguiar A Pedro, Hespanha Joao P, Kokotovic Petar V. Path-following for non-
minimum phase systems removes performance limitations. IEEE Trans Automat
Control 2005;50(2):234–9.
[15] Olofsson Björn, Nielsen Lars. Path-tracking velocity control for robot
manipulators with actuator constraints. Mechatronics 2017;45:82–99.
[16] Xiang Xianbo, Lapierre Lionel, Liu Chao, Jouvencel Bruno. Path tracking:
Combined path following and trajectory tracking for autonomous underwater
vehicles. In: 2011 IEEE/RSJ international conference on intelligent robots and
systems. IEEE; 2011, p. 3558–63.
[17] Lapierre Lionel, Soetanto D, Pascoal Antonio. Nonsingular path following control
of a unicycle in the presence of parametric modelling uncertainties. Int J Robust
Nonlinear Control IFAC-Aff J 2006;16(10):485–503.
[18] Lapierre Lionel, Jouvencel Bruno. Robust nonlinear path-following control of an
AUV. IEEE J Ocean Eng 2008;33(2):89–102.
[19] Gill Rajan J, Kulić Dana, Nielsen Christopher. Spline path following for redundant
mechanical systems. IEEE Trans Robot 2015;31(6):1378–92.
[20] Kanjanawanishkul Kiattisin, Hofmeister Marius, Zell Andreas. Path follow-
ing with an optimal forward velocity for a mobile robot. IFAC Proc Vol
2010;43(16):19–24.
[21] Shiller Z. Time-energy optimal control of articulated systems with geometric path
constraints. In: Proceedings of the 1994 IEEE international conference on robotics
and automation. IEEE; 1994, p. 2680–5.
[22] Verscheure Diederik, Demeulenaere Bram, Swevers Jan, De Schutter Joris,
Diehl Moritz. Time-optimal path tracking for robots: A convex optimization
approach. IEEE Trans Automat Control 2009;54(10):2318–27.
Fig. 10. Surface Finishing Experimental Result. [23] Verscheure Diederik, Diehl Moritz, De Schutter Joris, Swevers Jan. Recursive log-
barrier method for on-line time-optimal robot path tracking. In: 2009 American
control conference. IEEE; 2009, p. 4134–40.
[24] Guo Hongyan, Liu Jun, Cao Dongpu, Chen Hong, Yu Ru, Lv Chen. Dual-envelop-
oriented moving horizon path tracking control for fully automated vehicles.
Mechatronics 2018;50:422–33.
[25] Wen Yalun, Pagilla Prabhakar. A novel path following scheme for robot
end-effectors. In: 2020 American control conference (ACC). IEEE; 2020, p.
2452–7.
[26] Pagilla Prabhakar R, Yu Biao. A stable transition controller for constrained
robots. IEEE/ASME Trans Mechatron 2001;6(1):65–74.
[27] Pagilla Prabhakar R, Yu Biao. Robotic surface finishing processes: modeling,
control, and experiments. J Dyn Syst Meas Control 2001;123(1):93–102.
[28] Wen Yalun, Pagilla Prabhakar R. A 3D path following control scheme for robot
manipulators. IFAC Proc Vol 2020.
Fig. 11. Workpiece Before and After Surface Finishing.
[29] Betts John T. Survey of numerical methods for trajectory optimization. J Guid
Control Dyn 1998;21(2):193–207.
[30] Lynch Kevin M, Park Frank C. Modern robotics. Cambridge University Press;
References 2017.
[31] Khatib Oussama. A unified approach for motion and force control of
[1] Flacco Fabrizio, De Luca Alessandro, Khatib Oussama. Motion control of redun- robot manipulators: The operational space formulation. IEEE J Robot Autom
dant robots under joint constraints: Saturation in the null space. In: 2012 IEEE 1987;3(1):43–53.
international conference on robotics and automation. IEEE; 2012, p. 285–92. [32] Wächter Andreas, Biegler Lorenz T. On the implementation of an interior-point
[2] Shin Kang, McKay Neil. A dynamic programming approach to trajectory planning filter line-search algorithm for large-scale nonlinear programming. Math Program
of robotic manipulators. IEEE Trans Automat Control 1986;31(6):491–500. 2006;106(1):25–57.
[3] Debrouwere Frederik, Van Loock Wannes, Pipeleers Goele, Dinh Quoc Tran, [33] HSL. Collection of fortran codes for large-scale scientific computation. 2007, See
Diehl Moritz, De Schutter Joris, et al. Time-optimal path following for robots http://www.hsl.rl.ac.uk.
with convex–concave constraints using sequential convex programming. IEEE
[34] Felis Martin L. RBDL: an efficient rigid-body dynamics library using recursive
Trans Robot 2013;29(6):1485–95.
algorithms. Auton Robots 2017;41(2):495–511.
[4] Pfeiffer Friedrich, Johanni Rainer. A concept for manipulator trajectory planning.
IEEE J Robot Autom 1987;3(2):115–23. [35] Patterson Michael A, Rao Anil V. GPOPS-II: A MATLAB software for solving
[5] Shin Kang, McKay Neil. Minimum-time control of robotic manipulators with multiple-phase optimal control problems using hp-adaptive Gaussian quadrature
geometric path constraints. IEEE Trans Automat Control 1985;30(6):531–41. collocation methods and sparse nonlinear programming. ACM Trans Math Softw
[6] Chettibi Taha. Synthesis of dynamic motions for robotic manipulators with 2014;41(1):1–37.
geometric path constraints. Mechatronics 2006;16(9):547–63. [36] Gill Philip E, Murray Walter, Wright Margaret H. Practical optimization. SIAM;
[7] Bock Hans Georg, Plitt Karl-Josef. A multiple shooting algorithm for direct 2019.
solution of optimal control problems. IFAC Proc Vol 1984;17(2):1603–8.
[8] Kelly Matthew. An introduction to trajectory optimization: How to do your own
direct collocation. SIAM Rev 2017;59(4):849–904.
10
Y. Wen and P.R. Pagilla Mechatronics 76 (2021) 102540
Yalun Wen is currently pursuing the Ph.D. degree in Prabhakar R. Pagilla received the B.Eng. degree in me-
mechanical engineering in J. Mike Walker’66 Department chanical engineering from Osmania University, Hyderabad,
of Mechanical Engineering, Texas A&M University, College India, in 1990, and the M.S. and Ph.D. degrees in me-
Station, TX, USA. His current research interests include chanical engineering from the University of California at
robotics, manipulator trajectory optimization, motion and Berkeley, Berkeley, CA, USA, in 1994 and 1996, respec-
force control, and mechatronics. tively. He is currently the James J. Cain’51 Professor II
and Associate Department Head in J. Mike Walker’66 De-
partment of Mechanical Engineering, Texas A&M University,
College Station, TX, USA. He is currently interested in the
broad area of modeling and control of dynamic systems
with applications in roll-to-roll manufacturing, large-scale
systems, robotics, and mechatronics. He was a recipient of
the National Science Foundation CAREER Award in 2000.
He was an Associate Editor of the ASME Journal of Dynamic
Systems, Measurement and Control and a Technical Editor
of the IEEE/ASME Transactions on Mechatronics. He is a
fellow of the American Society of Mechanical Engineers.
11