Điều khiển mờ robotino di chuyển bám theo đường đi định trước

Trong bài báo này, chúng tôi sử dụng bộ điều khiển logic mờ để điều khiển mô hình rô

bốt Robotino di chuyển theo đường đi cố định cho trước, đây là hệ thống có tính phổ biến đối với các

mô hình Mobile Robot. Thực tế, vấn đề điều khiển Mobile Robot di chuyển bám đường luôn gặp nhiều

thách thức dưới ảnh hưởng của vận tốc và các sai số không xác định của hệ thống. Kết quả mô phỏng

cho thấy giải thuật Fuzzy điều khiển rô bốt cho đáp ứng tốt về biến thiên vận tốc.

pdf 5 trang dienloan 18440
Bạn đang xem tài liệu "Điều khiển mờ robotino di chuyển bám theo đường đi định trước", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Điều khiển mờ robotino di chuyển bám theo đường đi định trước

Điều khiển mờ robotino di chuyển bám theo đường đi định trước
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 34-11/2019 
45 
ĐIỀU KHIỂN MỜ ROBOTINO DI CHUYỂN 
 BÁM THEO ĐƯỜNG ĐI ĐỊNH TRƯỚC 
ROBOTINO FUZZY CONTROL MOVING TO THE FIXED PATH 
Đặng Xuân Kiên, Nguyễn Ngô Thanh Tân, Trần Tiến Đạt 
Trường Đại học Giao thông vận tải Tp. Hồ Chí Minh 
Tóm tắt: Trong bài báo này, chúng tôi sử dụng bộ điều khiển logic mờ để điều khiển mô hình rô 
bốt Robotino di chuyển theo đường đi cố định cho trước, đây là hệ thống có tính phổ biến đối với các 
mô hình Mobile Robot. Thực tế, vấn đề điều khiển Mobile Robot di chuyển bám đường luôn gặp nhiều 
thách thức dưới ảnh hưởng của vận tốc và các sai số không xác định của hệ thống. Kết quả mô phỏng 
cho thấy giải thuật Fuzzy điều khiển rô bốt cho đáp ứng tốt về biến thiên vận tốc. 
Từ khóa: Biến thiên vận tốc, Robotino, logic mờ, Mobile Robot. 
Chỉ số phân loại: 2.2 
Abstract: In this paper, we use fuzzy logic controllers to control the robotino robot model moving 
in a given fixed path, a system that is popular with Mobile rô bốt models. In fact, the problem of 
controlling mobile robot on the road is always faced with many challenges under the influence of speed 
and unknown errors of the system. The simulation results show that the fuzzy algorithm to control the 
rô bốt responds well to speed variations. 
Keyword: Speed variations, robotino, fuzzy logic, mobile robot. 
Classification number: 2.2 
1. Giới thiệu 
Hiện nay, lĩnh vực tự động hóa có vai trò 
vô cùng to lớn đối với sự phát triển tích cực 
của xã hội. Với nhiệm vụ tăng năng suất, tăng 
độ chính xác của sản phẩm, đồng thời, giảm 
thiểu các hoạt động của con người trong 
những môi trường độc hại hoặc khắc nghiệt, 
rô bốt ngày càng được sử dụng rộng rãi trong 
các hệ thống dây chuyền sản xuất hiện đại ở 
nhiều lĩnh vực và ngành công nghiệp để thay 
thế con người [1]. Cùng với sự phát triển về 
khoa học công nghệ, các rô bốt hiện đại ngày 
càng có khả năng tham gia vào cuộc sống của 
mỗi con người, trong đó đòi hỏi sự tương tác 
và phản ứng của rô bốt với các tín hiệu, cụ thể 
là mức độ tự động hóa cao [2]. 
Đối tượng nghiên cứu của bài báo này 
hướng đến là Robotino [3]. Robotino là một 
hệ thống rô bốt di động rất nổi tiếng dành cho 
phạm vi nghiên cứu thực nghiệm, giáo dục và 
các mục đích nghiên cứu khác, được chế tạo 
và phát triển bởi Festo Didactic [4]. Robotino 
tích hợp tất cả những chức năng tương tự như 
một hệ thống rô bốt công nghiệp, hiện đại. Bộ 
điều khiển với cấu hình mạnh mẽ; hệ thống 
cảm biến đa chức năng; cơ cấu chấp hành linh 
hoạt, cứng cáp, nhỏ gọn; chương trình đơn 
giản, đa dạng, dễ sử dụng với nhiều ngôn ngữ 
lập trình và hệ thống khác nhau. 
Trong quá trình điều khiển Robotino di 
chuyển theo đường đi cho trước, vận tốc di 
chuyển của rô bốt sẽ ảnh hưởng đến việc bám 
sát quãng đường có khi là đường thẳng hay 
khúc quanh. Muốn rô bốt bám sát quãng 
đường trong khi di chuyển, phải chọn vận tốc 
nhỏ tại các khúc quanh để rô bốt bám sát 
đường đi, đó cũng là vận tốc không đổi trong 
suốt quá trình di chuyển, điều này ảnh hưởng 
đến tốc độ làm việc của rô bốt. Bài báo áp 
dụng logic mờ vào điều khiển mô hình 
Robotino nhằm tối ưu vận tốc di chuyển của 
rô bốt trong khi vẫn bám sát đường đi, qua đó, 
tăng quãng đường di chuyển của rô bốt. 
2. Cấu trúc phần cứng mô hình toán 
học của rô bốt Robotino 
2.1. Cấu trúc phần cứng 
Robotino được cấu hình gồm ba bánh xe 
Mecanum, sắp xếp ở góc 120 độ, có thể điều 
khiển độc lập [3]. Các bánh xe được điều khiển 
di chuyển về phía trước, chạy ngược về phía 
sau, chạy ngang hoặc di chuyển theo vòng tròn 
với tốc độ tối đa lên đến 10km/h. 
46 
Journal of Transportation Science and Technology, Vol 34, Nov 2019 
Bảng 1. Thông số kỹ thuật Robotino [3]. 
STT Các thông số chính của Robotino 
1 
Kích thước rô bốt: Đường kính 370mm, chiều 
cao 210, trọng lượng tổng thể 11kg và tải 
trọng tối đa 5kg. 
2 
Cảm biến: Chín cảm biến khoảng cách hồng 
ngoại Sharp GD2D120, cảm biến điện cảm 
tương tự, hai cảm biến quang, webcam với 
giao tiếp USB, ba bộ mã hóa quang. 
3 
Bộ điều khiển: Bộ xử lý PC 104, tương thích 
với hệ điều hành MOPSlcdVE, tần số 300 
MHz, SDRAM 128 MB, truy cập mạng LAN 
không dây. 
4 
Module giao tiếp I/O: Ngõ ra điều khiển ba 
bộ bánh xe đa hướng độc lập được đặt ở vị trí 
lệch góc 120o, 10 ngõ vào tương tự (0 - 10V, 
50 Hz), hai ngõ ra tương tự, 16 ngõ vào/ra 
dạng số, ba relay. 
2.2. Mô hình toán học 
Hình 1. Mô hình toán học rô bốt Robotino [2]. 
Hình 1 thể hiện mô hình toán học của 
Robotino. Xác định vận tốc rô bốt từ vận tốc 
bánh xe có thể được thực hiện bằng cách đảo 
ngược ma trận, ta có [2]: 
𝜔𝜔𝑤𝑤ℎ = �𝜔𝜔1(𝑡𝑡)𝜔𝜔2(𝑡𝑡)
𝜔𝜔3(𝑡𝑡)� = 1𝑟𝑟 . �𝑣𝑣1(𝑡𝑡)𝑣𝑣2(𝑡𝑡)𝑣𝑣3(𝑡𝑡)� = 1
𝑟𝑟
. �− sin(𝜃𝜃 + 𝜑𝜑1) cos(𝜃𝜃 + 𝜑𝜑1) 𝑅𝑅− sin(𝜃𝜃 + 𝜑𝜑2) cos(𝜃𝜃 + 𝜑𝜑2) 𝑅𝑅
− sin(𝜃𝜃 + 𝜑𝜑3) cos(𝜃𝜃 + 𝜑𝜑3) 𝑅𝑅� . ��̇�𝑥𝑟𝑟(𝑡𝑡)�̇�𝑦𝑟𝑟(𝑡𝑡)Ω(𝑡𝑡) � (1) 
Trong đó: 
- ωi: Vận tốc góc của bánh xe i (vận tốc 
góc của bánh xe mô tả là vectơ ωwh); 
- vi: Vận tốc di chuyển của mỗi bánh xe 
riêng lẻ (vận tốc của bánh xe mô tả 
vectơ vwh); 
- r: Bán kính của bánh xe; 
- R: Khoảng cách từ bánh xe đến trung 
tâm của rô bốt; 
- xr, yr: Mô tả hệ tọa độ rô bốt; 
- Ω: vận tốc quay tiếp tuyến của rô bốt; 
- φi: Mô tả vòng quay của trục bánh xe 
so với hệ tọa độ rô bốt; 
- xw và yw: Mô tả vận tốc quay trên hệ 
trục tọa độ (x,y); 
- θ: Góc quay của hệ tọa độ rô bốt so với 
hệ trục tọa độ. 
Giai đoạn thứ hai là xử lý mối quan hệ 
giữa các bánh xe vận tốc và vận tốc của rô 
bốt. Đơn giản hóa các công thức bằng cách 
thay thế ma trận biến đổi từ vận tốc bánh xe 
sang vận tốc di chuyển với Twh → w [1,2]. Ta 
có: 
𝜔𝜔𝑤𝑤ℎ = �𝜔𝜔1(𝑡𝑡)𝜔𝜔2(𝑡𝑡)
𝜔𝜔3(𝑡𝑡)� = 1𝑟𝑟 . �𝑣𝑣1(𝑡𝑡)𝑣𝑣2(𝑡𝑡)𝑣𝑣3(𝑡𝑡)� = 1𝑟𝑟 .𝑣𝑣𝑤𝑤ℎ = 1
𝑟𝑟
. �− sin(𝜃𝜃 + 𝜑𝜑1) cos(𝜃𝜃 + 𝜑𝜑1) 𝑅𝑅− sin(𝜃𝜃 + 𝜑𝜑2) cos(𝜃𝜃 + 𝜑𝜑2) 𝑅𝑅
− sin(𝜃𝜃 + 𝜑𝜑3) cos(𝜃𝜃 + 𝜑𝜑3) 𝑅𝑅� . ��̇�𝑥(𝑤𝑤)(𝑡𝑡)�̇�𝑦(𝑤𝑤)(𝑡𝑡)
Ω(𝑡𝑡) � 
(2) 
Sử dụng các biểu thức dẫn xuất ở trên, có 
thể xác định vận tốc thực của rô bốt từ các 
phép đo của vận tốc góc ba bánh xe bằng cách 
đảo ngược ma trận Twh → w. 
 ��̇�𝑥(𝑤𝑤)(𝑡𝑡)�̇�𝑦(𝑤𝑤)(𝑡𝑡)
