You are on page 1of 10

Mô hình hóa và thiết kế bộ điều khiển cho xe tự hành ba bánh

1. Modeling for underactuated 3-wheeled mobile robot(3 WMR)


1.1 Forces analyzing

Note:

 r: wheel radius.
 M h: rotation of the wheel.
 T: wheel force acting on the
road surface.
 Pk : reaction force of the road
surface acting on the wheel.
 F: forward motion of the

o When the wheel turns:

r
F

Figure 1: The force acting on the wheel

o The forces acting:


o Vertically (Oz): ⃗P and ⃗ N cancel each other out.
o In terms of Oxy axis:
 When the wheel rolls on the floor, the force of the wheel will act on
the ground and create a force for the car to move forward. We
denote it as ⃗ F 1 and ⃗ F 2 respectively.
 When a coordinate system rotates around a fixed coordinate system
(the axis O ẋ ẏ rotates around the Oxy fixed axis) will be affected by
the Coriolis force (denoted: ⃗ F C).
Formula: ⃗
F C =2 m(⃗v × ⃗
ω)

Where: + m is the mass of the object.


+ v is the velocity vector of the object .
+ ω is the angular velocity vector.

 Determine the direction of w:


+ From the formula: ⃗ v❑=⃗ω × r⃗
+ Combined with the right hand rule (⃗ v❑in the direction of the
thumb, r⃗ in the direction of the index finger, ⃗
ω in the direction of
the middle finger)
=> ⃗ω in the direction going from top to bottom along the Oz axis.
 Determine the direction of ⃗ FC :
According to the right-hand rule, we can determine the direction of

F C as in the figure 2.

 The moments of ⃗
F 1 and ⃗
F 2 are determined by the formula:
⃗ F × ⃗d
M=⃗

Where: + M is the torque.


+ F is the forward force of the wheel.
+ d is the distance vector from the center of
rotation to the line of the force F.

 According to the right hand rule, we can determine the direction of


the torque of the two moment arms is ⃗M 1 is downward and ⃗M 2 is
upwatd (along the Oz axis).

 Beside that, we also have the angular momentum with the direction
and angular acceleration (ω) calculated by the formula: ⃗L=I ×⃗
ω

Where: + L is angular momentum.


+ I is inertia moment .
+ w is angular acceleration vector.

Note:

 X and Y are the coordinate system


mounted on the outside of the
car .

 ẋ and ẏ are the coordinate system


mounted directly on the center of
the car.
  is the rotation.


F2

FC


F1

Figure 2: Model of the 3-wheeled moble robot

o Any motion of a solid in space can always be separated into 2 types of


motion:
o Forward motion of the center of mass.
o Motion of the center of mass around itself.

1.2 Rotational motion around the center of mass


o According to the variation of the angular momentum theorem, we have:
d⃗
L ⃗
=M
dt
d⃗
ω ⃗ ⃗
I = M 1+ M 2
dt
o Considering the vertical positive direction from top to bottom, we have:

I ¿ M 1−M 2

¨
 I❑ ¨
¿ F 1 d−F 2 d (¿ ω̇=❑)
¿ d (F 1−F 2)
T1 T2
¿d( − )
r r

¨ d ( T 1−T 2 ) (1)
¿> I ❑=
r

1.3 The forward motion of the center of mass

o The 3 WMR is affected by 3 forces: F 1 , F2 are made by the engine and


the Coriolis force noted F c. According to the Newton’s second law of
motion, we have:

F 1+ ⃗
F 2 +⃗
FC =m. a⃗
o Considering the x components along the Ox-axis, we have:

Ox F 1 . cos+ F 2 .cos + F C . sin=m. ẍ


o Similarly on the Oy-axis, we also have:

Oy F 1 . sin+ F 2 . sin−FC . cos=m. ÿ


T
Where: + F=
r
˙
+ F C =2 m. v . ω=2 m. v . ❑
+ v= ẋ . cos + ẏ .sin
o Hence, we have:
˙ .( ẋ .cos + ẏ .sin)
F C =2 m. ❑

Ox

( T +r T ) . cos−2 m.❑˙ .( ẋ . cos+ ẏ . sin ) .sin=m . ẍ (2)
1 2
T 1 +T 2
r
Oy (
. sin−2m . ❑.)
˙ ( ẋ .cos + ẏ .sin ) . cos=m . ÿ
 Hence, we have the kinematic model of the 3 WMR:

(3)

