You are on page 1of 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/310843991

Modelling and Optimal Control for Two-wheeled Self-Balancing Robot

Working Paper · December 2015


DOI: 10.13140/RG.2.2.28450.43208

CITATIONS READS
0 3,389

3 authors, including:

Nguyen Minh Tam Hai Van Dong Nguyen

21 PUBLICATIONS   8 CITATIONS   
University of Technical Education Ho Chi Minh
28 PUBLICATIONS   16 CITATIONS   
SEE PROFILE
SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Building a humanoid robot (INMOOV type) for Ho Chi Minh city Unversity of Technology and Education View project

Hybrid Control Strategies for Jumping Robots View project

All content following this page was uploaded by Hai Van Dong Nguyen on 26 November 2016.

The user has requested enhancement of the downloaded file.


MÔ HÌNH HOÁ VÀ ĐIỀU KHIỂN TỐI ƯU CHO HỆ XE HAI BÁNH TỰ
CÂN BẰNG
MODELLING AND OPTIMAL CONTROL FOR TWO-WHEELED
SELF-BALANCING ROBOT
Nguyễn Minh Tâm, Nguyễn Văn Đông Hải, Nguyễn Phong Lưu, Lê Văn Tuấn
Trường đại học Sư phạm Kỹ thuật TP.HCM
TÓM TẮT
Hệ xe hai bánh tự cân bằng là một hệ thống được áp dụng nhiều trong các thí nghiệm điều khiển
tự động. Đây là một hệ thống MIMO (multi-input and multi-output) mang tính lý thuyết và thực
tiễn cao, đã được áp dụng trong cuộc sống. Tuy nhiên, đa phần các nghiên cứu chỉ xoay quanh
việc điều khiển cân bằng dùng các giải thuật tìm kiếm thử sai hoặc phương trình toán học đơn
giản. Các nghiên cứu chi tiết về phương trình toán học hệ thống và giải thuật ứng dụng chính
trên sự hiểu biết mô hình là không nhiều. Bài báo phân tích phương trình toán học của một hệ xe
hai bánh tự cân bằng. Qua đó, tác giả áp dụng thành công giải thuật điều khiển tối ưu cho hệ trên.
Giải thuật điều khiển tối ưu được thủ nghiệm với các trường hợp di chuyển khác nhau của xe.
Kết quả điều khiển là tốt trên cả mô phỏng Matlab/Simulink và thực nghiệm.
Từ khóa: xe hai bánh tự cân bằng, điều khiển tối ưu, LQR, Matlab/Simulink, MIMO, thực
nghiệm.

