You are on page 1of 7

Trajectory Tracking Control of a Unicycle-type

Mobile Robot With a New Planning Algorithm

Shuaijun Li Guilin Zhang, Xiangyu Lei, Xiao Yu,


Huihuan Qian and Yangsheng Xu
Advanced Robotics Lab, Robotics and Artificial Intelligence Lab
The Chinese University of Hong Kong The Chinese University of Hong Kong, Shenzhen
Hong Kong, China Shenzhen, China
sjli01@mae.cuhk.edu.hk {115010278; 115010168}@link.cuhk.edu.cn
{yuxiao; hhqian; ysxu}@cuhk.edu.cn

Abstract—Trajectory tracking control is one of the core problems were simultaneously solved with one single controller.
techniques that impacts the auto-driving performance of a mobile In [11], the constrained control Lyapunov function method was
robot. Whereas, there lacks enough work on reference trajectory used to design a saturated controller such that the unicycle can
generation and controller design for practical usage. This paper keep a positive-minimum speed. In [12], a simple bounded
considers mobile robots with unicycle vehicle model on which most controller was proposed to handle the same speed limitation in
of automatic guided vehicles (AGVs) in real world are built. A new [11]. In [13], the authors developed a visual feedback controller
trajectory planning algorithm is developed, and is applied along with with an adaptive algorithm for estimating the global position.
a control law considering constraints of the unicycle model and However, all aforementioned works only made some
limited motor capabilities. The proposed algorithm is easy to be
assumptions about the reference trajectory, but did not address
implemented on real world AGVs, and it yields a fast, accurate and
robust trajectory tracking performance. The effectiveness of the
enough regarding the way to obtain such a reference trajectory
algorithm is validated by simulation tests. within a certain environment.
Research on path planning can be used to tackle with this
Keywords—Tracjectory Planning; Trajectory Tracking; Mobile concern to some extent. Global path planning algorithms such as
Robots; Robot Control; A*, Dijkstra or Probabilistic Roadmaps (RPM) can be used to
generate a path between the starting point and the destination
that avoids obstacles [14], [15]. However, vehicle model and its
I. INTRODUCTION dynamics were not considered in these algorithms, so that there
To make a robot move along an expected route is a is no guarantee that these path or trajectory can be well tracked.
fundamental task in mobile robots control. Both path following In this paper, we consider the unicycle-type mobile robot and
and trajectory tracking methods have been introduced to deal propose a new trajectory generation algorithm. This algorithm
with this issue. When the spatial error is the major concern and takes vehicle model and speed limitations into consideration and
there are fewer constraints regarding the moving speed, path guarantees the tractability of the generated reference trajectory.
following controls are usually applied. Pure Pursuit method and In addition, we also implement a control law specially designed
Stanley method have been raised in the early stage of the 2000s for these constraints, so that an optimal trajectory tracking
using “bicycle model” for vehicle dynamics. These methods performance can be achieved.
have been implemented on auto driving vehicles at DARPA
Grand Challenges and helped some vehicles to complete the The rest of the paper is organized as follows. In Section II,
races [1]. Some further efforts were made later on to achieve the non-holonomic characteristic of the unicycle model is first
better tracking performance by improving vehicle models or analyzed and its constraints, together with motor’s capability
controller designs [2], [3], [4]. limitations, to trajectory generation are investigated. Then, the
proposed path and trajectory generation methods with enhanced
More recent research switches the focus onto trajectory trackability are explained in full length. In Section III, the
tracking problems, in which the dimension of time is considered corresponding controller design with speed limitation is
and the temporal speed and position errors are concerned. This introduced and the trajectory tracking performance is validated
topic remains popular yet still under development [5], [6]. In with simulation tests. Conclusions are drawn and some future
particular, a back-stepping technique was used in [7] to develop directions are discussed in Section IV.
a time-varying state feedback controller such that the global
trajectory tracking of a mobile robot can be achieved. Later in
[8], speed saturation of the mobile robot was taken into account.
In [9], the authors applied sliding mode control technique in
controller design. In [10], both tracking control and regulation

This research is supported by the NSFC project U1613226 from the State
Joint Engineering Lab and Shenzhen Engineering Lab on Robotics and
Intelligent Manufacturing, China.