{
Type equation here .

2. Controller design
2.1 Linear system
2.1.1
o Hệ tuyến tính :
o Hàm số f (x) được gọi là tuyến tính nếu thỏa mãn:
f ( a x1 +b x 2 )=af ( x 1) + bf (x 2)

o Hệ tuyến tính có thể được viết dưới dạng:

ẋ= A x +B u (*)
y=C . x
{

y
u

Linear system
x

Trong đó: + u là tín hiệu đầu vào (input)


+ y là tín hiệu đầu ra (output)
+ x là trạng thái (state)
o Trong 1 hệ có thể có nhiều đầu vào, đầu ra và trạng thái:
T
 u=( u1 ,u 2 , … , um ) =¿ vecto tín hiệu điều khiển.
T
 x=( x 1 , x 2 , … , x n ) =¿ vecto trạng thái.
T
 y=( y 1 , y 2 , … , y p ) =¿ vecto tín hiệu đầu ra.

o Hệ phương trình (*) có:


 Vecto ẋ và x đều có cỡ là n ×1 => cỡ của ma trận A sẽ là n × n ( ma
trận hệ thống)
 Vecto u có cỡ m ×1 mà vecto A.x có cỡ là n ×1 => cỡ của ma trận
B sẽ là n × m (ma trận đầu vào)
 Vecto x có cỡ n ×1 và vecto y có cỡ p ×1 => cỡ của ma trận C sẽ là
p ×n (ma trận đầu ra)

o Trường hợp thông thường thì m ≤n .


 Trong trường hợp m=n thì ta có tín hiệu đầu vào bằng với số trạng
thái => hệ đủ cơ cấu chấp hành.
 Trong trường hợp m<n thì số tín hiệu đầu vào ít hơn số lượng trạng
thái => hệ thiếu cơ cấu chấp hành.

 Ta sẽ thiết kế ra hai bộ điều khiển:


o Bộ điều khiển góc quay :
o
o Bộ điều khiển cho trạng thái (x) và đầu ra (y):
❑=❑˙ ˙
{❑=b
¨ .u
˙)
Ta được: ^x =( ❑
˙

 ^x˙ = ❑( )( ) ()
01 ( ˙ ) 0
¨ = 00 ❑ + b u

¿> x^˙ =A . x^ + Bu
01
( ) ()
0
Đặt A= 0 0 , B= b

2.1.1.1 ^x là biến biến thiên theo thời gian ( ^x(t ) ¿ :


+ Khi t →+; x^ →0 : hệ ổn định.
+ Khi t →+; x^ →+ ¿: hệ không ổn định.

2.2 Mục tiêu sẽ luôn là biến hệ từ không ổn định thành hệ ổn định. Ta sẽ có
thuật toán để kiểm tra hệ tuyến tính có đang ổn định hay không.
2.2.1 Bước 1: Tính giá trị riêng của ma trận A là ❑i.
❑i phải thỏa mãn det( ❑i I − A ) =0
2.2.2 Bước 2: Sau khi tìm được các giá trị riêng ta nhìn vào phần thực của
nghiệm Re(❑i).
+ Nếu với ∀ i=1→ n mà Re(❑i ¿< 0 thì hệ ổn định.
+ Nếu ∃i làm cho Re(❑i ¿> 0 thì hệ không ổn định.
 Với tín hiệu đầu vào là hàm u=u ( x ) sao cho hệ có tính ổn định, bộ điều
khiển tuyến tính phản hồi tĩnh với công thức u=−R x
o Ta thay vào công thức: ẋ= A . x+ B u
 ẋ=( A−B . R ) . x
2.2.3 Tiếp đến ta sẽ cần phải thiết kế R sao cho tính trị riêng:

|❑i I −( A−B . R )|=0 ¿

=> Với ∀ i=1→ n để cho Re(❑i ¿< 0 thì hệ sẽ ổn định.

2.3 Đối với thuật toán thiết kế bộ điều khiển phản hồi trạng thái gán điểm
cực ta sẽ có 2 trường hợp và sử dụng các phương pháp khác nhau:
2.3.1 Ma trận A có cỡ = 2 ( phương pháp Ackermann)
2.3.1.1 Sau khi khai triển phương trình (**) ta sẽ ra được dạng phương
trình bậc 2 với ẩn là .
2.3.1.2 Vì ❑1 ,❑2 là nghiệm của phương trình sẽ có dạng (−❑1 ) (−❑2 )
2.3.1.3 Ta sẽ giải ra các giá trị R1 , R 2từ hệ phương trình tương ứng.
=> Bộ điều khiển sẽ có dạng:
u=( R1 , R 2) . x
o Ma trận A có cỡ > 2 (phương pháp Roppenecker)

3. Thiết kế bộ điều khiển phản hồi trạng thái gán điểm cực:
3.1 Ta sẽ bắt đầu đi xây dựng lên một bộ điều khiển phản hồi dựa trên mô hình
và các cơ sở lý thuyết đã được nêu ở phía trên:
3.1.1 Ta có một hệ phương trình:

(
2 −1
=> ẋ= −3 4 x+ 1 u ) ()
0

 Ta ra được dạng: ^x˙ = A . ^x + Bu


 BĐK: u=R . x=( R 1 , R2 ) . x

(
0
Ta có: B . R= R
1
0
R2 )
2
(−1
 A−B . R= −3−R 4−R đặt = C
1 2
)
−2
|
|I −C|= −3−R
1
−1 =0
−4 + R2 |
(−2 ) (−4+ R2 ) −( 3+ R1 ) =0
❑2−4 +. R2−2+8−2 R 2−3−R 1=0
2
=> ❑ + . ( R 2−6 ) +5−2 R2−R1=0
=> ❑2+ . ( R 2−6 ) +5−2 R2−R1=0 ¿)
* Vì là bài toán với cỡ ma trận A = 2 nên sẽ chỉ có hai điểm cực và các điểm cực phải
có giá trị âm.

 Giả sử ta gán hai điểm cực: ❑1=−3 ,❑2=−1


( +3 ) ( +1 )=❑2+ 4+3=0
2 2
=> ❑ + . ( R 2−6 ) +5−2 R2−R1=❑ + 4+ 3
R2−6=4
{
5−2 R2 −R 1=3
 Ta tìm được: R1=−18 , R2=10
Bộ điều khiển có dạng:
u=(−18 ,10 ) . x

 Tương tự ta sẽ có được một bảng số liệu các điểm cực ta gán vào và bộ điều
khiển của trường hợp đó rồi chạy mô phỏng trên matlab:
o Để hệ thống có được chất lượng mong muốn, người ta có thể can thiệp
được bằng cách thiết kế một bộ điều khiển vào hệ thống sao cho với sự can
thiệp đó, hệ sẽ có được các điểm cực là những giá trị được cho trước với
chất lượng mong muốn. Cũng chính vì nguyên lý can thiệp để hệ nhận được
các điểm cực cho trước nên phương pháp này được gọi là phương pháp cho
trước điểm cực, hay còn gọi là phương pháp gán điểm cực. Trong đó, các
điểm cực của hệ chính là các giá trị riêng của ma trận A.

 Hệ I:
 Hệ II:
Trong đó: . Với và
====================================================================
Bước 1: Xét hệ I, ta thấy ngay nếu định nghĩa sai lệch bám:
(1)
Với là giá trị góc mong muốn của xe, trong bài toán này để đơn giản thì giả thiết là hằng số, thì
ta được:
=0 suy ra =0
Ta có hệ tuyến tính:
(2)
Hay ta được: (3)
với và .
Thiết kế bộ điều khiển gán điểm cực:
(4)
Tính =(r1,r2) đồng nhất gán điểm cực
Cho hệ (3), với điểm cực lựa chọn nằm bên trái trục ảo, giả sử là và , dùng lệnh:
R_theta = Poles(A_theta,[0;],[-5,-6])
Hệ (3) gán hệ (I) trở thành: , do nên hệ là ổn định, sẽ có được:

Bước 2: Xét hệ (II), nhận thấy ma trận có hạng bằng 2, nhỏ hơn 4
.Do đó ma trận bị suy biến và hạng A bé hơn 4 ( hệ có vô số điểm cân bằng hoặc cân bằng tại
gốc). Hơn nữa ma trận A phụ thuộc mạnh vào giá trị . Vì vậy cần hằng số hóa nó bằng bộ điều
khiển
(5)
Thì hệ (II) tương đương với: (6)
Và ma trận sẽ được thiết kế sao cho chứa nhiều hằng số nhất có thể để hàm số mới không bị suy
biến . Vậy ma trận sẽ có dạng:
(7)
Thì ta được: . Bỏ qua do chỉ đang xét th góc rất bé, thì có: .
Sau đó, tiếp tục sử dụng bộ điều khiển gán điểm cực cho:
(8)

Để hệ (5) với tín hiệu vào là nhận các điểm cực nằm
bên trái trục ảo, giả sử là .

You might also like