Uploaded by Pedro Lopes

Trajectory Generation of a Two-Wheeled Mobile Robot in an Uncertain Environment

advertisement
5586
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020
Trajectory Generation of a Two-Wheeled Mobile
Robot in an Uncertain Environment
Joonyoung Kim
Abstract—This article presents a novel method to generate a trajectory for a two-wheeled mobile robot moving
in an uncertain environment where only a few way-points
are available to reach a nearby target state. The proposed
method interpolates way-points by the combination of a
straight line and a fifth-order Bézier curve along which the
curvature varies continuously. In addition, a method to generate the associated timing law is proposed such that the
robot travels along the curve in near minimum time under the maximum velocity and torque constraints. Since
the method aims for an online application, heuristic techniques are applied to minimize the computational cost for
finding the optimal solution. The time for computing a complete time-optimal trajectory for a moving robot to transit to
a next way-point is only several milliseconds when tested
in a personal computer. This result implies that a highly efficient motion control system for a two-wheeled mobile robot
can be implemented with a low-cost hardware available
today.
Index Terms—Minimum-time control, mobile robot, trajectory planning.
I. INTRODUCTION
RAJECTORY generation for a wheeled mobile robot with
an uncertain environment is an open problem. The success of this task requires technological advancements in various
fields of study such as sensors, mapping and localization, path
planning, trajectory generation, tracking control, and so on. In
this article, the problem of trajectory generation is addressed,
which is to find the associated timing laws of the wheels such
that the robot can reach a given target state. However, generating
a trajectory in an uncertain environment is a challenging task.
First of all, the trajectory must be planned immediately whenever a new target state is available. Otherwise, the robot cannot
respond quickly to an unforeseen event, e.g., an imminent collision. Therefore, a quick response should be the basic requirement for a mobile robot moving in an uncertain environment. In
order for the robot to respond quickly, two contradictory conditions, namely, time optimality and computational efficiency,
must be met simultaneously. A general approach to optimizing the motion time entails computation of a dynamic model.
T
Manuscript received January 30, 2019; revised May 10, 2019 and June
12, 2019; accepted July 17, 2019. Date of publication August 2, 2019;
date of current version March 4, 2020.
The author is with the Robot Center, Samsung Research, Samsung Electronics, Seoul 06765, South Korea (e-mail:, joonyoung.gim@
gmail.com).
Digital Object Identifier 10.1109/TIE.2019.2931506
However, existing methods exhibit a large computational load
due to an exhaustive search for the optimal solution, requiring
hundreds or thousands of computation times, which is a critical
issue if the method needs to be implemented in a low-cost control
system available today. In this case, a more desirable approach
would be to optimize the computational cost while sacrificing
time optimality as long as the solution is acceptable. The benefit
of the latter approach would be a low-cost implementation with
a reasonably fast robot motion. However, the work related to
the latter approach has not received much attention compared
with the former approach. Toward this end, this article presents
a method to generate a near-time optimal trajectory with minimized computational costs. It will be shown that the proposed
solution is much simpler than existing ones, requiring only a few
computations of robot dynamics per path segment. A detailed
discussion on the method will be followed in the next sections
after related works and the main contributions of this article are
discussed.
In general, the first step toward the trajectory generation is
to interpolate a set of way-points that are generated by a path
planner. Therefore, a method to interpolate these points affects
the robot trajectory. The most well-known method is to combine a straight line and a circle [1]. However, this approach
guarantees C 0 —continuity only, i.e., continuous positions and
orientations. The angular velocity is discontinuous at transitions
between a straight line and a circle. Thus, a large path deviation
can occur at transitions due to infinite accelerations [2]. Accordingly, the problem of finding a smooth interpolating curve has
attracted a number of researchers. Kanayama and Hartman [3]
proposed cubic spirals such that the curvature varies continuously at transitions between a curve and a straight line. Fraichard
and Scheuer [4] showed that the clothoid curve can be used to
connect a straight line and a circle to achieve linearly varying
curvature. Bianco et al. [5] proposed a smooth curve that is
continuous with regard to curvature and its first derivative. In
the study of Kelly and Nagy [6], parametric curves were converted into a unified form to solve optimization problems more
systemically. Pan et al. [7] used cubic B-splines to interpolate
sampled points (way-points) that are obtained by global path
planners [8], [9], i.e., planning the path from the initial configuration to the final one assuming a static environment. In Yang
and Sukkarieh [10] and Chen et al. [11], similar works as [7]–
[9] were performed using Bézier curves to interpolate sampled
points.
Even if a smooth curve is found, finding a feasible timing
law is another problem as there exist infinitely many solu-
0278-0046 © 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT
tions that can travel along the specified curve. Yamamoto et al.
[12] proposed a method to generate a time-optimal trajectory
based on a kinematic model assuming a constant maximum acceleration. The path is expressed by a path parameter and the
maximum pseudovelocity (the first derivative of the path parameter) is calculated in the phase plane by numerically integrating
the equation of motion. This idea was originally proposed for a
robot manipulator in [13] and [14]. In Wu et al. [15], a trajectory
was designed based on a dynamic model for a circle–line–circle
motion. Villagra et al. [16] proposed an optimal trajectory for
an automated vehicle that can satisfy the maximum velocity,
acceleration, and jerk. Prado et al. [17] used a cubic polynomial
function to connect the boundary conditions given the kinematic
limits. In [18] and [19], bang–bang controls for input voltages
were suggested.
Some researchers focused on the execution of the trajectory,
most of which focused on the nonholonomic nature of the kinematic model [20]–[22]. In Kim [23], different control methods
were compared in real-world experiments. Fierro and Lewis
[24] proposed a back-stepping controller based on a dynamic
model.
The main contribution of this article is as follows. First, a new
interpolation scheme, referred to as the concatenated Bézier
curve in this document, is proposed. It consists of a straight line
(the first-order Bézier curve), the fifth-order Bézier curve, and
a straight line, which is a similar technique proposed in [1], i.e.,
a combination of a straight line and a curve, except that the curvature of the proposed method is continuous. It is demonstrated
that the proposed scheme can be easily applied to generate motions that are commonly used for wheeled mobile robots such
as a lane changing and a point-to-point motion. The benefit of
the proposed curve is that solving time optimality for the associated timing laws is much simpler than a nonzero curvature
path, e.g., [5]–[7], as the former has zero curvature along the
straight lines where the maximum and minimum acceleration
can be obtained analytically. For connecting two straight lines,
the fifth-order Bézier curve is proposed. The control points are
selected such that the curvature at the end points is zero, resulting in a curvature-continuous concatenated Bézier curve. This
approach is similar to the method presented in [10], in which
it utilizes a high-order Bézier curve to connect two straight
lines. However, the work in [10] is focused on optimization of
path curvature and generating an associated timing law is not
discussed.
Second, a computationally efficient way to generate a time
optimal trajectory is presented. Even though it is based on a
dynamic model, the computational load is very low. Unlike
a straight line, to obtain a time-optimal solution for a curve
(nonzero curvature) requires a large computational cost, e.g.,
[12], [15], [18], and [19]. In the proposed method, some heuristic
approaches are adopted to reduce the computational cost. First of
all, it is assumed that the trajectory follows a trapezoidal velocity
profile (TVP) where only three maximum constant values (acceleration, speed, and deceleration) are necessary to completely
determine a trajectory. Second, a constant pseudovelocity along
the curve is assumed for a path with a nonconstant curvature.
5587
Fig. 1. Kinematic model of a mobile robot (d: the distance from the
center of the chassis (COC) to the center of mass along X R , L: the
length between the COC and a wheel, R: the radius of a wheel).
The fixed frame is denoted by {w}, whereas {a} represents the robot
frame, fixed at the COC.
In this way, the robot dynamics becomes a function of a path
parameter and its velocity only. Then, the kinematic and the
dynamic constraints are approximated by cubic spline functions
whose knots are selected based on curvature. By utilizing these
techniques, the problem of finding the optimal trajectory along
a curve is simplified to solving a set of quadratic inequalities
whose analytical solutions can be easily obtained.
This article is organized as follows. Section II introduces
the kinematic and dynamic models that are used throughout the
article. In Section III, the proposed concatenated Bézier curve is
introduced. In Section IV, a method to generate a time-optimal
trajectory along the proposed curve in Section III is presented.
In Section V, numerical examples are shown to validate the
proposed methods. Finally, concluding remarks are provided.
Section VI concludes this article.
II. KINEMATIC AND DYNAMIC MODEL
The robot that is considered in this article is a two-wheeled
differentially driven mobile robot as shown in Fig. 1. Let us
define the generalized velocity of the robot as
T
∈ 2
(1)
q̇ = q̇1 q̇2
where q̇i is the velocity of i’s wheel. The mobile robot is subject
to a nonholonomic constraint
ζ̇ = Jq̇
Δ
(2)
Δ
where ζ̇ = [ v ω ]T ∈ 2 and J = R2 [ 11 −11 ] ∈ 2×2 .
L
L
The dynamic model can be expressed in terms of the generalized velocity
Mq̈ + B(q̇)q̇ + fv q̇ = τ ∈ 2
(3)
where M ∈ 2×2 is a constant matrix, symmetric, and positive
3
q̇ 2
c dR
[ q̇ 2 −0 q̇ 1 q̇ 1 −
] is the Coriolis and cendefinite; B(q̇) = m4L
2
0
2×2
trifugal effect, and fv ∈ is a constant diagonal matrix that
represents the viscous friction coefficients. It is assumed that
there are no slippages, which means that the Coulomb friction
is high enough. However, the Coulomb friction is not considered
in the dynamic model to simplify the problem.
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
5588
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020
Fig. 3. Fifth-order Bézier curve fc for m = 3 in (8). The curve always
exists inside the polygon (shaded area) defined by the control points.
For the curve fc , we propose the fifth-order Bézier curve as
shown in Fig. 3, which is defined by six control points, denoted
as b0 , . . . , b5 ∈ 2 . The fifth-order Bézier curve can be written
in the standard form as
n
=5
n
(5)
fc (s) =
(1 − s)n −k sk bk , 0 ≤ s ≤ 1.
k
k =0
Fig. 2. The proposed online interpolation scheme. (a) Initial condition.
(b) Transition to a new target along a concatenated Bézier curve.
One characteristic of a Bézier curve is that the derivatives at
the boundary are completely determined by the nearby control
points.
For the first derivatives
Refer to [25] for more details on the above notations. Derivation of the dynamic model (3) is discussed in [25]–[27]. The
equation of motion (3) can also be written in the following
form as:
d
fc (0) = n (b1 − b0 )
ds
d
fc (1) = n (bn − bn −1 ) .
ds
Mq̈ + q̇T Cq̇ + fv q̇ = τ ,
3
(4)
3
−1 0.5
m c dR
c dR
[ 0.50 0.5
where Cij 1 = m4L
2
−1 ] and Cij 2 = 4L 2 [ 0.5 0 ].
2×2×2
In (4), the term C ∈ is a tensor that represents the
coefficients of the Coriolis and centrifugal effect. Note that the
coefficients in (4) are all constant.
III. ONLINE INTERPOLATION OF MULTIPLE WAY-POINTS
In Fig. 2, a method that can smoothly interpolate between
way-points while on the move is shown. It is assumed that the
robot is initially moving toward the original target pn from the
position pn −1 along a straight line fn (sn ), where fn (0) = pn −1
and fn (1) = pn [see Fig. 2(a)]. At this instance, the robot is
requested to move to a new target, pn +1 [see Fig. 2(b)]. In this
case, consider a straight line fn +1 connecting from pn to pn +1 .
Let us assume that there exists a point fn (si ), where s0 ≤ si ≤ 1
and fn (s0 )is the initial point, such that the robot can reach fn (si )
(distance r from pn ) and ḟn (si ) (some specified value) under the
minimum acceleration limit. Next, consider a smooth (curvature
continuous) curve that can connect between fn (si ) and fn +1 (sj )
whose curvature is zero at the end points. Finally, a timing law is
planned along the curve that connects fn (s0 ), fn (si ), fn +1 (sj ),
and fn +1 (1) = pf , given the initial and final velocities.
(6-1)
(6-2)
Likewise, the second derivatives are obtained as
d2
fc (0) = n(n − 1) (b2 − 2b1 + b0 )
ds2
(7-1)
d2
fc (1) = n(n − 1) (bn − 2bn −1 + bn −2 ) .
ds2
(7-2)
Now consider the following control points:
⎧
k
⎪
⎪
⎨ (pn − fn (si )) + fn (si ),
m
bk =
⎪
⎪
⎩ 5 − k (pn − fn +1 (sj )) + fn +1 (sj ),
m
k = 0, 1, 2
k = 3, 4, 5
(8)
where m is any integer larger than 2. By substituting (8) into
(6), the first derivatives at the boundaries become
n
d
fc (0) =
(pn − fn (si ))
ds
m
d
n
fc (1) = − (pn − fn +1 (sj )) .
ds
m
(9-1)
(9-2)
Notably, utilizing (7) and (8) leads to
d2
fc (0) = 0,
ds2
d2
fc (1) = 0.
ds2
(10)
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT
Fig. 5.
5589
Mobile robot moving along a specified path.
Let us consider a case where the robot is traveling along a
parameterized curve as shown in Fig. 5.
In this case, the linear and angular velocities can be expressed
in terms of the path f (s) and the path parameter s as follows:
v=
Fig. 4. Examples of the proposed interpolation scheme (shaded circles: the initial and final points, white circles: inserted way-points).
(a) Lane changing. (b) Point-to-point moving.
That is, the second derivative of the curve at each boundary
becomes zero and so is the curvature, κ(s), since
κ(s) =
f (s) × f (s)
f (s)3
(11)
Δ
d
f (s).
where f (s) = ds
More specifically, the second derivative becomes zero at each
boundary because the control points (8) are selected according to b1 − b0 = b2 − b1 and b5 − b4 = b4 − b3 . In Fig. 4,
examples of the proposed interpolation scheme are shown. It
is assumed that the boundary conditions (position/orientation
and the linear velocity) of the robot are given. In case of a
lane changing, it is required that the robot changes the direction of its heading twice, e.g., a left turn and then a right turn
[see Fig. 4(a)]. Therefore, inserting two way-points, p1 and p2 ,
between the initial and final points are sufficient to achieve
this goal. For a point-to-point motion where both the position
and orientation of the robot must be located at the final point,
up to three way-points, p1 , p2 , and p3 , may be required [see
Fig. 4(b)]. The first point p1 and the last point p3 are necessary
for orientations at each boundary. Another intermediate point
p2 may also be necessary to avoid a high curvature.
d
f (s) = f (s) ṡ
dt
(14-1)
ω = κ(s)v = κ(s) f (s) ṡ.
Therefore, (2) can be written as
T
= f (s)
ζ̇ = v ω
f (s)×f (s)
f (s)2
(14-2)
T
ṡ.
(15)
Then, it is possible to express as
ζ̇(s) = ζ (s)ṡ
(16)
Δ
with ζ (s) = f (s)[ 1 κ(s) ]T . In case of a pure rotation, the
above expression still holds because
T
(17)
ζ (s) = 0 θ[ω̂]s
where f (s) = e[ ω̂ ]θ s ∈ SO(2), [ω̂] = ±1 (the direction of rotation) [28]. By utilizing (2) and (16), the kinematic mapping
between the path parameter and the wheel velocity and acceleration is obtained as follows:
q̇ = J−1 ζ (s)ṡ
q̈ = J−1 ζ (s)s̈ + ζ (s)ṡ2 .
(18-1)
(18-2)
Substituting (18) into (4) obtains a dynamic model that is
expressed in terms of the path parameter
τ = m(s)s̈ + b(s)ṡ2 + c(s)ṡ
(19)
Δ
where m(s) = MJ−1 ζ (s)
T Δ
b(s) = MJ−1 ζ (s) + J−1 ζ (s) C J−1 ζ (s)
IV. TIME-OPTIMAL TRAJECTORY PLANNING (TOTP)
In this section, a method to generate a near minimumtime trajectory that travels along the concatenated Bézier
curve is discussed. It is assumed that the trajectory is subject to the following kinematic and dynamic constraints,
respectively, as:
− |q̇m ax,i | ≤ q̇i ≤ |q̇m ax,i | , i = 1, 2
(12)
− |τ m ax,i | ≤ τ i ≤ |τ m ax,i | , i = 1, 2.
(13)
Δ
c(s) = fv J−1 ζ (s)
By inserting (18-1) into (12), the kinematic constraints can
also be expressed in terms of the path parameter as well. That is
ṡm ax = min ṡm ax,i (s)
i=1,2
Δ
(20)
q̇
,i
|.
where ṡm ax,i = | (J −1mζax(s))
i
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
5590
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020
Fig. 7.
Fig. 6. Motion profiles along a straight line with a TVP trajectory.
(a) TVP of the pseudovelocity ṡ ≥ 0. (b) Torque profile.
As shown in Fig. 6, the maximum torque in the ramp-up phase
(s̈ > 0) occurs at the highest velocity due to the equal directions
of the inertial force and the friction force. In the ramp-down
phase (s̈ < 0), the minimum torque occurs at the end of motion
as the friction force exerts in the opposite direction of the inertial
force. Since the maximum velocity ṡm ax can be solved for (20),
the optimal accelerations can be obtained according to
|τ m ax,i | − c̄i ṡm ax
s̈m ax = min
, i = 1, 2
(23-1)
m̄i
− |τ m ax,i | − c̄i ṡf
s̈m in = max
, i = 1, 2.
(23-2)
m̄i
where it is assumed that mi > 0.
A. TOTP for a Straight Line
During the motion along a straight line, the term ζ (s) is
constant. In addition, the second derivative with respect to path
parameter ζ (s) is zero. In the meantime, it holds B(q̇) = 0.
Therefore, the dynamic model can be written more simply as
τ = m̄ s̈ + c̄ ṡ
(21)
where the overbar means constant. For a straight line, it is assumed that the pseudovelocity ṡ(t) follows a TVP as shown
in Fig. 6(a). There are three main reasons why the TVP is assumed. First of all, it is often desired that the robot follows
a TVP-like profile, a ramp-up, a cruise at maximum velocity,
then a ramp-down. Second, the trajectory is simple such that
a closed-form solution can be readily obtained. By combining
with filtering techniques, one can control the smoothness of
the trajectory while the overall shape of the trajectory is not
distorted significantly [29]. However, it should be noted that a
time-optimal trajectory does not follow a TVP trajectory but
rather an exponential function for ramp-up and ramp-down for
a second-order rigid dynamic model (see Fig. 18). In this article,
it is attempted to approximate the true time-optimal solution by
a TVP trajectory with constant accelerations.
If the pseudovelocity follows a TVP trajectory, the timeoptimization problem is to find optimal values s̈ and ṡ satisfying
the following linear inequalities:
|m̄i s̈ + c̄i ṡ| ≤ |τ m ax,i | ,
Example to select the step size based on curvature.
i = 1, 2.
(22)
B. TOTP for a Fifth-Order Bézier Curve
The problem of minimum-time trajectory along a curve is
more complicated than the case for a straight line because the
coefficients in (19) are no longer constant. Therefore, finding
the true optimal values requires calculating the dynamic model
everywhere along the path. To simplify the problem, a constant
pseudovelocity is assumed, which results in a set of quadratic
inequalities with nonconstant coefficients with a single value ṡ
to be optimized as
bi (s)ṡ2 + ci (s)ṡ ≤ |τ m ax,i | , i = 1, 2.
(24)
One benefit of using a constant pseudovelocity is that the
motion along the curve can become smoother compared with a
case with a nonzero pseudoacceleration. Of course, one obvious
drawback is the increased motion time due to the additional
constraint.
To reduce the computational cost further, the kinematic constraint, (20), and the dynamic terms, b(s) and c(s) in (24), are
approximated by cubic splines whose knots are selected based
on curvature (see Fig. 7). That is, as the curvature becomes
larger, the step size Δsh in sh = sh−1 + Δsh (h: step index)
becomes smaller. The step size Δs is generated based on the curvature at s, where s is the path parameter, such that Δs is inverse
proportional to the curvature. To values of Δs is computed by
a quadratic function whose limits are defined by the upper and
lower bounds of the heuristically chosen Δsm ax , Δsm in , κm ax ,
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT
Fig. 8.
5591
Quadratic interpolation of the step size based on the curvature.
κm in as shown in Fig. 8. The idea comes from the observation
that the dynamic equations (24) tend to vary more sharply as
the curvature increases. The coefficients in (24) contain ζ (s) or
ζ (s), both of which depend on curvature κ(s) as it is implied
in (16).
Assuming that the cubic splines accurately approximate the
original functions (20) and (24), the steps that can find the
maximum pseudovelocity ṡm ax subject to (20) and (24) are
now described. First, the global minimum of the approximated
function of (20) is found, denoted as ṡkminax (see Fig. 10). Next,
(24) is solved for ṡ at the boundaries and choose the smallest
.
one, denoted as ṡboundary
m ax
boundary
kin
) and construct
Then, choose ṡdyn
m ax,0 = min(ṡm ax , ṡm ax
another cubic spline curve for (24) (see Fig. 11), referred to as
the approximated dynamic limit curve (ADLC). Next, calculate
the torque at the local maxima for the ADLC. If the torque
is violated, solve (24) to obtain ṡdyn
m ax,k , where k is an index.
Finally, choose mink =0,...,N ṡdyn
m ax,k , where N is the number of
local maximum where the torque is saturated.
The complete algorithm to plan the proposed trajectory for
the case described in Fig. 2(b) is summarized in Algorithm 1.
Note that it is assumed that the trajectory for fn , that is, the
trajectorysn (t) has been planned and the robot is moving along
fn . The case when the replanned trajectory for sn (t) is not
feasible indicates that the robot cannot reach the given final
position and velocity due to insufficient deceleration. In other
words, the distance between the initial and the final position
is too close. In this case, the only choice that can generate a
feasible trajectory for sn (t) is to decrease r. The computation
time from step 1 to step 8 in the TOTP algorithm is very small
as each step requires computation with closed-form solutions.
In case when no feasible solution for sn (t) is available in step 9,
the computation time can increase as it is necessary re-execute
from step 2 to step 8. However, it is guaranteed that the algorithm
will converge as r approaches zero. Therefore, one can design
the iterative routine to scale raccording to the computational
requirement of the available system.
V. SIMULATION RESULTS
In simulation, a total of three cases were tested. The first case
(Case I) was to emulate the situation described in Fig. 2. The
other cases were for a lane changing [see Fig. 4(a)] and a pointto-point [see Fig. 4(b)], referred to as Cases II and Case III,
Fig. 9. Animation for Case I (50 Hz). The time when receiving the
way-points are 0 and 0.3 s.
Algorithm 1: TOTP Algorithm.
1: Plan the trajectory, sn +1 (t) for fn +1 assuming zero
boundary velocities (Section IV-A)
2: Compute the boundary points, fn (si ) and fn +1 (sj )
given r. Then, compute the range of velocity such that
the robot can reach given the deceleration limit.
3: Plan the curve fc according to (8).
4: Find the boundary velocities, ṡi and ṡj from the straight
line trajectories. Calculate the boundary velocities for
fc according to
ṡc,0 =
f n (si )
ṡi ,
f c (0)
ṡc,f =
f n +1 (sj )
ṡj .
f c (1)
5: Set the initial ṡ0c = min(ṡc,0 , ṡc,f ).
kin
6: Compute ṡkin
m ax and update ṡm ax =
)—Section
IV-B
min(ṡ0c , ṡkin
m ax
7: Compute ṡdyn
m ax —Section IV-B
8: Recalculate ṡi and ṡj according to 4.
9: Replan sn (t) and ṡn +1 (t). If sn (t) is not feasible, go
back to 2. Then, find a new r and continue from 2.
respectively. The results for Case I are shown form Figs. 9–
12. The algorithm was written in MATLAB R2016a and was
run on a PC with Intel(R) Core(TM) i7-6700 CPU @ 3.4-GHz
machine with 16-GB RAM. The computation time for running
Algorithm 1 for Case I was 6.0 ms on average (the number of
test: 5, standard deviation: 0.45 ms). It is assumed that the entire
way-points are not known in advance. Rather, the next way-point
is known only when the robot completes transitioning from a
curve to a straight line. It was set m = 3 in (8) to select the
control points. The robot tested in simulation is a differentially
driven two-wheeled mobile robot that is similar to TurtleBot3
[30]. The model parameters are shown in Table I. The simulation
results for Cases I, II, and III are shown from Figs. 9 to 17. In
the animation plots (see Figs. 9, 13, and 15), the top views
of the mobile robot are shown (white circles: wheels, lines:
chassis, black circles: way-points). To evaluate the performance
of the proposed algorithm with respect to time optimality, the
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
5592
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020
TABLE I
PARAMETERS OF THE ROBOT MODEL FOR SIMULATION
Fig. 10. Maximum pseudovelocity under the kinematic constraint (20)
along the fifth-order Bézier curve for Case I (solid line: true curve, dashed
line: cubic spline estimation, circles: knots for cubic spline estimation).
The global minimum, 1.611, is chosen for ṡkin
m ax .
Fig. 13. Animation for Case II (50 Hz). The time when receiving the
way-points 0, 0.3, and 1.2 s, respectively.
Fig. 11. Torque of the second wheel along the fifth-order Bézier curve
with ṡkin
m a x = 1.611for Case I (solid line: true curve, dashed line: cubic
spline estimation, and circles: knots for cubic spline estimation). The local
maxima are 93.120 and 31.56 at s = 0.406 and s = 0.632, respectively.
Fig. 14. Motion profiles for Case II. In the right figure, the sold line and
the dashed line indicate joint 1 and joint 2, respectively.
Fig. 12.
Motion profiles for Case I (solid: joint 1, dashed: joint 2).
Fig. 15. Animation for Case III (50 Hz). The time when receiving the
way-points are 0, 0.3, 1.2, and 2.2 s, respectively.
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
KIM: TRAJECTORY GENERATION OF A TWO-WHEELED MOBILE ROBOT IN AN UNCERTAIN ENVIRONMENT
Fig. 16.
5593
of 100% are due to the additional constraints imposed on the
method such as the TVP assumption (constant accelerations)
and the constant pseudovelocity during transitions. In Fig. 18,
the proposed trajectory is compared with the other time-optimal
trajectories whose torque is saturated at all times, e.g., [18]
and [19], for a case when the robot moves along straight-line
path under the torque constraint only. The mean value of Rτ (t),
t=T
Δ
i.e., R̄τ = T1 t=0 Rτ (t) dt, of the proposed trajectory is only
62.5%, whereas it is 100% for the true solution. The motion time
of the proposed trajectory is 13.7% longer than the true solution. Certainly, the lower efficiency of the proposed trajectory is
due to the constant accelerations while the accelerations should
be variable depending on the velocity to achieve higher efficiency. However, the benefit of the proposed trajectory over the
true time-optimal solution is the light computational burden as
the proposed method requires solving the robot dynamics only
at two points (for a straight line) while hundreds or thousands
points are needed in general to compute the robot dynamics to
obtain a true time-optimal trajectory. Another comparative study
between the TVP trajectory and the true time-optimal solution
can be found in [31].
Motion profiles for Case III.
VI. CONCLUSION
Fig. 17. Performance of the proposed trajectories in terms of time
optimality (solid: Case I, dashed: Case II, and dotted: Case III).
Fig. 18. Comparison between the propose trajectory (solid) with a true
time-optimal trajectory (dashed) along a straight-line path.
following performance measure is defined:
Δ
Rp (t) = max Rv (t) Rτ (t)
Δ
(25)
Δ
where Rv (t) = max | q̇q̇mi a(t)
|, Rτ (t) = max | ττmi a(t)
|. Note that
x,i
x,i
i=1,2
i=1,2
the mean value of Rp (t)over the time interval that is
t=T
Δ
measured,R̄p = T1 t=0 Rp (t) dt, is one only if either the joint
velocity or torque is saturated at all times. In Fig. 17, the
performance measure, Rp , of the proposed method for
Cases I, II, and III are shown. The mean values R̄p were 66.6%,
68.2%, 68.9% for Cases I, II, and III, respectively. The reasons why the proposed method cannot achieve the performance
In this article, a method that generates a time-optimal trajectory for a two-wheeled mobile robot was presented. In particular, a case was considered when the robot must transit to
a new target state smoothly yet in near minimum-time given
the physical constraints (the maximum velocity and torque)
while minimizing the computational costs. The combination
of a straight line and a fifth-order Bézier curve was utilized to
generate a curvature-continuous curve. The kinematic and dynamic constrains were mapped into the phase plane (s, ṡ) ⊂ 2
to calculate the minimum-time TVP trajectory along the curve.
Some heuristic approaches were adopted to reduce the number of computations required to find the optimal solutions. A
cubic spline function was used to estimate the constraint functions with selected knots based on path curvature. The proposed
method was tested in simulation. In the tested equipment, the
computation time to generate a complete time-optimal trajectory
such that the robot can transit to another way-point was only
several milliseconds. This was a significant reduction compared
with the existing methods (typically tens of seconds). However,
the proposed trajectories were slower than true time-optimal
trajectories as the torque was saturated only once or twice per
path segment due to assumptions such as a TVP trajectory for a
straight line and a constant pseudovelocity along a curve.
It should be noted that the proposed trajectory is only nominal trajectory (reference trajectory for a control-loop) under the
assumptions of nonholonomic constraint (2) and a linear dynamic model. Therefore, important problems of the possibility
occurrence of slippage or lack of control (lack of wheel-ground
contact) should also be carefully considered in the control
design.
A future work will be to perform a real-world experiment
to validate the presented work. This will include parameter
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
5594
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 67, NO. 7, JULY 2020
identification of the dynamic model, design of model-based
feedforward/feedback tracking control, implementation of the
proposed algorithm in a strict real-time control system, and
testing in an unknown environment where dynamic obstacles
appear while the robot moves.
REFERENCES
[1] P. Jacobs and J. Canny, “Planning smooth paths for mobile robots,” in
Proc. IEEE Int. Conf. Robot. Automat., 1989, pp. 2–7.
[2] W. Lelson, “Continuous steering-function control of robot carts,” IEEE
Trans. Ind. Electron., vol. 36, no. 3, pp. 330–337, Aug. 1989.
[3] Y. Kanayama and B. I. Hartman, “Smooth local path planning for autonomous vehicles,” in Proc. IEEE Int. Conf. Robot. Automat., 1989,
pp. 1265–1270.
[4] T. Fraichard and A. Scheuer, “From Reeds and Shepp’s continuouscurvature paths,” IEEE Trans. Robot., vol. 20, no. 6, pp. 1025–1035,
Dec. 2004.
[5] C. Bianco, A. Piazzi, and M. Romano, “Smooth motion generation for
unicycle mobile robots via dynamic path inversion,” IEEE Trans. Robot.,
vol. 20, no. 5, pp. 884–891, Oct. 2004.
[6] A. Kelly and B. Nagy, “Reactive nonholonomic trajectory generation via
parametric optimal control,” Int. J. Robot. Res., vol. 22, pp. 583–601,
2003.
[7] J. Pan, L. Zhang, and D. Manocha, “Collision-free and smooth trajectory
computation in cluttered environments,” Int. J. Robot. Res., vol. 31, no. 10,
pp. 1155–1175, 2012.
[8] L. Kavraki, P. Svestka, J. Latombe, and M. Overmars, “Probabilistic
roadmaps for path planning in high-dimensional configuration spaces,”
IEEE Tran. Robot. Automat., vol. 12, no. 4, pp. 556–580, Aug. 1996.
[9] S. LaValle and J. Kuffner, “Randomized kinodynamic planning,” Int. J.
Robot. Res.,” vol. 20, no. 5, pp. 378–400, 2001.
[10] K. Yang and S. Sukkarieh, “An analytical continuous-curvature pathsmoothing algorithm,” IEEE Trans. Robot., vol. 26, no. 3, pp. 561–568,
Jun. 2010.
[11] C. Chen, Y. He, C. Bu, J. Han, and X. Zhang, “Quartic Bézier curve based
trajectory generation for autonomous vehicles with curvature and velocity
constraints,” in Proc. IEEE Int. Conf. Robot. Automat., Hong Kong, 2014,
pp. 6108–6113.
[12] M. Yamamoto, M. Iwamura, and A. Mohri, “Quasi-time-optimal motion
planning of mobile platforms in the presence of obstacles,” in Proc. IEEE
Int. Conf. Robot. Automat., Detroit, MI, USA, 1999, pp. 2958–2963.
[13] K. Shin and N. McKay, “Minimum-time control of robotic manipulators
with geometric path constraints,” IEEE Trans. Autom. Control, vol. AC-30,
no. 6, pp. 531–541, Jun. 1985.
[14] J. Bobrow, S. Dubowsky, and J. Gibson, “Time-optimal control of robotic
manipulators along specified paths,” Int. J. Robot. Res., vol. 4, no. 3,
pp. 3–17, 1985.
[15] W. Wu, H. Chen, and P. Woo, “Time-optimal path planning for a wheeled
mobile robot,” J. Robot. Syst., vol. 17, no. 11, pp. 585–591, 2000.
[16] J. Villagra, V. Milanés, V. J. Perez, and J. Godoy, “Smooth path and speed
planning for an automated public transport vehicle,” Robot. Auton. Syst.,
vol. 60, no. 2, pp. 252–265, 2012.
[17] M. Prado, A. Simon, E. Carabias, A. Perez, and F. Ezquerro, “Optimal
velocity planning of wheeled mobile robots on specified paths in static
and dynamic environments,” J. Robot. Syst., vol. 20, no. 12, pp. 734–754,
2003.
[18] J. Choi and B. Kim, “Near-time-optimal trajectory planning for wheeled
mobile robots with translational and rotational sections,” IEEE Trans.
Robot. Automat., vol. 17, no. 1, pp. 85–90, Feb. 2001.
[19] Y. Kim and B. Kim, “Time-optimal trajectory planning based on dynamics
for differential-wheeled mobile robots with a geometric corridor,” IEEE
Trans. Ind. Electron., vol. 64, no. 7, pp. 5502–5512, Jul. 2017.
[20] K. Koh and H. Cho, “A path tracking control system for autonomous
mobile robots: An experimental investigation,” Mechatronics, vol. 4, no. 8,
pp. 799–820, 1994.
[21] Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi, “A stable tracking
control method for an autonomous mobile robot,” in Proc. IEEE Int. Conf.
Robot. Automat., Cincinnati, OH, USA, 1990, pp. 384–389.
[22] G. Oriolo, A. De Luca, and M. Vendittelli, “WMR control via dynamic
feedback linearization: Design, implementation, and experimental validation,” IEEE Trans. Control Syst. Technol., vol. 10, no. 6, pp. 835–852,
Nov. 2002.
[23] B. Kim and P. Tsiotras, “Controllers for unicycle-type wheeled robots:
Theoretical results and experimental validation,” IEEE Trans. Robot. Automat., vol. 18, no. 3, pp. 294–307, Jun. 2002.
[24] R. Fierro and F. Lewis, “Control of a nonholonomic mobile robot: Backstepping kinematics into dynamics,” J. Robot. Syst., vol. 14, no. 3, pp. 149–
163, 1997.
[25] R. Dhaouadi and A. Hatab, “Dynamic modeling of differential-drive mobile robots using Lagrange and Newton-Euler methodologies: A unified
framework,” Adv. Robot. Automat., vol. 2, no. 2, p. 1000107, 2013.
[26] X. Yun and Y. Yamamoto, “Internal dynamics of a wheeled mobile robot,”
in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Yokohama, Japan, 1993,
pp. 1288–1294.
[27] G. Campion, G. Bastin, and B. D’Andrea-Novel, “Structural properties
and classification of kinematic and dynamic models of wheeled mobile
robots,” IEEE Trans. Robot. Automat., vol. 12, no. 1, pp. 47–62, Feb. 1996.
[28] F. Park and B. Ravani, “Bézier curves on Riemannian manifolds and
lie groups with kinematics applications,” J. Mech. Des., vol. 117, no. 1,
pp. 36–40, 1995.
[29] J. Kim and E. Croft, “Preshaping input trajectories of industrial robots for
vibration suppression,” Robot. Comput. Integr. Manuf., vol. 54, pp. 35–44,
2018.
[30] 2019. [Online]. Available: http://emanual.robotis.com/docs/en/platform/
turtlebot3/overview/
[31] G. Antonelli, S. Chiaverini, G. Gerio, M. Palladino, and G. Renga, “SmartMove4: An industrial implementation of trajectory planning for robots,”
Ind. Robot: Int. J., vol. 34, no. 3, pp. 217–224, 2007.
Joonyoung Kim received the B.S. degree in
mechanical engineering and mechatronics from
Chung-Ang University, Seoul, South Korea, in
2002, the M.A.Sc. degree from the University
of Toronto, Toronto, ON, Canada, in 2005, and
the Ph.D. degree from The University of British
Columbia, Vancouver, BC, Canada, in 2017,
both in mechanical engineering.
From 2005 to 2017, he was with the Robotics
Research Institute, Hyundai Heavy Industries
Company, Ltd., Yongin, South Korea. Since
September 2017, he has been with Samsung Research, Samsung
Electronics, Seoul, South Korea.
His current research interests include high-performance motion control and safe physical human–robot interaction for mobile robots and
manipulators.
Authorized licensed use limited to: b-on: Instituto Politecnico do Porto. Downloaded on December 18,2023 at 10:27:23 UTC from IEEE Xplore. Restrictions apply.
Download