Upload
doannhan
View
219
Download
5
Embed Size (px)
Citation preview
A Trajectory Tracking
Controller Design for a
Nonholonomic Mobile
Robot
Xiaoming Lang
ECE517
2013, Fall
Abstract
The robot in project is from a research project in Agricultural and Biological
Engineering Department at UIUC. They use the robot to collect data from the fields
by controlling it to move automatically. The objective of this project is to design a
trajectory tracking controller for this mobile robot. Since this robot is widely used in
research as a platform to implement some top layer designs, such as navigation, path
planning and bug algorithms, we can rarely reach the bottom layer to directly design
the DC motor controller. However, it is a good platform we can use what we learn to
know better of adaptive control. In this report, I will first introduce the system and
problem. Then, according to kinematic model, I will design a kinematic model
controller. After that, I will estimate some parameters by using Extended Kalman
Filter. Finally, I will introduce a controller design for the dynamic model. There must
be some places not proper or precise, I hope you can point out and give some advice.
Introduction
The robot is Pioneer 3-AT produced by Adept Mobilerobots Inc. The parameters and
brief introduction can be found in Appendix. The image of this robot is shown in
Figure 1. We notice that the four wheels cannot rotate, so the system is a
nonholonomic system, which makes the control problem more complicated.
Figure 1
A system is nonholonomic means the state of the system depends on the path taken to
achieve it. In mathematics, a general system can be expressed in form of
(x,u, t),
H(x, x, t) 0
x F
,
where nx R is system state;
nu R is control input of system; H(x,x, t) 0 is
constraint of the system. If there exists a function G(x,t) (not constant) such that
(x, t)(x, x, t)
dGH
dt
,
then the system is holonomic system. The corresponding constraints are called
holonomic constraints. Conversely, the system is nonholonomic. In robotics, a system
is nonholonomic if the controllable degrees of freedom are less than the total degrees
of freedom. In this particular system, it simply means, the robot cannot move towards
the direction perpendicular to the wheels, which is shown in Figure 2.
Figure 2
The difficulties on Non-holonomic system are that, the Nonholonomic system does
not satisfy the Brockett condition, so there does not exist smooth time invariant state
feedback control such that can make system asymptotically stable. So this project
comes up with a controller design for this nonholonomic (nonlinear) system.
Kinematic Model and Controller Design
A simple graph of robot is shown in Figure 3. There are some parameters we will use
in the following discuss.
Figure 3
where r is the radius of the wheels; R is the distance between the centroid of the robot
and the geometric center of the robot; d is the distance between the wheels and the
central line. Pc is the centroid, and P is the geometric center.
Moreover, before we move forward, we need to make some assumptions,
1. Velocities of both wheels on each side to be equal
2. Robot runs stable on a horizontal surface
3. No deformation on ground and tires
4. Mass distribution is uniform
The position of the robot can be expressed in Figure 4.
The robot possesses three degrees of freedom in its positioning which are represented
by a posture.
x
p y
where the heading direction θ is taken counterclockwise from the x-axis. In Figure
4, Pr is the reference position; Pc is the real or control position. We can define the
error position Pe=Pr-Pc.
Figure 4
If the derivatives of x and y exist, θis not an independent variable anymore, because
the constraint,
cos sin 0r rx y
In kinematic model, we choose the input as
1
2
z
,
where 1 is the angular velocity of the right side wheels, 2 is the angular velocity
of the left side wheels, which are also functions of time.
Then we can derive the kinematic model,
1
2
cos cos
(p) z sin sin2
1 1
xr
y p J
d d
The error position Pe is,
cos sin 0
( ) sin cos 0
0 0 1
e c c r c
e e e r c c c r c
e r c
x x x
p y T p p y y
After taking the derivative of Pe, we can get the system description,
1
2
2 2 2 2cos
sin2 2
2 2
e e
e r e
e ee e r e
e r
y r y rr r
d dx vx r x r
y p vd d
r r
d d
So the problem turns to design an input so that the system state can be tracked, i.e. Pe
will approach to 0 in finite time.
12 3
1
2 12 3
cos (K y K sin )
cos (K y K sin )
re e r e e
re e r e e
v Kx d rd
r rz
v Kx d rd
r r
where K1, K2,K3 are gains larger than 0.
By using this input, the first term cosr ev can be cancelled by this input. And other
terms are just feedback coefficients, which we can change to adjust the system to be
stable. Then we need to prove the system is stable under the input we chose by using
Lyapunov method.
The Lyapunov function we choose is,
2 2
2
2
22 3
1
2
1 cos1(x y )
2
sin
sin0
ee e
ee e e e
r ee
VK
V x x y yK
v KK x
K
The following result demonstrates that the uniformly asymptotically stability around
Pe=0 under some conditions.
By linearizing the differential Equation around Pe=0, we can get
e ep Ap
where
1
2 3
0
0
0
r
r r
r r
K
A v
v K v K
Assume that (a) vr and ωr are continuous, (b) vr, ωr, K1 and K3 are bounded, and (c)
derivatives of vr and ωr are sufficiently small. Then, A is continuously differentiable
and is bounded. The characteristic equation for A is
3 2
3 2 1 0 0a s a s a s a
where
3
2 3 1
2 2
1 2 1 3
2 2
0 1 2 3
1
r
r r r
r r r
a
a K v K
a K v K K v
a K K v K v
Since all coefficients ai are positive and a1a2-a0a3>0, the real parts of all roots are
negative through the Routh-Hurwitz Criterion. Therefore, Under these conditions,
Pe=0 is uniformly asymptotically stable over [0,∞).
Then we can simulate to see whether the result we get is appropriate. I select 3
different values of K. Figure 5, 6 and 7 show the results of my simulation.
Figure 5
Figure 6
Figure 7
From the results, we can see only see that, larger K3 makes the system to be more
stable. However, not all values of K’s can make system asymptotically stable. Only
with more results, can we analyze the effects of the coefficients more precisely. The
oscillations occurred because of the existence of cos and sin terms. But it will make
the system not stable in the sense of Lyapunov.
Parameter Estimation
In this part, I want to estimate the parameters r and d. Since the system is nonlinear
and nonholonomic, I desire to use extended Kalman Filter. First, take the input as
(4,2), so r and d can be explicitly showed and measured in the result. Following the
extended Kalman Filter design process, the system is expressed as,
3 cos
3 sin
x r
y r
r
d
with arbitrary initial conditions. We also know that the r and d are unknown, but
constants. So we have,
0
0
dr
dt
dd
dt
Then we can construct the Kalman Filter
1
1
ˆ ˆ ˆ(x) K[x ]
K PCT
T T
x f x
R
P AP PA Q PC R CP
where
(x)
y (x) (x, r,d)T
x
y
x
r
d
x f
h
TQ LQL
Q and R are the nominal noises, we choose 1 for simplicity.
The matrix becomes,
2
5 5
ˆ ˆˆ0 0 3 sin 3cos 0
ˆ ˆˆ0 0 3 cos 3sin 0
ˆ10 0 0
ˆ ˆ
0 0 0 0 0
0 0 0 0 0
r
r
rAd d
C I
We can set arbitrary initial conditions for x, r and d. Then let the system track the
values, so we can get the estimated parameters as the errors of states and parameters
approaching 0. Figure 8 shows the result of the simulation. From Figure 8, we can see
that the errors approach 0, so we estimated the parameters successfully.
Figure 8
Dynamic Model and Controller Design
In this part, I try to design a controller for the dynamic model. First, I will derive the
dynamic model for the robot system. Generally, the model of nonholonomic system
mobile robots are expressed as,
Where M is a symmetric, positive definite inertia matrix, V is the centripetal and
coriolis matrix, F denotes the surface friction, G is the gravitational vector, τd
denotes bounded unknown disturbances including unstructured unmodeled dynamics,
B is the input transformation matrix, τ is the input vector, A is the matrix associated
with the constraints, and λ is the vector of constraint forces. We consider that all
kinematic equality constraints are independent of time, and can be expressed as
follows
(q)q 0A
The nonholonomic mobile robot is transformed to and divided into the following two
equations,
(q)
M
q S
V G BT
For the robot we use, we just simplify the situation. We assume that, there is no
disturbance, No sliding friction loss, input is directly the torque applied on the wheels,
moves only on horizontal surface. Then we can come up with the corresponding
coefficients,
2 22 2
2 2
2 22 2
2 2
2
2
2 2
(md I) I (md I)4 4
(md I) (md I) I4 4
02
02
4
4 4
w
w
c
c
c w
c w c m
r r
d dM
r r
d d
rm R
dV
rm R
d
m m m
I m R m d I I
where m is the total mass, mw is the mass of the wheels, I is the inertia moment of the
corresponding axis. T denotes the torques operating on the wheels, also the inputs of
the system.
After rearrange the equations, we can see the common expression.
1 11
2 2
1
21
cos cos2 2
sin sin2 2
2 2
r rx
y r rT
MT
r r
d d
M V
Our objective is to select proper input to make this system stable. There are several
papers discussing this problem, but there is no general ways to come up with the
solution. Now I just introduce a solution as,
1 1( K p ( S) )T
e
VT B Y
q
The details about this result can be found in the reference [5].
Conclusion
• For Kinematic Model, the controller design is simpler because we can set
velocity or angular velocity directly.
• For Dynamic Model, we can only come up with controller design for some
specific models.
• For more precise modeling, we should consider many more coefficients, I
think the most important factor we should involve is slip rate, λ. (ratio of
actual velocity and output velocity)
• Other factors like friction and noise would also increases the difficulties of the
problem
Reference
[1] Dong, Wenjie, and K-D. Kuhnert. "Robust adaptive control of nonholonomic
mobile robot with parameter and nonparameter uncertainties." Robotics, IEEE
Transactions on 21.2 (2005): 261-266.
[2] Vöröš, Juraj, Ján Mikleš, and Ľuboš Čirka. "Parameter Estimation of Nonlinear
Systems." Acta Chimica Slovaca 1.1 (2008): 309-320.
[3] Fierro, Rafael, and Frank L. Lewis. "Control of a nonholonomic mobile robot:
backstepping kinematics into dynamics." Decision and Control, 1995., Proceedings of
the 34th IEEE Conference on. Vol. 4. IEEE, 1995.
[4] Mnif, F., and F. Touati. "An adaptive control scheme for nonholonomic mobile
robot with parametric uncertainty." International Journal of Advanced Robotic
Systems 2.1 (2005): 59-63.
[5] Hu, Nan, and Chaoli Wang. "Adaptive Tracking Control of an Uncertain
Nonholonomic Robot." Intelligent Control and Automation 2.4 (2011): 396-404.
[6] Pourboghrat, Farzad, and Mattias P. Karlsson. "Adaptive control of dynamic
mobile robots with nonholonomic constraints." Computers & Electrical
Engineering 28.4 (2002): 241-253.
[7] Kanayama, Yutaka, et al. "A stable tracking control method for an autonomous
mobile robot." Robotics and Automation, 1990. Proceedings., 1990 IEEE
International Conference on. IEEE, 1990.
[8] Park, Bong Seok, et al. "A simple adaptive control approach for trajectory tracking
of electrically driven nonholonomic mobile robots." Control Systems Technology,
IEEE Transactions on 18.5 (2010): 1199-1206.
[9] 王鸿鹏. 复杂环境下轮式自主移动机器人定位与运动控制研究. Diss. 中国博
士学位论文全文数据库, 2009.
[10] 李世华, and 田玉平. "非完整移动机器人的轨迹跟踪控制." 控制与决策 17.3
(2002): 301-305.
[11] brockett's necessary conditions and the stabilization of nonlinear control systems
[12] Kanayama, Yutaka, et al. "A stable tracking control method for a non-holonomic
mobile robot." Intelligent Robots and Systems' 91.'Intelligence for Mechanical
Systems, Proceedings IROS'91. IEEE/RSJ International Workshop on. IEEE, 1991.
[13] Oya, Masahiro, Chun-Yi Su, and Ryozo Katoh. "Robust adaptive motion/force
tracking control of uncertain nonholonomic mechanical systems." Robotics and
Automation, IEEE Transactions on 19.1 (2003): 175-181.
Appendix