Ω(𝑡𝑡) � = 𝑟𝑟. [𝑇𝑇𝑤𝑤ℎ→𝑤𝑤]−1. �𝜔𝜔1(𝑡𝑡)𝜔𝜔2(𝑡𝑡)𝜔𝜔3(𝑡𝑡)� (3) 
Phương trình (1), (2) và (3) thể hiện các 
mối quan hệ cơ bản để xác định vị trí rô bốt 
trong môi trường thực tế. Phương pháp tính 
toán cố định tạo điều kiện đơn giản để ước tính 
vị trí hiện tại của rô bốt dựa trên vị trí đã được 
xác định trước đó khi vận tốc và thời gian trôi 
qua cho đến khi biết được vị trí hiện tại. Vị trí 
ước tính khi rô bốt di chuyển từ thời điểm t0 
tại thời điểm t1 được xác định bằng cách sử 
dụng phương trình (4) như sau [2]: 
�
𝑥𝑥(𝑤𝑤)(𝑡𝑡1)
𝑦𝑦(𝑤𝑤)(𝑡𝑡1)
𝜃𝜃(𝑡𝑡1) �= �𝑥𝑥𝑤𝑤,0𝑥𝑥𝑤𝑤,0
𝜃𝜃0
� + 𝑟𝑟.� �[𝑇𝑇𝑤𝑤ℎ→𝑤𝑤]−1. �𝜔𝜔1(𝑡𝑡)𝜔𝜔2(𝑡𝑡)
𝜔𝜔3(𝑡𝑡)� 𝑑𝑑𝑡𝑡� 𝑡𝑡1𝑡𝑡0 
(4) 
xw(t1) và yw(t1) là hệ tọa độ dịch chuyển 
tại thời điểm t1. Trong đó: 
- θ(t1) góc định hướng tại thời điểm t1; 
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 34-11/2019 
47 
- xw,0 và yw,0 là hệ tọa độ dịch chuyển tại 
thời điểm t0; 
- θ0 góc định hướng tại thời điểm t0. 
Trong trường hợp của bài báo, quy trình 
điều khiển Robotino bằng ngôn ngữ Matlab 
thông qua giao tiếp không dây được đơn giản 
hóa bằng cách sử dụng Robotino Matlab 
Toolbox. Thông tin về vị trí Robotino thu 
được bằng cách sử dụng bộ mã hóa trục quang 
và phương pháp tính toán cố định (hình học rô 
bốt). Nhược điểm của phương pháp tính toán 
cố định là các vị trí mới chỉ được xác định từ 
các vị trí trước đó nên các lỗi xuất hiện trong 
quy trình sẽ được tích lũy, và như vậy các lỗi 
trong ước tính vị trí sẽ tăng dần theo thời gian. 
3. Thiết kế bộ điều khiển Fuzzy 
3.1. Thiết kế hệ thống điều khiển dựa 
trên logic mờ 
Hình 2. Sơ đồ khối của hệ thống điều khiển rô bốt. 
Mô hình trên hình 2 được xây dựng cơ 
bản dựa trên tài liệu về phần cứng thực tế của 
Robotino. Trong đó, u điện áp đọc từ cảm 
biến, vx và vy là vận tốc tuyến tính của rô bốt 
theo hướng Ox và Oy; (x, y), θ vị trí và hướng 
của rô bốt. [4]. Nếu cảm biến trên đường đi 
bằng kim loại, nó sẽ xuất ra giá trị điện áp 
2,00195 V và ngược lại, nếu cảm biến không 
nằm trên quãng đường di chuyển định trước, 
ngõ ra sẽ có giá trị 9,95117 V [3]. 
Để thử nghiệm, sau khi nhận được giá trị 
ngõ ra, ta trừ đi 5,97656 (là giá trị trung bình 
của 2,00195 và 9,95117), sau đó nhân với hệ 
số tỷ lệ là 3. Kết quả cuối cùng được đặt làm 
giá trị đầu vào cho Omega của hàm 
OmniDrive_setVelocity. Sau nhiều lần thử 
với các vận tốc khác nhau, để đảm bảo rô bốt 
luôn theo sát đường và quay đúng hướng, đặt 
tốc độ theo phương X cố định 100 mm/s, tốc 
độ theo phương y = 0 [4]. Cảm biến xuất ra 
giá trị điện áp là 2,00195 V≈2 V khi nằm trên 
đường đi, và ngược lại, ngõ ra sẽ có giá trị 
9,95117 V≈10 V nên chọn dải giá trị đầu vào 
input 1 từ [210]. Thêm vào đó, với vận tốc 
theo phương x, rô bốt bám tốt tại các khúc 
quanh nên chọn các dải ngõ vào như sau: 
E1[2,4,6], E2[4,6,8], E3[6,8,10]. Ngõ ra với 
hai dải vận tốc VX1[100 125 150], VX3 [150 
250 300]. 
3.2. Thiết kế Bộ luật mờ 
Bộ luật mờ được xây dựng trên Matlab 
Simulink, tối giản số luật nhằm phù hợp với 
phần cứng, các luật mờ được thiết kế như sau: 
Rule1: If (sensor is E4) then (vx is VX3) (w is w4). 
Rule2: If (sensor is E3) then (vx is VX1) (w is w3). 
Rule3: If (sensor is E2) then (vx is VX1) (w is w2). 
Rule4: If (sensor is E1) then (vx is VX1) (w is w1). 
Rule5: If (sensor is E5) then (vx is VX1) (w is w5). 
Rule6: If (sensor is E6) then (vx is VX1) (w is w6). 
Rule7: If (sensor is E7) then (vx is VX1) (w is w7). 
Hình 3. Bộ điều khiển logic mờ - Madami. 
Hình 3 sử dụng bộ điều khiển logic mờ - 
Madami trong sơ đồ điều khiển thiết kế trong 
Matlab Simulink trên hình 4. 
Hình 4. Sơ đồ điều khiển Robotino xây dựng trong 
Matlab Simulink. 
48 
Journal of Transportation Science and Technology, Vol 34, Nov 2019 
3.3. Kết quả mô phỏng 
 Tại vận tốc biến thiên từ 100-300 