978-1-5386-3742-5/17/$31.00 © 2017 IEEE


II. TRAJECTORY GENERATION WITH IMPROVED TRACTABILITY In addition, in practical mobile robot control, there are also
To generate a path or a trajectory within an environment with other common physical constraints such as limited moving
constraints such as walls and obstacles, global path planning speed 𝑣𝑚𝑎𝑥 and rotating speed 𝜔𝑚𝑎𝑥 due to limited motor
algorithm such as A* and D* algorithm are usually used. In A* capabilities, non-zero vehicle inertial mass, limited accelerating
algorithm, the map is modeled as a lattice of nodes 𝑛, and three capabilities and so on. Noting that for trajectory tracking tasks,
types of cost functions 𝑓(𝑛), 𝑔(𝑛) and ℎ(𝑛) are defined. By a minimum moving speed 𝑣𝑚𝑖𝑛 is also usually a constraint, as in
searching around the nodes and calculating these three cost most cases, a smooth motion is wanted and robots are not
functions iteratively, an optimal path can be determined between expected to stop in the middle of a trajectory.
the starting and the ending points. The disadvantage of A*
algorithm is that it works only for static maps but cannot deal
with dynamic change in maps or obstacles. In D* (or Dynamic B. Constraints of Trajectory Generated by Unicycles
A Star) algorithm, further improvements are made in this regard. To ensure that a trajectory is trackable for a unicycle-type
When the robot starts moving, the adjacent nodes along the robot, the core concept we deploy in this research is as follows.
optimal path are continuously observed for possible changes If a trajectory can be exactly generated by a test robot with ideal
from the prior information. When changes (indicating moving unicycle model, then it can be also exactly tracked and it can be
obstacles or changes in map info) are observed, using similar defined as a trackable trajectory. The concrete constraints of
concept as in A*, the path estimation cost function ℎ(𝑛) is such a trajectory are explained as follows.
adjusted by a weights function 𝑐(𝑋, 𝑌), an A*-like process is
For uniformed and coherent discussion, the subscript t 𝑖 is
evaluated again for the adjacent nodes, and a new path can be
used to denote time relevant information and a trajectory is
generated.
denoted as a set of {𝑃𝑡𝑖 }, where each element 𝑃𝑡𝑖 = (𝑥𝑡𝑖 , 𝑦𝑡𝑖 , 𝜃𝑡𝑖 )
To further decrease the computational cost, sample-based represents robot’s position and orientation at a specific time
planning methods such as Rapidly-exploring Random Trees moment t 𝑖 . Similarly (𝑣𝑡𝑖 , ω𝑡𝑖 ) represents robot’s linear
(RRT) and Probabilistic Roadmaps (RPM) were proposed in velocity and angular velocity at a specific time moment. In
[16], [17]. These methods can be viewed as growing a tree from contrast, the subscript 𝑖 is used to denote spatial information and
a robot's starting point until one of its branches hits the goal. The a path is denoted as a set of {𝑃𝑖 } , where 𝑃𝑖 = (𝑥𝑖 , 𝑦𝑖 ) represents
tree branches are created by randomly sampling probabilistic only spatial information. So (𝑣𝑖 , ω𝑖 ) represents robot’s linear
points. Tests are run for collision-free check and an optimal path velocity and angular velocity at a spatial point.
can be found by finding the shortest path.
First, consider the scenarios where the 𝑣 and 𝜔 of the test
In all these methods, the maps are all represented in form of robot are not constrained. Then in these scenarios, indeed any
nodes or grids and the generated path may contain sharp turns, trajectory can be generated and can thus be tracked. For
zig-zag path, etc., which are unfavorable from a tracking control example, to generate the trajectory given in Fig. 1 (with un-even
perspective. In this paper, we will further improve these time intervals), the robot needs to travel to point A, stop moving,
trajectories by adding constraints of vehicle model and speed rotate itself to the orientation of AB, and then keep on moving.
limits, and by assigning appropriate timing, in order to ensure To be noticed, the generated trajectory in such scenarios will
the trackability of the generated trajectory. have some points Pt𝑖 with the same (𝑥𝑡𝑖 , 𝑦𝑡𝑖 ), indicating that the
robot stops (𝑣𝑡𝑖 = 0) and its position is staying at the same point
A. Constraints of Unicycle-type Robot with Speed Limits of A for some time. As mentioned above, this is conflicting with
the constraints of a non-zero 𝑣𝑚𝑖𝑛 in real-world applications.
The unicycle model has been widely used in mobile robot
control due to its simplicity and generalizability [18], and in this
paper we mainly focus on this model. Note that the kinematic
A
model of unicycle is non-holonomic, which means that by using
the velocity of vehicle’s two wheels as input, only a linear
velocity 𝑣 and a rotational velocity 𝜔 can be produced, but there
is no way to generate a lateral velocity to the vehicle. This
vehicle model constraint shall yield some impacts and
limitations to the trajectory tracking performance. B
θ
In other words, not all the trajectories can be well tracked by
a unicycle-type robot. For example, if a reference path is given O
(x,y)
as shown in Fig. 1, and the reference trajectory is given with Y
uniformed time intervals, then it is impossible for the robot to X
accurately track the trajectory around point A. Apparently, for
an accurate tracking, the robot has to stop at point A and rotate Fig. 1 Trajectory Tracking of a Unicycle-type Robot
around it, which is against an evenly distributed trajectory.
Indeed, although the portion of curve OA may seem to be Then, consider the situations when there are some limitations
smooth, it can still be non-trackable for a unicycle-type robot, as to the 𝑣 and 𝜔 of robot. Firstly, we discuss the scenarios when
long as a lateral velocity is required at any point. 𝑣 is constant and non-zero, while 𝜔 is variant but limited within
the range of [0, 𝜔𝑚𝑎𝑥 ]. At any moment, the robot has a 𝑣 and 𝜔,
and since the trajectory is generated by a unicycle, there will be First, when the global trajectory is obtained, it may contain
no later velocity at any spot. This means that at any spot, the straight lines and sharp corners as shown in Fig. 3, which are
robot is doing pure rotation around its instant rotating center C undesirable in terms of trackability. To smoothen it, we use the
as illustrated in Fig. 2. The instant rotation radius is denoted as method of cubic spline interpolation, which models the path
𝜌 and the curvature is denoted as 𝜅. Then, (1) will hold at all the using piecewise third order polynomials. Compared with other
time moment 𝑡𝑖 . Since both 𝑣 and 𝜔 are continuous and interpolation methods, such as piecewise linear interpolation or
bounded functions, the curvature 𝜅 of the generated trajectory polynomial interpolation, cubic spline interpolation method has
shall also be continuous and bounded at the range of [0, 𝜅𝑚𝑎𝑥′ ], the advantages that it avoids the oscillation between points, and
in which 𝜅𝑚𝑎𝑥′ = 𝜔𝑚𝑎𝑥 /𝑣. it ensures the connections between different pieces to be
continuous for both first order and second order derivatives.
Secondly, consider the situation if we loosen the constraints
to the unicycle and allow 𝑣 to be variant too. Assume that 𝑣 is For example, using the smoothing spline approach (a
bounded in the range of [𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ], then (1) still holds at specific approach of the cubic spline interpolation method [20]),
every time moment but the curvature now has a new range of the original jerky path shown in black can be smoothed into a
[0, 𝜅𝑚𝑎𝑥 ] as calculated in (2). curve as show in blue. Each piece of the curve is expressed in
cubic polynomials as in (3), and both the first order and second
𝑣𝑡 (1)
𝜔𝑡𝑖 = 𝑖 = 𝜅 ∙ 𝑣𝑡𝑖 order derivatives are continuous functions (4) and (5), which, to
𝜌𝑡𝑖 be explained later, is helpful to guarantee the continuous
ω𝑚𝑎𝑥 velocities for trajectory generation.
𝜅𝑚𝑎𝑥 = (2)
𝑣𝑚𝑖𝑛 Although a smooth path is obtained now, in real-world
applications, this usually cannot meet with the application
In summary, we now know that if a trajectory can be
requirement yet. Because this smoothing spline approach will
generated by an ideal unicycle model with continuous and
scarify some accuracy and will not guarantee that the inter-
bounded speed of 𝑣 ∈ [𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ] and 𝜔 ∈ [0, 𝜔𝑚𝑎𝑥 ] , the
median points are indeed passed. In real-world application, it’s
necessary constraints are: 1) The demanded velocities for the
more than often that we expect the robot to accurately go through
trajectory are continuous and of the same range as that of 𝑣 and
some specific points to achieve some tasks. To deal with this
ω. 2) The demanded accelerations are limited and same as the concern, another path adjusting process can be added.
test unicycle. 3) The geometrical curvatures of the trajectory are
limited and the maximum curvature occurs at minimum linear 𝑦 = 𝑓𝑖 (𝑥) = 𝑎𝑖 𝑥 3 + 𝑏𝑖 𝑥 2 + 𝑐𝑖 𝑥 + 𝑑𝑖 , (3)
velocity and maximum angular velocity with value of 𝜅𝑚𝑎𝑥 =
ω𝑚𝑎𝑥 /𝑣𝑚𝑖𝑛 . Based on these constraints, we develop a method 𝑖 = 1, ⋯ , 𝑛
to properly generate an improved path based on the global 𝑓𝑖 ′(𝑥) = 3𝑎𝑖 𝑥 2 + 2𝑏𝑖 𝑥 + 𝑐𝑖 (4)
planning result, and subsequently transform this path into a
trackable trajectory. 𝑓𝑖 ′′(𝑥) = 6𝑎𝑖 𝑥 + 2𝑏𝑖 (5)

