127
BGIÁO DỤC VÀ ĐÀO TẠO VIN HÀN LÂM KHOA HC VÀ CÔNG NGHVIT NAM HC VIN KHOA HC VÀ CÔNG NGH……..….***………… HÀ THKIM DUYÊN ĐIỀU KHIN MẶT ĐỘNG THÍCH NGHI BÁM QUĐẠO CHO ROBOT THÀNH BỐN BÁNH ĐA HƯỚNG LUN ÁN TIẾN SĨ KỸ THUT ĐIỆN, ĐIỆN TVÀ VIN THÔNG Hà Ni - 2020

H C VIỆN KHOA HỌC VÀ CÔNG NGH

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 2: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 3: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 4: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 5: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 6: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 7: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 8: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 9: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ệ

Page 10: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 11: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 12: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 13: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 14: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 15: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 16: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 17: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ó

Page 18: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 19: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 20: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 21: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ế…

Page 22: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 23: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 24: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ế…

Page 25: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 26: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 27: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 28: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ệ

Page 29: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 30: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 31: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 .

Page 32: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 33: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 34: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 35: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 .

Page 36: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 37: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

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

Page 38: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 39: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 40: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 41: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ố

Page 42: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 .

Page 43: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 44: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ó:

Page 45: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 46: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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:

Page 47: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 48: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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)

Page 49: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 50: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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].

Page 51: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 52: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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τ

Page 53: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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!

Page 54: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 55: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 56: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 57: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 58: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 59: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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μ

Page 60: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 61: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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:

Page 62: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 63: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 64: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 65: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ệ

Page 66: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 67: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 68: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 69: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 70: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 71: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 72: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 73: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 74: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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Θ

Page 75: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 76: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 77: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 78: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ế.

Page 79: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 80: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ế.

Page 81: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 82: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 83: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 84: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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:

Page 85: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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:

Page 86: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 87: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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ế.

Page 88: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 89: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 90: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 91: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 92: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 93: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 94: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 95: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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,

Page 96: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 97: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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-

Page 98: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 99: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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.

Page 100: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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);

Page 101: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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);

Page 102: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 103: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 104: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 105: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 106: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 107: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 108: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 109: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 110: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 độ

Page 111: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 112: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 113: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 114: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 115: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 116: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 117: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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"

Page 118: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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);

Page 119: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 120: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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);

Page 121: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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>

Page 122: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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

Page 123: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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">

Page 124: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 -->

Page 125: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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 -->

Page 126: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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"

Page 127: H C VIỆN KHOA HỌC VÀ CÔNG NGH

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>