mm/s, thời gian mô phỏng 25000ms 
Hình 5. Mô phỏng hoạt động của rô bốt tại 
 vận tốc Vx=100mm/s. 
(a) Bộ điều khiển PID (b) Bộ điều khiển Fuzzy 
(X Axis: tọa độ theo phương x 
, Y Axis: tọa độ theo phương y) 
Hình 6. So sánh quỹ đạo dịch chuyển của rô bốt điều 
khiển vx, w tại vận tốc 100mm/s. 
Hình 6 là kết quả mô phỏng quỹ đạo di chuyển 
của Robotino với bộ điều khiển Fuzzy thiết kế 
(b) và bộ điều khiển PID (a) có sẵn. Kết quả 
cho thấy 2 bộ điều khiển có đáp ứng tương đối 
ổn định. 
(a) Bộ điều khiển PID (b) Bộ điều khiển Fuzzy 
Hình 7. So sánh quỹ đạo dịch chuyển của rô bốt điều 
khiển vx, w tại vận tốc 200mm/s. 
Bộ điều khiển Fuzzy (hình 7.b) cho đáp 
ứng tốt hơn khi Robotino hoạt động ở tốc độ 
cao (200mm/s) trong khi bộ điều khiển PID bị 
lệch hướng trong giai đoạn cuối của hành 
trình. 
(a) Bộ điều khiển PID (b) Bộ điều khiển Fuzzy 
Hình 8. So sánh quỹ đạo dịch chuyển của rô bốt điều 
khiển vx, w tại vận tốc 300mm/s. 
Tiếp tục thử nghiệm ở tốc độ 300mm/s, 
kết quả tại hình 8 cho thấy Robotino với bộ 
điều khiển PID không đạt được quỹ đạo chuẩn 
như bộ điều khiển Fuzzy (hình 8.b). 
Nhận xét: Khi điều khiển rô bốt di 
chuyển bám đường định trước bằng bộ điều 
khiển PID với vận tốc cố định, rô bốt bám sát 
tốt đường đi ở vận tốc vx =100 mm/s. Tuy 
nhiên, khi vận tốc di chuyển của rô bốt càng 
lớn, rô bốt mất dần khả năng bám sát đường 
đi mặc dù quãng đường di chuyển của rô bốt 
dài hơn. Khi áp dụng logic mờ để điều khiển 
rô bốt, về mặt đáp ứng, rô bốt vẫn bám sát tốt 
đường đi và di chuyển được quãng đường dài 
hơn trong cùng một đơn vị thời gian do được 
tối ưu vận tốc trên các đoạn đường khác nhau. 
4. Thực nghiệm trên mô hình vật lý 
4.1 Mô hình vật lý 
Hình 10. Mô hình rô bốt Robotino [3]. 
Khối máy tính có nhiệm vụ điều khiển và 
thu thập dữ liệu tọa độ của rô bốt để vẽ lại 
quãng đường di chuyển thông qua bộ giao tiếp 
không dây. Giá trị điện áp tương tự từ cảm 
biến được đưa vào bộ điều khiển logic mờ để 
điều khiển vận tốc theo phương x và góc xoay 
của rô bốt nhằm bảo đảm rô bốt giảm vận tốc 
tại các khúc quanh và tăng vận tốc tại các đoạn 
thẳng để đạt được quãng đường di chuyển dài 
hơn mà vẫn bám sát đường đi. 
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 34-11/2019 
49 
4.2. Kết quả thực nghiệm trên 
Robotino 
Hình 11. Thực nghiệm mô hình Robotino 
bám đường đi định trước. 
(a) Bộ điều khiển PID (b) Bộ điều khiển Fuzzy 
Hình 12. So sánh quãng đường di chuyển thực nghiệm 
của rô bốt giữa PID (a) và Fuzzy (b) tại dải vận tốc 
biến thiên từ 100-300mm/s. 
Nhận xét: Khi tiến hành thực nghiệm trên 
mô hình vật lý (hình 11) để điều khiển rô bốt 
di chuyển bám đường định trước trong cùng 
một đơn vị thời gian, Kết quả trên hình 12 cho 
thấy khi chưa áp dụng Fuzzy, rô bốt bám sát 
đường đi ở vận tốc vx = 100 mm/s và đạt được 
quãng đường di chuyển ngắn. Tuy nhiên, rô 
bốt mất khả năng bám sát đường đi nếu vận 
tốc vx = 150 mm/s. Khi áp dụng logic mờ 
(hình 12.b) để điều khiển rô bốt, do được tối 
ưu vận tốc trên các đoạn đường khác nhau nên 
rô bốt di chuyển được quãng đường dài hơn 
trong cùng một đơn vị thời gian và vẫn bám 
sát tốt đường đi. Mặc dù hoạt động trên mô 
hình thực nghiệm đạt kết quả tốt, thế nhưng, 
quãng đường di chuyển của rô bốt thu thập lại 
trên máy tính chưa phản ánh chính xác quãng 
đường đi thực tế và khác xa so với kết quả thu 
thập trên rô bốt mô phỏng. 
5. Kết luận 
Trong bài báo này nhóm tác giả sử dụng 
logic mờ để điều khiển hệ thống Robotino 
bám sát đường đi định trước với mục đích tối 
ưu vận tốc khi quãng đường có sự thay đổi 
hình dạng, đáp ứng của hệ thống tốt trong dải 
vận tốc Vx từ 100 - 300mm/s. Tuy nhiên, do 
thông tin về vị trí Robotino thu được bằng 
cách sử dụng bộ mã hóa trục quang và phương 
pháp tính toán cố định (hình học rô bốt) nên 
quãng đường di chuyển thu thập trên máy tính 
chưa phản ánh chính xác quãng đường di 
chuyển của rô bốt. Qua mô phỏng bằng 
Matlab và thực nghiệm, bài báo đã chứng 
minh được khả năng rô bốt di chuyển nhanh 
hơn trong khi vẫn bám sát đường đi định trước 
khi sử dụng logic mờ, đây là kết quả tốt hơn 
so với bộ điều khiển PID được cài đặt thông 
số bởi nhà sản xuất. Kết quả bài báo là cơ sở 
để nhóm tác giả tiếp tục mở rộng nghiên cứu 
các giải thuật hiện đại khác trong các nghiên 
cứu sau trên mô hình Robotino 
Tài liệu tham khảo 
[1] Mohammed Rabeea Hashim Al-Dahhan, Dr. 
Mohammad M. Ali, 2016 13th, Path Tracking 
Control of a Mobile Robot using Fuzzy Logic, 
Department of Mechatronics Engineering, 
University of Philadelphia, Jordan; 
[2] S. E. Oltean, M. Duläu, R. Puskas, Position 
Control of Robotino Mobile Robot Using Fuzzy 
Logic, University of Tg. Mures.2010; 
[3] https://robot.ros.org/robotino/; 
[4] Festo Didactic GmbH & Co. KG, 73770 
Denkendorf, Germany, 2012. 
 Ngày nhận bài: 6/9/2019 
 Ngày chuyển phản biện: 11/9/2019 
 Ngày hoàn thành sửa bài: 3/10/2019 
 Ngày chấp nhận đăng: 10/10/2019 

File đính kèm:

  • pdfdieu_khien_mo_robotino_di_chuyen_bam_theo_duong_di_dinh_truo.pdf