Δt
vti vi vi+1
ωi ωi+1
ωti

ρ
C
κ=1/ρ

Fig. 2 Pure Rotation and Instant Rotating Center Fig. 3 Path Smoothing using Smoothing Spline Approach

For example, assume that the three red points in the top
portion in Fig. 3 are the key points through which the robot is
C. Path Generation with Constraints expected to go. In this adjusting process, we can firstly cut off
The starting point of our work is the jerky path obtained from the portions around these key points. For example, as shown in
global path planning algorithm. In order to further improve it to Fig. 4, a path portion with a length three times that of the key
generate a trackable trajectory, the first step is to improve this points’ are to cut off for regeneration. Then, we can pick a new
path by applying a smoothing process followed by an adjusting set of control points including both these key points and some
process based on cubic spline interpolations. This step will other points from the old smoothed path. In this example, the
maintain the continuity of the position, velocity and acceleration, points at twice-length position and triple-length position on the
and maintain a good balance between tolerance and accuracy. old path are picked as control points. After that, using cubic
Details are explained as follows. spline interpolation method, a new portion of curve can be
regenerated. This adjusted path ensures both the smoothness and D. Trajectory Generation with Constraints
the accurate pass through the control points. Now we have obtained an improved path with considerations
of unicycle model, the next step is to add in the dimension of
time and transform it into a trackable trajectory. To this end, we
develop a two-step method that works on the velocity space.
First, the linear and rotational velocities 𝑣i and 𝜔𝑖 are
determined spatially along the entire path; and secondly, the
time moments are assigned to these velocities to generate 𝑣𝑡 and
𝜔𝑡 . Details are explained as follows.
As explained in Section II-B, if a trajectory can be generated
by an ideal unicycle robot, then it is trackable. At every moment,
a unicycle robot has a linear velocity 𝑣𝑡 and rotational velocity
𝜔𝑡 , and their values will eventually yield different trajectories.
It is natural to think about that if there is a way to determine these
𝑣𝑡 and 𝜔𝑡 for a trajectory. This trajectory will be trackable by
applying these 𝑣𝑡 and 𝜔𝑡 .
Fig. 4 Path Adjusting using Cubic Spline Interpolation
To do this, we first determine the 𝑣𝑖 and ωi spatially
The last step for path generation is to apply a curvature check according to the curvatures 𝜅 at the specific point along the path:
against the limitation of κ𝑚𝑎𝑥 in (2). Now we have a series of 1) if 𝜅 > κ𝑚𝑎𝑥 , the trajectory will be non-trackable, and the path
cubic polynomial functions describing the path, and then the needs to be adjusted and regenerated as explained in Section II-
curvature of any point along the path can be determined by (6). C. 2) if 𝜅 < κ𝑚𝑖𝑛 : = ω𝑚𝑎𝑥 /𝑣𝑚𝑎𝑥 , there will be always enough
The sharpest turning usually occurs at the extreme corners at rotation speed to match with the linear velocity and to maintain
similar situations as shown in Fig. 4. In case that the calculated the expected curvature. So the maximum linear velocity 𝑣𝑚𝑎𝑥
curvature at a specific corner point goes beyond the κ𝑚𝑎𝑥 , the will always be used as 𝑣𝑖 , and the rotational velocity 𝜔𝑖 can be
control point in that corner has to be given up and be removed, determined by 𝜔𝑖 = κ𝑚𝑖𝑛 ⋅ 𝑣𝑚𝑎𝑥 . 3) if κ𝑚𝑖𝑛 < 𝜅 < κ𝑚𝑎𝑥 , then
so that as a result, a less sharp path curve will be generated and a matching 𝜔 can only found for limited 𝑣. In this case, the
tracking errors around that point will be inevitable. maximum rotation velocity will be maintained. 𝜔𝑖 = 𝜔𝑚𝑎𝑥 , and
|𝑓′′(𝑥)| linear velocity is determined by 𝑣𝑖 = 𝜔𝑚𝑎𝑥 /𝜅. Finally, the 𝑣𝑖
𝜅= 3/2 (6) and ωi can be determined as shown in Fig. 6.
(1 + 𝑓 ′2 (𝑥))
In this example, it is assumed that the robot has a speed
capability of 𝑣 ∈ [𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ] = [0.1 , 3 ]𝑚/𝑠 , and 𝜔 ∈
[0, 𝜔𝑚𝑎𝑥 ] = [0, 𝜋/4 ]𝑟𝑎𝑑/𝑠 , then the maximum curvature is
𝜅𝑚𝑎𝑥 = 0.5𝜋 in this case. It can be seen in Fig. 5 that, along all
the points on the generated path, the curvature is continuous and
within the limitation of κ𝑚𝑎𝑥 , and both the first order and second
order derivatives are continuous and bounded [19]. These
characteristics indicated that the demanded velocities and
accelerations are also continuous and bounded.