ABSTRACT
Two-wheeled Self-balancing Cart is a popular model in automatic experiments. This is a MIMO
system (multi-input and multi-output) which is theoretical, practical and has been applied in
normal life. Anyway, most research just focus on balancing this model through try-on
experiments or simple form of mathematical model. There are still so few research focus on
modelling algorithm and designing a mathematical model-based controller for this system.
This paper analized mathematical equations of the system. Then, the authors successfully applied
optimal control for this system. Optimal controller was tested with different cases of cart motion.
Controlling results was proved to work well through both experiments and simulation on
Matlab/Simulink.
Keywords: Two-wheeled Self-balancing Robot/Cart, LQR, optimal control, Matlab/Simulink,
experiment.
1. ĐẶT VẤN ĐỀ hơn). Nhiều nghiên cứu lại áp dụng các giải
thuật điều khiển thử sai (PID, FUZZY,…),
Hệ xe hai bánh tự cân bằng là một đối
không dựa trên mô hình toán học của hệ
tượng quen thuộc trong các bài toán lý
thống nên tính ổn định của hệ thống không
thuyết điều khiển. Thế nhưng, phần lớn các
được đảm bảo nhờ toán học [4], [5], [6]. Do đó,
nghiên cứu chỉ dựa trên phương trình toán
việc thiết lập một mô hình toán học chi tiết
học dạng đơn giản với ngõ vào hệ thống là
với ngõ vào điều khiển điện áp là cần thiết.
momen bánh trái hoặc momen bánh phải và
Và khi phương trình toán học chi tiết đã được
chỉ hoàn thành trên mô phỏng[1], [2], [3] trong
thành lập, một giải thuật điều khiển tối ưu
khi mô hình thực tế thì ngõ vào là điện áp
(LQR) được thiết kế để điều khiển hệ thống.
cấp cho động cơ bánh trái hoặc bánh phải
Việc ổn định của hệ thống được đảm bảo nhờ
(phương trình toán học hệ thống phức tạp
phường trình Riccati. Nhờ đó, bộ điều khiển
tối ưu ổn định được hệ thống trên mô phỏng điều khiển tối ưu áp dụng cho hệ xe này. Sau
cũng đảm bảo việc áp dụng được trên thực tế. đó, mục IV và V lần lượt trình bày các kết quả
điều khiển trên mô phỏng và thực nghiệm.
Các mục tiếp theo của bài báo được trình
Cuối cùng, mục VI đưa ra kết luận về điều
bày như sau: Mục II sẽ đề cập cách thức mô
khiển LQR cho hệ thống trên.
hình hóa đối tượng hệ xe hai bánh tự cân
bằng. Tiếp đó, mục III, sẽ trình bày giải thuật

2. MÔ HÌNH TOÁN HỌC


Sơ đồ và hệ quy chiếu hệ xe hai bánh tự cân bằng được thể hiện như ở hình 1, 2, 3 ở dưới:

Hình 1: Hình ảnh mô tả hệ Hình 2: hệ xe hai bánh tự Hình 3: hệ xe hai bánh tự cân
xe hai bánh tự cân bằng cân bằng nhìn nghiêng bằng nhìn từ trên xuống
Trong đó, các thành phần của hệ được liệt lê ở bảng 1:

Kí hiệu Đơn vị Ý nghĩa N Tỉ số giảm tốc


m kg Khối lượng của bánh xe G m Gia tốc trọng trường
s2
M kg Khối lượng của robot  rad Góc trung bình của bánh trái và
phải
R m Bán kính bánh xe
m Chiều rộng của robot
l ,r rad Góc của bánh trái và phải
W
 rad Góc nghiêng của phần thân robot
D m Chiều ngang của robot
 rad Góc xoay của robot
H m Chiều cao của robot m Tọa độ bánh trái
xl , yl , zl
L m Khoảng cách từ trọng tâm robot
xr , y r , z r m Tọa độ bánh phải
đến trục bánh xe
fw Hệ số ma sát giữa bánh xe và mặt m Tọa độ trung bình
phẳng di chuyển xm , ym , zm
fm Hệ số ma sát giữa robot và động F , Nm Moment phát động theo các
cơ DC phương khác nhau
Moment quán tính động cơ DC F , F
sss J m kgm2
Fl ,r Nm Moment phát động của động cơ
Rm  Điện trở động cơ DC bánh trái, phải
Kb Vs rad Hệ số EMF của động cơ DC il , ir A Dòng điện động cơ bánh trái,
phải
vl , vr V Điện áp động cơ bánh trái, phải
Kt Nm A Moment xoắn của động cơ DC

Bảng 1: Ký hiệu và ý nghĩa của các đại lượng


Ta sử dụng phương pháp Euler-Lagrange
T1  m  xl2  yl2  zl2  
1
để xây dựng mô hình động học. Giả sử tại
2
thời điểm t = 0, robot di chuyển theo chiều
 m  xr2  yr2  zr2  
dương trục x, ta có góc tịnh tiến trung bình 1
của hai bánh xe và góc xoay của robot được 2 (7)
xác định như sau:
 m  xb2  yb2  zb2 
1
 1
   2 l
   r   (1) 2
    R 
   l   r   Phương trình động năng của chuyển động

W 
 quay :
Trong đó tọa độ trung bình của Robot trong 1 1 1
hệ qui chiếu: T2  J wl2  J w r2  J w 2
2 2 2
 x 
 xm    m 
1 1
 
2
 J   2  n 2 J m  l   (8)
2 2
y    y 
 m   m 
(2) 1
 
2
 n 2 J m  r 
 zm   R  2
 
Với
 xm   R cos   1 2
 1
 
2 2
Và      (3) n J m  l  ; n 2 J m  r  (9)
 ym   R sin   2 2
là động năng quay của phần ứng động cơ
Tọa độ bánh trái trong hệ qui chiếu : trái và phải.
 W  Phương trình thế năng:
 xm  2 sin   U  mgzl  mgzr  mgzb (10)
 xl   
 y    y  W cos   (4) Phương trình Lagrange :
 l  m W 
 zl    L  T1  T2  U (11)
 zm 
  d  L  L
   F (12)
Tọa độ bánh phải trong hệ qui chiếu : dt    
 W  d  L  L
 xm  2 sin      F (13)
 xr    dt    
 y    y  W cos   (5)
 r  m W  d  L  L
 zr       F (14)
 z m  dt    
 
Lấy đạo hàm L theo các biến ta được:
Tọa độ tâm đối xứng giữa hai động cơ trong
hệ qui chiếu :  2 m  M  R 2  
  
 xb   xm  L sin cos    2 J w  2n J m 
2

 y    y L sin cos     MLR cos  2n 2 J m   (15)


 b  m  (6)
 zb   zm  L cos   MLR 2 sin  F

Phương trình động năng của chuyển động  MLRcos    ML2  J  


tịnh tiến:       

 2n J m  2n J m
2
 (16)
2

 MgLsin  ML  sin cos  F
2 2
1
 2 mW  J  
2 

 2m  M  R 2  2 J w  2n 2 J m   
 
 W
2
 2    MLRcos  2n 2 J m  
 2R2  J w  n 2
J m   
(17)
(28)

  ML sin 
2 2 

 MLR 2 sin    vl  vr  
 
  2    f w    2
2 ML  sin cos  F
2

 MLR cos    ML2  J  


Momen động lực do động cơ DC sinh ra:       
 2n J m 
 2n J m
2

2
  
 F   Fl  Fr 
 MgL sin  ML  sin cos
2 2
(29)
    (18)
 F  F 
 F  W     vl  vr   2  2
    Fl  Fr  
R 
1 
 2 mW  J  
2
Và: 
 
   W  2
2

 2R2  J w  n J m     
Fl  nKt il  f m   l  f wl (19) 2

 
F  nK i  f      f 
r t r m r w r (20)   ML sin 
2 2

 
F  nK i  nK i  f     

2 ML2 sin cos 
t l t r m l
(21) (30)
 f     W W2
  vr  vl      fw 
m r

Sử dụng phương pháp PWM để điều khiển 2R 2R2


động cơ nên chuyển từ dòng điện sang điện 3. ĐIỀU KHIỂN TỐI ƯU
áp động cơ:
Từ (28), (29), (30), ta có hệ phương trình

Lmil ,r  vl ,r  Kb   l ,r  Rmil ,r  (22) mô tả hệ thống xe hai bánh cân bằng có
dạng sau:
Xem điện cảm phần ứng tương đối nhỏ (gần
 x1  x2
bằng 0), có thể bỏ qua, suy ra: x  f x , x , x , x , x , x ,v ,v
 2 1 1 r
 
2 3 4 5 6 l
vl ,r  Kb   l ,r  x3  x4
il ,r  (23)  (31)
Rm  x4  f 4  x1 , x2 , x3 , x4 , x5 , x6 , vl , vr 
 x5  x6
Từ đó, các moment lực sinh ra: 
 x6  f 6  x1 , x2 , x3 , x4 , x5 , x6 , vl , vr 
F    vl  vr   2    f w   2 (24)
Với :
F    vl  vr   2  2 (25)
x   x1 x2 x3 x4 x5 x6 
T

nKt nKt Kb 32)


