View
2
Download
0
Category
Preview:
Citation preview
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
……..….***…………
HÀ THỊ KIM DUYÊN
ĐIỀU KHIỂN MẶT ĐỘNG THÍCH NGHI BÁM QUỸ ĐẠO
CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN, ĐIỆN TỬ VÀ VIỄN THÔNG
Hà Nội - 2020
i
VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ ……..….***…………
HÀ THỊ KIM DUYÊN
ĐIỀU KHIỂN MẶT ĐỘNG THÍCH NGHI BÁM QUỸ ĐẠO
CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG
Chuyên ngành : Kỹ thuật điều khiển và tự động hóa
Mã số: 9 52 02 16
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN, ĐIỆN TỬ VÀ VIỄN THÔNG
Người hướng dẫn khoa học:
1. GS.TS. Phan Xuân Minh
2. TS. Phạm Văn Bạch Ngọc
Hà Nội – 2020
ii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, được hoàn
thành dưới sự hướng dẫn của GS.TS Phan Xuân Minh và TS. Phạm văn Bạch
Ngọc. Các kết quả nêu trong luận án là trung thực và chưa từng được công bố trong
bất kỳ công trình nào khác.
Tôi xin chịu trách nhiệm về những lời cam đoan của mình.
Hà nội, tháng 10 năm 2020
Tác giả
Hà Thị Kim Duyên
iii
LỜI CẢM ƠN
Luận án này được hoàn thành với sự nỗ lực không ngừng của tác giả và sự
giúp đỡ hết mình từ các thầy giáo hướng dẫn, bạn bè và người thân.
Đầu tiên, tác giả xin bày tỏ lời tri ân tới GS.TS Phan Xuân Minh và TS.
Phạm Văn Bạch Ngọc, những cô giáo, thầy giáo đã tận tình hướng dẫn tác giả hoàn
thành luận án này.
Tác giả xin gửi lời cảm ơn tới các thầy, cô giáo và cán bộ của Viện Công
nghệ thông tin, Học viện Khoa học và Công nghệ (Viện Hàn lâm Khoa học và Công
nghệ Việt Nam) đã nhiệt tình giúp đỡ và tạo ra môi trường nghiên cứu tốt để tác giả
hoàn thành công trình của mình; cảm ơn các thầy, cô và các đồng nghiệp ở các nơi
mà tác giả tham gia viết bài đã có những góp ý chính xác để tác giả có được những
công bố như ngày hôm nay.
Tác giả xin cảm ơn tới Ban Giám hiệu trường Đại học Công nghiệp Hà Nội,
các đồng nghiệp khoa Điện tử nơi tác giả công tác đã ủng hộ để luận án được hoàn
thành đúng thời hạn.
Cuối cùng, tác giả xin gửi tới gia đình, bạn bè, người thân lời cảm ơn chân
thành nhất vì đã đồng hành cùng tác giả trong suốt thời gian qua.
Hà Nội, tháng 10 năm 2020
Nghiên cứu sinh
Hà Thị Kim Duyên
iv
MỤC LỤC
Trang phụ bìa………..…………………………………………………...………..i
LỜI CAM ĐOAN ...............................................................................................ii
LỜI CẢM ƠN ................................................................................................... iii
MỤC LỤC ......................................................................................................... iv
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ......................................... vii
BẢNG CÁC KÝ HIỆU CÁC THAM SỐ .........................................................viii
DANH MỤC CÁC BẢNG ................................................................................. ix
DANH MỤC HÌNH VẼ ..................................................................................... xi
MỞ ĐẦU.. .......................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN VỀ ROBOT TỰ HÀNH ......................................... 6
BỐN BÁNH ĐA HƯỚNG ..................................................................................... 6
1.1. Robot tự hành di chuyển bằng bánh đa hướng. ........................................ 6
1.2. Bài toán điều khiển bám quỹ đạo .............................................................. 8
1.2.1. Giai đoạn lập phương án chuyển động. .................................................. 8
1.2.2. Giai đoạn thiết kế quỹ đạo. .................................................................... 8
1.2.3. Điều khiển bám theo quỹ đạo chuyển động. .......................................... 9
1.3. Tổng quan tình hình nghiên cứu trong và ngoài nước. ............................ 9
1.3.1. Tình hình nghiên cứu trong nước. .......................................................... 9
1.3.2. Tình hình nghiên cứu ngoài nước ........................................................ 11
1.4. Kết luận chương 1 .................................................................................... 16
CHƯƠNG 2. MÔ HÌNH HÓA VÀ THUẬT TOÁN ĐIỀU KHIỂN BÁM
QUỸ ĐẠO CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG .................... 17
2.1. Xây dựng mô hình động học, động lực học cho robot tự hành bốn bánh
đa hướng. ............................................................................................................. 17
2.1.1. Bánh xe Omni ..................................................................................... 17
2.1.2. Mô hình động học robot tự hành bốn bánh đa hướng [41], [42] ........... 19
2.1.3. Mô hình động lực học robot tự hành bốn bánh đa hướng [41], [42] ..... 22
2.1.4. Mô phỏng kiểm chứng các kết quả mô hình hóa mô hình robot. .......... 23
2.2. Một số thuật toán điều khiển bám quỹ đạo cho robot tự hành bốn bánh
đa hướng thông dụng. ......................................................................................... 24
2.2.1. Bộ điều khiển PID cho FWOMR ......................................................... 25
v
2.2.2. Bộ điều khiển trượt cơ bản cho FWOMR ............................................ 26
2.2.3. Bộ điều khiển đa mặt trượt cho FWOMR ............................................ 28
2.2.4. Mô phỏng kiểm chứng các thuật toán .................................................. 31
2.3. Kết luận chương 2 .................................................................................... 35
CHƯƠNG 3. THIẾT KẾ BỘ ĐIỀU KHIỂN THÍCH NGHI BÁM QUỸ ĐẠO
CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG ....................................... 36
3.1. Thuật toán điều khiển mặt trượt động. ................................................... 36
3.1.1. Xây dựng thuật toán điều khiển bám quĩ đạo mặt trượt động cho
FWOMR… ........................................................................................................... 36
3.1.2. Mô phỏng kiểm chứng kết quả thuật toán ............................................ 40
3.2. Thuật toán điều khiển mặt trượt động thích nghi mờ điều khiển bám
quỹ đạo cho FWOMR ......................................................................................... 44
3.2.1. Thuật toán điều khiển mặt trượt động thích nghi mờ. .......................... 44
3.2.2. Mô phỏng kiểm chứng thuật toán. ....................................................... 47
3.3. Thuật toán điều khiển mặt trượt động thích nghi nơ ron mờ điều khiển
bám quỹ đạo cho FWOMR. ................................................................................ 50
3.3.1. Xấp xỉ thành phần bất định mô hình FWOMR sử dụng mạng nơ ron bán
kính xuyên tâm. ..................................................................................................... 50
3.3.2. Xây dựng luật mờ cho AFNNDSC ...................................................... 55
3.3.3. Kết quả mô phỏng. .............................................................................. 56
3.4. Kết luận chương 3 .................................................................................... 62
CHƯƠNG 4. CHẾ TẠO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG VÀ
CHẠY THỬ NGHIỆM THUẬT TOÁN ĐIỀU KHIỂN .................................... 64
4.1. Thiết kế chế tạo robot tự hành bốn bánh đa hướng. .............................. 64
4.1.1. Thiết kế cơ cấu, cơ khí và xây dựng Omni thực tế. .............................. 64
4.1.2. Thiết kế cấu trúc và mạch điều khiển cho robot. .................................. 65
4.1.3. Phần mềm điều khiển cho robot ........................................................... 66
4.2. Cài đặt thuật toán và chạy thử nghiệm. .................................................. 67
4.2.1. Lập trình phần mềm nhúng vi xử lý thuật toán và điều khiển ............... 67
4.2.2. Kết quả robot trong môi trường Gazebo và Rviz để mô phỏng kiểm
chứng…… ............................................................................................................. 69
4.2.3. Kết quả chạy thực nghiệm thực tế. ....................................................... 70
vi
4.3. Kết luận chương 4 .................................................................................... 73
KẾT LUẬN VÀ KIẾN NGHỊ ........................................................................... 74
DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ .................................................. 76
TÀI LIỆU THAM KHẢO ................................................................................. 78
PHỤ LỤC. ........................................................................................................ 86
vii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt Tiếng anh Tiếng việt
NCS Nghiên cứu sinh
FWOMR Four-wheeled Omnidirectional
Mobile Robot
Robot tự hành bốn bánh đa
hướng
OMR Omnidirectional Mobile Robot Robot tự hành đa hướng
RBFNN Radial Basis Function Neural
Network
Mạng Nơ ron bán kính xuyên
tâm
DSC Dynamic Surface Control Mặt trượt động
AFDSC Adaptive Fuzzy Dynamic Surface
Control
Điều khiển mặt trượt động
thích nghi mờ
ANNDSC Adaptive Neural Network
Dynamic Surface Control
Điều khiển mặt trượt động
thích nghi nơ ron
AFNNDSC Adaptive Fuzzy Neural Network
Dynamic Surface Control.
Điều khiển mặt trượt động
thích nghi mờ, nơ ron
MSSC Multi Surface Sliding Control Điều khiển đa mặt trượt
PID Proportional–Integral–
Derivative
Bộ điều khiển tỷ lệ vi tích
phân
PC Personal Computer Máy tính cá nhân
SMC Sliding Mode Control Điều khiển trượt
VSS Variable Structure System Hệ thống có cấu trúc thay đổi
MCU Micro Control Unit Vi điều khiển
FLS Fuzzy Logic System Hệ logic mờ
ROS Robot Operating System Hệ điều hành robot
viii
BẢNG CÁC KÝ HIỆU CÁC THAM SỐ
Ký hiệu Ý nghĩa Đơn vị
( , , )x y Hệ tọa độ toàn cục (q)
Góc lệch của robot so hệ tọa độ gốc Rad/s
vi Vận tốc mỗi bánh m/sec
ωi Vận tốc góc mỗi bánh rad/sec
fi Lực kéo mỗi bánh N
M Khối lượng của robot kg
d Khoảng cách tâm robot tới mỗi bánh m
H Ma trận chuyển đổi hệ trục tọa độ
xv Vận tốc dài m/s
yv Vận tốc pháp tuyến m/s
r Bán kính của bánh xe m
( )M q Ma trận khối lượng và momen quán tính
( )G q Vector trọng lực, ( ) 0G q
d Vector thành phần nhiễu bất định
1e Sai lệch bám quỹ đạo của robot
2e Sai lệch bám của vận tốc robot
J Mô men quán tính của xe N.m
q Biến khớp
F Lực ma sát N
C Ma trận hệ số lực ma sát nhớt
G Ma trận hệ số lực ma sát culomb
Đầu vào của bộ lọc thông thấp
1dx Quỹ đạo đặt
T Thời gian trích mẫu s
Hệ số của mặt trượt
Tín hiệu điều khiển của hệ thống
eq Tín hiệu điều khiển giữ trạng thái của hệ thống hệ
ix
thống trên mặt trượt
ws Tín hiệu điều khiển, lái trạng thái của hệ thống về
mặt trượt
1 2 3, ,c c c Hệ số của bộ điều khiển DSC
Véc tơ chứa thành phần bất định của mô hình robot
Ma trận trọng số của mạng Nơ ron
S Mặt trượt
Sai lệch của mạng nơ ron
Chuẩn của ma trận bậc 2
F Chuẩn của ma trận bậc 2 trong không gian F
x
DANH MỤC CÁC BẢNG
Bảng 2.1. Thông số phương trình động học cho FWOMR ..................................... 20
Bảng 3.1. Các tập mờ của biến ngôn ngữ đầu vào .................................................. 45
Bảng 3.2. Các giá trị của đầu ra ............................................................................. 46
Bảng 3.3. Hệ luật suy diễn cơ sở cho đầu ra 1c ...................................................... 46
Bảng 3.4. Hệ luật suy diễn cơ sở cho đầu ra 2c ( 3c ) ............................................... 47
Bảng 3.5. Các tham số của hệ thống và tham số của bộ điều khiển ........................ 48
Bảng 3.6. Hệ luật suy diễn cơ sở cho 1 2( )i ic c ........................................................ 56
Bảng 3.7. Giá trị đầu ra 1 2( )i ic c của bộ chỉnh định mờ ........................................... 56
Bảng 3.8. Giá trị tối đa của các sai lệch bám sau khi robot tiến về quỹ đạo ............ 62
xi
DANH MỤC HÌNH VẼ
Hình 1.1. Robot tự hành sử dụng bánh đa hướng ..................................................... 7
Hình 1.2. Một số ứng dụng của OMR dạng holonomic ............................................ 7
Hình 1.3. Cấu trúc hệ thống điều khiển bám quỹ đạo cho OMR. ............................. 8
Hình 2.1. Mô hình OMR dạng n bánh .................................................................... 17
Hình 2.2. Mẫu bánh Omni ..................................................................................... 18
Hình 2.3. Cấu trúc bánh ......................................................................................... 18
Hình 2.4. Các hướng di chuyển của robot .............................................................. 19
Hình 2.5. Hệ trục tọa độ của robot tự hành bốn bánh đa hướng. ............................. 19
Hình 2.6. Quỹ đạo của robot .................................................................................. 23
Hình 2.7. Quỹ đạo góc của robot ........................................................................... 23
Hình 2.8. Quỹ đạo theo phương Ox, Oy của robot ................................................. 23
Hình 2.9. Quỹ đạo của robot .................................................................................. 24
Hình 2.10. Quỹ đạo góc của robot ......................................................................... 24
Hình 2.11. Quỹ đạo theo phương Ox, Oy của robot ............................................... 24
Hình 2.12. Quỹ đạo bám đường tròn với bộ điều khiển PID .................................. 32
Hình 2.13. Sai lệch bám các thành phần , y ,e e ex với bộ điều khiển PID............... 32
Hình 2.14. Quỹ đạo bám đường gấp khúc với bộ điều khiển PID........................... 32
Hình 2.15. Sai lệch bám các thành phần đường gấp khúc , y ,e e ex với bộ điều khiển
PID ........................................................................................................................ 32
Hình 2.16. Quỹ đạo bám đường tròn với bộ điều khiển SMC ................................ 33
Hình 2.17. Sai lệch bám các thành phần , y ,e e ex của bộ điều khiển SMC ............ 33
Hình 2.18. Quỹ đạo bám đường gấp khúc với bộ điều khiển SMC ......................... 33
Hình 2.19. Sai lệch bám các thành phần đường gấp khúc , y ,e e ex (SMC) ............ 33
Hình 2.20. Quỹ đạo bám đường gấp khúc với bộ điều khiển MSSC ...................... 34
Hình 2.21. Sai lệch bám các thành phần đường gấp khúc , y ,e e ex (MSSC) .......... 34
Hình 2.22. Quỹ đạo bám đường tròn với bộ điều khiển MSSC .............................. 34
Hình 2.23. Sai lệch bám các thành phần đường tròn , y ,e e ex (MSSC) .................. 34
Hình 3.1. Cấu trúc mô phỏng hệ thống điều khiển sử dụng bộ điều khiển DSC ..... 40
Hình 3.2. Cấu trúc mô phỏng bộ điều khiển DSC .................................................. 40
xii
Hình 3.3. Quỹ đạo bám và sai lệch bám khi sử dụng DSC với quỹ đạo tròn .......... 41
Hình 3.4. Quỹ đạo bám và sai lệch bám khi sử dụng DSC với quỹ đạo gấp khúc ... 41
Hình 3.5. Kết quả so sánh quỹ đạo bám khi không có nhiễu tác động đến robot của
bộ điều khiển SMC, MSSC và DSC. ..................................................................... 42
Hình 3.6. Kết quả so sánh quỹ đạo bám khi có nhiễu tác động đến robot của bộ điều
khiển SMC, MSSC và DSC. .................................................................................. 43
Hình 3.7. Cấu trúc hệ thống điều khiển mặt trượt động thích nghi mờ cho FWOMR
.............................................................................................................................. 44
Hình 3.8. Các tập mờ cho đầu vào 1e ................................................................... 45
Hình 3.9. Các tập mờ cho đầu vào 1e ................................................................... 45
Hình 3.10. Nhiễu ngoài .......................................................................................... 47
Hình 3.11. Chuyển động theo trục x ...................................................................... 48
Hình 3.12. Chuyển động theo trục y ...................................................................... 48
Hình 3.13. Sự thay đổi góc quay theo thời gian ..................................................... 48
Hình 3.14. Tham số 1c ........................................................................................... 49
Hình 3.15. Tham số 2c .......................................................................................... 49
Hình 3.16. Tham số 3c .......................................................................................... 49
Hình 3.17. Chuyển động của FWOMR với quỹ đạo tròn ....................................... 49
Hình 3.18. Cấu trúc hệ thống AFNNDSC cho FWOMR ........................................ 50
Hình 3.19. Mạng nơ ron bán kính xuyên tâm ......................................................... 52
Hình 3.20. Hàm đầu vào của bộ mờ ....................................................................... 55
Hình 3.21. Nhiễu momen (Nm) ............................................................................. 57
Hình 3.22. Sai số trên trục x .................................................................................. 57
Hình 3.23. Sai số trên trục y .................................................................................. 57
Hình 3.24. Sai lệch góc .......................................................................................... 57
Hình 3.25. Tối ưu hóa tham số điều khiển 1c ......................................................... 58
Hình 3.26. Tối ưu hóa các tham số điều khiển 2c và 3c ......................................... 59
Hình 3.27. Chuyển động trên quỹ đạo tròn của robot ............................................. 59
Hình 3.28. Giá trị của ˆxΘ so với xΘ ..................................................................... 60
Hình 3.29. Giá trị của ˆyΘ so với yΘ .................................................................... 60
xiii
Hình 3.30. Giá trị của ˆΘ so với Θ .................................................................... 61
Hình 3.31. Sai số trên trục x .................................................................................. 61
Hình 3.32. Sai số trên trục y .................................................................................. 61
Hình 3.33. Sai lệch góc .......................................................................................... 61
Hình 4.1. Thiết kế cơ khí của FWOMR ................................................................. 64
Hình 4.2. Mô hình xây dựng thực tế. ..................................................................... 64
Hình 4.3. Sơ đồ cấu trúc phần cứng điều khiển robot. ............................................ 65
Hình 4.4. Cấu trúc chương trình của ROS .............................................................. 66
Hình 4.5. Cấu trúc lập trình phần mềm .................................................................. 68
Hình 4.6. Mô hình robot trong môi trường Gazebo ................................................ 69
Hình 4.7. Mô hình robot được theo dõi bằng Rviz ................................................. 70
Hình 4.8. Kết quả mô phỏng bằng ROS với thuật toán DSC và thuật toán
AFNNDSC ............................................................................................................ 70
Hình 4.9. Phối cảnh mô hình thực nghiệm robot. ................................................... 71
Hình 4.10. Giao diện HMI và kết quả điều khiển bám quỹ đạo chạy thử nghiệm ... 72
Hình 4.11. Hình ảnh chạy thực nghiệm FWOMR bám theo quỹ đạo hình tròn. ..... 72
Hình 4.12. Hình ảnh chạy thực nghiệm FWOMR với các quỹ đạo zich zắc ........... 72
1
MỞ ĐẦU
1. Tính cấp thiết của luận án
Ngày nay, robot đang được phát triển mạnh mẽ và được ứng dụng ở tất các
lĩnh vực của đời sống kinh tế, xã hội và quốc phòng. Trong các loại robot hiện nay,
robot tự hành chiếm một vị trí quan trọng. Robot tự hành được ứng dụng trong đời
sống ngày càng nhiều như robot vận chuyển hàng hóa, robot phục vụ y tế, xe lăn
cho người khuyết tật… đặc biệt các robot phục vụ thám hiểm, hoạt động trong môi
trường độc hại, robot phục vụ an ninh, quốc phòng. Các nghiên cứu gần đây tập
trung vào hướng cải thiện công nghệ chế tạo và áp dụng kỹ thuật điều khiển hiện
đại nhằm tăng độ linh hoạt cho robot khi hoạt động trong các môi trường, địa hình
khác nhau. Hướng nghiên cứu về chế tạo cơ khí tập trung vào các cơ cấu truyền
động, cơ cấu di chuyển, cách thức di chuyển, các thiết bị chấp hành truyền động
giúp robot chuyển động linh hoạt, thích ứng với nhiều loại địa hình phức tạp. Còn
hướng nghiên cứu áp dụng kỹ thuật điều khiển hiện đại chính là các nghiên cứu về
thuật toán điều khiển điều khiển thích nghi phi tuyến mới, lựa chọn các hệ vi điều
khiển có tốc độ tính toán cao và được tích hợp thêm các chức năng xử lý onboard
kết hợp với kỹ thuật lập trình nhúng để chế tạo các bộ điều khiển thông minh đảm
bảo tính thời gian thực, kháng nhiễu và bám chính xác quĩ đạo đặt trước.
Robot tự hành đa hướng (OMR) là dạng robot holonomic, có sử dụng bánh
xe Omni, hoặc Mecanum, có khả năng di chuyển theo bất kỳ hướng nào mà không
cần phải thay đổi vị trí và góc quay. Với cấu trúc bánh xe, cách bố trí bánh xe khác
biệt tạo ra ưu điểm về khả năng di chuyển vượt trội trong các điều kiện môi trường
hẹp, khó thay đổi vị trí nên OMR đang được ứng dụng, phát triển một cách rộng rãi
không chỉ trong nghiên cứu mà đã nhanh chóng được sử dụng nhiều trong các lĩnh
vực sản xuất và đời sống.
Trong điều khiển robot, các vấn đề về điều khiển bám quỹ đạo, kiểm soát
quỹ đạo, xử lý khi gặp tác động nhiễu ngoại sinh, hay khi hệ thống tồn tại các thành
phần bất định như khối lượng, momen, ma sát, … đang là các nội dung được quan
tâm nghiên cứu. Di chuyển của OMR bám quỹ đạo luôn là nhiệm vụ chính và thu
hút được sự quan tâm của đông đảo các nhà khoa học. Việc đạt độ chính xác cao
trong chuyển động robot thường rất khó khăn bởi những yếu tố phi tuyến, bất định
2
luôn tồn tại trong mô hình robot. Một trong những thuật toán điều khiển bám quỹ
đạo thường được áp dụng cho OMR như thuật toán điều khiển PID, kỹ thuật cuốn
chiếu (Backstepping), điều khiển trượt (SMC), điều khiển đa mặt trượt (MSSC) và
thuật toán điều khiển mặt trượt động (DSC). Hầu hết các phương pháp này, khi thiết
kế bộ điều khiển đòi hỏi phải xây dựng được mô hình toán học chính xác cho đối
tượng cần điều khiển. Tuy nhiên trong thực tế, khi robot hoạt động thì luôn có sự
thay đổi các tham số như ma sát, mô men, tải trọng, …cho đến điều kiện môi trường
làm việc.
Để nâng cao chất lượng điều khiển bám quỹ đạo cho OMR khi có các tham
số mô hình thay đổi, nhiễu tác động ngoài (cụ thể là các thay đổi của môi trường
tương tác thực tế), việc sử dụng bộ điều khiển có khả năng thích nghi với tham số
thay số như hệ logic mờ và mạng nơ ron nhân tạo là một giải phải pháp hiệu quả.
Đặc biệt, hiện nay các hệ thống nhúng trên nền vi xử lý, vi điều khiển ngày càng
được phát triển. Với ưu điểm của hệ thống này về tốc độ tính toán nhanh, dung
lượng nhớ lớn nên khả năng nhúng các thuật toán điều khiển có khối lượng tính
toán lớn như: thuật toán điều khiển thích nghi mờ, thuật toán điều khiển thích nghi
mờ nơ ron cũng như các thuật toán điều khiển thích nghi phi tuyến khác trong bộ
điều khiển cho robot tự hành đa hướng không còn khó khăn nữa.
Với xu hướng đó, NCS chọn đề tài: “Điều khiển mặt động thích nghi bám
quỹ đạo cho robot tự hành bốn bánh đa hướng”. Nội dung nghiên cứu của luận án
sẽ tập trung vào tổng hợp bộ điều khiển cho robot tự hành bốn bánh đa hướng
(FWOMR) dạng holonomic có khả năng bám quỹ đạo và tự thích nghi khi các
thông số trong mô hình thay đổi. Để thiết kế được bộ điều khiển đạt được chất
lượng đặt ra, NCS đã tiến hành nghiên cứu các thuật toán điều khiển bám cho OMR
đã được công bố trong thời gian gần đây để từ đó đề xuất thuật toán điều khiển
thích nghi mới nhằm nâng cao chất lượng bám cho FWOMR có mô hình bất định,
và cuối cùng là hiện thực hóa các nghiên cứu bằng thực nghiệm trên FWOMR,
nhằm mục đích kiểm tra tính đúng đắn của các thuật toán được đề xuất và làm cơ sở
phát triển các nghiên cứu tiếp theo.
2. Mục tiêu nghiên cứu của luận án.
- Nghiên cứu, đề xuất thuật toán điều thích nghi bám quỹ đạo mới cho
FWOMR có mô hình phi tuyến bất định, đặc biệt chú ý đến sự thay đổi của các
3
tham số của robot và tác động của nhiễu khi hoạt động trên mặt phẳng khác nhau.
- Xây dựng mô hình vật lý cho FWOMR, chế tạo bộ điều khiển trên cơ sở vi
điều khiển và kỹ thuật lập trình nhúng cho FWOMR nhằm chạy thử nghiệm các
thuật toán mới đề xuất.
3. Các nội dung nghiên cứu chính của luận án
Về lý thuyết:
Nghiên cứu tổng quan về FWOMR, tình hình nghiên cứu trong và ngoài
nước, từ đó rút ra các hướng nghiên cứu thích hợp cho luận án.
Mô hình hóa và mô phỏng động học, động lực học cho FWOMR.
Nghiên cứu các thuật toán điều khiển bám quỹ đạo cho đối tượng OMR.
Phân tích và đề xuất các thuật toán điều khiển thích nghi bám quỹ đạo cho robot tự
hành bốn bánh đa hướng nhằm nâng cao chất lượng bám và khả năng thích nghi khi
robot có các tham số thay đổi và có nhiễu tác động khi hoạt động trong môi trường
thực tế và tương tác với mục tiêu (có các tham số khối lượng, mô men quán tính
thay đổi, chịu tác động của nhiễuvà sai lệch mô hình).
Nghiên cứu và sử dụng các hệ điều hành ứng dụng cho mô phỏng, lập
trình nhúng cho vi điều khiển để chế tạo bộ điều khiển nhúng cho FWOMR.
Về thực nghiệm:
Với mục tiêu sản phẩm phải có khả năng ứng dụng, do đó công việc khảo
sát, đánh giá các sản phẩm robot tự hành bốn bánh đa hướng đã có trong và ngoài
nước nhằm rút ra các tiêu chuẩn cho sản phẩm của luận án là công việc đầu tiên.
Thiết kế và chế tạo đồng bộ phần cứng và các thiết bị ngoại vi với phần cơ
khí theo đúng tiêu chuẩn công nghiệp, thuận tiện cho người sử dụng, dễ dàng lắp
ghép thao tác và nâng cấp. Thiết kế các mạch điện tử, điều khiển, giao tiếp ngoại vi
với mục tiêu đủ nhanh, mạnh theo hướng có thể mở rộng và nâng cấp.
Thiết kế cấu trúc, lập trình, cài đặt các thuật toán đã nghiên cứu cho robot,
chạy thử nghiệm và đánh giá kết quả.
4. Đối tượng nghiên cứu và phạm vi nghiên cứu của luận án
Đối tượng nghiên cứu của luận án là OMR dạng holonomic, trong đó đi sâu
vào nghiên cứu xây dựng mô hình toán học, thuật toán điều khiển thích nghi bám
quỹ đạo cho FWOMR.
Phạm vi nghiên cứu: Tổng hợp bộ điều khiển thích nghi cho FWOMR có
4
chứa thành phần bất định hoạt động trong môi trường phẳng chịu ảnh hưởng bởi ma
sát bề mặt và tác động của nhiễu bất kỳ bị chặn.
5. Ý nghĩa khoa học và đóng góp mới của luận án
Đóng góp mới của Luận án:
1. Đề xuất thuật toán điều khiển bám quỹ đạo mặt trượt động thích nghi
mờ (AFDSC) cho robot tự hành bốn bánh đa hướng. Thuật toán này được xây
dựng dựa trên cơ sở thuật toán DSC. Để phát huy ưu điểm, hiệu quả của DSC,
AFDSC đã sử dụng một hệ logic mờ để chỉnh định thích nghi các tham số của DSC
nhằm đảm bảo chất lượng bám quĩ đạo khi tham số FWOMR thay đổi và chịu ảnh
hưởng của nhiễu tác động không biết trước. Cho đến thời điểm này, DSC với bộ
chỉnh định mờ chưa được cài đặt trên bất cứ robot nào ở trong và ngoài nước.
AFDSC có tính linh hoạt cao, cấu trúc đơn giản, dễ dàng cho việc lập trình cài đặt
trên vi điều khiển, có khả năng thích nghi do vậy phát huy tối đa hiệu quả của DSC.
Các kết quả mô phỏng và thực nghiệm cho thấy: AFDSC đặc biệt thích hợp cho
FWOMR.
2. Đề xuất thuật toán điều khiển bám quỹ đạo mặt trượt động thích nghi
mờ nơ ron (AFNNDSC) cho FWOMR có tham số bất định và chịu tác động bởi
nhiễu. Đây cũng là thuật toán được phát triển dựa trên nền AFDSC, cấu trúc điều
khiển thích nghi dựa trên sự kết hợp giữa mạng nơ ron bán kính xuyên tâm
(RBFNN) và hệ logic mờ. Trong đó, mạng RBFNN được sử dụng để xấp xỉ các
tham số bật định của FWMOR, còn hệ logic mờ để chỉnh định đồng thời các tham
số của bộ điều khiển AFNNDSC. Tính ổn định của hệ kín được được chứng minh
dựa trên tiêu chuẩn Lyapunov. Các kết quả mô phỏng, chạy thử nghiệm cho thấy
tính đúng đắn của các phân tích lý thuyết, hiệu quả của bộ điều khiển đề xuất và khả
năng ứng dụng trong thực tế. AFNNDSC chưa được cài đặt trên bất cứ robot nào
trước đó trong và ngoài nước. AFNNDSC có tính linh hoạt cao, khả năng thích nghi
khi có nhiễu tác động đồng thời hoặc khi tham số mô hình của robot thay đổi mở
rộng được phạm vi hoạt động cho FWMOR.
6. Bố cục của luận án bao gồm 4 chương:
Chương 1: "Tổng quan về robot tự hành bốn bánh đa hướng", nghiên cứu
tổng quan về FWOMR, tình hình nghiên cứu trong và ngoài nước, phân tích chi tiết
cụ thể ưu và nhược điểm các công trình đã nghiên cứu trước đó theo nội dung đối
5
tượng, phạm vi nghiên cứu của luận án, từ đó rút ra các hướng nghiên cứu thích hợp
cho luận án.
Chương 2: "Mô hình hóa và thuật toán điều khiển bám quỹ đạo cho robot
tự hành bốn bánh đa hướng" Đi sâu nghiên cứu, mô hình hóa xây dựng mô hình
động học, động lực học, mô phỏng kiểm chứng mô hình xây dựng cho FWOMR.
Đồng thời trình bày một số thuật toán điều khiển bám quỹ đạo cho OMR đã được
công bố như: thuật toán PID, điều khiển trượt, đa mặt trượt. Mô phỏng đánh giá và
phân tích các kết quả của từng thuật toán này để từ đó đánh giá và rút ra các bài học
kinh nghiệm trong việc nghiên cứu đề xuất thuật toán điều khiển bám quỹ đạo thích
nghi mới.
Chương 3: "Thiết kế bộ điều khiển thích nghi bám quỹ đạo cho robot tự
hành bốn bánh đa hướng”. Đây là đóng góp chính của luận án. Trong chương này,
ngoài việc trình bày phương pháp điều khiển bám quỹ đạo cho robot tự hành bốn
bánh đa hướng sử dụng mặt trượt động, thuật toán DSC là nền tảng cho đề xuất cải
tiến bộ điều khiển bám quỹ đạo thích nghi mới cho FWOMR. Từ các phân tích ưu
nhược điểm của thuật toán này, một đề xuất mới nhằm mở rộng phạm vi ứng dụng
của DSC cho lớp đối tượng có mô hình bất định, chịu ảnh hưởng của nhiễu, đặc biệt
là cho FWMOR. Bộ điều khiển mặt trượt động được kết hợp thêm với mạng nơ ron
bán kính xuyên tâm (RBFNN) và hệ logic mờ (FLS) tạo ra một bộ điều khiển DSC
thích nghi mới được đề xuất trong luận án. AFNNDSC này đảm bảo hệ kín ổn định
và bám quĩ đạo đặt trước trong điều kiện khi các tham số mô hình thay đổi và chịu
ảnh hưởng của nhiễu. Các kết quả mô phỏng phù hợp với những phân tích lý thuyết
và cho thấy khả năng ứng dụng của thuật toán được đề xuất.
Chương 4: “Chế tạo robot tự hành bốn bánh đa hướng và chạy thử
nghiệm thuật toán điều khiển”: Thiết kế và chế tạo mô hình robot tự hành bốn
bánh đa hướng. Lập trình, và chạy thử nghiệm các thuật toán đề xuất kiểm chứng và
đánh giá khả năng ứng dụng thực tế của các thuật toán.
“Kết luận” Trình bày tóm tắt các đóng góp chính của luận án và hướng phát
triển của luận án trong tương lai.
6
CHƯƠNG 1. TỔNG QUAN VỀ ROBOT TỰ HÀNH
BỐN BÁNH ĐA HƯỚNG
Robot tự hành đa hướng (OMR) có khả năng di chuyển theo bất kỳ hướng
nào mà không cần phải thay đổi vị trí và góc quay. Với cấu trúc bánh khác biệt và
ưu điểm về khả năng di chuyển vượt trội trong điều kiện môi trường di chuyển hẹp,
khó thay đổi vị trí, … Hiện nay, OMR đang được ứng dụng một cách rộng rãi
không chỉ trong nghiên cứu mà còn trong các lĩnh vực sản xuất và đời sống nhờ khả
năng di chuyển linh hoạt, hiệu quả.
1.1. Robot tự hành di chuyển bằng bánh đa hướng.
Robot tự hành có thể di chuyển đa hướng là loại robot có dạng ràng buộc
holonomic. Về mặt cơ học Lagrange, robot có dạng holonomic khi mà tất cả ràng
buộc mà robot phải chịu có thể tích hợp được thành dạng ràng buộc vị trí thoả mãn
phương trình 1, 2( ,..., , ) 0nf q q q t , với iq là các toạ độ hệ thống. Ngược lại, khi hệ
thống tồn tại những ràng buộc không thể viết được dưới dạng phương trình trên thì
nó được coi là dạng non-holonomic. Đơn giản, hệ holonomic là hệ không bị ràng
buộc về tốc độ giữa các hướng với nhau, còn hệ non-holonomic có thêm điều kiện
ràng buộc về tốc độ. Các hệ non-holonomic thường là các hệ hụt cơ cấu chấp hành.
Đối với robot tự hành, chuyển động được đặt trên hệ toạ độ Đề-các Oxy, số
bậc tự do tối đa là 3 bậc bao gồm di chuyển tịnh tiến theo phương dọc, phương
ngang và theo góc quay của robot. Robot tự hành dạng non-holonomic thông
thường chỉ xét đến 2 bậc tự do điều khiển được là bậc tự do theo phương di chuyển
tịnh tiến theo phương dọc và di chuyển theo góc. Ngược lại robot tự hành dạng
holonomic xét đến đầy đủ cả 3 phương di chuyển, do đó nó tăng tính linh hoạt trong
chuyển động của robot. Đặc biệt là robot có thể di chuyển tức thời theo bất cứ
phương nào mà không phụ thuộc vào góc quay.
Trong phạm vi luận án, robot tự hành có dạng holonomic được xây dựng dựa
trên bốn bánh đa hướng Omni với kết cấu bánh xe Omni có thể đảm bảo cho cả di
chuyển tịnh tuyến theo phương ngang trong hệ robot. Hơn thế nữa robot tự hành sử
dụng 4 bánh xe Omni mà không phải là 3 bánh để điều khiển chuyển động theo 3
bậc tự do của robot do đó hệ thống robot này được xét là hệ robot thừa cơ cấu chấp
hành. Với việc lựa chọn hệ thống như vậy sẽ làm cho việc điều khiển robot phức tạp
7
hơn. Tuy nhiên, cơ cấu chuyển động như vậy có những ưu điểm vượt trội hơn trong
những ứng dụng thực tế như có thể tăng lượng tải trọng đặt lên mà robot vẫn có thể
hoạt động đảm bảo được chất lượng điều khiển, hay khả năng chịu lỗi hệ thống
(fault tolerance) cao hơn robot so với loại dùng 3 bánh xe.
Hình 1.1. Robot tự hành sử dụng bánh đa hướng
Khác với các loại robot sử dụng bánh truyền thống (bánh tiêu chuẩn), robot
tự hành sử dụng bánh đa hướng có thêm các ưu điểm vượt trội như: khả năng thay
đổi vị trí và định hướng linh hoạt bởi chúng có khả năng tịnh tiến và quay đồng thời
hoặc độc lập. Thông thường bánh xe được bố trí dọc theo trục của robot. Nhưng đối
với OMR, các bánh được bố trí theo một đường tròn ngoại tiếp robot để tận dụng
các bậc tự do của bánh đa hướng. Trong kỹ thuật điều khiển chuyển động của
OMR, vấn đề bám quỹ đạo và tác động nhanh là yêu cầu cần thiết nhất.
Hình 1.2. Một số ứng dụng của OMR dạng holonomic
Ngoài ra, do có khả năng chuyển động linh hoạt nên OMR có khả năng tiết
kiệm năng lượng hơn so với robot sử dụng bánh xe thông thường. Nhờ những tính
năng vượt trội như vậy, OMR được ứng dụng ngày càng nhiều thay thế các loại
robot tự hành kiểu non-holonomic truyền thống, nó được sử dụng nhiều trong các
cẩu nâng hạ ở khu vực nhà xưởng, vận chuyển trong các kho bãi, robot tích hợp tay
máy di chuyển trong các nhà xưởng, robot thám hiểm, robot dò phá bom mìn, robot
phục vụ lễ tân, khách sạn, robot y tế…
8
1.2. Bài toán điều khiển bám quỹ đạo
Hệ thống điều khiển bám quỹ đạo hình 1.3 cho FWOMR bao gồm: dq là tín
hiệu đặt, eq sai lệch bám, q : tín hiệu ra của bộ điều khiển, : tín hiệu điều khiển
Hình 1.3. Cấu trúc hệ thống điều khiển bám quỹ đạo cho OMR.
Cấu trúc của điều khiển chuyển động cho OMR, có thể chia ra 3 giai đoạn:
- Lập phương án chuyển động.
- Thiết kế quỹ đạo chuyển động mong muốn
- Điều khiển bám quỹ đạo chuyển động mong muốn
1.2.1. Giai đoạn lập phương án chuyển động.
Người thiết kế bằng kinh nghiệm và hiểu biết của mình phải tìm ra đường
chuyển động tối ưu cho robot để đáp ứng các yêu cầu nhiệm vụ đặt ra. Đây là công
việc đầu tiên của người lập trình điều khiển robot tự hành và có ý nghĩa quan trọng
trong quá trình điều khiển cũng như hiệu suất làm việc của robot. Việc chọn đường
đi hợp lý phải tính đến cả hiệu suất làm việc lẫn sự phù hợp cho phương án điều
khiển, nếu chọn đường đi giúp robot tự hành làm việc hiệu quả hơn mà làm phức
tạp công việc điều khiển cho robot tự hành hoặc ngược lại đều không tốt. Việc lập
phương án chuyển động có thể là quá trình offline, nhưng trong robot tự hành đa
phần là quá trình online, có thể áp dụng các thuật toán tối ưu đường đi, tránh vật
cản, hay di chuyển theo hướng đặt trước…, gần đây trong robot thông minh thì quá
trình online được áp dụng trí tuệ nhân tạo và kết hợp với các cảm biến như camera
3D, Lidar quét laser, âm thanh để quá trình lập phương án di chuyển hoàn toàn tự
động. Nhờ các cảm biến hình ảnh (camera), các cảm biến lực phản hồi cộng với hệ
thống xử lý thông minh, robot có thể tự vạch ra cho mình đường đi hợp lý nhất.
1.2.2. Giai đoạn thiết kế quỹ đạo.
Quỹ đạo chuyển động là vấn đề chung trong điều khiển robot tự hành, vì để
hoàn thành nhiệm vụ cụ thể của mình thì trước hết robot phải di chuyển theo đúng
Thuật toán
điều khiển
bám quỹ đạo
Đối tượng robot
tự hành đa hướng
bốn bánh
9
quỹ đạo xác định. Nói cách khác, quỹ đạo là yếu tố cơ bản để mô tả hoạt động của
robot tự hành. Việc thiết kế quỹ đạo cung cấp dữ liệu đầu vào cho quá trình điều
khiển nên cũng là cơ sở trực tiếp cho chất lượng, hiệu quả cho việc điều khiển.
Quỹ đạo chuyển động, gọi tắt là quỹ đạo (Trajectory) bao hàm cả đường dịch
chuyển lẫn yếu tố thời gian, như vận tốc, gia tốc. Vì vậy bài toán thiết kế quỹ đạo
liên kết các vấn đề động học và động lực học. Các yếu tố đầu vào của bài toán thiết
kế quỹ đạo gồm đường dịch chuyển và các điều kiện ràng buộc về động học và
động lực học. Nói chung mô tả chính xác đường dịch chuyển là rất khó khăn, người
ta giảm bớt các tham số mô tả bằng cách quy định các điểm biên của vùng hoạt
động, thêm các điểm trung gian mà đường phải đi qua, xấp xỉ (nội suy) bằng các
đường đơn giản. Tương tự như vậy, yếu tố thời gian của quỹ đạo không thể xác
định cho từng điểm, mà thường quy định cho cả đoạn đường. Chúng cũng được mô
tả bằng các giá trị giới hạn như vận tốc hay gia tốc cho phép, hoặc gán các giá trị
mặc định.
1.2.3. Điều khiển bám theo quỹ đạo chuyển động.
Sau khi nhận được quỹ đạo đầu vào, hệ thống điều khiển phải điều khiển
robot chuyển động theo đúng quỹ đạo đặt ra. Kỹ thuật điều khiển còn phụ thuộc kết
cấu phần cơ khí của robot, ví dụ sử dụng hệ toạ độ Đề các hay hệ toạ độ khác, sử
dụng cơ cấu chấp hành kiểu nào, có dùng truyền động cơ khí phụ hay không.
Truyền động cơ khí phụ cho phép sử dụng vùng có lợi nhất trên đặc tuyến của động
cơ, mở rộng vùng tuyến tính của nó,…nhưng lại chịu các tác động phụ như biến
dạng hay tổn hao năng lượng do ma sát, khe hở, các lực và momen phát sinh như
lực ly tâm, dao động, lực coriolis,…
Trong khuôn khổ luận án, cũng như chương này NCS sẽ tập trung vào
nghiên cứu các thuật toán điều khiển bám các quỹ đạo cho robot tự hành bốn bánh
đa hướng.
1.3. Tổng quan tình hình nghiên cứu trong và ngoài nước.
1.3.1. Tình hình nghiên cứu trong nước.
Tại Việt Nam, các nghiên cứu, sản phẩm robot tự hành cũng đã được các cơ
quan, cá nhân tập trung nghiên cứu và phát triển từ nhiều năm nay, trong đó phải kể
đến Đại học Bách khoa Hà Nội, Bách khoa TPHCM, Sư phạm kỹ thuật TPHCM,
Học Viện KTQS, ĐH Công nghệ, ĐH Công nghiệp Hà Nội, và các Viện nghiên cứu
10
như: Viện Công nghệ thông tin, Viện Cơ học, Viện Vật Lý – Viện Hàn lâm KHCN
Việt Nam… Các nghiên cứu đa số tập trung vào phát triển điều khiển robot tự hành
dạng non-holonomic (2 bánh chủ động sau hoặc trước, hoặc có bánh lái, hoặc bốn
bánh chủ động)
Viện CNTT, Viện Cơ học -Viện Hàn lâm KHCN Việt Nam có khá nhiều công
trình công bố về nghiên cứu robot tự hành, như [1] trình bày về các phương pháp
điều khiển mới để bù trượt cho robot di động khi tồn tại trượt bánh xe, bất định mô
hình, và nhiễu ngoài cho robot di động 03 bánh xe, [2] trình bày về việc thiết kế và
điều khiển robot tự hành dạng non-holonomic ứng dụng trong kho bãi. Viện Vật lý-
Viện Hàn lâm KHCN Việt Nam cũng là một nhóm nghiên cứu có nhiều công trình
công bố về robot tự hành, [3] trình bày về hướng nghiên cứu cho điều khiển bám quỹ
đạo cho robot tự hành dạng non-holonomic, trong đó có tích hợp công nghệ xử lý ảnh
trong nhận dạng một số thông số và bám mục tiêu. [4] nghiên cứu ứng dụng thuật
toán điều khiển bám quỹ đạo cho robot tự hành dạng non-holonomic sử dụng thích
nghi theo hàm mẫu.
Hiện tại các công trình nghiên cứu trong nước về OMR còn khá ít, trong đó có
[5] là công trình điều khiển OMR tránh vật cản xử dụng công nghệ xử lý ảnh Kinect,
công trình này tập trung vào xử lý ảnh nhiều hơn về các nội dung đi vào điều khiển
bám quỹ đạo cho OMR. Các công bố về thuật toán điều khiển bám quỹ đạo cho robot
tự hành bốn bánh đa hướng sử dụng bánh Omni hiện tại ở Việt Nam chưa có nhiều.
Các phương pháp xây dựng mô hình robot và các hệ robot cơ bản, đặc biệt là
robot công nghiệp là bước đầu để thiết kế hệ điều khiển robot thống nhất như trong
[6], [7] và [8]. Tiếp đến, hệ thống lý thuyết điều khiển và các phương pháp điều khiển
các hệ thống phi tuyến được áp dụng cho các hệ thống robot [9], [10], [11] và [12].
Với sự phát triển nhanh của công nghệ đặc biệt là các bộ vi xử lý, công nghệ
thông tin, phần mềm điều khiển. Hiện tại đã có một số cơ quan, đơn vị đang tập trung
ứng dụng phần điều khiển sử dụng máy tính nhúng, các GPU hiệu năng cao cho xử lý
ảnh, âm thanh, phần mềm lập trình truyền thống, ứng dụng ROS (Robot Operating
System) và đặc biệt là ứng dụng AI cho phát triển các hệ thống robot tự hành như ĐH
FPT, tập đoàn Viettel, CMC, ĐH Bách Khoa Hà Nội…, tuy nhiên việc mô hình hóa,
phát triển nền tảng công nghệ và bài toán điều khiển robot tự hành một cách bài bản,
đúng khoa học chuyên ngành còn hạn chế…
11
1.3.2. Tình hình nghiên cứu ngoài nước
Robot tự hành đa hướng đã xuất hiện trên thế giới từ những năm cuối 1980 và
đầu những năm 1990. OMR ra đời đáp ứng được nhu cầu phát triển các hệ robot cũ
trong các nhà máy. OMR làm việc linh hoạt, chính xác và khả năng thích ứng nhanh
khi làm việc ở những môi trường khác nhau.
Để tạo điều kiện cho việc thiết kế và áp dụng các thuật toán điều khiển như
trong [13], [14], [15], [16], [17], [18], [19], [20], [21], và [22], hay các thuật toán
lập quỹ đạo [23], [24] và xử lý ảnh, hệ thống tầm nhìn cho robot trong [25], [26], và
[27], robot được mô hình hóa bằng mô hình động học và mô hình động lực học.
Bên cạnh đó, hệ điều hành Robot Operating System (ROS) nổi lên là một công cụ
hỗ trợ cho việc mô phỏng và lập trình các hệ thống điều khiển thống nhất [28], [29],
[30]. Việc mô hình hoá robot được tập trung nghiên cứu dựa trên nguyên lý Euler-
Lagrange nhưng khác nhau ở kết cấu cơ khí, truyền động của OMR như sử dụng 3
bánh, 4 bánh xe hoặc sử dụng các loại động cơ truyền động, bánh răng, truyền xích
động khác nhau, cũng như là sử dụng các phương pháp thực nghiệm hoặc lý thuyết.
Trong đó tiêu biểu là [31], [32], [33], [34], [35], [36], [37], [38], [39], [40]. Để có
được mô hình chính xác của OMR việc áp dụng các mô hình động học với các hệ
trục tọa độ Đề-các Oxy, mô hình động lực học được xây dựng dựa trên phương
trình động lực học Euler-Lagrange và các phương trình cân bằng lực động năng và
thế năng của mỗi loại OMR hoặc dựa trên các phương trình cân bằng lực theo các
định luật Newton. Về cơ bản, phương trình động học của OMR có cấu trúc gần
giống nhau. Sự khác nhau là ở các mô hình động lực học, và mối quan hệ giữa vận
tốc robot và vận tốc mỗi bánh, điều này là do sự khác nhau về cấu trúc cứng của
OMR và một số tham số được ước lượng bằng các phương pháp khác nhau. Phương
pháp dự đoán tham số cho mô hình động lực học bằng thực nghiệm được đề xuất
trong [35], được tiến hành mô phỏng với dữ liệu chứa nhiễu và thu được kết quả với
sai lệch nhỏ, cải tiến hơn so với các phương pháp trước đây. Mô hình động học
được xây dựng riêng biệt để bước đầu thiết kế, phân tích và đánh giá mô hình OMR
3 bánh dựa trên phương pháp biến đổi các ma trận [36], [38]. OMR thường được
giới hạn bài toán trong một vài điều kiện môi trường nhất định như việc xây dựng
mô hình động lực học trong môi trường bị ảnh hưởng bởi ma sát trượt [37]. Cả mô
hình động học và mô hình động lực học đều được xây dựng để tạo điều kiện cho
12
thiết kế điều khiển tuyến tính hoá trong [39], với mô hình động học được tính toán
bằng phương pháp các ma trận chuyển hệ trục toạ độ của robot so với hệ trục tọa độ
cố định và mô hình động lực học được xây dựng bằng hệ các phương trình theo các
định luật Newton. Phương pháp mô hình hoá phương trình động lực học này được
xây dựng và đánh giá cụ thể hơn trong [41]. Với bản chất là các mô hình phi tuyến,
do đó việc ước lượng hoặc bỏ qua các tham số của mô hình ảnh hưởng lớn đến chất
lượng điều khiển của OMR, trong đó [41,42] là hai công trình được nghiên cứu
công phu và chất lượng trong việc xây dựng các mô hình động học và động lực học
cho OMR, với các đánh giá, ước lượng tham số cho mô hình OMR khoa học và đầy
đủ nhất, đây cũng chính là công trình mà NCS tham khảo chính để xây dựng mô
hình hóa cho OMR sản phẩm của luận án.
Trong kỹ thuật điều khiển chuyển động của OMR, vấn đề bám quỹ đạo và tác
động nhanh là rất cần thiết, là nhiệm vụ chính và thu hút được sự quan tâm của đông
đảo các nhà khoa học. Có nhiều phương pháp điều khiển robot, đối với robot không
ràng buộc holonomic như OMR, quỹ đạo đặt sẽ bao gồm đầy đủ cả tọa độ (x,y) và
góc nhìn θ của nó. Nhiệm vụ của bài toán điều khiển bám quỹ đạo OMR ở đây là
phải xác định được momen đặt vào các bánh xe của robot theo thời gian ngắn nhất để
nó có thể di chuyển theo đúng quỹ đạo đặt ra với sai số nhỏ nhất. Đã có nhiều các kết
quả nghiên cứu về hệ thống điều khiển bám quỹ đạo OMR được công bố trong các
thập kỷ trước, một số công trình nghiên cứu về điều khiển bám sử dụng trực tiếp
hàm Lyapunov, một số khác sử dụng các bộ điều khiển có phản hồi trạng thái, phần
lớn các giải pháp được thiết kế dựa trên nền tảng mô hình động học xác định. Gần
đây các phương pháp điều khiển thích nghi được sử dụng để điều khiển các robot tự
hành vì thực chất đây là một hệ thống bất định và có nhiễu tác động mạnh. Các
nghiên cứu tập trung vào các phương pháp như điều khiển trượt (SMC - Sliding
Mode Control) hay còn gọi là điều khiển có cấu trúc thay đổi (VSS – Variable
Structure System), sử dụng hàm điều khiển thích nghi Lyapunov, hệ Logic mờ hoặc
mạng nơ ron và một số phương pháp phát triển theo hướng điều khiển thích nghi
theo mô hình mẫu.
Các nghiên cứu trước đây tập trung vào việc thiết kế các bộ điều khiển cho mô
hình động hoặc mô hình động lực học một các riêng rẽ. Thông thường, mối quan hệ
giữa vị trí trên hệ trục toạ được chọn ban đầu và vận tốc của robot được thể hiện
13
thông qua phương trình động học. Một vài nghiên cứu đã tập trung xem xét vị trí điều
hướng của robot tự hành cũng như điều khiển theo mô hình động học của OMR,
được thể hiện trong [43], [44], [45], và [46]. Dựa trên mô hình động học, một số
phương pháp điều khiển đã được xây dựng để điều khiển robot bám theo quỹ đạo
mong muốn và giới hạn trong một vài điều kiện bị tác động bởi môi trường. Điều
khiển bám quỹ đạo cho OMR bốn bánh cũng đã được xây dựng và áp dụng thuật toán
PID, như bộ điều khiển PI trong [43] và [44] để bám quỹ đạo chuyển động. Kết quả
mô phỏng cho kết quả bám tốt, quỹ đạo thực tế của robot bám theo quỹ đạo đặt, tuy
nhiên trong thực tế, mô hình robot thường bị ảnh hưởng bởi các yếu tố bất định cũng
như việc thay đổi mô hình tham số mà phương trình động học không thể mô tả hết
được, do đó kết quả thực nghiệm thường cho thấy quỹ đạo của robot có sai lệch và
dao động quanh giá trị đặt [43]. Thực tế cho thấy, do sự tồn tại của các thành phần
phi tuyến bao gồm ma sát, rung động, trượt bánh xe,…, các nghiên cứu gần đây đều
xét đến cả mô hình động học và mô hình động lực học để tăng độ chính xác của các
ứng dụng cụ thể trong các nhà máy [42] và [43].
Bởi các hạn chế khi sử dụng chỉ mô hình động học cho việc điều khiển chuyển
động của OMR, phương trình động lực học được xét đến để có thể có được một
phương pháp hiệu quả hơn cho việc nâng cao chất lượng điều khiển. Việc thiết kế
thuật toán điều khiểm bám quỹ đạo cho OMR có tính đến đủ các mô hình động học
và động lực học cũng đã được xem xét trong [39] để tạo điều kiện cho việc áp dụng
thuật toán tuyến tính hóa quỹ đạo. Mô hình động lực học được xây dựng trong [47]
và [48], theo sau là một số thuật toán điều khiển bám cho mô hình đầy đủ này ở [49]
và [50]. Mặt khác, thuật toán sử dụng mô hình dự báo cũng đã được đề cập trong [51]
cũng là một cách tiếp cận mới để cải thiện chất lượng điều khiển và thuật toán này
cũng cho kết quả với chất lượng bám tốt, sai lệch tối đa khoảng 0.08 (m).
Ngày càng có nhiều nghiên cứu tập trung vào các phương pháp điều khiển
phản hồi cho mô hình phi tuyến [52], [53], [54], [55], [56] và [57]. Để đảm bảo chất
lượng điều khiển khi xét đến các thành phần phi tuyến, phương pháp phản hồi cuốn
chiếu Backstepping là một giải pháp khả thi để giải quyết các mô hình toán học phi
tuyến truyền ngược [58] và [59]. Kỹ thuật backstepping mở ra khả năng tổng hợp một
hệ thống điều khiển phi tuyến ổn định dựa trên việc xác định hàm điều khiển
Lyapunov cho hệ kín, việc mà trước kia thực hiện vô cùng khó khăn. Tuy vậy, với
14
các hệ phi tuyến bậc cao thì khối lượng tính toán lớn, phức tạp và mất nhiều thời gian
tính toán do việc phải tính toán đạo hàm trong từng bước lặp.
Bộ điều khiển chế độ trượt (SMC) cũng đã được sử dụng [60], [61], [62], và
[63] vì các đặc tính vượt trội hơn với bộ Backstepping trong trường hợp hệ bị tác
động bởi nhiễu. Điều khiển trượt được sử dụng bởi tính bền vững, đáp ứng nhanh,
luật điều khiển đơn giản và dễ dàng thiết kế. Bộ điều khiển trượt có thể sử dụng cho
một lớp rộng hệ thống phi tuyến có tham số bất định và nhiễu tác động. Tuy nhiên,
hạn chế của thuật toán SMC chính là hiện tượng chattering và muốn giảm hiện
tượng này đòi hỏi mô hình đối tượng phải chính xác. Điều này lại đi ngược với các
tính chất của mô hình robot, đó là bất định tham số.
Để cải thiện chất lượng điều khiển cũng như các hạn chế một số nhược điểm
của bộ điều khiển Backstepping và bộ điều khiển trượt, bộ điều khiển mặt trượt động
(DSC) được giới thiệu trong [64] và [65] là một phương pháp điều khiển thay thế
hiệu quả, cho lớp hệ thống phi tuyến như OMR. Nghiên cứu [64] đã trình bày cấu
trúc, phương pháp xây dựng bộ điều khiển DSC. Trong đó, khi hệ thống có chứa
thành phần bất định, các nghiên cứu tập trung vào việc cải tiến bộ điều khiển
Backstepping và phát triển bộ điều khiển đa mặt trượt (MSSC). Phương pháp thiết kế
cũng xác định tín hiệu điều khiển dựa trên hàm điều khiển Lyapunov, do vậy DSC
đảm bảo hệ kín ổn định và có khả năng thích nghi với thành phần bất định của hệ
thống và với sai lệch trong giới hạn nhất định. Các bước thiết kế tương tự với các
bước thiết kế bộ Backstepping, tuy vậy để tránh phải lấy đạo hàm ở các bước lặp cho
tín hiệu điều khiển ảo, DSC đã đưa thêm bộ lọc thông tần thấp, vừa là để có thông tin
về đạo hàm vừa để lọc các nhiễu nội tần số cao xuất hiện trong đối tượng điều khiển
[65]. Nhiều công trình công bố những năm gần đây có xu hướng áp dụng DSC bởi
các ưu điểm và sự vượt trội của nó [64], [66] và [67].
Đối với OMR, khó có thể xây dựng được mô hình toán học chính xác vì các
yếu tố như ma sát, tải trọng thay đổi cho đến sự thay đổi điều kiện môi trường đều
không thể biết trước. Do đó, các phương pháp thiết kế hiện đại hiệu quả trong trường
hợp này là sử dụng các thuật toán thích nghi để chỉnh định tham số của bộ điều khiển
hoặc xấp xỉ tham số bất định của đối tượng. Nhiều công trình nghiên cứu theo hướng
này sử dụng hệ logic mờ làm cơ cấu chỉnh định thích nghi cho bộ điều khiển phi
tuyến. Bộ điều khiển thích nghi theo kiểu này cải thiện đáng kể chất lượng của hệ
15
thống động lực phi tuyến [60], [61], [62], [66], [68], [69], [70], [71] và [72]. Chẳng
hạn như, kết hợp điều khiển PI truyền thống với một hệ logic mờ để chỉnh định tham
số đảm bảo hệ thống làm việc với chất lượng không đổi khi đối tượng thay đổi và có
nhiễu tác động [65]. Để cải thiện chất lượng điều khiển của các bộ điều khiển phi
tuyến, các bộ điều khiển thích nghi mờ được xây dựng dựa trên việc kết hợp giữa
điều khiển phi tuyến với cơ cấu chỉnh định mờ như bộ điều khiển trượt mờ [60], [61]
và [62]. Ưu điểm cơ bản của các bộ điều khiển thích nghi mờ là đã áp dụng cơ cấu
chỉnh đơn giản trong thiết kế và cài đặt. Bộ điều khiển thích nghi dựa trên kỹ thuật
điều khiển mặt trượt động (DSC) kết hợp với hệ logic mờ được nghiên cứu, mô
phỏng đánh giá kết quả, đặc biệt cho hệ thống có mô hình bất định [66]. Tuy nhiên
khi hệ thống có chứa nhiều thành phần phi tuyến bất định cũng như việc mô hình hoá
hệ thống có sự sai lệch đáng kể đặc biệt là đối với mô hình OMR, việc thiết kế bộ
điều khiển thích nghi cho hệ thống cần xét đến một công cụ hay thuật toán có khả
năng dự đoán cũng như xấp xỉ được các thành phần bất định này nhằm nâng cao chất
lượng điều khiển cho hệ. Với khả năng học và xấp xỉ các hàm phi tuyến với độ chính
xác cao, mạng nơ ron đã và đang thu hút được các hướng nghiên cứu ứng dụng mạng
này trong các hệ thống điều khiển thích nghi. Trong nhiều ứng dụng, mạng nơ ron
bán kính xuyên tâm (RBFNN) thường được lựa chọn là giải pháp phù hợp để xấp xỉ
các tham số hay hàm bất định có trong bộ điều khiển [67], [73], [74], [75], [77], và
[78], do RBFNN là hàm trơn khả vi vô hạn lần. Vì vậy, việc nghiên cứu ứng dụng
mạng RBFNN cho OMR là một hướng nghiên cứu khả quan. Mạng nơ ron thường
được kết hợp với thuật toán điều khiển phi tuyến để xấp xỉ các thành phần bất định,
cụ thể là trong điều khiển chuyển động của hệ thống có chứa các thành phần bất định
như ma sát hay nhiễu [77], bộ điều khiển thích nghi nơ ron cho chất lượng bám tốt
với sai lệch bám lớn nhất xấp xỉ cỡ 39.10 (m). Phương pháp điều khiển thích nghi sử
dụng cơ chế chỉnh định bằng mạng nơ ron cho hệ thống các hệ phi tuyến bất định
được trình bày trong [67], [75], và [76]. Bộ điều khiển thích nghi sử dụng mạng nơ
ron trong DSC trong [67] cho thấy chất lượng bám và độ ổn định của hệ điều khiển
vòng kín. Do khả năng tự học trực tuyến qua mỗi chu kỳ trích mẫu của mạng nơ ron
nên việc lưu giữ một khối lượng dữ liệu khổng lồ liên quan đến việc phân tích mô
hình toán học là không còn cần thiết nữa trong các hệ điều khiển thích nghi sử dụng
mạng nơ ron. Bộ điều khiển thích nghi nơ ron có khả năng xử lý các thành phần bất
16
định trong phạm vi rộng hơn, đạt được độ chính xác cao hơn cho các đối tượng phi
tuyến có mô hình bất định. Bên cạnh đó, việc kết hợp luật mờ cùng với mạng nơ ron
và các luật thích nghi cũng được trình bày trong [79] và [80]. Những ưu điểm nổi bật
của các bộ điều khiển thích nghi sử dụng mạng RBFNN xấp xỉ đặc tính phi tuyến bất
định và như khả năng tính toán thích nghi các tham số của bộ điều khiển thích nghi
mờ hệ logic mờ trong bộ điều khiển thích nghi mờ trong các công trình trên đã mở ra
một hướng nghiên cứu mới khả thi cho FWOMR. Đó cũng chính là hướng nghiên
cứu được lựa chọn trong luận án này. Bên cạnh đó, hệ điều hành ROS hỗ trợ cho việc
xây dựng các hệ thống robot thực tế và thực thi những thuật toán điều khiển đòi hỏi
khối lượng tính toán lớn khi sử dụng mạng nơ ron được trình bày trong [81], [82],
[83], [84], [85], và [86].
Với các tham khảo, phân tích như trên, một cấu trúc điều khiển thích nghi mới
dựa trên RBFNN và hệ logic mờ cho bộ điều khiển bám quỹ đạo FWOMR được
nghiên cứu phát triển trên nền tảng thuật toán điều khiển mặt trượt động (DSC). Bộ
điều khiển thích nghi mờ nơ ron mới với RBFNN để xấp xỉ các tham số phi tuyến bất
định của FWOMR và logic mờ để chỉnh định thích nghi tham số của bộ điều khiển
được đề xuất trong luận án.
1.4. Kết luận chương 1
Omni Robot nói chung và các loại robot tự hành hoặc xe tự hành nói riêng, tuy
không mới trên thế giới, nhưng tại Việt Nam vẫn còn nhiều vấn đề phải tập trung
nghiên cứu, phát triển đặc biệt là các thuật toán điều khiển mới nhằm nâng cao khả
năng chế tạo loại robot này trong nước. Chương 1 đã trình bày nghiên cứu tổng quan
về phân loại robot, robot tự hành, trong đó tập trung vào robot tự hành bốn bánh đa
hướng (FWOMR), đối tượng nghiên cứu chính của luận án. Chương 1 cũng đã tập
trung vào nghiên cứu tổng quan tình hình nghiên cứu trong và ngoài nước về mô
hình hóa OMR và các thuật toán điều khiển bám quỹ đạo cho OMR đã công bố,
phân tích ưu nhược điểm của các phương pháp này để từ đó rút ra các hướng nghiên
cứu thích hợp cho luận án.
17
CHƯƠNG 2. MÔ HÌNH HÓA VÀ THUẬT TOÁN ĐIỀU KHIỂN BÁM QUỸ
ĐẠO CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG
Mô hình hóa đối tượng là công việc đầu tiên rất quan trọng trong việc tổng
hợp hệ thống điều khiển. Việc lựa chọn phương pháp thiết kế phù hợp cho đối
tượng cần điều khiển phụ thuộc vào chất lượng mô hình. Đối với OMR cũng không
ngoại trừ. Xây dựng hệ phương trình động học, động lực học cho FWOMR là bài
toán đầu tiên cần thiết phục vụ cho việc tổng hợp bộ điều khiển bám quĩ đạo. Trong
luận án này, đối tượng nghiên cứu được xét đến là robot tự hành bốn bánh đa hướng
sử dụng bánh xe dạng Omni (FWOMR), chuyển động trên mặt phẳng chịu ảnh
hưởng của lực ma sát.
2.1. Xây dựng mô hình động học, động lực học cho robot tự hành bốn bánh đa
hướng.
2.1.1. Bánh xe Omni
Bánh xe Omni được bố trí vuông góc theo trục của động cơ, các bánh được
đặt cách nhau một góc 3600/n. Bánh xe được chế tạo bằng cách thêm các con lăn
dọc theo chu vi của bánh chính, vì thế bánh xe Omni có thể trượt dọc theo trục của
động cơ. Bánh xe Omni được ứng dụng nhiều trong robot tự hành vì nó cho phép
robot di chuyển ngay đến một vị trí trên mặt phẳng mà không phải quay trước. Hơn
nữa, chuyển động tịnh tiến dọc theo một quỹ đạo thẳng có thể kết hợp với chuyển
động quay làm cho robot di chuyển tới vị trí mong muốn với góc định hướng chính
xác. Mô hình OMR có cấu trúc bánh xe Omni như hình 2.1.
Hình 2.1. Mô hình OMR dạng n bánh
Ở đây, số lượng bánh xe n phải lớn hơn hoặc bằng 3.
Trục của động cơ lệch với Ox các góc lần lượt là 1 2, , n ; hướng của
bánh xe thứ i tương ứng là / 2i .
18 Khi động cơ hoạt động, giả sử robot nhận được n lực kéo 1 2, , nF F F (như
trên hình 2.1).
Theo phương pháp Newton, xét trường hợp mô hình robot chuyển động với
các bánh xe:
1 1 2 2
1 1 2 2
1 2
sin sin ... sin
cos cos ... cos
...
x n n
y n n
n
ma f f f
ma f f f
J r f f f
Với xa và ya là gia tốc của robot theo hướng Ox và Oy, là vận tốc góc của
robot, m là khối lượng của xe, J là momen quán tính và r là bán kính bánh xe. Từ đó
ta có:
11 2
21 2
sin sin ... sin1
cos cos ... cos
...
x n
y n
n
fa
fa
mmr mr mr
fJ J J
Đặt ma trận 1 2
1 2
sin sin ... sin1
cos cos ... cos
...
n
nNm
mr mr mr
J J J
có kích thước là
(3 ) N . Với các góc 1 2, ,..., n là đôi một phân biệt ta dễ thấy hạng của ma trận N
bằng 3. Từ đây ta suy ra luôn có giá trị của 1 2 ...T
nf f f để có giá trị
T
x ya a theo ý muốn. Chính vì vậy OMR luôn có khả năng di chuyển tới vị
trí bất kỳ với quỹ đạo đặt bất kỳ và hướng đặt bất kỳ. OMR ngày càng được phát
triển trong các ngành lý thuyết hay thực tế nhờ khả năng di chuyển linh hoạt này.
Hình 2.2. Mẫu bánh Omni
Hình 2.3. Cấu trúc bánh
19 Phương thức di chuyển của robot:
Hình 2.4. Các hướng di chuyển của robot
Việc xây dựng mô hình đối tượng bao gồm mô hình động học và mô hình
động lực học nhằm xác định được vị trí robot và momen lực đặt vào các bánh xe để
đưa ra tín hiệu điều khiển phù hợp cho robot di chuyển đúng theo quỹ đạo mong
muốn đặt trước.Equation Chapter 2 Section 1
2.1.2. Mô hình động học robot tự hành bốn bánh đa hướng [41], [42]
Mô hình động học và động lực học cho FWOMR được xây dựng dựa trên mô
hình với bánh xe Omni được bố trí lệch so với tọa độ động một góc 450, các bánh
được đặt cách nhau một góc 900 như hình 2.5.
Gọi T= x y θq là véc tơ tọa độ của robot trong hệ tọa độ đề các Oxy,
T
x y ωv v v là véc tơ vận tốc của robot trong hệ trục tọa độ động gắn vào tâm
robot.
Hình 2.5. Hệ trục tọa độ của robot tự hành bốn bánh đa hướng.
20 Xét mối quan hệ hình học trong hình 2.5 ta xác định được biểu thức mối
quan hệ giữa vận tốc của robot trong hệ tọa độ toàn cục và hệ tọa độ động. Phương
trình biểu diễn mối quan hệ này cũng là phương trình động học của robot.
cosθ sinθ
sinθ cosθ
- 0
0
0 0 1
q Hv v (2.1)
Trong đó:
cosθ sinθ
sinθ cosθ
- 0
= 0
0 0 1
H là ma trận chuyển hệ trục toạ độ.
Bảng 2.1. Thông số phương trình động học cho FWOMR
Ký hiệu Ý nghĩa Đơn vị
x Toạ độ robot theo phương x m
y Toạ độ robot theo phương y m
Góc lệch của robot so hệ tọa độ gốc rad
vi Vận tốc mỗi bánh m/s
ωi Vận tốc góc mỗi bánh rad/s
fi Lực kéo mỗi bánh N
d Khoảng cách tâm robot tới mỗi bánh m
Góc lệch của bánh xe với phương Ox của robot rad
Theo hình 2.5, các bánh xe được đặt sao cho
góc2
,cos( ) sin( )4 2
.
Vận tốc dài của các bánh xe (với bán kính là r):
1 1
2 2
3 3
4 4
2 2.
2 2
2 2.
2 2
2 2.
2 2
2 2.
2 2
x y
x y
x y
x y
v r v v d
v r v v d
v r v v d
v r v v d
Từ đó ta tính được giá trị vận tốc mỗi bánh khi biết vận tốc theo các phương
21
của robot
1 1
2 21 11
3 3
4 4
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
x
y
d
vvd
vr r v
vd
v
d
H v (2.2)
với 11
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
d
d
r
d
d
H . Ngược lại khi có vận tốc mỗi bánh xe, ta cũng có
thể suy ra giá trị vận tốc của robot và từ đó tính toán được vị trí robot thông qua
phương trình động học
1 1
2 22
3 3
4 4
2 2 2 2
2 2 2 24
x
y
vr
v
d d d d
H (2.3)
với 2
2 2 2 2
2 2 2 24
r
d d d d
H .
Từ phương trình động học (2.1), ta tính được phương trình thể hiện mối quan
hệ giữa vị trí của robot và vận tốc quay của các bánh xe:
1
2
3
4
( )
x
y g
(2.4)
với 2( )g HH .
22
2.1.3. Mô hình động lực học robot tự hành bốn bánh đa hướng [41], [42]
Theo phương pháp Newton, các phương trình động lực học xét đến tác dụng
của lực ma sát nhớt và ma sát Coulomb:
xx Bx Cx
yy By Cy
B C
dvm F F F
dt
dvm F F F
dt
dJ T T T
dt
(2.5)
Dựa vào cách chọn hệ trục toạ độ như hình 2.5, ta có
1 2 3 4
1 2 3 4
1 2 3 4
2( )
2
2( )
2
( )
x
y
F f f f f
F f f f f
T d f f f f
(2.6)
x ysgn( ), sgn( )Bx x By yF v F v B B : Lực ma sát nhớt theo phương xv và yv
ωT sgn( )B B : Lực ma sát nhớt theo phương quay của robot
Cysgn( ), sgn( )Cx Cx x Cy yF v F v C C : Lực ma sát Coulomb theo phương xv
và yv
T sgn( )C ω C : Lực ma sát Coulomb theo phương quay của robot
Từ (2.5), ta thu được
1 2 3 4
1 2 3 4
1 2 3 4
2 1sgn( ) ( )
2
2 1sgn( ) ( )
2
sgn( ) ( )
xx x x x
yy y y y
ω ω
dvm v v
dt r
dvm v v
dt r
d dJ
dt r
B C
B C
B C
(2.7)
Từ đó ta có phương trình động lực học của robot có dạng như sau
( ) sgn( ) dv M q Cv G v τ Bτ (2.8)
Với: [ ]Tx yv v v là véc tơ vận tốc của robot
23
0 0
0 0
0 0
m
(q) m
J
M
Là ma trận với m là khối lượng và J là momen quán tính
của robot.
0 0
0 0
0 0
x
y
B
B
B
C
và
0 0
0 0
0 0
x
y
C
C
C
G lần lượt là ma trân hệ số ma sát
nhớt và ma sát Coulomb.
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
r r r r
r r r r
d d d d
r r r r
B là ma trận hệ số điều khiển.
2.1.4. Mô phỏng kiểm chứng các kết quả mô hình hóa mô hình robot.
Tiến hành mô phỏng sử dụng Matlab/Simulink để kiểm chứng mô hình xây
dựng được với vị trí ban đầu của robot 0 04
TT
o o o ox y
q . Giá trị
momen đặt vào các bánh 1 2 3 4 60 60 60 60T T
τ , robot di
chuyển theo quỹ đạo thẳng, góc không đổi.
Hình 2.6. Quỹ đạo của robot
Hình 2.7. Quỹ đạo góc của robot
Hình 2.8. Quỹ đạo theo phương Ox, Oy của robot
24 Giá trị momen đặt vào các bánh
1 2 3 4 100 100 50 50T T
τ , robot chuyển động theo quỹ đạo
tròn
Hình 2.9. Quỹ đạo của robot
Hình 2.10. Quỹ đạo góc của robot
Hình 2.11. Quỹ đạo theo phương Ox, Oy của robot
2.2. Một số thuật toán điều khiển bám quỹ đạo cho robot tự hành bốn bánh đa
hướng thông dụng.
Có nhiều nghiên cứu về điều khiển bám quỹ đạo cho OMR được công bố
trong những năm gần đây vẫn sử dụng bộ điều khiển truyền thống PID, PID thích
nghi. Một số công trình nghiên cứu mới về điều khiển bám sử dụng trực tiếp hàm
điều khiển Lyapunov, một số khác sử dụng các bộ điều khiển phản hồi trạng thái
tuyến tính hóa chính xác,...hầu hết các giải pháp được thiết kế đều dựa trên giả thiết
mô hình động học được xác định chính xác. Gần đây, các phương pháp điều khiển
thích nghi được sử dụng nhiều hơn để tổng hợp bộ điều khiển cho OMR để giải
quyết vấn đề bất định của mô hình và nhiễu tác động vào hệ thống. Các nghiên cứu
tập trung vào các phương pháp như điều khiển trượt (SMC) hay còn gọi là điều
khiển có cấu trúc thay đổi (VSS), hàm điều khiển Lyapunov, hệ logic mờ hoặc
mạng nơ ron nhân tạo và một số phương pháp phát triển theo hướng điều khiển
thích nghi theo mô hình mẫu.
25 Điều khiển trượt được sử dụng nhiều bởi tính bền vững và khả năng kháng
nhiễu tốt, thích hợp cho một hệ phi tuyến có các tham số bất định và các nhiễu tác
động. Tuy nhiên, hạn chế của thuật toán SMC chính là hiện tượng chattering (dao
động zich zắc xung quanh mặt trượt về gốc). Để khắc phục hiện tượng chattering
thông thường hay dùng phương pháp trượt hàm mũ, đa mặt trượt MSSC.
2.2.1. Bộ điều khiển PID cho FWOMR
Hơn 15 năm trở lại đây robot tự hành đươc ứng dụng nhiều trong các hệ
thống kho bãi, nhà xưởng, an ninh quốc phòng…Thuật toán PID cũng được ứng
dụng để giải quyết bài toán điều khiển bám quỹ đạo cho robot tự hành bốn bánh đa
hướng.
Bộ điều khiển PID cho FWOMR được đề xuất trong [43] và [44]. Các nghiên
cứu này đã thiết kế bộ điều khiển PID dựa trên mô hình động học của OMR. Do đó
các tác động của các ngoại lực tác động lên hệ trong phương trình động lực học của
robot đã không được xét đến.
Xét mô hình động học của robot (2.8)
Quỹ đạo đặt cho hệ: T
d d dx ydq
Định nghĩa véc tơ sai lệch
d
d
d
x x
y y1e
(2.9)
Từ phương trình (2.4), ta có:
1
2
3
4
( ).
gq (2.10)
Với:
sin( ) sin( ) sin( ) sin( )4 4 4 44 4 4 4
cos( ) cos( ) cos( ) cos( )4 4 4 4( )4 4 4 4
1 1 1 1
4 4 4 4
g
d d d d
26 Đạo hàm (2.9), kết hợp với (2.10)
1
2
3
4
( )
( ) ( )
( )
d d
d d
d d
x t x x
y t y g y
t1e (2.11)
Ta cần tìm véc tơ vận tốc góc của các bánh xe để bộ điều khiển vòng kín ổn
định.
01
2 1
3 0
4
0
( )( ( ) ( ))
t
e
e tT T
P e I e
e t
e
x d
x
g g g K y K y d
d
(2.12)
Với ,P IK K là các ma trận đường chéo và xác định dương.
Thông thường, bộ điều khiển PID được thiết kế dựa trên phương trình động
học hoặc phương trình động lực học. Để đảm bảo chất lượng thì mô hình động lực
học của FWOMR phải được mô tả chính xác, điều đó rất khó khăn. Mặt khác
FWMOR là đối tượng có mô hình phi tuyến bất định và chịu ảnh hưởng của nhiễu
(ma sát, phụ tải…) nên muốn bộ điều khiển PID hoạt động tốt phải có thêm phần
chỉnh định thích nghi cho các tham số của bộ điều khiển này. Một số công trình [43]
và [44] cũng đã đề cập và giải quyết vấn đề này tuy nhiên vẫn gặp nhiều hạn chế.
Xu thế mới hiện nay, các phương pháp điều khiển phi tuyến có khả năng kháng
nhiễu đươc nghiên cứu và phát triển ứng dụng nhiều hơn và đang dần thay thế cho
phương pháp pháp điều khiển kinh điển trên. Một trong những phương pháp đó là
phương pháp điều khiển trượt.
2.2.2. Bộ điều khiển trượt cơ bản cho FWOMR
Bộ điều khiển trượt có đặc tính vượt trội hơn so với bộ điều khiển khác cho
mô hình đối tượng điều khiển là phi tuyến, có nhiều yếu tố bất định. Điều khiển
trượt [60], [61], [62] và [63] thường được sử dụng cho các hệ robot nói chung và
cho FWOMR nói riêng bởi ưu điểm bền vững với các tác động của nhiễu.
2.2.2.1. Cơ sở lý thuyết
27 Xét hệ phi tuyến:
1 2
2 ( )
x x
x f x (2.13)
Trong đó: 1x và 2x là các trạng thái của hệ thống, Rτ tín hiệu điều khiển
điều khiển.
2:f R R là một hàm phi tuyến. Giả sử mục tiêu điều khiển là
1 1( ) ( ) dx t x t xét tới sự tồn tại của các thành phần bất định.
- Ta chọn mặt trượt
S e e (2.14)
Trong đó: 1 1 de x x
- Đạo hàm S , kết hợp với hệ phương trình (2.13)
1( ) dS f x x e (2.15)
- Chọn hàm V:
21
2V S (2.16)
- Đạo hàm
1( ( ) ) dV SS S f x x e (2.17)
- Chọn tín hiệu điều khiển
1 1( ) sgn( )df x x e K S (2.18)
Khi đó 1sgn( ) 0V SK S với 1K là hằng số dương thì V chính là hàm
Lyapunov của hệ (2.13)
2.2.2.2. Áp dụng cho đối tượng FWOMR
Từ phương trình động học (2.1) và phương trình động lực học (2.8), đặt
1
2
x q
x v, ta có hệ phương trình trạng thái:
1 2
2 2 2sgn( ) d
x Hx
Mx Cx G x τ Bτ
(2.19)
Với dτ là thành phần nhiễu bất định và không đo được chính xác nên thành
phần này sẽ không xuất hiện trong quá trình tính toán các bộ điều khiển SMC,
MSSC.
Xác định mặt trượt cơ bản với các điều kiện và giả thiết. Định nghĩa sai số
28
1 1 1d
2 2 2d
e x x
e x xvới 1dx là giá trị quỹ đạo đặt 1
2d 1dx H x là giá trị đặt cho
vận tốc của robot.
Chọn mặt trượt
1 1 S e e (2.20)
Với >0 là hệ số mặt trượt.
Đạo hàm mặt trượt ta có:
1 12 2 1 2 2 2 2(M ( sgn( )) ( ) )d S He He e H Bτ Cx G x x H H e (2.21)
Chọn hàm Lyapunov:
21
2V S (2.22)
Đạo hàm hàm Lyapunov theo thời gian, ta có
12 2 2 2( ( sgn( )) ( ) )dV -1SS SH M Bτ Cx G x x H H e (2.23)
Với tín hiệu điều khiển được chọn như sau:
1 12 2 2 2 1( ) ( (( ) ) sgn( ) sgn( ))T T
d K τ B BB M H H e x Cx G x S (2.24)
Khi đó 1sgn( ) 0V K S S thỏa mãn định lý ổn định Lyapunov.
Bộ điều khiển trượt (2.24) được thiết kế tính ổn định bền vững khi hệ thống
tồn tại sai lệch mô hình và có nhiễu tác động. Hàm V trong công thức (2.22) với
luật điều khiển (2.24) cho hệ FWOMR là hàm Lyapunov của hệ kín.
2.2.3. Bộ điều khiển đa mặt trượt cho FWOMR
Bộ điều khiển đa mặt trượt được thiết kế ưu tiên tách riêng từng mặt trượt
cho từng trạng thái của hệ thống với khả năng xử lý được thành phần nhiễu loại
“mismatched” [15]. Điều này khắc phục được nhược điểm của bộ điều khiển trượt
và giảm bớt được hiện tượng chattering do đặc tính của bộ điều khiển trượt.
2.2.3.1. Cơ sở lý thuyết chung.
- Xét hệ phi tuyến:
1 2 1
2
x x f x
x (2.25)
Với f và 1
f
x
là hàm liên tục.
- Đầu tiên ta xây dựng mặt trượt thứ nhất: 1 1 1 dS x x .
29 Đạo hàm 1S kết hợp với 1 2 1 x x f x từ hệ (2.25), ta có
1 2 1 dS x f x (2.26)
- Tiếp theo ta xét mặt trượt thứ hai: 2 2 2 dS x x
Trong đó 2dx gọi là đầu vào ảo được thiết kế để lái 1 0S . Đạo hàm 2S :
2 2 dS x (2.27)
sẽ được thiết kế để 2 0S ,tức là 2 2 2, d dx x x sẽ được chọn như sau:
2 1 1 1 d dx x f K S (2.28)
Hằng số dương 1K sẽ được xác định sau, u được chọn là:
2 2 2 dx K S (2.29)
Kết hợp các phương trình (2.26), (2.27), (2.28) và (2.29) ta có hệ sau:
1 2 1 1
2 2 2
S S K S
S K S (2.30)
- Chọn hàm Lyapunov thứ nhất
21 1
1
2V S (2.31)
Dựa vào (2.26) và (2.28) ta tính đạo hàm của 1V :
21 1 1 1 2 1 1 1 2 1 1( ) V S S S S K S S S K S (2.32)
- Chọn hàm Lyapunov thứ hai
2 22 1 2
1( )
2 V S S (2.33)
Dựa vào (2.27) và (2.29) ta tính đạo hàm của 2V :
1 2 2 2 2 1 22 2
2 1 1 1 V S S S S K K SS SS (2.34)
- Chọn 21
1
2KK K ta có: 0K , và:
222 2 2 2
2 1 1 1 2
21 2
2
1( ) 2
1
2
1
2
V KS KS S S S S
S S KV (2.35)
Hệ kín ổn định theo tiêu chuẩn Lyapunov.
30
2.2.3.2. Áp dụng cho đối tượng FWOMR
- Xét hệ robot tự hành bốn bánh đa hướng
1 2
2 2 2sgn( ) d
x Hx
Mx Cx G x τ Bτ
(2.36)
Với 1
x
y
x và 2
x
y
v
v
x
- Xét mặt trượt
11
1 12 1 1
13
d
S
S
S
S x x
(2.37)
- Đạo hàm 1S kết hợp với hệ phương trình (2.36) ta có
1 1 1 2 1 d d S x x Hx x (2.38)
Chọn tín hiệu điều khiển ảo
12 1 1 1( )d dK x H S x (2.39)
- Chọn hàm Lyapunov thứ nhất
1 1 1
1
2TV S S
(2.40)
- Đạo hàm 1V kết hợp với (2.38) và (2.39)
1 1 1 1 1
1 2 2 1 2
11 2 1 1 1 1
1 2 1 1 1 1
1 1 2 1 1 1
( . )
= ( . . . )
= ( . ( ))
= ( )
T T2 d
Td d d
Td d
Td d
T T
V
K
K
V K
S S S H x x
S H x H x x H x
S S x H H S x
S S x S x
S S S S
(2.41)
- Với 2S là mặt trượt thứ hai
2 2 2 )( d S x xH (2.42)
- Xét đạo hàm 2S
2 2 2 2 2
12 2 2 2 2
( ) ( )
( ( sgn( )) ) ( )
d d
d d
S H x x H x x
H M Bτ Cx G x x H x x
(2.43)
Kết hợp (2.39), (2.40), (2.43) và (2.44), ta có:
31
1 2 1 1H K S S S (2.44)
- Chọn tín hiệu điều khiển:
1 12 2 2 2 2 2 2( ) ( ( ( ) ) ) sgn( ) )T T
d d K τ B BB M H H x x x Cx G x S (2.45)
- Khi đó, ta có:
2 2 2K S S (2.46)
- Chọn hàm Lyapunov thứ hai
2 1 1 2 2
1 1
2 2T TV S S S S
(2.47)
- Đạo hàm 2V kết hợp với (2.44), (2.45), (2.46) và (2.47)
2 22 1 1 1 1 1 12 2 2 2T T TV K K S S S S S SS S S S (2.48)
- Ta có
2
2 2 2
2
2 1 1 1V K K SS S S (2.49)
- Chọn 21
1
2KK K ta có: 0K , và:
2 2
2 1 1 1
2
1 1
2 2
2 2 2
2 22 2
1 1
2
1(
2
2
)
V K K
K K
S SS S S
S S
S
S S
Vậy 2V chính là hàm Lyapunov của hệ kín
Một nhược điểm của phương pháp này là chính ở chỗ phải tính đạo hàm của
đầu vào ảo 2dx vì đầu vào này phụ thuộc vào mặt trượt và các biến trạng thái của hệ
(2.43). Đó cũng chính là khó khăn khi sử dụng phương pháp MSSC.
2.2.4. Mô phỏng kiểm chứng các thuật toán
2.2.4.1. Kết quả mô phỏng sử dụng bộ điều khiển PID điều khiển bám quỹ đạo cho
FWOMR
+ Với các tham số chọn cho bộ điều khiển PID: 5, 0.5p IK K
+ Tham số chọn cho mô hình: m=10kg, J=0.56kgm2, d=0.3m, r=0.06m
Xét trường hợp khi có nhiễu tác động.
32
a. Quỹ đạo đường tròn với hệ phương trình
cos( ); sin( );15 15 15 2
x t y t t
Hình 2.12. Quỹ đạo bám đường tròn
với bộ điều khiển PID
Hình 2.13. Sai lệch bám các thành phần
, y ,e e ex với bộ điều khiển PID
b. Quỹ đạo gấp khúc với hệ phương trình
Hình 2.14. Quỹ đạo bám đường gấp
khúc với bộ điều khiển PID
Hình 2.15. Sai lệch bám các thành phần
đường gấp khúc , y ,e e ex với bộ điều
khiển PID
2.2.4.2. Kết quả mô phỏng sử dụng bộ điều khiển SMC điều khiển bám quỹ đạo cho
FWOMR
+ Với các tham số chọn cho bộ điều khiển SMC: 35, 100K
+ Tham số chọn cho mô hình: m=10kg, J=0.56kgm2, d=0.3m, r=0.06m
a. Quỹ đạo đường tròn với hệ phương trình:
33
b.
5cos( ); 5sin( );15 15 15 2
x t y t t
Hình 2.16. Quỹ đạo bám đường tròn
với bộ điều khiển SMC
Hình 2.17. Sai lệch bám các thành phần
, y ,e e ex của bộ điều khiển SMC
b. Quỹ đạo gấp khúc với hệ phương trình:
1 1 1 2 2 25 55 3* , 1, tan( ); 5 3* , , tan( )
3 3x t y a x t y t a
Bộ tham số điều khiển SMC: 16, 16K
Hình 2.18. Quỹ đạo bám đường gấp
khúc với bộ điều khiển SMC
Hình 2.19. Sai lệch bám các thành phần
đường gấp khúc , y ,e e ex (SMC)
2.2.4.3. Kết quả mô phỏng sử dụng thuật toán điều khiển đa mặt trượt (MSSC) điều
khiển bám quỹ đạo cho FWOMR
Một số kết quả xây dựng quỹ đạo mô phỏng trên bộ điều khiển MSSC
34 a. Quỹ đạo đường zich zắc với hệ phương trình:
1 1 1 2 2 25 55 3* , 1, tan( ); 5 3* , , tan( )
3 3x t y a x t y t a
Bộ tham số điều khiển MSSC:
11 12 13 1 14, 5 3* , 1,k k k k x t y
Hình 2.20. Quỹ đạo bám đường gấp
khúc với bộ điều khiển MSSC
Hình 2.21. Sai lệch bám các thành phần
đường gấp khúc , y ,e e ex (MSSC)
b. Quỹ đạo đường tròn với hệ phương trình:
5cos( ); 5sin( );15 15 15 2
x t y t t
Bộ tham số điều khiển MSSC: 11 12 13 3.5k k k k
Hình 2.22. Quỹ đạo bám đường tròn
với bộ điều khiển MSSC
Hình 2.23. Sai lệch bám các thành phần
đường tròn , y ,e e ex (MSSC)
35
2.3. Kết luận chương 2
Với các kết quả đã đạt được qua việc tính toán và chứng minh bằng lý thuyết,
cùng với các kết quả xây dựng mô hình mô phỏng kiểm chứng trên Matlab
Simulink trong chương 2, luận án đã thu được các kết quả như sau:
Mô hình hóa robot tự hành đa hướng với cấu trúc như đã chọn, xây dựng
các phương trình động học và động lực học và phân tích động lực học của FWOMR
dựa trên mô phỏng số.
Nghiên cứu một số thuật toán điều khiển bám tiêu biểu đã được ứng dụng
cho FWOMR và khảo sát đánh giá ưu nhược điểm của các phương pháp điều khiển
này bằng phần mềm Matlab/Simulink như:
Bộ điều khiển PID
Điều khiển trượt
Điều khiển đa mặt trượt
Điều khiển trượt được sử dụng nhiều bởi tính bền vững và khả năng kháng
nhiễu tốt. Bộ điều khiển trượt có thể đáp ứng cho một hệ phi tuyến với độ bền vững
cho các tham số bất định. Tuy nhiên, hạn chế của thuật toán SMC, MSSC chính là
hiện tượng chattering và bị ảnh hưởng khi có nhiễu tác động. Để khắc phục hiện
tượng chattering phương pháp DSC sẽ được nghiên cứu và phát triển trong chương
3.
36
CHƯƠNG 3. THIẾT KẾ BỘ ĐIỀU KHIỂN THÍCH NGHI BÁM QUỸ ĐẠO
CHO ROBOT TỰ HÀNH BỐN BÁNH ĐA HƯỚNG
Chương 2 NCS đã xây dựng các bộ điều khiển bám quỹ đạo cho FWOMR
như SMC, MSSC. Để tính toán được các tham số của bộ điều khiển này thì yêu cầu
mô hình toán học của đối tượng phải chính xác. Do đó, trong một số tình huống, để
đơn giản và lý tưởng hóa, một số tham số của mô hình FWOMR được bỏ qua như:
ma sát, momen, khối lượng... Tuy nhiên trong thực tế các tham số này có ảnh hưởng
lớn đến chất lượng của bộ điều khiển.
Trong chương 3, thuật toán điều khiển mới được đề xuất cho FWOMR.
Thuật toán điều khiển này được phát triển trên nền tảng kỹ thuật DSC. Thuật toán
DSC bám quĩ đạo thích nghi bằng hệ logic mờ và mạng nơ ron nhân tạo cho
FWOMR nhằm khắc phục nhược điểm của DSC và mở rộng miền ứng dụng cho
FWOMR có mô hình phi tuyến bất định và chịu ảnh hưởng của nhiễu. Thuật toán
DSC thích nghi được mô phỏng đánh giá bằng phần mềm Matlab/Simulink.
Những nghiên cứu trong chương 3 đề xuất thuật toán thích nghi mới AFDSC
và AFNNDSC để giải bài toán điều khiển bám quĩ đạo cho FWOMR trong trường
hợp xét đến các thành phần bất định trong mô hình robot cũng như ảnh hưởng của
nhiễu. Equation Chapter 3 Section 3
3.1. Thuật toán điều khiển mặt trượt động.
3.1.1. Xây dựng thuật toán điều khiển bám quĩ đạo mặt trượt động cho FWOMR
Kỹ thuật điều khiển hiện đại hướng tới việc xây dựng các bộ điều khiển phi
tuyến nhằm nâng cao chất lượng điều khiển cho hệ thống, đặc biệt là khi hệ thống
có chứa các thành phần phi tuyến bất định. Việc cải tiến các bộ điều khiển
Backstepping, bộ điều khiển trượt, hay bộ điều khiển đa mặt trượt để tăng tính thích
ứng của hệ thống khi tồn tại các tham số bất định hay các tham số mô hình thay đổi
trong quá trình vận hành cũng đã và đang được được tập trung nghiên cứu. Như
phân tích ở chương 2, MSSC sẽ tiếp tục được nghiên cứu phát triển trong chương
này.
Kỹ thuật DSC được phát triển dựa trên MSSC và kỹ thuật backstepping.
Không những giữ lại ưu điểm khi xử lý với các thành phần bất định trong mô hình
hệ thống mà DSC còn khắc phục nhược điểm của hai phương pháp này thông qua
việc tích hợp thêm vào bộ điều khiển một bộ lọc thông thấp [64], [65].
37 Trước hết, mục tiêu của việc thiết kế bộ điều khiển là robot có thể bám quỹ
đạo nhanh và chính xác, đồng thời đảm bảo tính ổn định của hệ thống. Bộ điều
khiển DSC cho FWOMR được tập trung nghiên cứu thiết kế. Để đơn giản cho việc
tính toán và chứng minh tính ổn định của hệ thống điều khiển, các biến trạng thái
của hệ thống được đặt như sau:
1
2
[ ]
[ ]
T
Tx y
x y
v v
x q
x v (3.1)
Từ đó thu được hệ phương trình của robot tự hành bốn bánh đa hướng
2
1 2
2 2 sgn d
x Hx
Mx Cx G τ Bτx
(3.2)
Với giả thiết mô hình biết trước, dτ được xem như nhiễu bên ngoài tác động
chưa biết, mô hình FWOMR không xét đến ảnh hưởng của nhiễu có dạng như sau:
1 2
22 2 sgn
x Hx
Mx Cx G Bτx
(3.3)
Trước tiên, đặt 1 1 1d e x x là véc tơ sai lệch bám, ở đó
1
T
d d d dx y x là quỹ đạo đặt. Mục tiêu điều khiển là đảm bảo 1x đạt được
giá trị 1dx hay nói cách khác 1e tiến tới 0.
Đạo hàm 1e
1 1 1 2 1d d e x x Hx x (3.4)
Giả sử rằng fα là tín hiệu điều khiển ảo trong việc thiết kế bộ điều khiển
DSC.α là đầu vào của bộ lọc thông thấp bậc nhất có biểu thức
11 1 1dc H e xα (3.5)
Với 1
1 1
1
0 0
0 0
0 0
x
y
c
c c
c
là giá trị ma trận hằng số đường chéo phù hợp chứa
các phần tử là các giá trị dương.
Sau khi tính toán luật điều khiển ảo, α được đưa qua bộ lọc thông thấp bậc
nhất để tính toán giá trị đạo hàm cho tín hiệu điều khiển ảo.
T f fα α α (3.6)
Với T được chọn đủ nhỏ để không làm tăng thời gian tính toán của DSC.
38
( )( ) ,
1
ss
Ts Tf
f f
α α αα α
Để chứng minh tính khả dụng của tín hiệu điều khiển ảo, hàm ứng viên
Lyapunov thứ nhất được đề xuất
1 1 1
1
2TV e e (3.7)
Xét đạo hàm của 1V
1 1 1 1 2 1 1 1 1 1 1 1 2 1T T T T
d dV c c e e e Hx x e e e e Hx x (3.8)
nếu coi 2x α là thì 1 1 1 1 1 1 1 1( )T TV c c e e e e e
Có thể thấy từ biểu thức (3.8) với giá trị điều khiển ảo từ (3.5),
1 1 1 1 0TV c e e và điều kiện 1 1 1 1 0TV c e e được thoả mãn.
Tiếp theo, kỹ thuật điều khiển trượt được thiết kế để thu được tín hiệu điều
khiển của hệ thống. Tín hiệu điều khiển này cũng phải đảm bảo tín hiệu điều khiển
ảo đạt được giá trị lý tưởng. Định nghĩa sai lệch tín hiệu điều khiển ảo của hệ thống.
2 2 fe x α (3.9)
Chọn mặt trượt
1 2 S e He (3.10)
Với là hệ số của mặt trượt.
Đạo hàm của S được tính
11 2 2 1 2 22 sgn f S e He He e He H M C G Bτ αxx
(3.11)
Như đã đề cập ở phần trên, một trong những ưu điểm của bộ điều khiển DSC
là khả năng tránh được hiện tượng “bùng nổ các điều khoản” xảy ra khi việc tính
toán đạo hàm của tín hiệu điều khiển ảo được lặp lại ở mỗi chu kỳ. Do đó, giá trị
của fα thu được từ bộ lọc bậc nhất (3.6). Để đảm bảo tính ổn định của hệ thống và
tính toán tín hiệu điều khiển, hàm ứng viên Lyapunov thứ hai được chọn
2
1
2TV S S (3.12)
Tín hiệu điều khiển của hệ thống sẽ được tính toán có dạng của bộ điều khiển
trượt để tăng thêm tính bền vững với nhiễu cho hệ. Do đó, tín hiệu điều khiển sẽ
bao gồm hai thành phần eqτ và swτ
39
eqτ là tín điều khiển để giữ trạng thái hệ thống trên mặt trượt. eqτ thu được
từ điều kiện 0S .
11
2 2 21
2( ) sgndT T
eq G e He x Cτ B BB xM xH (3.13)
Tuy nhiên, eqτ chỉ có tác dụng khi hệ thống đã nằm trên mặt trượt. Do đó,
tín hiệu điều khiển swτ được sử dụng, nó có khả năng lái trạng thái của hệ thống tiến
về mặt trượt. Biểu thức của swτ được chọn như sau:
13w
12( ) sgnT T
s c c τ B BB M SH S (3.14)
với 2
2 2
2
0 0
0 0
0 0
x
y
c
c c
c
và 3
3 3
3
0 0
0 0
0 0
x
y
c
c c
c
là các ma trận hệ số xác
định dương. Cuối cùng, tín hiệu điều khiển của hệ là tổng của eqτ và swτ :
eq sw τ τ τ (3.15)
Định lý 3.1: FWOMR được mô tả bằng mô hình (2.8) được điều khiển bằng
(3.15) với eqτ được xác định bởi (3.13) và swτ (3.14) đảm bảo hệ kín ổn định và sai
lệch bám tiến về 0.
Chứng minh: Đạo hàm 2V
2TV SS
(3.16)
Sử dụng (3.11), 2V trở thành
12 1 2 2 2sgn TV fS e He H M Cx G Bτx α
(3.17)
Với tín hiệu điều khiển (3.13) và (3.9) thì 2d fx α , đạo hàm của 2V có thể
được viết lại thành:
2 2 3sgnT TV c c SS S S (3.18)
Giá trị nhiễu dτ bị chặn dτ là giá trị nhiễu bất định nên không xuất hiện
trong biểu thức của bộ điều khiển. Bằng việc lựa chọn 2c và 3c phù hợp, ta có
2 2 3sgn 0T TV c c S SS S (3.19)
Điều này thoả mãn tiêu chuẩn ổn định Lyapunov, định lý 1 đã được chứng
minh!
40 Ưu điểm của phương pháp DSC là tăng khả năng thích ứng của hệ thống và
giảm khối lượng tính toán bộ điều khiển. Tín hiệu điều khiển được sử dụng có chứa
thành phần trượt, do đó tính ổn định bền vững của SMC. Bộ lọc thông thấp được sử
dụng vừa có tác dụng lọc nhiễu tần số cao nội sinh vừa cung cấp thông tin về đạo
hàm tín hiệu điều khiển ảo. Do vậy, việc tính toán đạo hàm của tín hiệu điều khiển
ảo trở nên không cần thiết nữa, điều này loại bỏ được nhược điểm của MSSC và kỹ
thuật backstepping. Tuy nhiên, phương pháp chỉ áp dụng được khi sai lệch mô hình
và nhiễu tác động nhỏ, mặt khác hiện tượng chattering do cấu trúc bộ điều khiển
trượt gây nên là không thể tránh khỏi. Hơn thế nữa, chất lượng điều khiển của hệ
thống phụ thuộc khá nhiều vào việc lựa chọn tham số của bộ điều khiển, đặc biệt là
tham số ảnh hưởng trực tiếp đến việc kéo hệ thống về mặt trượt. Mô phỏng sử dụng
thuật toán điều khiển mặt trượt động (DSC) và so sánh với các thuật toán MSSC và
SMC
3.1.2. Mô phỏng kiểm chứng kết quả thuật toán
Sơ đồ khối mô phỏng cấu trúc hệ thống và bộ điều khiển DSC:
Hình 3.1. Cấu trúc mô phỏng hệ thống điều khiển sử dụng bộ điều khiển DSC
Hình 3.2. Cấu trúc mô phỏng bộ điều khiển DSC
41
3.1.2.1. Kết quả mô phỏng sử dụng thuật toán điều khiển DSC trong trường hợp
không có nhiễu tác động.
a. Quỹ đạo đường tròn: 5cos( ), 5sin( ),15 15 15 2
x t y t t
Bộ tham số điều khiển DSC: 11 12 13 13k k k k
Hình 3.3. Quỹ đạo bám và sai lệch bám khi sử dụng DSC với quỹ đạo tròn
Giai đoạn ban đầu, khi vị trí của robot chưa nằm trên quỹ đạo, bộ điều khiển
DSC tác động để đưa robot tiến tới quỹ đạo với tốc độ nhanh và thành phần quá độ
là không đáng kể. Chất lượng bám quỹ đạo tốt cùng với sai lệch được giữ ở giá trị
rất nhỏ, khoảng 2.10-2(m/s) với sai lệch tịnh tiến và 6.10-3 (rad/s) với sai lệch góc
khi hệ thống ở trạng thái xác lập.
b. Quỹ đạo đường gấp khúc
1 1 1 2 2 25 55 3* , 1, tan( ); 5 3* , , tan( )
3 3x t y a x t y t a
Bộ tham số điều khiển DSC: 11 12 13 13k k k k
Hình 3.4. Quỹ đạo bám và sai lệch bám khi sử dụng DSC với quỹ đạo gấp khúc
Kết quả cho thấy bộ điều khiển DSC có thể đáp ứng được chất lượng điều
khiển với các quỹ đạo khác nhau.
42 c. So sánh quỹ đạo bám khi không có nhiễu tác động đến robot của bộ điều
khiển SMC, MSSC, và DSC.
Hình 3.5. Kết quả so sánh quỹ đạo bám khi không có nhiễu tác động đến robot của
bộ điều khiển SMC, MSSC và DSC.
Với giá trị quỹ đạo đặt theo thời gian, các thuật toán được mô phỏng kiểm
chứng và so sánh đánh giá chất lượng. Có thể thấy, bộ điều khiển DSC cho kết quả
với chất lượng đầu ra đáp ứng được yêu cầu của bài toán điều khiển bám tốt nhất.
Khả năng giảm khối lượng tính toán do loại bỏ được hiện tượng “explosion of
terms” do đó thời gian đáp ứng của bộ điều khiển DSC nhanh hơn so với bộ đa mặt
trượt và SMC. Sai lệch ở trạng thái xác lập của bộ DSC và bộ đa mặt trượt gần như
bằng 0, trong khi đó bộ điều khiển trượt vẫn còn tồn tại sai lệch khá rõ rệt.
3.1.2.2. So sánh quỹ đạo bám khi có nhiễu tác động đến robot của bộ điều khiển
SMC, MSSC, và DSC.
43
Như đã trình bày ở phần thiết kế thuật toán điều khiển, thành phần dτ không
xuất hiện trong biểu thức của bộ điều khiển khi thiết kế với mô hình toán học (3.3).
Tuy nhiên trong thực tế thành phần nhiễu này vẫn tác động vào hệ thống và chưa có
phương pháp đo được chính xác giá trị này. Để kiểm chứng hiệu quả, trong phần
mô phỏng thuật toán điều khiển, thành phần dτ này sẽ xuất hiện trong hệ thống để
đánh giá và so sánh tính kháng nhiễu của các bộ điều khiển.
Trong phần này giả sử nhiễu tác động là các số có giá trị ngẫu nhiên tác động
vào hệ thống và thoả mãn điều kiện là nhiễu bị chặn dτ .
Hình 3.6. Kết quả so sánh quỹ đạo bám khi có nhiễu tác động đến robot của bộ điều
khiển SMC, MSSC và DSC.
Nhận xét kết quả:
- Với bộ điều khiển SMC tồn tại hiện tượng “chattering” đồng thời bị ảnh
hưởng bởi nhiễu tác động do đặc tính của bộ điều khiển bị giới hạn trong việc loại
44
bỏ tác động của nhiễu bất định, sai lệch bám tồn tại và thời gian quá độ khá lớn.
- Với bộ điều khiển MSSC đã làm giảm hiện tượng “chattering” nhưng vẫn
còn bị ảnh hưởng bởi nhiễu tác động, sai lệch bám cơ bản triệt tiêu và thời gian quá
độ là nhỏ hơn so với SMC.
- Với bộ điều khiển DSC không chỉ làm giảm mạnh hiện tượng “chattering”
mà còn làm giảm ảnh hưởng của nhiễu cũng như thời gian phản hồi nhanh hơn bởi
sử dụng các bộ lọc thông thấp đầu vào, sai lệch bám được triệt tiêu và thời gian quá
độ nhỏ nhất.
Với các kết quả mô phỏng, có thể thấy ưu điểm vượt trội của DSC so với
MSSC và SMC. Do vậy, DSC được lựa chọn làm nền tảng để xây dựng các bộ điều
khiển thích nghi. Để giảm được hiện tượng chattering do nhiễu, tác động của hàm
sign() gây ra khi hệ thống có chứa các là thành phần bất định sẽ được xấp xỉ bằng
mạng nơ ron nhân tạo trực tuyến và bù trong luật điều khiển. Một DSC thích nghi
mới cho FWOMR trên cơ sở hệ logic mờ và mạng nơ ron nhân tạo khắc phục được
những nhược điểm của DSC.
3.2. Thuật toán điều khiển mặt trượt động thích nghi mờ điều khiển bám quỹ
đạo cho FWOMR
3.2.1. Thuật toán điều khiển mặt trượt động thích nghi mờ.
Điểm mạnh của bộ điều khiển DSC là sự ổn định với những thông số hệ
thống không cố định (thông số bất định thay đổi trong giới hạn), nhưng điểm mạnh
này chỉ phát huy được khi trạng thái của hệ thống nằm trên mặt trượt hoặc vùng lân
cận của mặt trượt. Sơ đồ cấu trúc hệ thống DSC mờ được được biểu diễn ở hình 3.7.
Hình 3.7. Cấu trúc hệ thống điều khiển mặt trượt động thích nghi mờ cho FWOMR
45 Dựa trên các kết quả mô phỏng DSC cho FWOMR ta nhận thấy chất lượng
của hệ thống phụ thuộc rất nhiều vào việc lựa chọn các tham số 1 2 3( , , )c c c của DSC.
Trong đó, 1c là tham số ảnh hưởng trực tiếp đến chất lượng bám quỹ đạo của robot,
2c và 3c ảnh hưởng đến tốc độ tiến đến mặt trượt của trạng thái hệ thống cũng như
khả năng giữ trạng thái hệ thống nằm trên mặt trượt. Ở mỗi trạng thái, nếu lựa chọn
được bộ tham số phù hợp thì hệ thống sẽ đạt được chất lượng, đặc biệt là khi hệ
thống chịu tác động bởi nhiễu. Vì vậy trong phần này, một DSC chỉnh định tham số
mờ được nghiên cứu đề xuất cho FWOMR.
Đầu vào của bộ chỉnh định mờ là sai lệch của bám của quỹ đạo robot 1e và
đạo hàm theo thời gian của nó 1e (hình 3.7). Các tập mờ cho biến ngôn ngữ đầu vào
được biểu diễn ở hình 3.8 và hình 3.9.
-10 -5 -0.01 0 0.01 5 10
NB NS Z PS PB
Hình 3.8. Các tập mờ cho đầu vào 1e
-25 -12 -0.06 0 0.06 12 25
NB NS Z PS PB
Hình 3.9. Các tập mờ cho đầu vào 1e
Với các dữ liệu giữa đầu vào và đầu ra thu được khi tiến hành mô phỏng bộ
điều khiển DSC cho FWOMR ở hình (3.3), (3.4), (3.6), các tập mờ của biến ngôn
ngữ đầu vào cũng như các giá trị đầu ra và các luật hợp thành cho bộ chỉnh mờ
được xây dựng dựa trên mô hình mờ Sugeno.
Bảng 3.1. Các tập mờ của biến ngôn ngữ đầu vào
Biến ngôn ngữ 1e Biến ngôn ngữ 1e Ý nghĩa
NB NB Khoảng âm lớn
NS NS Khoảng âm nhỏ
Z Z Khoảng 0
PS PS Khoảng dương nhỏ
PB PB Khoảng dương lớn
1eμ1eμ
46 Các tập mờ cho biến ngôn ngữ đầu vào 1e và 1e có dạng hàm tam giác và
đầu ra 1 2 3, ,c c c được lựa chọn thông qua thực nghiệm. Tên gọi các tập mờ và ý
nghĩa được biểu diễn ở bảng 3.1. Các giá trị đầu ra của bộ chỉnh định mờ được thể
hiện trong bảng trong bảng 3.2.
Bảng 3.2. Các giá trị của đầu ra
Biến đầu ra Ý nghĩa Giá trị đầu ra
cho 1c
Giá trị đầu ra cho
2c và 3c
VS Rất nhỏ 1.5 20
S Nhỏ 4.25 25
M Trung bình 6.5 30
B Lớn 8 35
VB Rất lớn 10 40
Hệ luật suy diễn cho đầu ra thứ nhất 1c của bộ chỉnh định mờ được biểu diễn
trong bảng 3.3.
Bảng 3.3. Hệ luật suy diễn cơ sở cho đầu ra 1c
1e 1e
NB NS Z PS PB
NB M S VS S M
NS B M S M B
Z VS B M B VS
PS B M S M B
PB M S VS S M
Từ công thức (3.14) ta thấy thành phần 2 3( , )c c là tham số ảnh hưởng đến tốc
độ tiến đến mặt trượt và lái trạng thái của hệ thống nằm trên mặt trượt, để đơn giản
cho việc lựa chọn giá trị cho tập mờ và giảm khối lượng tính toán không cần thiết
nên các đầu ra 2 3( , )c c được chọn bằng nhau và hệ luật suy diễn cơ sở của bộ chỉnh
định mờ cho hai đầu ra này được biểu diễn ở bảng 3.4.
47 Bảng 3.4. Hệ luật suy diễn cơ sở cho đầu ra 2c ( 3c )
1e 1e
NB NS Z PS PB
NB M B VB B M
NS S M B M S
Z VB S M S VB
PS S M B M S
PB M B VB M M
3.2.2. Mô phỏng kiểm chứng thuật toán.
Kết quả mô phỏng với mô hình robot tự hành bốn bánh đa hướng bằng công
cụ Matlab/Simulink. Để minh chứng cho hiệu quả của thuật toán AFDSC được đề
xuất, nhiễu ngẫu nhiên ngoài được thêm vào mô hình có dạng như sau:
Hình 3.10. Nhiễu ngoài
Tiến hành mô phỏng và đánh giá thuật toán mới đề xuất với quỹ đạo hình
tròn, FWOMR sẽ di chuyển từ một điểm ban đầu bên trong đường tròn trong hệ tọa
độ gốc. Quỹ đạo để robot bám theo theo hệ tọa độ gốc được cho bởi:
0
0
cos( )
sin( )
r
r
r
x r t
y r t
Trong đó, những tham số của FWOMR và bộ điều khiển được chọn như
trong bảng sau:
48 Bảng 3.5. Các tham số của hệ thống và tham số của bộ điều khiển
Tham số mô hình động học
210 ; J=0.56 kgm ; 0.3 ; 0.06 m kg d m r m
Tham số quỹ đạo
00 15, 10t r m
Tham số bộ điều khiển
(10,10,10) diag
Hình 3.11. Chuyển động theo trục x
Hình 3.12. Chuyển động theo trục y
Hình 3.13. Sự thay đổi góc quay theo thời gian
Những hình trên mô tả chuyển động bám quĩ đạo của FWOMR với bộ DSC
và AFDSC. Có thể thấy rằng cả hai bộ điều khiển đều đảm bảo FWOMR bám quĩ
đạo đặt nhưng AFDSC cho chất lượng bám tốt hơn. Cụ thể, với cùng một điều kiện
khởi tạo, FWOMR với bộ AFDSC tiếp cận quỹ đạo tham chiếu sau khoảng 0.2
giây, trong khi đó với bộ DSC mất gần 0.6 giây. Các quy tắc mờ được thiết kế để
cập nhật các tham số của DSC trực tuyến mỗi khi có sự thay đổi ở hai đầu vào bộ
chỉnh định mờ là sai lệch và đạo hàm sai lệch. Bộ AFDSC được đề xuất mới đảm
49
bảo chất lượng bám quĩ đạo đặt trước của hệ thống hơn so với bộ DSC: Thời gian
tiến đến quĩ đạo đặt nhanh hơn và sai lệch bám cũng nhỏ hơn.
Các tham số 1 2 3( , , )c c c của AFDSC chỉnh định trực tuyến được biểu diễn
trong các hình 3.14, hình 3.15 và hình 3.16.
Hình 3.14. Tham số 1c
Hình 3.15. Tham số 2c
Hình 3.16. Tham số 3c
Hình 3.17 mô tả chuyển động của FWOMR với hệ tọa độ hai chiều, có thể
thấy rõ sự hiệu quả của thuật toán khi quỹ đạo của robot đã bám rất sát với quỹ đạo
đặt.
Hình 3.17. Chuyển động của FWOMR với quỹ đạo tròn
50
3.3. Thuật toán điều khiển mặt trượt động thích nghi nơ ron mờ điều khiển
bám quỹ đạo cho FWOMR.
AFDSC đã là một đề xuất phù hợp để cải thiện chất lượng bám cho FWOMR
trong trường hợp sai lệch mô hình và nhiễu tác động với biên độ nhỏ. Nhưng trong
trường hợp sai lệch mô hình lớn thì chất lượng điều khiển không còn đảm bảo nữa.
Chính vì vậy, việc ước lượng sai lệch mô hình và bù trong thành phần bộ điều khiển
sẽ đảm bảo nâng cao chất lượng của bộ điều khiển này. Như vậy, chỉnh định tham
số của bộ điều khiển kết hợp với bù bất định trực tuyến chắc chắn sẽ cải thiện đáng
kể chất lượng hệ thống điều khiển FWOMR. Hình 3.18 là sơ đồ cấu trúc của hệ
thống điều khiển bám AFNNDSC.
Hình 3.18. Cấu trúc hệ thống AFNNDSC cho FWOMR
3.3.1. Xấp xỉ thành phần bất định mô hình FWOMR sử dụng mạng nơ ron bán
kính xuyên tâm.
Gần đây, mạng nơ ron đang được tập trung phát triển và ứng dụng cho rất
nhiều các lĩnh vực như mô hình hoá, xử lý tín hiệu, nhận dạng mẫu, đặc biệt là ứng
dụng trong các hệ thống điều khiển. Một trong những ưu điểm của các mạng nơ ron
là khả năng học và xấp xỉ các hàm phi tuyến với độ chính xác tùy ý. Việc ứng dụng
mạng nơ ron cho các mục đích điều khiển đang thu hút được sự quan tâm nghiên
cứu của nhiều nhà khoa học. Mạng nơ ron kết hợp với các phương pháp điều khiển
51
được xem như là một giải pháp hiệu quả để giải quyết bài toán điều khiển cho các
đối tượng có mô hình bất định và chịu ảnh hưởng của nhiễu tác động. Mạng nơ ron
có thể học được các đặc tính động học thuận và động học ngược của đối tượng phức
tạp, cung cấp phương pháp thay thế cho các bộ điều khiển thích nghi với sự biến đổi
của môi trường.
Nhiều nghiên cứu đã phân tích và đánh giá về việc sử dụng mạng nơ ron bán
kính xuyên tâm cho các hệ thống điều khiển phi tuyến bất định. Ưu điểm cơ bản của
mạng này là các nơ ron RBF là các hàm trơn, khả vi do vậy đảm bảo tốc độ hội tụ
nhanh và có thể sử dụng được các phương pháp huấn luyện khác nhau. Cũng chính
vì vậy mạng nơ ron bán kính xuyên tâm được luận án nghiên cứu, áp dụng để nâng
cao hơn nữa chất lượng của bộ AFDSC được đề xuất ở mục trên.
Như đã nhắc đến ở phần trước, mô hình FWOMR có chứa nhiều các thành
phần bất định được biểu diễn bằng dτ trong công thức (2.8). Do đó, tín hiệu điều
khiển τ đã tính toán ở phần trước có thể không đạt chất lượng tốt trong nhiều trường
hợp, còn tồn tại các tham số bất định khác làm cho bộ AFDSC khó có thể thực hiện
được. Thêm vào đó, hiện tượng chattering được gây ra bởi tác động của thành phần
phi tuyến bất định và nhiễu khi hệ thống có chứa nhiều thành phần phi tuyến bất
định và nhiễu với biến độ lớn. Do đó, các thành phần bất định sẽ được xấp xỉ bởi
một mạng nơ ron để giảm thiểu tác động của hiện tượng này. Luận án đề xuất bổ
sung bộ xấp xỉ sử dụng mạng nơ ron RBF cho các thành phần bất định có trong bộ
điều khiển AFDSC.
Các thành phần bất định được biểu diễn qua biểu thức:
122 sgn d
Θ x G xM C τ (3.20)
là giá trị véc tơ có chiều (3 1) chứa các thành phần bất định của FWOMR.
Hệ phương trình mô tả FWOMR được viết lại thành:
1 2
12
x Hx
x Θ M Bτ
(3.21)
Tiến hành các bước tính toán tương tự như phần trước cho việc thiết kế bộ
điều khiển, đạo hàm của mặt trượt trở thành:
11 2 2 1 2 2d S e He He e He H Θ M Bτ x (3.22)
Tín hiệu điều khiển của hệ
52
eq sw τ τ τ (3.23)
với:
1 11 2 2( ) ˆT T
eq d τ B BB M H e He x Θ (3.24)
1 12 3( ) sgnT T
sw c c τ B BB M SH S (3.25)
Ở đó ˆˆ ˆ ˆ
T
x yΘ là véc tơ đầu ra của mạng nơ ron được huấn luyện
online để xấp xỉ các thành phần bất định của hệ thống.
Mạng nơ ron bán kính xuyên tâm gồm 3 lớp: lớp đầu vào, lớp ẩn, và lớp đầu
ra. Các nhân nơ ron ở lớp ẩn được tính toán bằng hàm bán kính xuyên tâm. Lớp ẩn
chứa một chuỗi các đơn vị tính toán được gọi và các nhân nơ ron ẩn. Mỗi nhân lại
chứa một véc tơ là thông số tâm của nhân nơ ron và nó có cùng chiều với giá trị véc
tơ đầu vào. Véc tơ đầu vào được chọn là các trạng thái của robot, trong trường hợp
này, véc tơ đầu vào là các véc tơ vị trí và vận tốc của robot 1
Tx y x ,
2
T
x yv v x . Hàm bán kính xuyên tâm và được sử dụng để tính toán đầu ra
của lớp ẩn của mạng nơ ron dựa trên khả năng xấp xỉ các hàm phi tuyến bất định.
Hình 3.19. Mạng nơ ron bán kính xuyên tâm
Mỗi đầu ra của nhân nơ ron trong lớp ẩn sẽ có một giá trị trọng số tương ứng.
Ma trận trọng số được định nghĩa bởi ma trận
11 12 13
21 22 23
1 2 3n n n
R R R
R R R=
R R R
R có kích thước ( 3)n với n là số nhân nơ ron.
53
1 2 T
nγ là véc tơ chứa giá trị đầu ra của các nhân nơ ron.
Lựa chọn các giá trị để tính toán luật thích nghi cho Θ̂
T Θ γ εR (3.26)
ˆ ˆ TΘ γR (3.27)
Với Θ là giá trị lý tưởng của thành phần bất định của hệ thống mà bộ điều khiển có
thể đảm bảo được chất lượng điều khiển như trong trường hợp mô hình hệ thống
xác định và chính xác. Trong khí đó Θ̂ là giá trị đầu ra của mạng nơ ron, cũng là
giá trị được sử dụng cho bộ điều khiển. Có thể thấy rằng, khi mạng nơ ron tính toán
cho ra giá trị Θ̂ tiến tới giá trị Θ thì chất lượng của hệ thống điều khiển sẽ được
đảm bảo.
Sau khi các giá trị véc tơ đầu vào của mạng nơ ron được sử dụng để tính toán
giá trị đầu ra của lớp ẩn, mỗi nhân nơ ron có một giá trị trọng số tương ứng thích
hợp và sau đó được đưa vào bộ tổng để tính toán giá trị đầu ra cho mạng. Có thể
thấy rằng sau khi tính toán các giá trị ở lớp ẩn, các giá trị trọng số này ảnh hưởng
trực tiếp đến chất lượng đầu của mạng nơ ron và qua đó nó ảnh hưởng trực tiếp đến
chất lượng điều khiển của hệ thống. Luật cập nhật cho mạng nơ ron hay được gọi là
luật thích nghi của bộ điều khiển là biểu thức cập nhật cho giá trị trọng số này và nó
sẽ được cập nhật và huấn luyện trực tuyến (online) ở mỗi chu kì tính toán mà không
cần huấn luyện dựa vào các dữ liệu đầu vào và đầu ra từ trước. R và R̂ được định
nghĩa là các giá trị trọng số lý tưởng và giá trị trọng số tính toán của mạng nơ ron.
Lúc này, nhiệm vụ thiết kế luật cập nhật sao cho Θ̂ tiến tới Θ tương ứng với việc
R̂ tiến tới giá trị R . Véc tơ ε là giá trị sai lệch nhỏ ngẫu nhiên và bị chặn cho
phép sao cho vẫn đảm bảo chất lượng ổn định hệ thống của mạng nơ ron và giá trị
này là giá trị dương nhỏ và bị chặn.
Tiếp đó ˆ R R R được định nghĩa là ma trận sai lệch trọng số. Đầu ra lớp
ẩn γ được tính toán bởi hàm bán kính xuyên tâm có dạng
2 2
1 1 2 2
2exp i i
i
i
x xγ (3.28)
Ở đó 1x và 2x là các giá trị véc tơ đầu vào của mạng RBFNN. 1i và 2i là các véc
54
tơ tâm của nhân nơ ron, i đặc trưng cho độ lệch chuẩn của hàm.
Với cấu trúc mạng nơ ron đã thiết kế, luật cập nhật được chọn có dạng
ˆ ˆT γS H SR R (3.29)
ở đó là ma trận vuông xác định dương cấp n với n là số nhân nơ ron. là tốc độ
học của mạng, được chọn trong khoảng (0,1) .
Định lý 3.2: FWOMR có mô hình (3.2), với tín hiệu điều khiển (3.23), luật
chỉnh định thích nghi (3.29), và thỏa mãn điều kiện
2
3
4F
N
minc
S
R
(3.30)
thì tính ổn định Lyapunov của hệ thống được đảm bảo.
Chứng minh
Xét hàm ứng viên Lyapunov:
12
1 1
2 2T TV tr S S R R (3.31)
Xét đạo hàm của 2V
12
1
1
ˆ
ˆ ( 0)
T T
T T
T T
V tr
tr
tr
S S
S S
S S
( - )
)
R
R R R
R R R
R
(3.32)
Sử dụng đạo hàm mặt trượt (3.22) kết hợp với tín hiệu điều khiển (3.23), đạo
hàm 2V trở thành
2 2 31ˆ ˆs ( )gnT T T TV c c tr S HS S S S Θ Θ R R (3.33)
Đạo hàm 2V sử dụng (3.22), (3.24), và (3.25), ta có
12 2 3
ˆsgn T T TT T TV c c tr S S Hε HΘ γS S S S R R (3.34)
Sau một vài bước tính toán, đạo hàm của của 2V trở thành
12 2 3
1 ˆsgnT T T T TV c c tr S S HS S S γS HM R R (3.35)
Với luật cập nhật cho mạng nơ ron (3.29), 2V được viết lại thành
55
2 2 3sgn T T T TV c c tr S SS S S Hε S R R R (3.36)
Áp dụng bất đẳng thức Cauchy-Schwarz
2T
FF Ftr R R R R R R (3.37)
ta thu được:
2
2 2 3
2
2 3
sgn
sgn
T T T
FF F
T TN FF F
V c c
c c
S S S
S S
S S Hε S
S S S S
R R R
R R R
(3.38)
với điều kiện chặn (3.30), 2V trở thành
2
2 2
1sgn
2T
FFV c
S SS R R (3.39)
2 0V và điều cần chứng minh đã được chứng minh.
3.3.2. Xây dựng luật mờ cho AFNNDSC
Bộ chỉnh định mờ có cấu trúc như đã mô tả trong mục 3.21. Đầu vào của
chỉnh định mờ 1x 1y 1θ, ,ee e và đạo hàm. Các tập mờ đầu vào và các hằng số đầu ra
được lựa chọn thông qua thực nghiệm. Tập mờ cho các biến ngôn ngữ đầu vào được
biểu diễn ở hình 3.20. Các giá trị đầu ra của bộ chỉnh định mờ được biểu diễn ở
bảng 3.7.
Đầu ra thứ nhất của bộ mờ là tham số 1 , ,ic i x y và nó cũng là một tham
số của mặt trượt. Đầu ra còn lại là tham số 2 , ,ic i x y và 3 , ,ic i x y . Để
giảm bớt độ phức tạp của AFNNDSC, các tham số còn lại này được lựa chọn bằng
nhau. Hệ luật suy diễn cơ sở được biểu diễn ở bảng 3.6.
Hình 3.20. Hàm đầu vào của bộ mờ
1eμ1eμ
-10 -5 -0.01 0 0.01 5 10
NB NS Z PS PB
-25 -12 -0.06 0 0.06 12 25
NB NS Z PS PB
56 Bảng 3.6. Hệ luật suy diễn cơ sở cho 1 2( )i ic c
1e 1e
NB NS Z PS PB
NB M(M) S(B) VS(VB) S(B) M(M)
NS B(S) M(M) S(B) M(M) B(S)
Z VS(VB) B(S) M(M) B(S) VS(VB)
PS B(S) M(M) S(B) M(M) B(S)
PB M(M) S(B) VS(VB) S(B) M(M)
Bảng 3.7. Giá trị đầu ra 1 2( )i ic c của bộ chỉnh định mờ
VS 3.0 (5)
S 4.15 (10)
M 4.56 (20)
B 7.5 (25)
VB 12 (30)
3.3.3. Kết quả mô phỏng.
Trong phần này, các mô phỏng được thực hiện trong môi trường
Matlab/Simulink.
3.3.3.1. Mô hình robot chịu tác động bởi các nhiễu bên ngoài
Thêm vào đó, quỹ đạo đặt cho FWOMR là quỹ đạo tròn với phương trình
chuyển động như sau:
cos
sin
r 0
r 0
r
= r wt
= r wty
θ
x
= α
(3.40)
Trong đó 0 5r m là bán kính của quỹ đạo tròn; 0 10t ; với các thông số
của mô hình robot được cho như sau: m=10kg, J=0.56kgm2, d=0.3m, r=0.06m. Vị
trí ban đầu của robot ( ; ) (2;2)x y
Trong trường hợp này, chất lượng của bộ điều khiển tác động tới hệ thống
được kiểm chứng và đánh giá trong điều kiện các động cơ của robot chịu tác động
trực tiếp bởi các momen nhiễu bên ngoài là nhiễu Gauss, trong đó bỏ qua sự ảnh
hưởng của lực ma sát. Hệ số của mặt trượt được lựa chọn là: 10,10,10diag
57
Hình 3.21. Nhiễu momen (Nm)
Dưới đây là các kết quả mô phỏng. Các hình 3.22, hình 3.23 và hình 3.24 so
sánh các sai lệch bám trong chuyển động của FWOMR so với quỹ đạo đặt khi sử
dụng lần lượt các bộ điều khiển DSC, bộ điều khiển DSC kết hợp với mạng Nơ ron
và bộ điều khiển DSC kết hợp với mạng Nơ ron và hệ logic mờ.
Hình 3.22. Sai số trên trục x
Hình 3.23. Sai số trên trục y
Hình 3.24. Sai lệch góc
58 Từ các hình 3.22, 3.23, 3.24 có thể thấy cả 3 bộ điều khiển đều có thể đảm
bảo được sai lệch bám của hệ thống so với các quỹ đạo đặt trong điều kiện robot bị
ảnh hưởng bởi các momen nhiễu bên ngoài là không quá lớn và được giữ trong một
khoảng cho phép. Tuy nhiên vẫn có sự khác biệt về chất lượng giữa các bộ điều
khiển trong các kết quả trên, khi kết hợp thuật toán DSC với mạng nơ ron và hệ
logic mờ bộ điều khiển cho thấy chất lượng bám tốt hơn hẳn so với bộ điều khiển sử
dụng thuật toán DSC thông thường.
Có thể thấy rằng, trong điều kiện robot chịu tác động bởi các yếu tố bất định
bên ngoài, bộ điều khiển DSC thông thường không được đánh giá cao bởi rất khó
để xác định được chính xác mô hình của robot bởi sự tác động liên tục của các
nhiễu bên ngoài. Bộ điều khiển AFNNDSC là sự kết hợp giữa DSC, hệ logic mờ
với mạng nơ ron RBF trong trường hợp này sẽ có nhiệm vụ: điều chỉnh phù hợp các
hệ số của bộ điều khiển với luật mờ và xấp xỉ các thành phần bất định trong mô
hình robot thông qua mạng Nơ ron do đó cải thiện được thời gian đáp ứng của hệ
thống cũng như sai lệch bám so với quỹ đạo đặt. Có thể thấy rõ điều đó từ các kết
quả mô phỏng trên khi thời gian để robot tiến đến sát giá trị đặt khoảng 0.2 giây khi
sử dụng bộ điểu khiển AFNNDSC. Hình 3.25 và hình 3.26 miêu tả sự thay đổi của
các tham số điều khiển khi áp dụng luật mờ.
Hình 3.25. Tối ưu hóa tham số điều khiển 1c
59
Hình 3.26. Tối ưu hóa các tham số điều khiển 2c và 3c
Các tham số của bộ điều khiển được tối ưu hóa dựa trên luật thích nghi mờ
giúp trạng thái của hệ thống tiến nhanh hơn đến mặt trượt, các tham số điều khiển
đươc cập nhật liên tục trong suốt quá trình chuyển động của hệ thống. Trong thời
gian đầu khi robot chưa tiến gần quỹ đạo đặt, sai lệch bám của robot lớn do đó các
tham số điều khiển cần có giá trị đủ lớn để đảm bảo các trạng thái của hệ thống tiến
nhanh đến mặt trượt. Sau đó, khi đã tiến sát đến quỹ đạo đặt, các tham số điều khiển
cần được điều chỉnh nhỏ đi để tránh hiện tượng “chattering” trên mặt trượt nhưng
vẫn đảm bảo được robot bám sát quỹ đạo đặt.
Hình 3.27. Chuyển động trên quỹ đạo tròn của robot
60 Hình 3.27 miêu tả chuyển động của FWOMR so với quỹ đạo đặt khi áp dụng
các thuật toán điều khiển khác nhau. Nhìn chung, các bộ điều khiển đều đảm bảo
được khả năng bám theo quỹ đạo đặt của robot. Tuy nhiên bộ điều khiển thích nghi
AFNNDSC cho thấy được chất lượng tốt hơn so với cả 2 bộ điều khiển còn lại trong
việc giảm thời gian quá độ cũng như sai lệch tĩnh của hệ thống
3.3.3.2. Tác động của sự biến đổi hệ số ma sát từ môi trường.
Một trong những vẫn đề phổ biến nhất trong việc điều khiển chuyển động
của FWOMR cũng như robot di động nói chung là sự tác động ảnh hưởng từ môi
trường và đặc biệt là hệ số ma sát. Trong biểu thức mô hình động học của robot, các
giá trị hệ số ma sát thường được giả thiết trong môi trường cố định hoặc được bỏ
qua để tạo điều kiện cho việc thiết kế thuật toán. Tuy nhiên trong thực tế, các hệ số
này trong môi trường là một tham số khó xác định được chính xác và có sự thay đổi
tuỳ thuộc vào môi trường. Dó đó trong phần này, các kết quả mô phỏng với giả thiết
là các ma trận hệ số ma sát , diag , ,x yC q q B B B và
diag , ,x yG q C C C từ môi trường là hệ số biến đổi, không xác định chính xác
được. Khi đó mạng nơ ron sẽ dự đoán và xấp xỉ giá trị phù hợp của
ˆ ˆ ˆ ˆ
T
x yΘ để đảm bảo tính ổn định của hệ thống như hình 3.28, hình
3.29, hình 3.30. Các giá trị bất định được mạng nơ ron xấp xỉ và hội tụ đến giá trị
gần đúng (xấp xỉ bằng với giá trị thực của giá trị bất định) và cải thiện được chất
lượng điều khiển của hệ thống.
Hình 3.28. Giá trị của ˆ
xΘ so với xΘ
Hình 3.29. Giá trị của ˆyΘ so với yΘ
61
Hình 3.30. Giá trị của ˆΘ so với Θ
Trong trường hợp này, có thể thấy rõ ràng sự khác nhau về chất lượng giữa
các bộ điều khiển trong việc giảm sai lệch của hệ thống so với quỹ đạo đặt.
Hình 3.31. Sai số trên trục x
Hình 3.32. Sai số trên trục y
Hình 3.33. Sai lệch góc
62 Sai lệch bám của hệ thống cũng như thời gian để hệ thống tiến đến quỹ đạo
đặt khi sử dụng bộ điều khiển DSC là lớn nhất, trong khi không có sự khác biệt
đáng kể giữa 2 bộ điều khiển ANNDSC và AFNNDSC trong hình 3.31, hình 3.32,
và hình 3.33. Hơn nữa với sự thay đổi về hệ số ma sát của môi trường, bộ điều
khiển DSC không thể loại bỏ được hoàn toàn sai lệch của hệ thống. Bảng 3.8 so
sánh sai lệch bám của hệ thống khi áp dụng 3 bộ điều khiển trong trường hợp hệ
thống bị ảnh hưởng bởi tác động từ môi trường.
Bảng 3.8. Giá trị tối đa của các sai lệch bám sau khi robot tiến về quỹ đạo
Bộ điều
khiển
Giá trị sai lệch lớn nhất khi robot bám quỹ đạo
Trục X (m) Trục Y (m) Góc (rad)
DSC 0.1362 0.1426 0.005947
ANNDSC 0.00224 0.00154 0.0003964
AFNNDSC 0.000429 0.000301 0.0003953
Mặc dù mô hình của robot tác động bởi ma sát môi trường, nhìn chung cả 3
bộ điều khiển là bộ điều khiển DSC, bộ điều khiển ANNDSC, bộ điều khiển
AFNNDSC vẫn có thể đảm bảo được khả năng bám quỹ đạo của robot. Tuy nhiên
bộ điều khiển thích nghi AFNNDSC đảm bảo chất lượng tốt nhất cho hệ thống
trong việc giảm thời gian quá độ cũng như loại bỏ sai lệch của hệ. Trong bảng 3.8,
sai lệch bám lớn nhất là khi sử dụng bộ điều khiển DSC, các sai lệch điều khiển đều
được giữ trong ngưỡng chấp nhận được.
Nói chung, các kết quả mô phỏng sử dụng bộ điều khiển AFNNDSC cho kết
quả tốt nhất trong việc giảm thời gian xác lập và loại bỏ sai lệch bám.
3.4. Kết luận chương 3
Trong chương này, thuật toán DSC và các thuật toán thích nghi mới như
AFDSC, AFNNDSC được nghiên cứu đề xuất để giải bài toán điều khiển bám quĩ
đạo cho FWOMR. Trình tự giải quyết bài toán này được thực hiện như sau:
+ Áp dụng thuật toán DSC giải quyết bài toán điều khiển bám quỹ đạo cho
FWOMR. Mô phỏng số hệ thống DSC cho FWOMR, phân tích đánh giá ưu nhược
điểm của giải thuật để từ đó đề xuất giải thuật AFDSC nhằm cải thiện chất lượng
điều khiển FWOMR.
63
+ Đề xuất thuật toán AFDSC cho FWOMR. Thuật toán này được xây dựng
dựa trên cơ sở thuật toán DSC và hệ logic mờ. Do chất lượng điều khiển phụ thuộc
rất nhiều vào các tham số của DSC, luận án đã đề xuất một phương pháp chỉnh định
tham số của bộ điều khiển bằng mô hình mờ Sugeno. Bộ chỉnh định mờ mô hình
Sugeno có ưu điểm là khả năng tổng hợp đơn giản, dễ dàng nhúng thuật toán trên
vào vi điều khiển. Hệ thống AFDSC cho FWOMR được khảo sát bằng mô phỏng
số. Các kết quả mô phỏng cho thấy chất lượng của hệ thống điều khiển tốt hơn hẳn
hệ thống sử dụng DSC. Tuy nhiên, với sai lệch mô hình lớn và chứa nhiều yếu tố
bất định cùng nhiễu tác động vào FWOMR có biên độ lớn thì AFDSC không còn
đảm bảo chất lượng nữa. Vì vậy, để bộ điều khiển có thể thích hợp với các điều
kiện khó khăn hơn luận án đã đề xuất phương pháp sử dụng mạng RBF để xấp xỉ
các thành phần bất định này. Kết quả này được công bố trong các công trình 1, 7
phần “Danh mục các công trình của tác giả”.
+ Một AFNNDSC được đề xuất để giải quyết bài toán bám quĩ đạo cho
FWOMR. Trong bộ điều khiển này, mạng RBFNN để xấp xỉ các thành bất định của
mô động lực học của FWOMR, bộ chỉnh định mờ để chỉnh định tham số của DSC.
Các kết quả mô phỏng số cho thấy chất lượng của bộ điều khiển này đảm bảo chất
lượng hoạt động cho FWOMR có mô hình phi tuyến bất định chịu ảnh hưởng của
nhiễu môi trường. Kết quả này được công bố trong các công trình 2, 8, phần “Danh
mục các công trình của tác giả”.
Những đề xuất mới trong chương 3 cũng cần được kiểm định trên mô hình vật
lý để kiểm chứng tính đúng đắn và khả năng ứng dụng của các giải thuật mới này.
Đó cũng chính là nội dung của chương tiếp theo.
64
CHƯƠNG 4. CHẾ TẠO ROBOT TỰ HÀNH BỐN BÁNH ĐA
HƯỚNG VÀ CHẠY THỬ NGHIỆM THUẬT TOÁN ĐIỀU KHIỂN
Các đề xuất mới ở chương 3 sẽ được kiểm chứng bằng mô hình vật lý. Trong
chương này, một FWOMR được nghiên cứu chế tạo và một bộ điều khiển nhúng
các thuật toán được đề xuất ở chương 3 cho robot cũng được chế tạo đồng thời.
4.1. Thiết kế chế tạo robot tự hành bốn bánh đa hướng.
4.1.1. Thiết kế cơ cấu, cơ khí và xây dựng Omni thực tế.
Hình 4.1. Thiết kế cơ khí của FWOMR
Hình 4.2. Mô hình xây dựng thực tế.
65
4.1.2. Thiết kế cấu trúc và mạch điều khiển cho robot.
Hình 4.3. Sơ đồ cấu trúc phần cứng điều khiển robot.
Cấu trúc phần cứng được sử dụng:
+ Bộ xử lý hiệu năng cao Jetson-TX2 (master): với vai trò xử lý trung tâm, là
bộ xử lý hiệu năng cao chuyên dụng cho các xử lý trí tuệ nhận tạo (AI), mạng nơ
ron, logic mờ, và thu tập các tín hiệu từ các cảm biến, encorder, camera, Lidar, IMU
và xử lý. Các thuật toán điều khiển sẽ được lập trình trên bộ Kit này dựa trên ngôn
ngữ Python và hệ điều hành ROS, sau khi tính toán ra các tín hiệu điều khiển tối ưu,
TX2 gửi các tín hiệu điều khiển cho mạch vi điều khiển slave.
+ Mạch vi điều khiển (slave) (NCS sử dụng lõi ARM cortext M3
STM32F1xx) là bộ phận nhận tín hiệu điều khiển từ Jetson-Tx2 (master) rồi điều
khiển tín hiệu đến các driver động cơ bánh xe, các I/O từ các cảm biến, đọc
encorder xác định vị trí robot…
+ Mạch cầu H (driver động cơ DC24V) sử dụng các MOSFET là mạch công
suất điều khiển các động cơ servo 4 bánh di chuyển.
+ Modul truyền thông USB/RS232, RF, bluetooth để thu tín hiệu điều khiển
từ điện thoại di động khi muốn điều khiển trực tiếp.
+ Camera có độ phân giải hình ảnh RGB lên đến 1280 x 720 @ 30 khung
hình / giây, độ sâu hình ảnh Res lên đến 640 x 480 @ 30 khung hình / giây sẽ được
sử dụng như mắt của robot để thu hình ảnh từ môi trường một cách rõ nét và chân
thực nhất, tín hiệu này có thể giúp robot tự xây dựng thành bản đồ ảo.
66 + RP Lidar là bộ quét laser, kết hợp với Camera 3D Astra sẽ đưa tín hiệu vị
trí, hướng, vật cản về bộ xử lý master TX2, và về Gazebo và Rviz dựng bản đồ 2D
và 3D địa hình hoạt động của robot.
4.1.3. Phần mềm điều khiển cho robot
- Hệ điều hành lập trình cho robot ROS
NCS ứng dụng lập trình cho nhúng điều khiển cho robot trên nền tảng hệ
điều hành lập trình cho robot - ROS (Robot Operating System), với công cụ mô
phỏng là Gazebo và lập trình giám sát chạy thực nghiệm trên nền Rviz. ROS là một
hệ điều hành chuyên dụng để lập trình và điều khiển robot được nghiên cứu và phát
triển tại đại học Stantford từ năm 2007. ROS bao gồm các công cụ, thư viện khổng
lồ và cho phép sử dụng nhiều loại ngôn ngữ lập trình như C++, python giúp người
dùng dễ dàng triển khai, xây dựng sản phẩm của mình.
Hình 4.4. Cấu trúc chương trình của ROS
Cấu trúc của ROS được phát triển thông qua các node, các node được đóng
gói trong các packages khác nhau theo từng nhiệm vụ. Hoạt động giao tiếp giữa các
node dưới dạng chủ đề, tin nhắn, dịch vụ được minh họa trong hình 4.4. Ngoài ra
ROS còn cung cấp hai công cụ hỗ trợ cho việc lập trình robot là Gazebo và Rviz.
Gazebo dùng để mô phỏng môi trường 3D và robot để mô phỏng kiểm chứng trước
khi thuật toán được tiến hành thực thi trên robot thật. Bên cạnh đó, Rviz được sử
dụng để theo dõi các dữ liệu xuất ra từ các topic để thuận lợi cho việc quan sát, theo
dõi, đánh giá hiệu năng của từng node, cũng như đánh giá chất lượng điều khiển
trong môi trường mô phỏng cũng như môi trường thực tế.
67 - Phần mềm mô phỏng Gazebo
Gazebo là một công cụ mạnh mẽ của ROS giúp người thiết kế có thể tạo ra
mô hình mô phỏng của cả robot cũng như môi trường. Việc này sẽ làm đơn giản
hóa việc thử nghiệm trong quá trình thiết kế robot. Tuy nhiên để tạo ra một mô hình
robot và môi trường trong ROS cần URDF (Universal Robotic Decreption
FOMRat). URDF là một định dạng tệp XML được sử dụng để có thể mô phỏng tất
cả yếu tố của một robot như cảm biến, camera, khớp nối… Việc thêm những yếu tố
này giúp tệp URDF tương thích với định dạng SDF (định dạng mô phỏng) của
ROS. Sau đó, UDRF sẽ được chuyển sang định dạng SDF thông qua Gazebo. Vậy
nên Gazebo hoàn toàn có thể mô phỏng toàn bộ mô hình robot cũng như môi trường
một cách hoàn chỉnh.
- Phần mềm giám sát Rviz
Rviz là phần mềm hữu ích giúp giám sát trực tiếp, trực quan ba chiều của các
loại dữ liệu cảm biến và hoạt động của robot. Rviz truy xuất được các tín hiệu được
cung cấp trong ROS, chẳng hạn như quét laser, IMU, GPS, vị trí robot thông qua
tính toán góc quay encorder và hình ảnh camera 3D. Nó cũng sử dụng thông tin từ
thư viện TF để hiển thị các dữ liệu cảm biến trong khung tọa độ chung, hiển thị trên
không gian 3 chiều. Trực quan hóa tất cả dữ liệu của hệ thống trong cùng một ứng
dụng không chỉ xem được hết các thông tin mà còn cho phép nhanh chóng xem
những gì robot nhìn thấy và xác định các vấn đề như sai lệch cảm biến hoặc mô
hình robot không chính xác. Việc hiển thị dữ liệu của cảm biến, laser, Camera 3D
để trực quan hóa khoảng cách từ cảm biến của cảm biến khoảng cách Laser (Laser
scan) đến chướng ngại vật, dữ liệu đám mây điểm (Point Cloud) của khoảng cách
3D cảm biến như RealSense, Kinect hoặc Astra camera, giá trị hình ảnh thu được từ
máy ảnh mà không phải phát triển nhiều phần mềm riêng biệt. Bằng cách hình dung
những gì robot đang nhìn thấy, suy nghĩ và làm, người dùng dễ dàng phát triển và
gỡ lỗi hệ thống cho robot và bộ điều khiển.
4.2. Cài đặt thuật toán và chạy thử nghiệm.
4.2.1. Lập trình phần mềm nhúng vi xử lý thuật toán và điều khiển
Dựa vào tốc độ xử lý mạnh mẽ của Jetson_TX2 khi xử lý tính toán các mạng
nơ ron đòi hỏi khối lượng tính toán lớn, tốc độ xử lý nhanh, nền tảng lập trình robot
Operating System (ROS) được sử dụng bởi khả năng tối ưu cho việc lập trình robot.
68
Các dữ liệu từ các cảm biến, ngoại vi, và các tác vụ xử lý được liên kết với nhau
một cách thuận lợi bằng việc sử dụng các node. Mỗi node là một chương trình lập
trình thực hiện tác vụ, và ROS cung cấp phương thức giao tiếp giữa các chương
trình này. Mỗi node đóng vai trò là một publisher (node dùng để xuất dữ liệu) hoặc
subscriber (node dùng để nhận dữ liệu) hoặc đóng vai trò vừa là publisher và
subscriber. Mỗi dữ liệu được xuất ra đều được đặt tên và được gọi là “topic” trong
ROS, và các topic này có tên bắt đầu bởi dấu “/” và phần tên được đặt theo sau nó.
Tuy nhiên, trước khi có thể giao tiếp với nhau thông qua các topic thì ban đầu các
node phải đăng ký trước với “ros_master” là node đóng vai trò trung tâm, lưu trữ
thông tin truyền nhận của các node khác.
Hình 4.5. Cấu trúc lập trình phần mềm
Trong hình 4.5, mỗi khối là một node thực hiện các tác vụ để tính toán thu
được giá trị tín hiệu điều khiển để điều khiển cơ cấu chấp hành.
Ý nghĩa của các topic được sử dụng cho việc truyền nhận dữ liệu
69 /reference: quỹ đạo đặt cho robot
/laser_scan: tín hiệu quét laser từ Lidar
/depth_image: tín hiệu ảnh depth từ Astra Camera
/encoder_reader: giá trị encoder từ 4 bánh
/position: vị trí FWOMR
/velocity: vận tốc robot Omni
/error_1: sai lệch vị trí OMR
/vt_signal: tín hiệu điều khiển ảo
/error_2: sai lệch tín hiệu điều khiển ảo
/ssurface: giá trị mặt trượt
/RBF: giá trị hàm bán kính xuyên tâm
/weight_nn: giá trị trọng số mạng
/Output_nn: đầu ra mạng nơ ron
/c1_parameter: hệ số tín hiệu điều khiển ảo
/c2_parameter: hệ số tín hiệu điều khiển
/control: tín hiệu điều khiển
Tín hiệu điều khiển được tính toán dựa trên nền tảng ROS được cài đặt trên
máy tính nhúng Jetson_TX2 và sau đó được gửi đến phần điều khiển cơ cấu chấp
hành được cài đặt trên vi mạch nhúng sử dụng STM32.
4.2.2. Kết quả robot trong môi trường Gazebo và Rviz để mô phỏng kiểm chứng
Hình 4.6. Mô hình robot trong môi trường Gazebo
70
Hình 4.7. Mô hình robot được theo dõi bằng Rviz
Hình 4.6 là mô hình 3D của robot được xây dựng bằng phần mềm Gazebo để
tiến hành thử nghiệm thuật toán trong môi trường mô phỏng. Hình 4.7 là mô hình
robot được xây dựng trong Rviz để theo dõi và đánh giá chuyển động của robot từ
môi trường mô phỏng Gazebo
Hình 4.8. Kết quả mô phỏng bằng ROS với thuật toán DSC và thuật toán
AFNNDSC
Hình 4.8 là kết quả quỹ đạo chuyển động của robot thu được từ Rviz với
đường màu xanh lam là quỹ đạo đặt cho robot và trong môi trường đã được thiết lập
với việc có sự tác động của hệ số ma sát. Có thể thấy là kết quả khi sử dụng thuật
toán AFNNDSC để điều khiển robot cho kết quả tốt hơn so với bộ điều khiển DSC
4.2.3. Kết quả chạy thực nghiệm thực tế.
Quá trình chạy thực nghiệm sẽ được lập trình và đo kiểm dựa trên mô hình
hình 4.9. Hệ thực nghiệm bao gồm:
71
Hình 4.9. Phối cảnh mô hình thực nghiệm robot.
Cấu trúc hệ thử nghiệm:
- FWOMR với cấu trúc phần cứng như hình 4.2
- Máy tính có chứa màn hình giao diện người máy, Rviz (giao tiếp với TX2
qua Wifi) có thể quan sát trạng thái, vị trí online của robot, màn hình giám sát HMI
giao tiếp qua viết trên Visual C (giao tiếp với robot qua RF) có thể lưu trữ và vẽ quỹ
đạo thực online của robot.
- Vị trí của robot được setup điểm tọa độ gốc, và được đo online thông qua
IMU, tính toán qua 4 encorder, và bộ quét Lidar.
- Quỹ đạo đặt được dán dưới mặt sàn bằng các vạch, rộng 3cm.
- Đỉnh trần nhà phòng thí nghiệm gắn camera ghi lại quá trình chạy bám của
robot.
Kịch bản thử nghiệm
FWOMR trong luận án được thử nghiệm ở môi trường trong phòng thí
nghiệm, có quỹ đạo được đặt trước là hình tròn và quỹ đạo zich zắc. Các trường hợp
thử nghiệm bao gồm:
- FWOMR di chuyển bám quỹ đạo tròn bán kính 3 mét.
- FWOMR di chuyển bám quỹ đạo zich zắc,
Kết quả chạy thử nghiệm:
72
Hình 4.10. Giao diện HMI và kết quả điều khiển bám quỹ đạo chạy thử nghiệm
Các kết quả ảnh chụp quá trình chạy thử nghiệm và kết quả với các quỹ đạo
là hình tròn và hình zích zắc đã được định sẵn.
Hình 4.11. Hình ảnh chạy thực nghiệm FWOMR bám theo quỹ đạo hình tròn.
Hình 4.12. Hình ảnh chạy thực nghiệm FWOMR với các quỹ đạo zich zắc
73 Nhận xét kết quả chạy thử nghiệm:
- FWOMR di chuyển bám quỹ đạo tròn bán kính 3 mét trong khoảng thời
gian 10 giây, quỹ đạo bám tốt và sai lệch nhỏ.
- FWOMR di chuyển bám quỹ đạo zich zắc trong khoảng thời gian 20 giây,
quỹ đạo bám chưa tốt, đặc biệt là tại các góc quay gấp khúc, có tồn tại các sai lệch
lớn tại các góc gấp khúc (do cơ cấu cơ khí).
4.3. Kết luận chương 4
Với mục tiêu kiểm chứng các thuật toán đề xuất bằng thực nghiệm, việc chế
tạo một robot sản phẩm, lập trình và chạy thử nghiệm là nội dung của chương 4
này:
+ Thiết kế, chế tạo và chạy thử nghiệm thành công robot tự hành bốn bánh đa
hướng sản phẩm, robot có phần cứng và mạch điều khiển xử lý hiệu năng cao và
phần mềm hỗ trợ lập trình trên nền hệ điều hành robot ROS.
+ Thiết kế và chế tạo đồng bộ phần cứng và các thiết bị ngoại vi, chế tạo các
mạch điện tử, điều khiển, giao tiếp ngoại vi với mục tiêu đủ nhanh, mạnh theo
hướng có thể mở rộng và nâng cấp.
+ Thiết kế cấu trúc, lập trình, cài đặt các thuật toán đã nghiên cứu cho robot,
chạy thử nghiệm và đánh giá kết quả.
Các kết quả chạy thử nghiệm cho thấy tính đúng đắn của các phân tích lý
thuyết, hiệu quả của của bộ điều khiển đề xuất và khả năng ứng dụng trong thực tế.
74
KẾT LUẬN VÀ KIẾN NGHỊ
Robot tự hành bốn bánh đa hướng có khả năng di chuyển theo bất kỳ hướng
nào mà không cần phải thay đổi vị trí và tư thế. Với cấu trúc bánh khác biệt và ưu
điểm về khả năng di chuyển vượt trội trong các điều kiện môi trường di chuyển hẹp,
khó thay đổi vị trí mà mẫu FWOMR này đang được áp dụng một cách rộng rãi
không chỉ trong nghiên cứu mà còn trong các lĩnh vực sản xuất và đời sống. Các
vấn đề về kiểm soát quỹ đạo, xử lý tác động nhiễu ngoại sinh, thay đổi của các
thành phần bất định như khối lượng, momen, ma sát…đang là các nội dung được
quan tâm trong lĩnh vực OMR. Các kết quả của luận án là những thành công bước
đầu trong lĩnh vực này.
1. Các kết quả đạt được của luận án
Luận án đã đạt được mục tiêu đã đề ra là nghiên cứu và đề xuất thuật toán
điều khiển thích nghi mới cho robot tự hành bốn bánh đa hướng bám quỹ đạo trên
cơ sở hệ phi tuyến bất định, đặc biệt chú ý đến chất lượng bám và sự thay đổi của
các tham số của robot (bởi mục đích ứng dụng của robot là tương tác với đối tượng
và môi trường khác nhau) và chịu tác động của nhiễu khi hoạt động trên các địa
hình khác nhau. Các đóng góp chính của luận án:
1. Đã đề xuất một thuật toán điều khiển mặt trượt động thích nghi mờ
điều khiển bám quỹ đạo robot tự hành bốn bánh đa hướng. Thuật toán này được
xây dựng dựa trên nền cơ sở thuật toán điều khiển mặt trượt động DSC, phát huy ưu
điểm hiệu quả của DSC và sử dụng logic mờ để chỉnh định thích nghi các hệ số của
tín hiệu điều khiển ảo, và giữ tín hiệu trạng thái của hệ thống nằm trên mặt trượt
nhằm khắc phục nhược điểm mất ổn định của DSC khi gặp trạng thái này. Thuật
toán này chưa được cài đặt trên bất cứ robot nào trước đó trong và ngoài nước, có
tính linh hoạt cao, cấu trúc đơn giản và có dễ dàng cho việc lập trình cài đặt trên vi
xử lý, có khả năng thích nghi và phát huy hiệu quả tối đa bởi nền tảng là sử dụng bộ
DSC, nó đặc biệt thích hợp với mô hình FWOMR dựa trên các kết quả mô phỏng và
chạy thực nghiệm.
2. Đã đề xuất thuật toán điều khiển thích nghi mặt trượt động mờ nơ ron
cho bám quỹ đạo FWOMR có mô hình bất định và có sự tác động bởi nhiễu. Đây
cũng là thuật toán được xây dựng dựa trên nền cơ sở thuật toán điều khiển mặt trượt
75
động DSC, và cấu trúc điều khiển thích nghi dựa trên kết hợp RBFNN và hệ logic
mờ, trong đó RBFNN sử dụng để xấp xỉ thành phần số phi tuyến bất định của
FWOMR, kết hợp hệ logic mờ để chỉnh định thích nghi các tham số của DSC. Tính
ổn định của hệ kín được khảo sát bằng tiêu chuẩn Lyapunov. Các kết quả mô
phỏng, thực nghiệm trên hệ vật lý cho thấy tính đúng đắn của các phân tích lý
thuyết, hiệu quả của của bộ điều khiển đề xuất và khả năng ứng dụng trong thực tế.
Thuật toán này lần đầu tiên được cài đặt cho FWOMR trên nền vi điều khiển có tính
linh hoạt cao.
Thiết kế, chế tạo và chạy thử nghiệm thành công robot tự hành bốn bánh
đa hướng sản phẩm, robot có phần cứng và mạch điều khiển xử lý hiệu năng cao
và phần mềm hỗ trợ lập trình trên nền hệ điều hành robot ROS. Sản phẩm này có
thể sử dụng trong đào tạo thực tiễn cho sinh viên, học viên cao học các ngành robot,
tự động hóa, điều khiển và cơ điện tử… hiện đang rất cần tại Việt Nam. Sản phẩm
cũng đang được sử dụng để phục vụ đào tạo và nghiên cứu khoa học cho sinh viên
ngành điều khiển tự động, trường Đại học Bách khoa HN, ngành cơ điện tử và điện
tử trường Đại học Công nghiệp Hà Nội... Hướng phát triển đến các ứng dụng thực
tiễn như chế tạo các robot tự hành trong kho bãi, nhà xưởng, logictics, robot quan
trắc môi trường tại các nơi có điều kiện môi trường độc hại, robot phục vụ chăm
sóc ý tế, robot dò phá bom mìn…
Ngoài ra trong quá trình thực hiện luận án, các nghiên cứu và ứng dụng
cũng đã được công bố ở các hội nghị khoa học có uy tín trong nước và quốc tế.
2. Hướng phát triển của Luận án.
Nghiên cứu cải tiến thuật toán thích nghi khi robot di chuyển trên các loại địa
hình dốc (3D), cũng như có các kiểu chuyển động phù hợp với các loại địa hình
phức tạp khác nhau khi hoạt động ứng dụng thực tế.
Đồng bộ hóa các tác vụ trong lưu đồ điều khiển tổng thể hệ thống, tích hợp
các công nghệ cảm biến mới như Lidar, camera, tối ưu thời gian xử lý thời gian
thực và ứng dụng hệ điều hành lập trình cho robot ROS để lập trình thông minh và
cải thiện tốc độ bám của hệ thống.
76
DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ
TẠP CHÍ KHOA HỌC
1. Ha Thi Kim Duyen, Ngo Manh Tien, Pham Ngoc Minh, Quang Vinh Thai,
Phan Xuan Minh, Pham Tien Dung, Nguyen Duc Dinh, Hiep Do Quang,
“Fuzzy Adaptive Dynamic Surface Control for Omnidirectional Robot”, the
Springer-Verlag book series “Computational Intelligence” indexed in Scopus
and Compendex (Ei). ISSN 1860-9503 (electronic), ISBN 978-3-030-49536-7
(eBook). https://doi.org/10.1007/978-3-030-49536-7. (2020)
2. Duyen Ha Thi Kim, Tien Ngo Manh, Cuong Nguyen Manh, Nhan Duc
Nguyen, Manh Tran Van, Dung Pham Tien, Minh Phan Xuan. “Adaptive
Control for Uncertain Model of Omni-directional Mobile Robot Based on
Radial Basis Function Neural Network”. International Journal of Control,
Automation, and Systems (SCI-E Q2, Impact Factor: 2.7) (Accepted 2020)
3. Hà Thị Kim Duyên, Phạm Thị Thanh Huyền, Trương Bích Liên, Ngô Mạnh
Tiến, Lê Việt Anh, Nguyễn Mạnh Cường, “Điều khiển bám quỹ đạo đối thượng
Robot tự hành bằng thuật toán điều khiển trượt theo hàm mũ”, Tạp chí Nghiên
cứu KH&CN quân sự, Số Đặc san ACMEC, 07 – 2017. ISSN 1859 - 1043
4. Hà Thị Kim Duyên, Ngô Mạnh Tiến, Phan Xuân, Minh Lê Xuân Hải, Vũ Đức
Thuận, Nguyễn Minh Huy, “Điều khiển bám quỹ đạo Omni robot bốn bánh
bằng phương pháp thích nghi mờ trượt”. Tạp chí Nghiên cứu Khoa học và
Công nghệ quân sự. Số đặc san ACMEC 07-2017. ISSN 1859 - 1043
5. Ngo Manh Tien, Nguyen Nhu Chien, Do Hoang Viet, Ha Thi Kim Duyen
“Research And Development Artificial Intelligence To Track Trajectory And
Automatically Path Planning For Auto Car”. Journal of Military Science and
Technology; ISSN 1859 – 1043. 11/2018
6. Duyen – Ha Thi Kim, Tien – Ngo Manh, Chien – Nguyen Nhu, Viet – Do
Hoang, Huong-Nguyen Thi Thu Kien-Phung Chi, “Tracking Control For
Electro-Optical System In Vibration Enviroment Based On Self-Tuning Fuzzy
Sliding Mode Control”, Journal of Computer Science and Cybernetics, Vol 02,
6.2019.
77
HỘI NGHỊ KHOA HỌC
7. Ngô Mạnh Tiến, Nguyễn Như Chiến, Đỗ Hoàng Việt, Hà Thị Kim Duyên,
Nguyễn Tuấn Nghĩa, “Trajectory Tracking Control for Four Wheeled
Omnidirectional Mobile Robots using Adaptive Fuzzy Dynamic Surface Control
Algorithm”, Proceedings the 4th Vietnam International Conference and
Exhibition on Control and Automation VCCA-2017; ISBN 978-604-73-5569-3
8. Duyen Ha Thi Kim, Tien Ngo Manh, Tuan Pham Duc and Ngoc Pham Van
Bach, “Trajectory Tracking Control for Omnidirectional Mobile Robots Using
Direct Adaptive Neural Network Dynamic Surface Controller”. The 2019 First
International Symposium on Instrumentation, Control, Artificial Intelligence,
and Robotics. 1/2019. NSPEC Accession Number: 18473513,
DOI: 10.1109/ICA-SYMP.2019.8646146.
9. Ha Thi Kim Duyen, Cuong Nguyen Manh, Hoang Thuat Vo, Manh Tran Van,
Dinh Nguyen Duc, Anh Dung Bui, “Trajectory tracking control for four
wheeled Omni-directional mobile Robot using backstepping technique
aggregated with sliding mode control”, The 2019 First International
Symposium on Instrumentation, Control, Artificial Intelligence, and Robotics.
1/2019. INSPEC Accession Number: 18473501, DOI: 10.1109/ICA-
SYMP.2019.8646041.
10. Ngô Mạnh Tiến, Nguyễn Mạnh Cường, Hà Thị Kim Duyên, Phan Sỹ Thuần,
Nguyễn Ngọc Hải, Trần Văn Hoàng, Nguyễn Văn Dũng, “Giám sát định vị, bản
đồ hóa và điều hướng cho robot tự hành đa hướng sử dụng hệ điều hành lập
trình ROS”, Hội nghị Quốc gia lần thứ XXII về Điện tử, Truyền thông và Công
nghệ Thông tin lần thứ 22, 2019.
78
TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt (Sách)
[1] Nguyễn Văn Tính: “Nghiên cứu phát triển một số thuật toán điều khiển robot
di động có tính đến ảnh hưởng của trượt bánh xe” Luận án TS kỹ thuật điều
khiển và tự động hóa. 2018
[2] Nguyễn Văn Tính, Phạm Thượng Cát, Phạm Minh Tuấn, Bùi Thị Thanh
Quyên, “Thiết Kế Quỹ Đạo và Điều Khiển Xe Tự Hành Vận Chuyển Trong
Kho”, VCCA 2011
[3] Ngô Mạnh Tiến, Phan Xuân Minh, Hà Thị Kim Duyên, Phạm Ngọc Minh,
“Một số kết quả nghiên cứu mới trong phát triển hệ robot tự hành có gắn
camera tự động tìm kiếm và bám mục tiêu di động”, Hội Nghị Cơ điện tử toàn
quốc lần thứ 6 VCM6, ISBN 978-604-62-0753-5; 12/2012
[4] Tien-Ngo Manh, Minh-Phan Xuan, Phuoc-Nguyen Doan, Thang-Phan Quoc,
“Tracking Control for Mobile Robot with Uncertain Parameters Based on
Model Reference Adaptive Control”, International Conference on Control,
Automation and InfOMRation Sciences ICCAIS2013; IEEE catalog number:
CFP1226S-CPR; ISBN: 978-1-4673-0811-1;11/2013
[5] Ngô Mạnh Tiến, Phan Xuân Minh, Lê Trung Kiên, Trần Đức Hiếu, Hà Thị
Kim Duyên, Phạm Văn Quyết, Nguyễn Ngọc Anh, Nguyễn Phương Nam,
“Omni mobile robot tránh vật cản sử dụng cảm biến camera Kinect”, Hội
Nghị toàn quốc về điều khiển và tự động hóa VCCA2013; ISBN 978-604-911-
517-2; 11/2013.Nguyễn Doãn Phước, “Lý Thuyết điều khiển nâng cao”, NXB
Khoa Học và Kỹ thuật, 2002.
[6] Lê Hoài Quốc, Chung Tấn Lâm, “Nhập môn Robot công nghiệp”, NXB Khoa
Học và Kỹ thuật, 2002
[7] Đào Văn Hiệp, “Kỹ thuật Robot”, Nhà xuất bản khoa học kỹ thuật, 2003
[8] Nguyễn Thiện Phúc, “Robot công nghiệp”, Nhà xuất bản khoa học kỹ thuật,
2004
[9] Nguyễn Doãn Phước, “Lý Thuyết điều khiển tuyến tính”, NXB Khoa Học và
Kỹ thuật, 2002.
[10] Nguyễn Doãn Phước, Phan Xuân Minh, Hán Thành Trung, “Lý thuyết điều
79
khiển phi tuyến”, Nhà xuất bản khoa học kỹ thuật, 2003
[11] Nguyễn Doãn Phước, “Lý Thuyết điều khiển nâng cao”, NXB Khoa Học và
Kỹ thuật, 2002
[12] Phan Xuân Minh, Nguyễn Doãn Phước,, “Lý thuyết điều khiển Mờ”, Nhà xuất
bản khoa học kỹ thuật, 2006
[13] P. N. Paraskevopoulos, “Modern Control Engineering”, Marcel Dekker, Inc,
2002
[14] Jean-Jacques E. Slotine, Weiping Li, “Applied Nonlinear Control”, Prentice –
Hall International, Inc, 1991
[15] Petros A. Iounou, Jing Sun, “Robust and Adaptive Control”, Prentice – Hall
International, Inc, 1996
[16] Lorenzo Sciavicco, Bruno Siciliano, “Modeling and control of Robot
Manipunator”, International Editions, 1996
[17] John J. Craig, “Introduction to Robotics Mechanics & Control”. Addison –
Wesley Publishing Company, 1986
[18] J. Somlo, B. Lantos, P. T. Cat, “Advanced Robot Control”, 1998
[19] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar; “Robot Dynamics and
Control” Addison – Wesley Publishing Company, 2004
[20] Frank L.Lewis, Darren M.Dawson, Chaouki T.Abdallah, “Robot Manipulator
Control Theory and Practice”, MARCEL DEKKER, INC, 2004
[21] Jorge Angeles, “Fundamentals of Robotic Mechanical Systems”, Theory,
Methods, and Algorithms, Third Edition, Springer, 2013
[22] Dan B.Marghtu, “Mechanisms and Robots Analysis with MATLAB”, Springer,
2009
[23] Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo,
“Robotics Modelling, Planning and Control”, Advanced Textbooks in Control
and Signal Processing series ISSN 1439-2232, 2009
[24] Suraiya Jabin, “Robot Learning”, Sciyo, 2010
[25] Peter Corke, “Robotics Vision and Control Fundamental Algorithms in
MATLAB®”, Springer Tracts in Advanced Robotics, ISSN 1610-7438, 2011
[26] Gary Bradski and Adrian Kaehler, “Learning OpenCV Computer Vision with
the OpenCV Library” , O’Reilly, 2008
80
[27] Peter Corke, “Robotics, Vision and Control, Fundamental Algorithms in
MATLAB”, Springer, 2011
[28] Aaron Martinez, Enrique Fernández, “Learning ROS for Robotics
Programming”, Birmingham – Mumbai, ISBN 978-1-78216-144-8, 2013
[29] Anis Koubaa, Janusz Kacprzyk, “Robot Operating System (ROS)”, Springer
book Studies in Computational Intelligence Volume 625, 2016
[30] Anis Koubaa, Janusz Kacprzyk, “Robot Operating System (ROS)”, Springer
book Studies in Computational Intelligence Volume 707, 2017
[31] N. Zealand, “Design and Analysis of a Four-wheel Omnidirectional Mobie
Robot”, vol. 5, 2013
[32] T. Wang, C. Tsai, and D. Wang, “Dynamic Control of An Omnidirectional
Mobile Platform,” vol. 7, no. 1, 2010, pp. 9–18
[33] X. Wu, Z. Chen, W. Chen, and W. Wang, “Research on the Design of
Educational Robot with Four-wheel Omni-direction Chassis” vol. 29, no. 4,
2018, 284–294
[34] M. J. Jung, H. S. Kim, S. Kim and J. H. Kim, “Omnidirectional mobile base
OK-II”, Proceeding of the 2000 IEEE International Conference on Robotics
and Automation, San Francisco, April 2000, 3449-3454
[35] M. M. Olsen and H. G. Petersen, “A new method for estimating parameters of
a dynamic Robot model”, IEEE Transactions on Robot ics and Automation,
vol. 17(1), 2001, 95-100
[36] Y. P. Leow, K. Low and W. Loh, “Kinematic Modelling and Analysis of
Mobile Robot s with Omni-Directional Wheels”, Seventh lnternational
Conference on Control, Automation, Robot ics And Vision (lCARCV’O2),
Singapore, 2002
[37] R. L. Williams, B. E. Carter, P. Gallina and G. Rosati, “Dynamic model with
slip for wheeled Omnidirectional Robots”, IEEE Transac-tions on Robot ics
and Automation, vol.18(3), 2002, 285-293
[38] W. K. Loh, K. H. Low and Y. P. Leow, “Mechatronics design and kinematic
modelling of a singularityless Omni-directional wheeled mobile Robot”, Robot
ics and Automation, Proceedings. ICRA 03. IEEE International Conference
on, vol. 3, 2003, 3237-3242
81
[39] Yong Liu, Xiaofei Wu, J. Jim Zhu, and Jae Lew, “Omni-directional mobile
Robot controller design by trajectory linearization”, 2004, 3423–3428
[40] J. Salih, M. Rizon, S. Yaacob, A. Adom and M. Mamat, “Designing Omni-
Directional Mobile Robot with Mecanum Wheel”, American Journal of
Applied Sciences, vol. 3(5), 2006, 1831-1835
[41] P. Oliveira, A. J. Sousa, a P. Moreira, and P. J. Costa, “Precise Modeling of a
Four Wheeled Omni-directional Robot”, Proc. 8th Conf. Auton. Robot Syst.
Compet, 2008, 57–62
[42] Y. Kanayama, Y. Kimura, F. Miyazaki, T. Noguchi. “A stable tracking
control scheme for an autonomous mobile robot”, proc. of IEEE Int. Conf. on
Robotics and Automation, 1990, 384-389
[43] Ching-Chih Tsai, Li-Bin Jiang, Tai-Yu Wang, Tung-Sheng Wang,
“Kinematics Control of an Omnidirectional Mobile Robot”, Proceedings of
2005 CACS Automatic Control Conference, Taiwan, Nov, 2005
[44] Y. Hsu, C. Tsai, and Z. Wang, “Hybrid navigation of a four-wheeled tour-
guide Robots”, Iccas-Sice, 2009, 2009, 4353–4358
[45] E. Hashemi, M. G. Jadidi, and O. B. Babarsad, “Trajectory planning
optimization with dynamic modeling of four wheeled Omni-directional mobile
Robots”, Proc. IEEE Int. Symp. Comput. Intell. Robot. Autom. CIRA, 2009,
272–277
[46] M. Helder Oliveira, “Modeling and Assessing of Omni-directional Robots
with Three and Four Wheels”, Intech, 2005
[47] P. Oliveira, A. J. Sousa, A. P. Moreira, and P. J. Costa, “Dynamical Models
for Omni-Directional Robots With 3 and 4 Wheels”, no. May, 2012, 189–196
[48] Hélder P. Oliveira, Armando J.Sousa, A.Paulo Moreira and Paulo J.Costa,
“Modeling and Assessing of Omni-directional Robots with Three and Four
Wheels”, INESC-Porto Portugal, 2009, 210-216
[49] Y. Liu, J. J. Zhu, R. L. Williams, and J. Wu, “Omni-directional mobile Robot
controller based on trajectory linearization”, Rob. Auton. Syst., vol. 56, no. 5,
2008, 461–479
[50] L.-C. Lin and H.-Y. Shih, “Modeling and Adaptive Control of an Omni-
Mecanum-Wheeled Robot”, Intell. Control Autom., vol. 04, no. 02, 2013,
82
166–179
[51] Yang, A. Jiang, X. Liu, F. Hu, C. Wang, and X. Yang, “Trajectory Tracking
of an Omni-Directional Wheeled Mobile Robot Using a Model Predictive
Control Strategy” Appl. Sci., vol. 8, no. 2, 2018, 231-239
[52] K. Watanabe, Y. Shiraishi, S. Tzafestas, J. Tang and T. Fukuda, “Feedback
control of an Omnidirectional autonomous platform for mobile service
robots”, Journal of Intelligent and Robotic Systems, vol. 22, 1998, 315-330
[53] J. Qian, B. Zi, D. Wang, Y. Ma, and D. Zhang, “The design and development
of an Omni-Directional mobile Robot oriented to an intelligent manufacturing
system”, Cảm biếns (Switzerland), vol. 17, no. 9, 2017
[54] H. Sira-Ramirez, J. A., H. Rodriguez-Cortes, I. Estrada-Sanchez, and M.
Velasco-Villa, “Dynamic Trajectory-Tracking Control of an Omnid irectional
Mobile Robot Based on a Passive Approach”, Advanced Robot Manipulator,
2012
[55] Salam Al-Ammri and I. Ahmed, “Control of Omni-Directional Mobile Robot
Motion”, Al-Khwarizmi Eng. J, vol. 6, no. 4, 2010, 1–9
[56] Ching-Chih Tsai, Zeng-Ruei Wu, Zen-Chung Wang, Ming-Feng Hisu,
“Adaptive Dynamic Motion Controller Design for a Four-Wheeled
Omnidirectional Mobile Robot”, ICSSE, 2010, 234
[57] Hsu-Chih Huang, “Intelligent Motion Controller Design for Four-Wheeled
Omnidirectional Mobile Robots Using Hybrid GA-PSO Algorithm”, IEEE
International Conference on Systems, Man and Cybernetics, Anchorage,
Alaska, USA, October 9-12, 2011
[58] R. Fierro and F. L. Lewis, “Control of a nonholomic mobile Robot:
Backstepping kinematics into dynamics”, J. Robot. Syst., vol. 14, no. 3, 2002,
149–163
[59] Q. Z. Cui, X. Li, X. K. Wang, and M. Zhang, “Backstepping Control Design
on the Dynamics of the Omni-Directional Mobile Robot”, Appl. Mech. Mater.,
vol. 203, 2012, 51–56
[60] Yoo and W. Ham, “Adaptive fuzzy sliding mode control of nonlinear system”,
IEEE Trans. Fuzzy Syst., vol. 6, no. 2, 1998, 315–321
[61] G. G. Rigatos, C. S. Tzafestas, and S. G. Tzafestas, “Mobile Robot motion
83
control in partially unknown environments using a sliding-mode fuzzy-logic
controller” Rob. Auton. Syst., vol. 33, no. 1, 2000, 1–11
[62] Qian, J. Yi, and D. Zhao “Control of overhead crane systems by combining
sliding mode with fuzzy regulator”, vol. 44, no. 1 PART 1. IFAC, 2011
[63] Jianping Chen, Jianbin Wang, Sijie Ouyang, Yimin Yang “Adaptive Sliding
Mode Control Based on a Filter for Four-Wheel Omni-Directional Mobile
Robots”, ISSN 1314-4081, 2014, 142-143
[64] D. Swaroop, J. K. Hedrick, P. P. Yip, and J. C. Gerdes, “Dynamic surface
control for a class of nonlinear systems ”, IEEE Trans. Automat. Contr., vol.
45, no. 10, 2000, 1893-1899
[65] D. R. Tobergte and S. Curtis, "Dynamic Surface Control of Uncertain
Nonlinear Systems”, vol. 53, no. 9. 2013
[66] Xiao-Yuan Luo, Zhi-Hao Zhu, Xin-Ping Guan, “Adaptive Fuzzy Dynamic
Surface Control for Uncertain Nonlinear Systems”, International Journal of
Automation and Computing, March 11, 2009
[67] S. Qi, D. Zhang, L. Guo, and L. Wu, “Adaptive Dynamic Surface Control of
Nonlinear Switched Systems with Prescribed Performance” J. Dyn. Control
Syst., vol. 24, no. 2, 2018, 269–286
[68] Yoo and W. Ham, “Adaptive fuzzy sliding mode control of nonlinear system”,
IEEE Trans. Fuzzy Syst., vol. 6, no. 2, 1998, 315–321
[69] S. Dai, C. Wang, and F. Luo, “Identification and Learning Control of Ocean
Surface Ship Using Neural Networks”, vol. 8, no. 4, 2012, 801
[70] Hoang Thi Tu Uyen, Pham Duc Tuan, Le Viet Anh, Dam Quang True, Phan
Xuan Minh, “PerfOMRance assessment of adaptive neural network dynamic
surface controller with adaptive neural network backstepping controller and
adaptive neural network sliding mode backstepping controller”, Journal of
Military Science and Technology, 12-2017
[71] Zayer, “Fuzzy Logic Control Of Crane System”, vol. 11, no. 3, 2011, 437–447
[72] Hashemi, M. Ghaffari Jadidi, and N. Ghaffari Jadidi, “Model-based PI fuzzy
control of four-wheeled Omni-directional mobile Robots”, Rob. Auton. Syst.,
vol. 59, no. 11, 2011, 930–942
[73] Park and I. W. Sandberg, “Universal Approximation Using Radial-Basis-
84
Function Networks”, Neuron Comput., vol. 3, no. 2, 1991, 246–257
[74] S. S. Ge and C. Wang, “Direct adaptive neural network control of a class of
nonlinear systems”, Neural Networks, IEEE Trans., vol. 13, no. 1, 2002, 214-
221
[75] J. Wang, J. Chen, S. Ouyang, Y. Yang, “Trajectory tracking control based on
adaptive neural dynamics for four-wheel drive Omnidirectional mobile
robots”, Engineering Review, Vol.34, Issue 3, 2014, 237, 239
[76] L. Yu, S. Fei, and G. Yang, “A Nơ ron Network Approach for Tracking
Control of Uncertain Switched Nonlinear Systems with Unknown Dead-Zone
Input”, Circuits, Syst. Signal Process., vol. 34, no. 8, 2015, 2695–2710
[77] S. N. Huang, K. K. Tan, and T. H. Lee, “Adaptive motion control using neural
network approximations” Automatica, vol. 38, no. 2, 2002, 227–233
[78] J. Xu, M. Zhang and J. Zhang, “Kinematic model identification of autonomous
Mobile Robot using dynamical recurrent neural networks”, 2005 IEEE
International Conference Mechatronics and Automation, vol. 3, 2005, 1447-
1450
[79] P. Petrehuş, Z. Lendek, and P. Raica, “Fuzzy modeling and design for a 3D
crane”, IFAC Proc. Vol., vol. 46, no. 20 PART 1, 2013, 479–484
[80] Qi-Ye Zhang, Dan Li, Wen-Jing Pei and Ying-Min Jia, “A TSK Fuzzy
Model and Adaptive Sliding-Mode Controller Design for Four-Mecanum-
Wheel Omni Directional Mobile Free-Bases”, IEEE, (2015), 1863
[81] Phunopas, “Motion Improvement of Four-Wheeled Omnidirectional Mobile
Robots for Indoor Terrain” vol. 4, no. 4, 2018, 275–282.
[82] H. Yoshida, H. Fujimoto, D. Kawano, Y. Goto, M. Tsuchimoto, and K. Sato,
“ROS: an open-source Robot Operating System” IECON 2015 - 41st Annu.
Conf. IEEE Ind. Electron. Soc., no. Figure 1, 2015, 4754–4759.
[83] I. Zamora, N. G. Lopez, V. M. Vilches, and A. H. Cordero, “Extending the
OpenAI Gym for robotics: a toolkit for reinforcement learning using ROS and
Gazebo” no. August, 2016, 1-6.
[84] M. Galli, R. Barber, S. Garrido, and L. Moreno, “Path planning using Matlab-
ROS integration applied to mobile robots” 2017 IEEE Int. Conf. Auton. Robot
Syst. Compet. ICARSC 2017, 98–103
85
[85] A. Araújo, D. Portugal, M. S. Couceiro, and R. P. Rocha, “Integrating
Arduino-Based Educational Mobile Robots in ROS” J. Intell. Robot. Syst.
Theory Appl., vol. 77, no. 2, 2014, 281–298.
[86] [Rajesh Kannan Megalingam, Chinta Ravi Teja, Sarath Sreekanth, Akhil Raj:
“ROS based Autonomous Indoor Navigation Simulation Using SLAM
Algorithm”, International Journal of Pure and Applied Mathematics, Volume
118 No. 7 2018, 199-205.
PL1
PHỤ LỤC
1. Code mô phỏng trên Matlab Simulink.
1.1. Khối bộ điều khiển DSC
Hình PL1.1. Khối bộ điều khiển DSC trên Simulink
function y = z1(u)
%% Sai lech bam
x1 = u(1:3);
x1d = u(4:6);
y = x1 - x1d;
end
function y = z2( u )
%% Sai lech van toc
x2 = u(1:3);
x2d = u(4:6);
y = x2 - x2d;
end
function y = virtual_control(u)
%% Tin hieu dieu khien ao
z1 = u(1:3);
x1d_dot = u(4:6);
x1 = u(7:9);
c = u(10:12);
c11 = c(1);
c22 = c(2);
PL2
c33 = c(3);
teta = x1(3);
global c1
c1 = diag([c11,c22,c33]);
H = [ cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1 ];
y = -(H^(-1))*(c1*z1 - x1d_dot);
end
function y = sliding_surface(u)
%% Mat truot
z1 = u(1:3);
z2 = u(4:6);
x1 = u(7:9);
teta = x1(3);
H = [ cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1 ];
global lamda
S = lamda*z1 + H*z2;
y = S;
end
function y = control_law(u)
%% Bo dieu khien
z1_dot = u(1:3);
z2 = u(4:6);
delta = u(7:9);
S = u(10:12);
x2d_dot = u(13:15);
x1 = u (16:18);
x2 = u(19:21);
c = u(22:24);
PL3
c11 = c(1);
c22 = c(2);
c33 = c(3);
teta = x1(3);
global B M lamda C G c2 c3
H = [ cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1 ];
H_inv = [ cos(teta) sin(teta) 0;
-sin(teta) cos(teta) 0;
0 0 1 ];
H_dot = [ -sin(teta) -cos(teta) 0;
cos(teta) -sin(teta) 0;
0 0 1 ];
c2 = diag([c11,c22,c33]);
c3 = diag([c11,c22,c33]);
Ueq = -B'*((B*B')^(-1))*(M*(H_inv*(lamda*z1_dot + H_dot*z2) - x2d_dot
+ delta));
Usw = -B'*((B*B')^(-1))*M*H_inv*(c2*S + c3*satlins(S));
y = Ueq + Usw;
end
1.2. Khối mạng nơ-ron
Hình PL1.2. Khối bộ điều khiển nơ-ron trên Simulink
PL4
function y = W_initial(u)
%% khoi tao trong so mang neural
t = u;
global number_neural
Wi = 0.5*ones(number_neural,3);
y = Wi;
end
function y = W_dot(u)
%% Luat cap nhat trong so mang
x1 = u(1:3);
teta = x1(3);
x2 = u(4:6);
S = u(7:9);
%% initial
global number_neural alpha b M
a = 10;
W1 = u(a:a+number_neural-1);
W2 = u(a+number_neural: a+2*number_neural-1 );
W3 = u(a+2*number_neural : a+3*number_neural - 1);
W = [W1 W2 W3];
h_temp = zeros(number_neural,1);
h = zeros(number_neural,1);
h_sum = 0;
Par_temp = 1*ones(1, number_neural);
Par = diag(Par_temp);
%%
r_temp1 = linspace(-20,20,number_neural);
r_temp2 = linspace(-20,20,number_neural);
r_temp3 = linspace(-5,5,number_neural);
r = [r_temp1;r_temp2;r_temp3];
%% caculate weight function
for i=1:number_neural
PL5
h_temp(i)= exp(-((norm(x1-r(:,i)))^2+(norm(x2-r(:,i)))^2)/(2*b^2));
%h_temp(i)= exp(-((norm(x1-r(:,i)))^2)/(b^2));
h_sum = h_sum + h_temp(i);
end
for i=1:number_neural
h(i)= h_temp(i);
end
H = [ cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1 ];
y = Par*(h*S'*H - alpha*norm(S)*W);
end
function y = delta(u)
%% Dau ra mang neural
x1 = u(1:3);
x2 = u(4:6);
a = 7;
global number_neural b
W1 = u(a:a+number_neural-1);
W2 = u(a+number_neural: a+2*number_neural-1 );
W3 = u(a+2*number_neural : a+3*number_neural - 1);
W = [W1 W2 W3];
h_temp = zeros(number_neural,1);
h = zeros(number_neural,1);
h_sum = 0;
%% Tinh lop an
r_temp1 = linspace(-20,20,number_neural);
r_temp2 = linspace(-20,20,number_neural);
r_temp3 = linspace(-5,5,number_neural);
r = [r_temp1;r_temp2;r_temp3];
for i=1:number_neural
PL6
h_temp(i)= exp(-((norm(x1-r(:,i)))^2+(norm(x2-r(:,i)))^2)/(2*b^2));
h_sum = h_sum + h_temp(i);
end
for i=1:number_neural
h(i)= h_temp(i);
end
y = W'*h;
end
1.3. Bộ điều khiển DSC-NN-Fuzzy
Hình PL1.3. Sơ đồ mô phỏng bộ điều khiển AFNNDSC trên Simulink
Hình PL1.4. Khối điều khiển AFNNDSC trên Simulink
PL7 1.4. Khối mô hình robot tự hành đa hướng bốn bánh.
Hình PL1.5. Khối mô hình robot tự hành đa hướng bốn bánh trên Simulink
function y = model_omni(u)
%% Khai bao dau vào
x1 = u(1:3);
x2 = u(4:6);
f = u(7:10);
nois = u(11:13);
teta = x1(3);
%% Khai bao ma tran
global M B
H = [ cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1 ];
%% Mo hinh robot
x2_dot = (M^(-1) )*( B*f + nois );
x1_dot = H*x2;
y = [x1_dot ; x2_dot];
end
PL8 2. Thiết kế và chế tạo cơ khí, truyền động robot tự hành bốn bánh đa hướng
Hình PL2.1. Thiết kế cơ khí trên SolidWorks của FWOMR
Hình PL2.2. Mô hình xây dựng thực tế.
3. Mạch điện tử điều khiển và lập trình điều khiển robot tự hành bốn bánh đa
hướng
3.1. Mạch điện tử điều khiển cho robot
Hình PL3.1. Sơ đồ cấu trúc phần cứng điều khiển robot
PL9
Cấu trúc phần cứng được sử dụng:
+ Bộ xử lý hiệu năng cao Jetson-TX2 với vai trò xử lý trung tâm, là bộ
xử lý hiệu năng cao chuyên dụng cho các xử lý trí tuệ nhận tạo (AI), mạng Nơ
ron, logic mờ, và thu tập các tín hiệu từ các cảm biến, encorder, camera,
Lindar, IMU và xử lý và gửi các tín hiệu đặt cho mạch điều khiển.
+ Mạch điều khiển STM32 (NCS sử dụng lõi STM32F1xx) sẽ là bộ
phận nhận tín hiệu điều khiển từ Jetson-Tx2 rồi trực tiếp điều khiển tín hiệu
đến các driver động cơ bánh xe, các I/O từ các cảm biến, đọc encorder xác
định vị trí robot..vv.
+ Mạch cầu H (driver động cơ DC24V) sử dụng các MOSFET là mạch
công suất điều khiển các động cơ servo 4 bánh di chuyển.
+ Modul truyền thông USB/RS232, RF, bluetooth để thu tín hiệu điều
khiển từ điện thoại di động khi muốn điều khiển trực tiếp.
+ Camera có độ phân giải hình ảnh RGB lên đến 1280 x 720 @ 30
khung hình/giây, độ sâu hình ảnh Res lên đến 640 x 480 @ 30 khung hình/
giây sẽ được sử dụng như mắt của robot để thu hình ảnh từ môi trường một
cách rõ nét và chân thực nhất, sau đó sẽ được xây dựng thành bản đồ ảo.
+ RPLindar là bộ quét laser, kết hợp với Camera 3D Astra sẽ đưa về tín
hiệu GAZEBO và RVIZ dựng bản đồ 2D và 3D địa hình hoạt động của robot.
3.2. Kit xử lý hiệu năng cao Jetson TX2:
Hình PL3.2. Kit xử lý hiệu năng cao Jetson TX2
PL10
Hình PL3.3. Sơ đồ các đầu vào ra và chức năng Kit xử lý hiệu năng cao Jetson TX2
Hình PL3.4. Sơ đồ cấu trúc tổng thể chức năng Kit xử lý hiệu năng cao Jetson TX2
PL11
Hình PL3.5. Kiến trúc xử lý và chức năng Kit xử lý hiệu năng cao Jetson TX2
NVIDIA® Jetson TX2 System-on-Module (SOM) là bộ xử lý kết hợp giữa
hiệu suất, hiệu quả năng lượng, chuyên dụng cho trí tuệ nhân tạo, mạng nơ ron, tích
hợp và I/O phong phú. Jetson TX2 lý tưởng cho nhiều ứng dụng bao gồm: Phân tích
video thông minh (IVA), Drone, Robotics, Thiết bị chơi game, Thực tế ảo (VR),
Thực tế Augmented (AR) và Thiết bị y tế di động. Hiệu suất vượt trội, thiết kế
mạnh mẽ và giảm độ phức tạp trong tích hợp hệ thống.
Các thành phần tích hợp cốt lõi của mô-đun Jetson TX2 bao gồm:
Tegra X2 (Dòng sản phẩm Parker)
- GPU NVIDIA Pascal
- Tổ hợp CPU HMP ARMv8 (64 bit)
- CPU lõi kép NVIDIA Denver 2
- CPU lõi tứ ARM Cortex-A57
Memory Bộ nhớ 8GB LPDDR4
Storage 32GB lưu trữ eMMC 5.1
Chip kết hợp 2 băng tần 2x2 WLAN 802.11a/ b/g/n/ac
Ethernet Gigabit Ethernet
PMIC, bộ điều chỉnh, màn hình điện và điện áp
Giao diện nhiệt chính của tấm truyền nhiệt (TTP)
Connector đầu nối bảng mạch 400 chân (hiển thị cả I/O tiêu chuẩn công
nghiệp tốc độ cao và tốc độ thấp)
Đầu nối ăng ten WLAN và BT
Cảm biến nhiệt độ
PL12
Bộ xử lý Jetson TX2 tích hợp:
GPU NVIDIA Pascal 256 lõi. Hỗ trợ đầy đủ tất cả các API đồ họa hiện
đại, các shader hợp nhất và có khả năng tính toán GPU. GPU hỗ trợ tất cả các tính
năng tương tự như GPU NVIDIA rời rạc, bao gồm các API và thư viện tính toán
mở rộng bao gồm cả CUDA. Công suất cao được tối ưu hóa cho hiệu suất tốt nhất
trong các trường hợp sử dụng nhúng.
Tổ hợp CPU hai bộ xử lý ARMv8 (64 bit), hai cụm CPU được kết nối
bằng vải kết nối kết hợp hiệu suất cao do NVIDIA thiết kế; cho phép hoạt động
đồng thời của cả hai cụm CPU cho môi trường đa xử lý (HMP) không đồng nhất
thực sự. Các cụm CPU Denver 2 (Dual-Core) được tối ưu hóa cho hiệu năng đơn
luồng cao hơn; cụm CPU ARM Cortex-A57 MPCore (Quad-Core) phù hợp hơn cho
các ứng dụng đa luồng và tải nhẹ hơn.
Bộ mã hóa video HD tiên tiến. Quay video độ phân giải cực cao 4K ở tốc
độ 60fps. Hỗ trợ mã hóa H.265 và H.264 BP / MP / HP / MVC, VP9 và VP8.
Bộ giải mã video HD nâng cao. Phát lại video độ phân giải cực cao 4K ở
tốc độ 60fps với pixel tối đa 12 bit. Hỗ trợ các chuẩn video H.265, H.264, VP9,
VP8 VC-1, MPEG-2 và MPEG-4.
Hiển thị hệ thống con điều khiển. Hai đầu ra đa chế độ (eDP / DP /
HDMI) và tối đa 8 làn đầu ra MIPI-DSI. Lưu trữ nhiều dòng pixel cho phép các
hoạt động mở rộng hiệu quả bộ nhớ và tìm nạp pixel. Xoay phần cứng hiển thị phần
cứng cũng được cung cấp để giảm băng thông trong các ứng dụng di động.
Bộ điều khiển bộ nhớ 128 bit Giao diện DRAM.128 bit cung cấp hỗ trợ
LPDDR4 băng thông cao.
Bộ nhớ eMMC 8GB LPDDR4 và 32 GB được tích hợp trên mô-đun
1.4Gpix / s Xử lý tín hiệu hình ảnh nâng cao: Phần cứng tăng tốc đường
dẫn chụp ảnh và video tĩnh, với ISP tiên tiến.
Công cụ xử lý âm thanh. Hệ thống con âm thanh cho phép hỗ trợ phần
cứng đầy đủ cho âm thanh đa kênh qua nhiều giao diện.
Tần số hoạt động tối đa của GPU: 1.3GHz được hỗ trợ trong chế độ tăng
tốc.
Tần số hoạt động tối đa của CPU: 1-4 lõi = tối đa 2.0 GHz; lớn hơn 4 lõi =
tối đa 1,4 GHz
PL13 3.3. Mạch điều khiển Slave sử dụng vi điều khiển ARM:
Khối điều khiển trung tâm dùng MCU STM32F103
Khối nguồn cung cấp (Nguồn điều khiển+động lực)
Khối Driver điều khiển động cơ
Khối truyền thông RF CC1101 và RS232, USB và blutooth
3.3.1. Mạch điều khiển sử dụng vi điều khiển STM32F103
STM32F103 là vi điều khiển 32bit của STMicroelectronics với 64 Kb bộ nhớ
Flash, USB 2.0 full-speed, CAN, 4 bộ Timer, 2 bộ ADC và 9 giao diện kết nối. Vi
điều khiển STM32F103 thích hợp cho một loạt các ứng dụng như điều khiển động
cơ, kiểm soát các ứng dụng nâng cao, thiết bị y tế và thiết bị cầm tay, máy tính và
thiết bị ngoại vi chơi game, GPS, ứng dụng công nghiệp, PLC, biến tần, máy in,
máy quét, hệ thống báo động, hệ thống liên lạc video, và HVACs.
- Sơ đồ nguyên lí mạch điều khiển
Hình PL3.6. Sơ đồ nguyên lí mạch điều khiển
PL14
Hình PL3.7. Mạch in thiết kế trên Altium
3.3.2. Mạch driver động cơ DC Servo
Mạch cầu H dùng IC kích FET chuyên dụng IR2184 cho phép điều khiển
động cơ với dòng liên tục 10A và dòng tức thời lên đến 30A. Mạch này được thiết
kế dành cho các ứng dụng điều khiển tốc độ và vị trí cho động cơ DC.
Hình PL3.1. Sơ đồ nguyên lý mạch cầu H driver động cơ DC Servo
PL15
Mosfet sử dụng trong mạch là IRF840 cho dòng đỉnh tối đa 22A. Điện áp
hoạt động lên tới 500VDC. Dòng ra liên tục 8A trong chế độ cầu kép. Điện áp cấp
cho FET càng cao thì dòng ra càng nhỏ.
Với ứng dụng là cầu FET cho robot thì điện áp cấp thường là 24V~25,6V.
Chu kỳ xung càng nhỏ thì sẽ cho dòng qua FET càng lớn, nên băm xung tần số cao
thì sẽ có lợi về công suất hơn, robot của mình chạy nhanh và khỏe hơn. Sử dụng IC
kich FET chuyên dụng IR2184 bảo đảm FET dẫn tốt, chống được hiện tượng trùng
dẫn và có hãm động năng khá tốt. Diode sử dụng cho IR2184 phải có tần số hoạt
động cao.
Driver có biến trở dùng chỉnh dòng giới hạn qua động cơ giúp bảo vệ thiết bị.
Tín hiệu vào điều khiển bao gồm: DIR+, DIR-, PWM+, PWM-. Điều này giúp
người dùng dễ dàng tùy chọn tín hiệu điều khiển tác động mức cao hay mức thấp.
Board gồm 2 led SMD báo nguồn và báo chiều quay động cơ.
Hình PL3.9. Mạch cầu H dùng để điểu khiển động cơ
3.3.3 Khối nguồn cung cấp:
Hình PL3.10. Mạch nguồn cung cấp 5V
PL16
Bên cạnh đó có sử dụng mạch có IC LM2576-5 để hạ áp từ 12V xuống 3.3V
vì những ưu điểm như :
Bản thân IC là 1 nguồn Switching nguyên khối nên chỉ cần thêm một vài
linh kiện điện tử cơ bản.
Điện áp vào trong dải từ 7VDC-40VDC, dòng ra lên đến 3A, dòng và áp
ra rất ổn định.
Sự tiêu hao năng lượng thấp.
Hình PL3.11. Sơ đồ nguyên lý mạch nguồn 3.3V
3.3.4. Các khối giao tiếp
Khối giao tiếp RS232 và RF:
Hình PL3.12. Mạch giao tiếp RS232
PL17
Khối mạch giao tiếp không dây RF
Hình 3.13. Mạch truyền thông COM to USB
Hình PL3.14. Mạch truyền thông RF
Khối giao tiếp blutooth HC05
Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách
ngắn. Chuẩn truyền thông này sử dụng sóng radio ngắn (UHF radio) trong dải tần
số ISM (2.4 tới 2.485 GHz). Khoảng cách truyền của module này vào khoảng 10m.
Module HC-05 được thiết kế dựa trên chip BC417 và sử dụng bộ nhớ flash ngoài
8Mbit.
Hình PL3.15. Sơ đồ modul HC - 05
HC-05 có hai chế độ hoạt động là Command Mode và Data Mode. Ở chế độ
Command Mode ta có thể giao tiếp với module thông qua cổng serial trên module
PL18 bằng tập lệnh AT quen thuộc. Ở chế độ Data Mode module có thể truyền nhận dữ
liệu tới module bluetooth khác. Chân KEY dùng để chuyển đổi qua lại giữa hai chế
độ này.
Ở chế độ SLAVE: Ta cần thiết lập kết nối từ smartphone, laptop, usb
bluetooth để dò tìm module sau đó pair với mã PIN là 1234. Sau khi pair thành
công, ta đã có 1 cổng serial từ xa hoạt động ở baud rate 9600.
Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1
module bluetooth HC-05, usb bluetooth, bluetooth của laptop...) và tiến hành pair
chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone.
3.4. Code lập trình điều khiển robot tự hành bốn bánh đa hướng
3.4.1 Code vi điều khiển cho robot
Phần mềm viết code cho vi điều khiển STM32F103C8T6 là IAR
Hình PL3.16. Giao diện phần mềm IAR
Chương trình lập trình trên vi điều khiển:
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
PL19
#include "math.h"
/* USER CODE END Includes */
/* USER CODE BEGIN PV */
// UART variable
uint8_t rx_data;
char rx_index;
char rx_buffer[20];
char temp[100];
int check_var = 0;
//encoder variable
int pulse_counter1 = 0, pulse_counter2 = 0, pulse_counter3 = 0,
pulse_counter4 = 0;
//velocity variable
double k = sqrt(2)/2;
float vx = 0, vy = 0, w_angle = 0;
float w_reference1_temp = 0;
float w_reference2_temp = 0;
float w_reference3_temp = 0;
float w_reference4_temp = 0;
float w_reference1 = 0, w_reference2 = 0, w_reference3 = 0, w_reference4 =
0;
float w1 = 0, w2 = 0, w3 = 0, w4 = 0;
float e1 = 0, e2 = 0, e3 = 0, e4 = 0;
float pre_e1 = 0, pre_e2 = 0, pre_e3 = 0, pre_e4 = 0;
float const max_pwm = 300;
//robot variable
float d_robot = 0.25; //robot radius
float r_wheel = 0.07;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
PL20
static void MX_GPIO_Init(void);
static void MX_TIM3_Init(void);
static void MX_TIM2_Init(void);
static void MX_USART3_UART_Init(void);
static void MX_TIM9_Init(void);
static void MX_TIM12_Init(void);
static void MX_TIM5_Init(void);
/* USER CODE BEGIN PFP */
void check_w_ref()
{
sprintf(temp, "vx_ref = %.2f\n", vx);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "vy_ref = %.2f\n", vy);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w_ref = %.2f\n", w_angle);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w1_temp = %.2f, w1_ref = %.2f\n", w_reference1_temp
,w_reference1);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w2_temp = %.2f, w2_ref = %.2f\n", w_reference2_temp
,w_reference2);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w3_temp = %.2f, w3_ref = %.2f\n", w_reference3_temp
,w_reference3);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w4_temp = %.2f, w4_ref = %.2f\n", w_reference4_temp
PL21 ,w_reference4);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
HAL_Delay(2000);
}
void signal_feedback_w_wheel()
{
sprintf(temp, "w1 = %.2f rpm r\n", w1);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w2 = %.2f rpm r\n", w2);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w3 = %.2f rpm r\n", w3);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(100);
sprintf(temp, "w4 = %.2f rpm r\n", w4);
HAL_UART_Transmit(&huart3, temp, strlen(temp), 10);
HAL_Delay(2000);
}
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM3_Init();
MX_TIM2_Init();
MX_USART3_UART_Init();
MX_TIM9_Init();
MX_TIM12_Init();
MX_TIM5_Init();
HAL_TIM_Base_Start_IT(&htim2);
PL22
HAL_UART_Receive_IT(&huart3, &rx_data, 1);
Init_Motor1();
Init_Motor2();
Init_Motor3();
Init_Motor4();
/* USER CODE END 3 */
}
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE,
M01_EN_R_Pin|M01_EN_L_Pin|M02_EN_L_Pin|M02_EN_R_Pin
|M02_3_3V_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(M01_3_3V_GPIO_Port, M01_3_3V_Pin,
GPIO_PIN_SET);
HAL_GPIO_WritePin(M01_GND_GPIO_Port, M01_GND_Pin,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(M02_GND_GPIO_Port, M02_GND_Pin,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD,
M03_EN_R_Pin|M03_EN_L_Pin|M03_3_3V_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(M03_GND_GPIO_Port, M03_GND_Pin,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(M04_GND_GPIO_Port, M04_GND_Pin,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOG, M04_3_3V_Pin|M04_EN_L_Pin,
GPIO_PIN_SET);
HAL_GPIO_WritePin(M04_EN_R_GPIO_Port, M04_EN_R_Pin,
GPIO_PIN_SET);
*****END OF FILE****/
3.4.2. Code lập trình ROS cho TX2 điều khiển cho robot
- Node lấy tín hiệu từ Lidar
<launch>
PL23
<arg name="serial_port_lidar" default = "/dev/ttyUSB1"/>
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode"
output="screen">
<param name="serial_port" type="string" value="$(arg
serial_port_lidar)"/>
<param name="serial_baudrate" type="int" value="115200"/><!--
A1/A2 -->
<!--param name="serial_baudrate" type="int" value="256000"--><!--
A3 -->
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
</node>
</launch>
Hình PL3.17. Cấu trúc lập trình phần mềm
PL24
- Node lấy tín hiệu từ Camera Astra
<!-- Entry point for using OpenNI2 devices -->
<launch>
<!-- "camera" should uniquely identify the device. All topics are pushed
down
into the "camera" namespace, and it is prepended to tf frame ids. -->
<arg name="camera" default="camera" />
<arg name="rgb_frame_id" default="$(arg camera)_rgb_optical_frame" />
<arg name="depth_frame_id" default="$(arg
camera)_depth_optical_frame" />
<!-- device_id can have the following formats:
"#n" : the nth device found, starts from 1
"2@n" : the nth device on USB bus 2, n starts from 1
"2bc5/0401@1/6" : uri in format <vendor ID>/<product ID>@<bus
number>/<device number>
"15120410023" : serial number -->
<arg name="device_id" default="#1" />
<arg name="bootorder" default="0" />
<arg name="devnums" default="1" />
<!-- By default, calibrations are stored to
file://${ROS_HOME}/camera_info/${NAME}.yaml,
where ${NAME} is of the form "[rgb|depth]_[serial#]", e.g.
"depth_B00367707227042B".
See camera_info_manager docs for calibration URL details. -->
<arg name="rgb_camera_info_url" default="" />
<arg name="depth_camera_info_url" default="" />
<!-- Hardware depth registration -->
<arg name="depth_registration" default="false" />
- Node tính toán vị trí robot
<launch>
<node pkg="rf2o_laser_odometry" type="rf2o_laser_odometry_node"
name="rf2o_laser_odometry" output="screen">
PL25
<param name="laser_scan_topic" value="/scan"/> # topic where the
lidar scans are being published
<param name="odom_topic" value="/odom" /> # topic where tu
publish the odometry estimations
<param name="publish_tf" value="true" /> # wheter or not to
publish the tf::transform (base->odom)
<param name="base_frame_id" value="/base_footprint"/> #
frame_id (tf) of the mobile robot base. A tf transform from the laser_frame to the
base_frame is mandatory
<param name="odom_frame_id" value="/odom" /> # frame_id
(tf) to publish the odometry estimations
<param name="init_pose_from_topic" value="" /> # (Odom topic) Leave
empty to start at point (0,0)
<param name="freq" value="5.0"/> # Execution
frequency.
<param name="verbose" value="false" /> # verbose
</node>
</launch>
- Node tính toán bộ điều khiển
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<rosparam command="load" file="$(find
ros_robotics)/config/vast_controller.yaml" />
<!-- load the controllers -->
<node name="controller_spawner" pkg="controller_manager"
type="spawner" respawn="false"
output="screen" ns="vast_robot" args="joint1_position_controller
joint2_position_controller joint3_position_controller
joint4_position_controller "/>
<!-- convert joint states to TF transforms for rviz, etc -->
PL26
<node name="robot_state_publisher" pkg="robot_state_publisher"
type="robot_state_publisher"
respawn="false" output="screen">
<remap from="/joint_states" to="/vast_robot/joint_states" />
</node>
</launch>
<?xml version="1.0"?>
<launch>
<!-- Declare the arguments -->
<!--arg name="node_start_delay" default="2.0" /-->
<arg name="serial_UART" default = "/dev/ttyUSB0"/>
<arg name="serial_lidar" default = "/dev/ttyUSB1"/>
<include file="$(find
ros_robotics)/launch/practical/practical_robot.launch"></include>
<include file="$(find my_serial_node)/launch/serial_port.launch">
<arg name="serial_port_UART" value="$(arg serial_UART)"/>
</include>
<include file="$(find rplidar_ros)/launch/rplidar.launch">
<arg name="serial_port_lidar" value="$(arg serial_lidar)"/>
</include>
<include file="$(find
timed_roslaunch)/launch/timed_roslaunch.launch">
<arg name="time" value="2" />
<arg name="pkg" value="rf2o_laser_odometry" />
<arg name="file" value="rd2o_laser_odometry.launch" />
<arg name="node_name" value="timed_roslaunch" /> <!-- This is an
optional argument -->
PL27
</include>
<!--include file="$(find
rf2o_laser_odometry)/launch/rf2o_laser_odometry.launch"></include>
<arg name="node_start_delay" default="2.0" /-->
<include file="$(find gmapping)/launch/slam.launch"></include>
<node pkg="move_base" type="move_base" respawn="false"
name="move_base" output="screen">
<rosparam file="$(find
ros_robotics)/practical_config/costmap_common_params.yaml"
command="load" ns="global_costmap" />
<rosparam file="$(find
ros_robotics)/practical_config/costmap_common_params.yaml"
command="load" ns="local_costmap" />
<rosparam file="$(find
ros_robotics)/practical_config/local_costmap_params.yaml"
command="load" />
<rosparam file="$(find
ros_robotics)/practical_config/global_costmap_params.yaml"
command="load" />
<rosparam file="$(find
ros_robotics)/practical_config/teb_local_planner_omni_params.yaml"
command="load" />
<param name="base_global_planner"
value="global_planner/GlobalPlanner" />
<param name="planner_frequency" value="1.0" />
<param name="planner_patience" value="5.0" />
<param name="base_local_planner"
PL28 value="teb_local_planner/TebLocalPlannerROS" />
<param name="controller_frequency" value="5.0" />
<param name="controller_patience" value="15.0" />
</node>
<!-- Show in Rviz
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find
ros_robotics)/rviz/vast01.rviz" required="true" output="screen"/> -->
</launch>
Recommended