Fig. 6 Determine Linear and Rotational Velocities Spatially

The second step is to assign the time dimension to 𝑣𝑖 and ωi


and transform them into 𝑣𝑡 and 𝜔𝑡 . This can be achieved by
determining a series of {Δ𝑡𝑖 } between all the 𝑃𝑖 . As shown in Fig.
2, if we look into the small time-interval between two adjacent
points 𝑃𝑖 and 𝑃𝑖+1 on the path, and view the 𝑣𝑖 and 𝜔𝑖 as
constant within this small time-interval, then (7) will hold. The
orientation angle 𝜃𝑖 along the path can be found using the first
order derivatives. Δ𝑡 can be calculated by (8) in the end.
𝛥𝑡𝑖
Fig. 5 Derivatives and Curvatures of the Generated Path
∫ 𝑣𝑖 𝑐𝑜𝑠(𝜃𝑖 + 𝜔𝑖 𝑡) 𝑑𝑡 = 𝑥𝑖+1 − 𝑥𝑖 = Δ𝑥𝑖 (7)
0
v𝑖 Δ𝑡 sin(𝜃𝑖 + 𝜔𝑖 Δ𝑡𝑖 ) − 𝑠𝑖𝑛𝜃𝑖 𝑐1 𝑥𝑒
Δ𝑥𝑖 = sin(𝜃𝑖 + 𝜔𝑖 𝑡) |0 𝑖 = 𝜈 = 𝑣𝑟 + ,
𝜔𝑖 𝜅𝑖 √1 + 𝑥𝑒2 + 𝑦𝑒2
arcsin( Δ𝑥𝑖 ⋅ 𝜅𝑖 + 𝑠𝑖𝑛𝜃𝑖 ) − 𝜃𝑖 𝜃𝑒 𝜃 (11)
(8) 𝑐2 𝑣𝑟 (𝑦𝑒 cos − 𝑥𝑒 sin 𝑒 )
Δ𝑡𝑖 =
𝜔𝑖 𝜔 = 𝜔𝑟 + 2 2 + 𝑐 sin 𝜃𝑒 .
3
2
√1 + 𝑥𝑒 + 𝑦𝑒2 2
Finally, by assigning this calculated series of time intervals
{Δ𝑡𝑖 } to all the points {𝑃𝑖 } on path, and assigning a timing of This control law design has an advantage that the control
zero moment to the starting point, 𝑣𝑖 and ωi will be transformed input will be bounded to 𝑣 ∈ [𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ] and 𝜔 ∈ [0, 𝜔𝑚𝑎𝑥 ]
into 𝑣𝑡 and 𝜔𝑡 . Information of 𝑥𝑡 and 𝑦𝑡 can also be determined automatically; and that the control is of fast response with no
with a given starting point, as shown in Fig. 7. Now, the time-lagging item. Parameters 𝑐1 , 𝑐2 and 𝑐3 are positive
trajectory with improved trackability has been successfully constants which can be tuned subject to the velocity constraints.
generated. It has been shown in [12] that this controller can track a variety
of different trajectories accurately.