Với   và    fm (26)        
T
Rm Rm

W W2 Nếu chọn điểm làm việc là:


F    vr  vl   2 (   f w ) (27)
2R 2R x0  0 0 0 0 0 0 ; u0   0 0
T T
(33)
Thu được phương trình động lực học mô tả
chuyển động của robot như sau: Ta có thể tuyến tính hoá hệ thống (31) về
dạng:
x  Ax  Bu (34)
 0 0   0 1 0 0 0 0 
   
 f 2 f 2   f 2 f 2 f 2 f 2 f 2 f 2 
 vl x  x0 vr x  x0   x1 x  x0 x2 x  x0 x3 x  x0 x4 x  x0 x5 x  x0 x6 x  x0 
 u  u0 u  u0   u  u0 u  u0 u  u0 u  u0 u  u0 u  u0 
 0   0 
 vl  
0
 ; 
0 0 0 1 0
 (35)
Với: u    ;
  f 4 f 4  A   f 4 f 4 f 4 f 4 f 4 f 4 
 r
v B
   
 vl ux ux0 vr x  x0 
u  u0
 x1 ux ux0 x2 x  x0
u  u0
x3 x  x0
u  u0
x4 x  x0
u  u0
x5 x  x0
u  u0
x6 x  x0 
u  u0
 0
  0

 0 0   0 0 0 0 0 1 
   
 f 6 f 6   f 6 f 6 f 6 f 6 f 6 f 6 
 vl x  x0 vr x  x0   x1 x  x0 x2 x  x0 x3 x  x0 x4 x  x0 x5 x  x0 x5 x  x0 
 u u0 
u  u0   u u0 u  u0 u  u0 u  u0 u  u0 
u  u0 

Lúc này, ta có các ma trận trọng số như sau:


Q1 0 0 0 0 0
0 Q 0 0 0 0 
 2

