TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA CƠ ĐIỆN – ĐIỆN TỬ
BÁO CÁO
NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
ROBOT HAI BÁNH TỰ CÂN BẰNG
TRÀ TI NA
NGUYỄN TẤN HẬU Sinh viên thực hiện: TRÀ TI NA
NGUYỄN TẤN HẬU
Giáo viên hướng dẫn: ThS. LÊ HOÀNG ANH
BIÊN HÒA, THÁNG 12/2013
i
LỜI CẢM ƠN
Trong thời gian hiện đề tài nghiên cứu khoa học đó là một trong những bƣớc
ngoặt cuối cùng đánh dấu sự trƣởng thành của một sinh viên ở giảng đƣờng đại học.
Để trở thành một cử nhân hay một kỹ sƣ đóng góp những gì mình đã học đƣợc cho
sự phát triển đất nƣớc.
Lời đầu tiên chúng em xin chân thành cảm ơn sự hƣớng dẫn tận tình của thầy
ThS. Lê Hoàng Anh, khoa Cơ điện – Điện tử, trƣờng Đại học Lạc Hồng. Trong suốt
thời gian thực hiện đề tài, thầy đã dành nhiều thời gian để hƣớng dẫn chúng em thực
hiện đề tài. Thầy đã hƣớng dẫn chúng em tìm hiểu những kiến thức cần thiết để thực
hiện đề tài. Bên cạnh đó chúng em cũng xin gởi lời cảm ơn chân thành đến thầy
ThS. Đỗ Bình Nguyên, thầy luôn nhiệt tình hƣớng dẫn, sẵn sàng giúp đỡ khi chúng
em gặp khó khăn trong việc lập trình, thiết kế bo mạch.
Em cũng xin chân thành cảm ơn các thầy cô trong khoa Cơ điện – Điện tử,
Chƣơng 2: THIẾT KẾ MÔ HÌNH HỆ THỐNG 7
2.1 Sơ đồ khối của hệ thống 7
2.2 Tính toán và thiết kế cho mô hình hệ thống 7
2.3 Mô hình robot hai bánh thực tế 10
2.4 Hệ thống điện trên mô hình robot 11
2.4.1 Mạch điều khiển Arduino Due 11
2.4.2 Mạch điều khiển động cơ 12
iii
2.4.3 Cảm biến IMU GY-86 13
2.4.4 Động cơ DC 13
2.4.5 Nguồn điện 14
2.5 Các phƣơng thức giao tiếp 15
2.5.1 Điều xung độ rộng xung PWM 15
2.5.2 Giao thức I
2
C 16
2.5.3 Giao tiếp UART 18
2.6 Thu thập dữ liệu 20
Chƣơng 3: XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN CÂN BẰNG 21
3.1 Nguyên lý điều khiển cân bằng 21
3.2 Bộ lọc Kalman 21
3.2.1 Giới thiệu 21
3.2.2 Bộ lọc Kalman rời rạc 22
3.2.2.1 Quá trình ƣớc lƣợng 23
3.2.2.2 Giải thuật lọc Kalman rời rạc 20
3.3 Xây dựng bộ lọc Kalman áp dụng cho cảm biến IMU 25
3.4 Giải thuật điều khiển PID 31
3.5 Xây dựng giải thuật PID điều khiển robot 33
3.6 Giải thuật điều khiển robot cân bằng bám theo vị trí ban đầu 35
DANH MỤC CÁC TỪ VIẾT TẮT
CPU - Central Processing Unit
DAC - Digital to Analog Converter
DC - Direct Current
EEPROM - Electrically Erasable Programmable Read Only Memory
FET - Field-Effect Transistor
IC - International Circuit
I/O - Input / Output
I
2
C - Inter Intergrated Circuit
IMU - Inertial Measurement Unit
JTAG - Joint Test Action Group
LED - Light Emitting Diode
LSB - Least Significant Bit
MSB - Most Significant Bit
OTG - On The Go
PC - Personal Computer
PID - Proportional Integral Derivative
PWM - Pulse Width Modulation
SCL - Simply Connect Last
SDA - Serial Data Line
SPI - Serial Peripheral Interface
SRAM - Static Random Access Memory
TWI - Two-Wire Inter
UART - Universal Asynchronous Receiver – Transmitter
USB - Universal Serial Bus
VAV - Unmanned Aerial Vehicle
Hình 3.4 Hệ thống điều khiển vòng kín 32
Hình 3.5 Đổ thị biễu diễn hệ số PID theo thời gian 33
Hình 3.6 Robot cân bằng bám theo vị trí ban đầu 35
vii
Hình 3.7 Sơ đồ thuật giải robot bam theo vị trí ban đầu 36
Hình 4.1 Biểu đồ so sánh góc nghiêng theo trục y của bộ lọc Complementary, bộ
lọc Kalman và góc nghiêng theo trục y thu trực tiếp từ cảm biến IMU 37
Hình 4.2 Biểu đồ so sánh thời gian đáp ứng giữa bộ lọc Complementary và bộ lọc
Kalman… 38
Hình 4.3 Biểu đồ mô so sánh độ ổn định ngõ ra của bộ lọc Kalman với bộ lọc
Complementary 38
Hình 4.4 Góc nghiêng theo trục y của robot khi thực hiện giải thuật cân bằng 39
Hình 5.1 Robot đang thực hiện việc cân bằng 41
1 Chương 1
GIỚI THIỆU
1.1 Giới thiệu
Cùng với phát triển của khoa học kỹ thuật, ngày nay robot có khả năng thay
thế con người làm việc trong những môi trường độc hại, trong sản xuất hoặc bắt
chước con người về hình thức, hành vi và cả suy nghĩ Hiện nay lĩnh vực robot
đang phát triển nhanh nhờ vào sự phát triển liên tục của công nghệ, robot đã và
đang được chế tạo để phục vụ cho nhiều mục đích khác nhau. Với ý tưởng sử dụng
robot thay thế con người thì “Robot hai bánh tự cân bằng” cũng là đề tài hiện đang
được nhiều tác giả quan tâm vì mô hình robot này có khả năng di chuyển nhanh,
linh hoạt nhưng lại không chiếm nhiều không gian [1], [3].
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng mô hình robot hai bánh thực tế có khả năng tự
cân bằng có cấu trúc đơn giản phục vụ cho việc nghiên cứu, giảng dạy tại phòng thí
nghiệm, mô hình sản phẩm trưng bày hay những trò chơi với mục đích giải trí.
1.3 Phương pháp nghiên cứu
Hình 1.2 Robot hai bánh cân bằng nBot
1.5.2.2 EquipoiseBot
EquipoiseBot sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay
hồi chuyển. Góc nghiêng của robot được tính toán từ hai giá trị khác nhau. Một từ
cảm biến gia tốc bằng cách sử dụng thuật toán Tangens-Funktion và một từ cảm
biến con quay hồi chuyển sử dụng phương pháp tích phân. Hai giá trị này được kết
hợp trong một bộ lọc để cho ra một giá trị mới và được sử dụng cho đầu vào bộ PID
để điều khiển các động cơ, giữ cho robot cân bằng.
Hình 1.3 Robot hai bánh cân bằng EquipoiseBot
4 1.5.2.3 WobblyBot
WobblyBot thực chất là mô hình sử dụng con lắc ngược, được gắn dưới phần
thân ở giữa hai bánh xe. WobblyBot được thiết kế với phần dưới của robot nặng
hơn nhiều so với phần trên giúp robot có khả giữ cân bằng tốt nhất.
Hình 1.4 Robot hai bánh cân bằng WobblyBot
1.5.2.4 tiltOne
tiltOne là một robot hai bánh cân bằng với chiều cao 90 cm và có khả năng
chở tải trọng lên tới 50 kg. Nguyên lý hoạt động cũng giống như các robot hai bánh
có kích thước nhỏ hơn, sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con
quay hồi chuyển và thuật toán PID để điều khiển robot cân bằng.
Hình 1.5 Robot hai bánh cân bằng tiltOne
theo vị trí ban đầu.
Chương 4: KẾT QUẢ THỰC NGHIỆM
Chương 4 trình bày kết quả thực nghiệm về độ chính xác khi sử dụng bộ lọc
Complementary, bộ lọc Kalman so với dữ liệu thô từ cảm biến, xây dựng giải thuật
điều khiển PID trên mô hình thực tế.
Chương 5: KẾT LUẬN
Nội dung chương 5 trình bày tóm tắt các kết quả mà đề tài đã đạt được và
hướng phát triển để khắc phục những giới hạn nhằm hoàn thiện đề tài tốt hơn.
7
0
A B
C
α
AB = ?
b) Trạng thái robot đang ở
góc nghiêng 20 so với góc
tại vị trí cân bằng
0
Hình 2.2 Quãng đường robot cần di chuyển để thực hiện cân bằng khi nghiêng một
góc 20
0
so với góc tại vị trí cân bằng
8 Như mô tả trong Hình 2.2 để robot có thể giữ được cân bằng khi ngã thì
robot phải di chuyển một đoạn đường là trong khoảng thời gian cho phép để
có thể hứng được trọng tâm của robot, các giá trị này được tính toán như sau:
(2.1)
50 cm
a) Robot ở trạng
thái cân bằng
50 cm
20
0
70
88.01
0
88.27
0
88.45
0
50
88.32
0
88.05
0
88.23
0
88.41
0
100
88.01
0
87.77
0
0
9 250
87.71
0
87.30
0
88.07
0
88.41
0
300
87.69
0
87.45
0
87.17
0
88.10
0
85.40
0
86.17
0
86.35
0
500
85.27
0
85.13
0
85.57
0
85.91
0
550
84.08
0
84.49
0
0
700
82.13
0
82.14
0
82.53
0
82.66
0
750
80.12
0
80.71
0
80.40
0
81.61
0
800
78.12
70.79
0
73.06
0
950
66.32
0
64.82
0
66.54
0
70.19
0Dữ liệu thu thập được trong Bảng 2.1 cho thấy khi thả robot ngã tự do từ vị trí
cân bằng là 88
0
(đây là góc nghiêng tại vị trí cân bằng thu được từ cảm biến trên mô
hình thực tế, góc này sai lệch so với góc nghiêng lý tưởng do giới hạn về cơ khí của
mô hình) đến góc nghiêng giới hạn 88 ± 20
0
trong khoảng thời gian trung bình là
950 ms, đây cũng là giá trị thời gian giới hạn cần thiết để robot di chuyển để giữ
DC planet
Công suất
60W
Moment xoắn
63 N.cm
Tốc độ chưa qua bộ giảm tốc
9000 vòng/phút
Tốc độ khi đã qua bộ giảm tốc
468 vòng/phút
2.3 Mô hình robot hai bánh thực tế
Đề tài sử dụng bo mạch Arduino Due AT91SAM3X8E đóng vai trò như “bộ
não” của robot, điều khiển cho robot giữ cân bằng. Khung robot được chế tạo từ
inox với hai động cơ DC được đặt đồng trục, cho phép robot có thể di chuyển được
theo hai hướng trước và sau. Hai động cơ được điểu khiển bởi hai mạch cầu H sử
dụng IC IR2184 để điều khiển kích FET, cảm biến IMU GY-86 được sử dụng để
xác định góc nghiêng của robot. Hai động cơ DC 24V, 60W tốc độ 468 vòng/phút,
encoder 500 xung/vòng. Hai bánh xe được bọc cao su có nhiều rãnh để tăng độ bám
cao giúp robot cân bằng tốt hơn.
Cảm biến
IMU GY-86
Mạch điều khiển
động cơ cầu H
Bo Arduino Due
AT91SAM3X8E
Nút nhấn
điều khiển
Pin Li-PO
550 mm
450 mm
Input Voltage (limits)
6-16V
Digital I/O Pins
54 (of which 12 provide PWM output)
Analog Input Pins
12
Analog Outputs Pins
2 (DAC)
Total DC Output Current on all
130 mA
12 DC Current for 3.3V Pin
800 mA
DC Current for 5V Pin
800 mA
Flash Memory
512 KB all available for the user applications
SRAM
96 KB (two banks: 64KB and 32KB)
Clock Speed
84 MHz
2.4.2 Mạch điều khiển động cơ
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 2.6 Mạch điều khiển động cơ cầu H
Giao tiếp I
2
C ở mức 3.3V
Sử dụng chip MPU6050 + HMC5883L + MS5611
2.4.4 Động cơ DC
Động cơ DC được sử dụng như đôi chân của robot giúp robot có thể di chuyển
hay điều khiển robot cân bằng.
14
Hình 2.8 Động cơ DC Planet
Các thông số kỹ thuật của động cơ DC
Bảng 2.4 Thông số kỹ thuật của động cơ DC Planet
Động cơ
DC planet
Điện áp
24V
Công suất
60W
Moment xoắn
63 N.cm
Endcoder
HEDL 5540 12
Kích thước
Trục
Tốc độ chưa qua bộ giảm tốc
9000 vòng/phút