a trajectory tracking controller design for a nonholonomic mobile

13
A Trajectory Tracking Controller Design for a Nonholonomic Mobile Robot Xiaoming Lang ECE517 2013, Fall

Upload: doannhan

Post on 02-Jan-2017

219 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

A Trajectory Tracking

Controller Design for a

Nonholonomic Mobile

Robot

Xiaoming Lang

ECE517

2013, Fall

Page 2: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 3: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 4: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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,

Page 5: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 6: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 7: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 8: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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.

Page 9: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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,

Page 10: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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

Page 11: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

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.

Page 12: A Trajectory Tracking Controller Design for a Nonholonomic Mobile

Appendix

Page 13: A Trajectory Tracking Controller Design for a Nonholonomic Mobile