0 0 Q3 0 0 0
Q 
0 0 0 Q4 0 0
0 0 0 0 Q5 0
 
 0 0 0 0 0 Q6 

 R1 0  Hình 4: Sơ đồ chi tiết bộ điều khiển LQR


and R   
 0 R2  cho hệ xe hai bánh tự cân bằng
Với các thông số Q1 , Q2 , … Q5 , Q6 , 4. KẾT QUẢ MÔ PHỎNG
R1 và R2 để tinh chỉnh cho bộ điều khiển Thông số mô hình được chọn như sau:
LQR. Trong đó, thông Q1 , Q2 , Q3 , Q4 , m  1 ; M  5 ; R  0.0725 ; W  0.24 ;
Q5 , Q6 lần lượt là các trọng số tối ưu D  0.2 ; H  0.5 ; L  0.18 ; f w  0.18 ;
tương ứng cho các giá trị  ,  ,  ,  ,  , fm  0.002 ; J m  0.01 ; J  2ML2 3 ;
 , tín hiệu điều khiển cho góc tiến tới và tín J  M W 2  D2  12 ; Rm  50 ; Kb  0.468 ;
hiệu điều khiển cho góc xoay. Nếu muốn
biến trạng thái nào được ưu tiên trong việc Kt  0.317 ; n  40 ; g  9.81 ; T  0.01
điều khiển thì ta cho thông số trọng số tương Ma trận trọng số LQR được chọn như sau:
ứng đó lớn hơn tương đối so với các thông 1 0 0 0 0 0
số trọng số khác. 0 0 
 1 0 0 0 ; 1 0 
R 
0 0 1 0 0 0 0 1 
Sau khi chọn được thông số điều khiển Q 
0 0 0 1 0 0
tương ứng, ta tiến hành xây dựng thông số 0 0 0 0 1 0
hồi tiếp K với tín hiệu điều khiển u= - K*x  
0 0 0 0 0 1
Thông số K được tính dựa vào phương trình
Riccati. Tuy nhiên, Matlab đã hỗ trợ ta hàm Lúc này, ta được ma trận K theo lệnh
lqr() để tính ra thông số K khi đã biết ma K=lqr(A,B,Q,R)
trận A, B, Q, R. 0.7 236.3 6066 1390.9 0.7 10.4
K  
0.7 236.3 6066 1390.9 0.7 10.4 
4.1. Giá trị đặt bằng 0

Hình 5: Góc bánh xe  (rad) Hình 6: Góc nghiêng  (rad) Hình 7: Góc xoay  (rad)
4.2. Giá trị đặt khác 0
Chọn là  đặt =  (rad),  đặt =  2 (rad) (xe tiến tới 1 đoạn bằng chiều quay của một vòng
hai bánh xe và quay 1 góc 90 độ quanh trục của xe)

Hình 8: Góc bánh xe  (rad) Hình 9: Góc nghiêng  (rad) Hình 10: Góc xoay  (rad)
4.3. Nhận xét

Như kết quả mô phỏng ở các hình 5-9, ta thấy trạng thái xe luôn bám sát tín hiệu đặt, bộ điều
khiển LQR đáp ứng tốt. Điều này chứng tỏ xe có thể đi tới, lui, quẹo phải, trái tùy giá trị đặt.
Thời gian quá độ còn dài và có thể được cải thiện thông qua việc chọn ma trận trọng số phù hợp.
5. KẾT QUẢ THỰC TẾ
Mô hình thực nghiệm được thể hiện ở 1. Nguồn Pin
hình 11 như sau: 2. Mạch cầu H
3. Vi điều khiển DSP
4. Cảm biến MPU 6050
5. Bánh xe mô hình

Hình 12: Sơ đồ kết nối phần cứng


Hình 11: Mô hình phần cứng thực nghiệm
Trong khuôn khổ điều khiển LQR, ta
chọn các ma trận như sau:
1000 0 0 0 0 0 
 0 100 0 ;  20 0 
 0 0 0  R  
 0
Q
0 100 0 0 0   0 20 

 0 0 0 0.1 0 0 
 0 0 1000 0 

0 0
 Hình 18: Giá trị góc xoay  (độ)
 0 0 0 0 0 100 

Như vậy, với thông số hệ thống thực tế, ta Thí nghiệm 2: Điều khiển quẹo phải
tính toán ra:
 0.7 236.3 6066 1390.9 0.7 10.4
K  
 0.7 236.3 6066 1390.9 0.7 10.4 

5.1. Điều khiển đứng yên tại vị trí cân


bằng Hình 19: Giá trị góc tới  (độ)

Hình 13: Giá trị góc tới  (độ)


