Professional Documents
Culture Documents
LA KHẢI KHẢI
LA KHẢI KHẢI
Qua khóa học và quá trình hoàn thành luận văn, tôi đã lĩnh hội được nhiều kiến
thức, nhận được nhiều sự quan tâm giúp đỡ từ các Cấp lãnh đạo, của các quý thầy cô
cùng bạn bè đồng nghiệp.
Bên cạnh đó tôi đã thu thập và phát triển thêm nhiều kiến thức bổ ích cho công
viện hiện tại cũng như sự nghiệp trong tương lai, gặp gỡ được những người Thầy
uyên bác và tâm huyết cùng những người bạn đáng quý.
Xin chân thành cảm ơn Ban lãnh đạo nhà trường, Khoa sau đại học, Khoa Cơ
Điện – Điện Tử trường Đại Học Lạc Hồng và quý Thầy Cô tham gia giảng dạy lớp
cao học Ngành Kỹ thuật điện khóa 1, tạo điều kiện và hỗ trợ tôi trong thời gian học
tập và nghiên cứu.
Đặc biệt, xin gởi lời cảm ơn sâu sắc đến Thầy TS. Lê Phương Trường đã tận
tình hướng dẫn, hỗ trợ tôi trong quá trình nghiên cứu và hoàn thành luận văn này.
Trong suốt quá trình làm luận văn tôi đã nổ lực hết sức nhưng chắc chắn không
tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp xây dựng của
quý Thầy Cô, các anh chị và bạn bè đồng nghiệp.
La Khải Khải
LỜI CAM ĐOAN
Tôi xin cam đoan công trình nghiên cứu này là của tôi. Các số liệu, kết quả nêu
ra trong luận văn này là trung thực và chính xác. Thuật toán, mô hình mô phỏng và
thực nghiệm trong luận văn là do chính tác giả nghiên cứu.
Học viên thực hiện
La Khải Khải
TÓM TẮT
Đề tài đưa ra phương pháp Thiết kế và thi công thuật toán điều khiển 3 bánh xe
đa hướng trên robot tự hành. Hệ thống bao gồm động cơ Planet DC 60W cho 3 bánh,
3 bộ encoder phản hồi tốc độ, một bộ encoder phản hồi khoảng cách di chuyển, một
cảm biến la bàn kỹ thuật số đo góc quay. Hệ thống phần cứng bao gồm một hệ thống
chính để điều khiển hướng di chuyển và góc robot thông qua việc điều khiển ba bánh
xe Omni dựa trên tín hiệu nhận được từ cảm biến la bàn và bộ encoder đo khoảng
cách và sau đó nó điều khiển ba bộ driver để điều chỉnh tốc độ và chiều từng bánh
xe. Mỗi driver chỉ điều khiển một động cơ DC cho mỗi bánh xe Omni với thuật toán
PID tích hợp. Hệ thống chính được phát triển dựa trên STM32F407 và hệ thống phụ
là vi điều khiển STM32F103. Trong đó, thuật toán định hướng được phát triển để
điều khiển ba bánh xe Omni và thuật toán PID được áp dụng để điều khiển động cơ
tốc độ động cơ DC cho mỗi bánh xe. Từ kết quả thu được, hệ thống có các ưu điểm
sau (1) tự động điều chỉnh góc và vị trí; (2) bỏ cảm biến dò vạch cho robot tự hành;
(3) giảm chi phí hiệu quả; (4) độ chính xác cao.
MỤC LỤC
LỜI CẢM ƠN ................................................................................................................ 3
LỜI CAM ĐOAN .......................................................................................................... 4
MỤC LỤC ...................................................................................................................... 6
DANH MỤC HÌNH ...................................................................................................... 7
CHƯƠNG 1: TỒNG QUAN ........................................................................................ 35
1.1 Đặt vấn đề........................................................................................................... 35
1.2 Các nghiên cứu về bánh xe đa hướng omni khác ............................................. 35
1.3 Các nội dung nghiên cứu ................................................................................... 38
1.4 Mục tiêu của đề tài ............................................................................................. 38
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG MÔ HÌNH ROBOT BA BÁNH OMNI
........................................................................................................................................ 40
2.1 Thiết kế cơ khí hệ thống thực nghiệm ................................................................. 41
2.1.1 Bánh xe đa hướng (Omni wheel) .................... Error! Bookmark not defined.
2.1.2 Thiết kế cơ khí ............................................................................................... 43
2.2 Thiết kế hệ thống điện điều khiển ....................................................................... 46
2.2.1 Mạch điều khiển chính – STM32F407 MCU ............................................... 46
2.2.2 Mạch điều khiển PID .................................................................................... 51
2.2.3 La bàn ............................................................................................................ 54
2.2.4 Encoder ......................................................................................................... 52
CHƯƠNG 3 : XÂY DỰNG MÔ HÌNH THUẬT TOÁN ĐIỀU KHIỂN BA
BÁNH XE ĐA HƯỚNG ............................................................................................. 54
3.1 Xây dựng phương trình chuyển động. .............................................................. 55
3.2 Xây dựng phương trình vận tốc đầu vào cho mỗi bánh xe ................................ 56
3.3 Phương trình góc quay của robot tự hành .......................................................... 57
3.4. Phương trình PID ............................................................................................... 57
3.5 Sơ đồ thuật toán .................................................................................................. 57
CHƯƠNG 4: KẾT QUẢ VÀ THẢO LUẬN ........................................................... 59
CHƯƠNG 5: KẾT LUẬN ......................................................................................... 63
TÀI LIỆU THAM KHẢO ........................................................................................... 1
DANH MỤC HÌNH
Hình 1. Bánh xe đa hướng Mecanum ............................................................................... 35
Hình 2. Bánh xe đa hướng Omni ..................................................................................... 35
DANH MỤC BẢNG
Bảng 1. So sánh với những thuật toán khác trong điều khiển Omni và Mecanum ............. 36
Bảng 2. Phương trình chuyển động 3 và 4 bánh Omni ..................................................... 37
CHƯƠNG 1: TỒNG QUAN
1.1 Đặt vấn đề
Cuộc thi Sáng tạo robot Châu Á Thái Bình Dương (The ABU Asia-Pacific
Robot Contest) là một thách thức khoa học, nơi để áp dụng nghiên cứu tiên tiến để
tạo ra và phát triển Robot với nhiệm vụ định sẵn trong các lĩnh vực như tự động hóa,
điện tử, xử lý hình ảnh và hệ thống cơ điện tử. Tốc độ của robot tự động kết hợp với
độ chính xác cao là rất quan trọng trong cuộc thi này. Hơn hết, bánh xe của robot tự
trị là Mecanum hoặc Omni, là giải pháp tốt nhất, đơn giản nhất và linh hoạt nhất cho
việc di chuyển đa hướng của robot trong cuộc thi. Cấu trúc của bánh xe Omni và bánh
mecanum được thể hiện trong Hình 1.
Bảng 1. So sánh với những thuật toán khác trong điều khiển Omni và Mecanum
Side-slip
angle
Omni None Directional 4 Boyuan Li [3]
estimation
method
Model
Predictive
Control and PIC32 family of
Omni Directional 3
Microcontroller Jessivaldo Santos
filtered
[4]
Smith
predictor
Barrel-
two-wheel-
shaped Arduino Tatsuro
Omni drive omni- 3
friction- Mega2560 Terakawa[5]
directional
driven
closed-loop
control and
Mitsubishi
dead-
Mecanum M16C/62 Directional 4 J.ACooney [6]
reckoning
microcontroller
for
navigation
Kinematic
Mecanum none Directional 4 Shuai Guo [7]
equation
Spiral Nucleo-F411
None Directional 4 ]Yamada N, [8]
Mecanum RE
PID, STM32F407
Directional,
directional Omni Microcontrolle 3 Proposed system
position
– algorithm rs
Ngoài ra, bánh xe Mecanum và Omni đã được điều khiển dựa trên phương trình
chuyển động. Một số tác giả đã được chứng minh tính chính xác của phương trình
chuyển động để điều khiển hướng Omni. Bảng 2 cho thấy phương trình chuyển động
với bánh xe 3 và 4 Omni.
2.1 Mô tả hệ thống
Di chuyển từ vị trí đầu đến vị trí cuối một cách chính xác và nhanh là mục tiêu
hàng đầu cho các tất cả robot hay những thiết bị tương tự làm việc trong môi trường
đồi hỏi phải di chuyển. Đề tài xây dựng mô hình di chuyển đa hướng với 3 bánh xe
đa hướng được điều khiển bởi bộ điều khiển trung tâm sử dụng STM32F407VET6
thông qua các cảm biến hồi tiếp về như IMU và Encoder. Bộ điều khiển trung thu
thập các thông số từ cảm biến sau đó so sánh với thông số cài đặt ban đầu bằng thuật
toán điều khiển mà đề tài xây dựng, sau khi tính toán xong sẽ truyền tín hiệu điều
khiển tới 3 động cơ để điều khiển 3 bánh xe đa hướng làm cho robot di chuyển đúng
theo hướng và quảng đường di chuyển mà chúng ta mong muốn.
Ở Hình 1 cho thấy sơ đồ nguyên lý của ba hệ thống đa hướng Omni bao gồm
hệ thống cơ học, mạch điều khiển chính dựa trên MCU STM32F407, 3 hệ thống mạch
điều khiển PID được điều khiển bởi MCU STM32F103 kết hợp nền tảng lập trình
C#. Hệ thống ba bộ encoder dùng để phản hồi tốc độ của từng bánh xe trong các điều
kiện hoạt động thực tế để việc điều khiển PID thông qua mạch điều khiển PID MCU
STM32F103. Bên cạnh đó, một cảm biến la bàn được chế tạo để đo chuyển động góc
của hệ thống và 1 bộ encoder phản hồi dữ liệu khoảng cách đường đi về MCU
STM32F407 dựa trên giao thức được cấu hình trong C#.
Mạch điều khiển chính (MCU STM32F407) với thuật toán điều khiển góc,
hướng di chuyển, tốc độ và khoảng cách. Từ đó thuật toán sẽ tính toán tốc độ và góc
của mỗi bánh xe dựa trên phản hồi dữ liệu của cảm biến la bàn và hệ thống encosder
đo khoảng cách. Hơn nữa, hệ thống mạch điều khiển phụ với thuật toán PID tích hợp
dựa trên MCU STM32F103 đảm bảo tốc độ điều khiển mỗi bánh xe chính xác như
tính toán của mạnh điều khiển chính (MCU STM32F407).
STM32F407MCU
Main system
Compass sensor
Digital PID
signal control
Digital Control angle and distance
signal algorithm
Encorder Distance
Wheel
STM32F103 MCU
8h
Sub system
Khác với loại bánh xe truyền thống, những thiết bị sử dụng bánh đa hướng có
những ưu điểm vượt trội như: khả năng thay đổi vị trí và định hướng linh hoạt, độ
chính xác cao..., bởi vì chúng có khả năng dịch chuyển và quay đồng thời hoặc độc
lập, vì vậy thiết bị di động đa hướng đã thu hút được nhiều sự chú ý hơn. Thiết bị sử
dụng bánh đa hướng có thể di chuyển theo bất kỳ hướng nào, ở bất kỳ góc nào mà
không cần quay trước khi di chuyển. Vì có khả năng như vậy nên thiết bị sử dụng
bánh đa hướng có khả năng tiết kiệm năng lượng so với những thiết bị sử dụng bánh
xe thông thường. Sau đây là một số mẫu bánh đa hướng đã được sử dụng:
Hình. XX. Một số bánh xe đa hướng được sử dụng
Đề tài xây dựng thuật toán điều khiển bánh xe đa hướng dựa trên một robot
được gắn trên nó 3 bánh xe đa hướng. Để thực hiện khả năng di chuyển như mục tiêu
của đề tài, robot phải có 3 bậc tự do trong mặt phẳng di chuyển (mp xoy), gồm: di
chuyển độc lập trong mặt phẳng oxy và xoay quanh trục z. Do đó, cần tối thiểu 3
bánh xe đa hướng với các động cơ điều khiển độc lập, vì mỗi động cơ cho khả năng
điều khiển một bậc tự do. Các bánh xe được gắn lên robot và lệch nhau một góc 120
độ như hình x.x.
Hình x.x Mô hình 3 bánh xe omni được thiết kế lệch nhau 120 độ
Đề tài sử dụng 3 bánh xe omi đôi kết cấu bằng khung nhôm có đường kính là
127mm với số bánh vệ tinh là 11 và được làm bằng cao su mềm (Hình x.x)
(a) (b)
Hình x.x Hình bánh xe omni 3D trên solidwork (a) Hình bánh xe omni thực tế (b)
Các bánh xe được truyền động bằng động cơ planet 24VDC-60W có hộp số
nhông hành tinh với tỷ số truyền là 1:19.2 với tốc độ động cơ trước hộp số là 9000
vòng/phút và có encoder hồi tiếp 500 xung/vòng (Hình x.x).
Hình x.x Động cơ palnet
Toàn bộ khung robot được làm từ thép không gỉ, với kích thước tổng thể 550mm
X 550mm X 170mm. Hình ảnh thiết kế robot trên phân mềm solidworks và hình ảnh
thực tế
Hình x.x Hình 3D robot được thiết kế trên phần mềm solidworks
Omni Wheel
direction 4h
Compass sensor
Omni Wheel
directional 8h
Planet DC motor
Planet DC motor
And encoder
And encoder
Main-interface
circuitry
Planet DC motor
Bluetooth HC05
And encoder
Dựa trên cơ sơ STM32F4 tác giả đã thiết kế mạch chủ với phù hợp với nhu cầu
sử dụng của đề tài cũng như ứng dụng vào việc làm mạch chủ cho những robot hoặc
hệ thống điều khiển tương tự. Mạch được thiết kế trên phần mềm Altium Desiner
dưới đây là hình ảnh 3D và ảnh thược tế cua mạch chủ.
Hình x.x Sơ đồ mạch nguyên lý mạch chủ STM32F4 (Em nên tách từng khối ví dụ
khối nguồn, khối cảm biến…..)
Mạch driver được tác giả sử dụng để quản lý tốc độ động cơ. Mạch chủ có nhiệm
vụ truyền vận tốc xuống từng mạch driver tương ứng, các driver chỉ quản lý tốc độ
động cơ theo yêu cầu chứ không phản hồi về mạch điều khiển trung tâm.
2.2. 1Hệ thống cảm biến
2.2.4 Encoder
Đề tài sử dụng encoder 500 xung trên 1 vòng và được gắn vào 1 bánh xe omni
có đường kính 45mm. Bánh omni gắn trên encoder được gắn lên 1 cơ cấu trượt có
trục thẳng đứng vuông góc với mặt phẳng chạy để đảng báo lúc robot di chuyển bánh
xe omni encoder sẽ luôn được tiếp xúc với mặt sàn đảm bảo việc đo khoản cách di
chuyển là chính xác nhất. Do robot 3 bánh di chuyển đa hướng nên tác giả phải chọn
bánh xe encoder đo đường đi là bánh xe đa hướng và trên 1 robot sẽ có 2 encoder đo
đường theo 2 phương x và y trên mặt phẳng di chuyển.
Thông số kỹ thuật Giá trị
Hộp trượt
Omni đường
kính 45mm
Encoder
5V-500 xung
2.2.3 La bàn
Trong đề tài này, tác giả sử dụng IMU để đọc giá trị góc quay của robot. Đây là
cơ sở chủ đạo để thuật toán điều khiển 3 bánh xe dự vào để tính toán tốc độ từng bánh
xe khi robot di chuyển. IMU được thiết kế dự trên cảm biến MPU6050 và được 1
MCU lấy thông số từng trục sau đó dùng thuật toán lọc tín hiệu từng trục rồi truyền
về mạch chủ theo giao thức UART. Mạch chủ chỉ cần lấy dữ liệu từ IMU về sau đó
xác định xem robot đi đúng góc hay không. Ở đây, đề tài chỉ sử dung thông số của 1
trục Z chứ không dùng thông số của trục X và Y.
Hình x.x
Khác với loại robot tự hành sử dụng bánh truyền thống, robot tự hành sử
dụng 3 bánh đa hướng của tác giả có những ưu điểm vượt trội như: khả năng
thay đổi vị trí và định hướng linh hoạt, độ chính xác cao..., bởi vì chúng có khả
năng dịch chuyển và quay đồng thời hoặc độc lập. Trong kỹ thuật điều khiển
chuyển động của robot đa hướng vấn đề bám quỹ đạo và tác động nhanh là rất
cần thiết. Robot sử dụng 3 bánh omni có thể di chuyển theo bất kỳ hướng nào,
ở bất kỳ góc nào mà không cần quay trước khi di chuyển. Vì có khả năng như
vậy nên robot omni có khả năng tiết kiệm năng lượng so với robot sử dụng
bánh xe thông thường. Để thực hiện khả năng di chuyển đó,robot omni phải có
3 bậc tự do trong mặt phẳng di chuyển (mp xoy), gồm: di chuyển độc lập theo
các trục x, y và xoay quanh trục z.
Hình x.x: Khả năng linh hoạt của robot 3 bánh omni.
Do đó cần tối thiểu 3 bánh omni với các động cơ điều khiển độc lập, vì
mỗi động cơ cho khả năng điều khiển một bậc tự do. Ở đây tác giả chọn giải
pháp là 3 bánh xe omni được liên kết với nhau theo 1 hình tam giác cân có 3
bánh xe dc gắn ở 3 đỉnh tam giác cân đó. Robot gồm ba bánh xe đa hướng cách
đều góc 120°. Ba bánh xe đa hướng có cùng bán kính r và được đều động bởi
các động cơ DC. Tâm dịch chuyển của OMR đặt tại C và giả định trùng với
tâm hình học. L là khoảng cách từ tâm bánh xe đến điểm C . OXY là hệ tọa độ
tham chiếu toàn cục, CX 0Y0 là hệ tọa độ tham chiếu cục bộ, gắn liền với OMR.
.. .
A z B z C ( ) v(t) (1)
Trong đó z là vector trạng thái còn v là vận tốc điều khiển được viết lại như sau:
x v1
z y v v2
, , và (2)
v
3
m 3
0 0 2 0 0
3
A0 0 , B 0
0
m
(3)
2
0 h 0 3 L
0 0
L
sin sin sin
3 3
C cos cos cos (4)
3 3
1 1 1
và
𝜔𝜃 = [-1, 1] (9)
Xét trường hợp 1: Giá trị của = 0 robot tự hành tiếp tục di chuyển.
Xét trường hợp 2: Giá trị của 0 hệ thống cần điều khiển góc xoay theo
phương trình dưới đây:
a (11)
Set-up angular,
speed
Reset compass
sensor
False
Current speed = speed Re-calculate Calculate the
setup speed rotation angular
False
True
True
Keep current speed
End
4000 40
Desired position for Adjust angle
forward directional Adjust postion
The positional feedback from encoder
2000 30
Target postion
Angle (degree)
0 20
-4000 0
0 2 4 6 8 10 12
Time (s)
20
Wheel 4h
Speed of each wheel (Rpm)
Wheel 4h
0
-20
Wheel 0h
-40
Wheel 0h
-60 Wheel 8h
-80
-100
0 2 4 6 8 10 12
Time (s) `
Hình 4. Điều chỉnh tốc độ lái của từng bánh xe đa hướng
e xi xˆi (13)
Trong đó xi và x̂i là các giá trị thứ i của phép đo và tính toán, n là tổng số mẫu
lấy được. Kết quả phân tích chênh lệch tốc độ đầu ra đa hướng cho mỗi bánh xe được
mô tả trong hình 5.
6
Wheel 0h
5
Wheel 4h
4 Wheel 8h
3
Difirence of speed (rpm)
-1
-2
-3
-4
0 2 4 6 8 10 12
Time (s)
Hình 5. Phân tích sự khác biệt giữa kết quả đo và tính toán
Khoản cách khác nhau giữa tốc độ đầu ra của bánh xe đa hướng của từng tốc độ
được liệt kê trong Bảng 3. Hơn nữa, lỗi bình phương trung bình gốc (RMSE) tương
ứng với tham chiếu đến mô phỏng được đưa ra tương ứng bởi Chouder và cộng sự,
[12]
n
x xˆ i i
2
RMSE i 1
(14)
n
Bảng 3. Phân tích sự khác biệt hệ thống đề xuất
e(rpm) RMSE (rpm)
Wheel 0h -3 5 1.66
Wheel 4h -3 1 0.59