B. Trajectory Tracking Test 1 with Free Starting Point


To test the performance of the proposed controller for
tracking the trajectory with improved trackability, a series of
simulation tests were conducted using Webots. Webots is a robot
simulator and a development environment that can conveniently
model, program and simulate mobile robots under various
operational environment. In real world application, most AGVs
are built on differential wheeled robot model of unicycle, in
which robot’s two wheels are independently driven to produce
linear and rotational motion. So in this simulation test, we
construct such a differential wheeled robot with a GPS simulator
on it, so that accurate real position and orientation information
Fig. 7 Trajectory Generation by Assigning Time to Velocities can be obtained in real-time. The tracking error can be calculated
by (10) and be feed into programmable controllers to track a
reference trajectory, as shown in Fig. 8.
III. CONTROLLER DESIGN AND SIMULATIONS
In this section, first, a suitable controller design is chosen for
this trajectory tracking problem of a unicycle-type robot. Then,
simulation tests are conducted to validation the overall tracking
performance of the system.

A. Trajectory Tracking Controller Design


As mentioned in Section II-A, for a real-world unicycle-type
robot trajectory tracking control, there are limits of 𝑣 ∈
[𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ] and 𝜔 ∈ [0, 𝜔𝑚𝑎𝑥 ]. To adapt to these features, we
chose to design the controller based on the work [12]. According
[12], the reference trajectory [𝑥𝑟 (𝑡) 𝑦𝑟 (𝑡) 𝜃𝑟 (𝑡)]𝑇 , can be
generated by the reference linear velocity and angular velocity
[𝑣𝑟 (𝑡) 𝜔𝑟 (𝑡)]𝑇 as in (9),
𝑥̇ 𝑟 = 𝜈𝑟 cos 𝜃 ,
{ 𝑦̇𝑟 = 𝜈𝑟 sin 𝜃, (9)
𝜃̇𝑟 = 𝜔𝑟 . Fig. 8 Unicycle-type Robot used in Simulation Environment

The tracking error can be measured as a feedback in position To verify the tracking performance of the controller in the
domain as in (10), and the control law can be designed as in (11) simulation environment, the tracking Test 1 of a knot-shaped
to transform the feedback into velocity domain as control input. trajectory as in [12] is conducted on a flat ground in Webots, as
𝑥𝑒 shown in Fig. 9. Taking into account the actual size and
cos 𝜃 sin 𝜃 0 𝑥𝑟 − 𝑥 parameters of the robot, the reference trajectory is set in velocity
[ 𝑦𝑒 ] = [− sin 𝜃 cos 𝜃 0] [𝑦𝑟 − 𝑦 ], (10) space as 𝜈𝑟 (𝑡) = 1 and 𝜔𝑟 (𝑡) = 1.218 𝑐𝑜𝑠(0.24 𝑡)/
𝜃𝑒 0 0 1 𝜃𝑟 − 𝜃 (11.446 (𝑠𝑖𝑛(0.24 𝑡 2 ) + 1) . The velocity capability of the
robot is constrained within [𝑣𝑚𝑖𝑛 , 𝑣𝑚𝑎𝑥 ] = [0.5,1.5]𝑚/𝑠, and
𝜔𝑚𝑎𝑥 = 5 𝑟𝑎𝑑/𝑠 . To check the tracking capability of the
controller, a free starting point was set. Thus, the initial states environmental noise, as shown in Fig. 8. (notice that the radius
are respectively set to [𝑥𝑟 (0) 𝑦𝑟 (0) 𝜃𝑟 (0)]𝑇 = [0 0 0]𝑇 and of robotic wheels is 0.05 m).
[𝑥(0) 𝑦 (0) 𝜃(0)]𝑇 = [−2 − 1 3.56]𝑇 .
The overall tracking performance is shown in Fig. 11. The
red line represents the reference trajectory, and the black dots
denote the actual robot positions at every moment. It can be
observed that even with severe noise from the ground, the
reference trajectory can still be tracked well, and most of the
black dots are just overlapped on the red line.

Fig. 9 Tracking Performance on a Knot-shaped Trajectory

By properly tuning the coefficients as 𝑐1 =0.5, 𝑐2 = 10 and


𝑐3 = 5, a tracking results can be obtained as shown in Fig. 9. It
can be observed that with a non-zero initial state, the tracking Fig. 11 Tracking Performance on a Rough Terrain
error can converge to zero, and afterwards, the robot can track
the reference trajectory accurately. The errors between actual The actually control velocities versus time are shown in Fig.
and reference velocities are shown in Fig. 10, it can be observed 12, it can be seen that velocities always remain in the constrained
that the actual velocities stay in the constrained ranges and the ranges. These test results successfully demonstrate that with the
errors converge to zero. Note that the values of heading angles proposed controller design, a unicycle-type robot can track a
of the robot obtained directly from sensors can be discontinuous. trajectory with improved trackability accurately and robustly.
Since 𝜃 and 𝜃 + 2𝐾𝜋 with 𝐾 ∈ 𝑍 represent the same
orientation, some adjustments are taken to ensure the smooth
change of heading angle.

Fig. 12 Reference and Actual Controlled Velocities on Test 2

Fig. 10 Reference and Actual Controlled Velocities on Test 1


IV. CONCLUSION AND FUTURE WORK
C. Trajectory Tracking Test 2 with Environmental Noise To conclude, in this paper, a trajectory planning algorithm is
proposed to generate a trajectory with improved trackability for
To further test the tracking performance, an exaggerated Test a unicycle-type robot based on a jerky path provided by a global
2 is conducted to evaluate the tracking errors with zero initial path planning algorithm. This improved trajectory considers the
state but strong environmental noise. In Test 2, the N-shaped non-holonomic constraints of a unicycle model and the practical
trajectory as generated in the example of Section II-D is used as speed constraints derived from limited motor capabilities. On
the reference, and the robot was running through a rough terrain. the other hand, a controller with no time-lagging characteristic
Maximum fluctuation up to 0.5m is used to simulate the and with considerations of speed limits are chosen and adapted
for the trajectory tracking task. As a result, by combining the
improved trajectory as the reference, with the appropriate REFERENCES
controller as applied, a fast, accurate and robust trajectory [1] J. Snider, “Automatic steering methods for autonomous automobile path
tracking performance can be achieved. This result is validated tracking,” Tech. Rep. CMU-RI-TR-09-08, Robotics Institute, Carnegie
by the simulation tests conducted in Section III. Mellon University, Pittsburgh, PA, USA, 2009.
[2] R. Carona, A. P. Aguiar, and J. Gaspar. “Control of Unicycle Type Robots
This research can play very practical guidance for real-world Tracking, Path Following and Point Stabilization,” in Proc. IV Jornadas
applications of AGVs and other mobile robots based on unicycle de Engenharia Electrotecnica e de Computadores, Lisbon, Portugal,
model. This research suggests that two important aspects shall 2008, pp. 180-185.
be examined to achieve a good final tracking performance. First, [3] T. Bakker, K. Van Asselt, J. Bontsema, J. Müller, and G. Van Straten, “A
the target trajectory or reference trajectory needs to be examined path following algorithm for mobile robots,” Autonomous Robots, vol. 29,
no. 1, pp. 85-97, 2010.
and polished to incorporate practical AGV dynamics and motor
capability constraints. Second, a suitable controller shall be [4] Q. Zhu, Z. Huang, D. Liu, and, B. Dai, "An adaptive path tracking method
for autonomous land vehicle based on neural dynamic programming," in
designed with these constraints. This paper introduces a method Proc. 2016 IEEE Int. Conf. Mechatronics Autom., Harbin, 2016, pp.
as guide in both aspects, and eventually yields a robust trajectory 1429-1434.
tracking performance. This method can be practically used in [5] Z.-P. Jiang, “Controlling underactuated mechanical systems: A review
real-world application. and open problems,” in Advances in the theory of control, signals and
systems with physical modeling. Springer, 2010, pp. 77–88.
For future work, we will further develop and apply these [6] G. M. Hoffmann, C. J. Tomlin, M. Montemerlo, and S. Thrun,
trajectory tracking methods for more sophisticated multi-robots “Autonomous automobile trajectory tracking for off-road driving:
control tasks. For example, to add necessary inter-controller and Controller design, experimental validation and racing,” in Proc. 26th
to jointly control two AGVs to transport goods cooperatively Amer. Control Conf., 2007, pp. 2296–2301.
and move together along an expected trajectory. [7] Z.-P. Jiang and H. Nijmeijer, “Tracking control of mobile robots: a case
study in backstepping,” Automatica, vol. 33, no. 7, pp. 1393–1399, 1997.
[8] Z.-P. Jiang, E. Lefeber, and H. Nijmeijer, “Saturated stabilization and
tracking of a nonholonomic mobile robot,” Syst. Control Lett., vol. 42, no.
5, pp. 327–332, 2001.
[9] J.-M. Yang and J.-H. Kim, “Sliding mode motion control of
nonholonomic mobile robots,” IEEE Control Syst., vol. 19, no. 2, pp. 15–
23,1999.
[10] T.-C. Lee, K.-T. Song, C.-H. Lee, and C.-C. Teng, “Tracking control
ofunicycle-modeled mobile robots using a saturation feedback
controller,” IEEE Trans. Control Syst. Technol., vol. 9, no. 2, pp. 305–
318, 2001.
[11] W. Ren and R. W. Beard, “Trajectory tracking for unmanned air vehicles
with velocity and heading rate constraints,” IEEE Trans. Control Syst.
Technol., vol. 12, no. 5, pp. 706–716, 2004.
[12] X. Yu, L. Liu, and G. Feng, “Trajectory tracking for nonholonomic
vehicles with velocity constraints,” IFAC-PapersOnLine, vol. 48, no. 11,
pp. 918–923, 2015.
[13] K. Wang, Y. Liu, and L. Li, “Visual servoing trajectory tracking of
nonholonomic mobile robots without direct position measurement,” IEEE
Trans. Rob., vol. 30, no. 4, pp. 1026–1035, 2014.
[14] A. Gasparetto, P. Boscariol, A. Lanzutti, and R. Vidoni, “Path planning
and trajectory planning algorithms: A general overview,” in In Motion
and Operation Planning of Robotic Systems: Background and Practical
Approaches, vol. 29, G. Carbone and F. Gomez-Bravo, Eds. Cham,
Switzerland: Springer-Verlag, 2015, pp. 3–27.
[15] R. Siegwart, I. Nourbakhsh, and D. Scaramuzza, Introduction to
Autonomous Mobile Robots, 2nd ed. Cambridge, MA, MIT Press, 2011.
[16] S. M. LaValle. “Rapidly-exploring random trees: A new tool for path
planning,” Tech. Rep. 98-11, Iowa State University, Ames, IA, Oct. 1998.
[17] L.E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars,
“Probabilistic roadmaps for path planning in high-dimensional
configuration spaces,” IEEE Trans. Rob. Autom., vol. 12, no. 4, pp. 566–
580, 1996.
[18] Z. Jin and Q. Zhang, "The Nonholonomic Motion Planning and Control
of the Unicycle Mobile Robot," in Proc. 2006 6th World Cong. Intell.
Control Autom., Dalian, China, 2006, pp. 3461-3465.
[19] K. Yang and S. Sukkarieh, "An Analytical Continuous-Curvature Path-
Smoothing Algorithm," IEEE Trans Rob., vol. 26, no. 3, pp. 561-568,
June 2010.
[20] E. Magid, D. Keren, E. Rivlin and I. Yavneh, "Spline-Based Robot
Navigation," in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., Beijing,
China, 2006, pp. 2296-2301.

You might also like