Hình 20: Giá trị góc nghiệng  (độ)

Hình 14: Giá trị góc nghiệng  (độ)


Hình 21: Giá trị góc xoay  (độ)
Thí nghiệm 3: Điều khiển đi lùi

Hình 15: Giá trị góc xoay  (độ)


5.2. Điều khiển với vị trí đặt khác 0
Hình 22: Giá trị góc tới  (độ)
Thí nghiệm 1: Điều khiển quẹo trái

Hình 23: Giá trị góc nghiệng  (độ)


Hình 16: Giá trị góc tới  (độ)

Hình 17: Giá trị góc nghiệng  (độ) Hình 24: Giá trị góc xoay  (độ)
Thí nghiệm 4: Điều khiển đi tới thực tế. Từ đó, dựa trên mô hình vừa tính
toán ra của hệ thống, nhóm tác giả thiết kế
giải thuật điều khiển tối ưu cho hệ thống trên.
Kết quả điều khiển cho kết quả tốt ở cả mô
phỏng và thực tế.

TÀI LIỆU THAM KHẢO


Hình 25: Giá trị góc tới  (độ)
[1] A. N. K. Nasir, M. A. Ahmad, R. M. T.
Raja Ismail, The Control of a Highly
Nonlinear Two-wheeled Balancing Robot: A
Comparative Assessment between LQR and
PID-PID Control Schemes, International
Journal of Mechanical, Aerospace, Industrial,
Hình 26: Giá trị góc nghiệng  (độ) Mechatronic and Manufacturing
Engineering, Vol. 4, No. 10, 2010.
[2] Nguyen Ngoc Son, Ho Pham Huy Anh,
Adaptive Backstepping Self-balancing
Control of a Two-wheel Electric Scooter,
International Journal of Advanced Robotic
Hình 27: Giá trị góc xoay  (độ) Systems, Vol. 11, No. 1, 2014.
5.3. Nhận xét [3] Ming Yue, Wei Sun, Ping Hu, Sliding
Mode Robust Control for Two-wheeled
Qua các hình 16-27, ta nhận thấy hệ
Mobile Robot with Lower Center of Gravity,
thống xe hai bánh cân bằng thực tế đã điều
International Journal of Innovative
khiển được theo các trạng thái đi tới, đi lui,
Computing, Information and Control, Vol. 7,
quẹo trái, quẹo phải để đạt các giá trị đặt cho
No. 2, 2011.
trước. Tuy nhiên, biến trạng thái trong thực
tế không bám hoàn toàn các giá trị đặt. Đó là [4] Samer Miasa, Mohammad Al-Mjali,
vì tính chất thỉa hiệp trong điều khiển LQR- Anas Al-Haj Ibrahim, and Tarek A. Ttunji,
sự sai lệch trong một biến trạng thái được bù Fuzzy Control of a Two-Wheel Balancing
đắp bằng sự sai lệch của một biến trạng thái Robot using DSPIC, 7th International
tương ứng khác nhưng đủ để đảm bảo tính Multi-Conference on Systems, Signals and
hiệu điều khiển vẫn đúng giá trị thiết kế. Devices, 2010.
Đây là một khuyết điểm của điều khiển LQR [5] Unluturk, A, Aydogdu, O, Guner, U.,
so với các giải thuật điều khiển phi tuyến Design and PID control of two wheeled
khác. Tuy nhiên, một giải thuật điều khiển autonomous balance robot, International
LQR là đơn giản rất nhiều và dễ thiết kế cho Conference on Electronics, Computer and
hệ MIMO phức tạp so với các giải thuật điều Computation (ICECCO), (IEEE), pp.
khiển phi tuyến khác vốn chỉ phù hợp với đa 260-264, 2013.
số các hệ thống SISO.
[6] Congying Qiu, Yibin Huang, The Design
6. KẾT LUẬN of Fuzzy Adaptive PID Controller of
Bài báo đã tính toán mô hình hóa về Two-Wheeled Self-Balancing Robot,
phương trình toán học của một hệ xe hai bánh International Journal of Information and
tự cân bằng với ngõ vào là điện áp để có thể Electronics Engineering, Vol. 5, No. 3, 2015.
áp dụng cho đối tượng trên cả mô phỏng và
Thông tin liên hệ tác giả chính (người chịu trách nhiệm bài viết):
Họ tên: Nguyễn Phong Lưu
Đơn vị: Bộ môn Điều khiển tự động, Khoa Điện-điện tử, ĐH SPKT TPHCM
Điện thoại: 0918 119 083
Email: luunp@hcmute.edu.vn; aphongluu@gmail.com

View publication stats

You might also like