Professional Documents
Culture Documents
LVTN
LVTN
HỒ CHÍ MINH
XÁC ĐỊNH
XÁC ĐỊNH
TWO-WHEEL SELF-BALANCING ROBOT FOR OBJECT TRACKING
Sinh viên
Trầ n Mạ nh Khả i
TRƯỜ NG ĐẠ I HỌ C BÁ CH KHOA TP. HỒ CHÍ MINH CỘ NG HÒ A XÃ HỘ I CHỦ NGHĨA VIỆ T NAM
KHOA ĐIỆN – ĐIỆN TỬ Độ c lậ p - Tự do - Hạ nh phú c
BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG
TP. HCM, ngày….tháng…..năm……..
TÊN ĐỀ TÀI: XE HAI BÁNH TỰ CÂN BẰNG BÁM THEO VẬT XÁC ĐỊNH
Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân công công việc cho từng sinh
viên tham gia)
Xác nhận của Cán bộ hướng dẫn TP. HCM, ngà y….thá ng …..nă m…….
TÓ M TẮ T LUẬ N VĂ N..............................................................................................................................
2.4. Bộ lọ c Kalman...............................................................................................................15
4.3.1. Kiểm chứ ng sự hiệu quả củ a bộ lọ c Kalman và tìm giá trị nhiễu đo
lườ ng R. 50
1
Chương 1. GIỚI THIỆU ĐỀ TÀI
2
- Tìm hiểu về cả m biến MPU6050 về cá c cấ u hình và cá c dù ng bộ lọ c
Kalman để lọ c nhiễu cá c tín hiệu đo đượ c.
- Tìm hiểu cá ch cầ u hình hệ điều hà nh cho Raspberry Pi và cá ch kết nố i
Raspberry vớ i mà n hình má y tính.
- Tìm hiểu về thư viện OpenCv, lậ p trình python để xử lý ả nh vậ t như
phá t hiện vậ t, đo khoả ng cá ch qua Camera Raspberry.
- Nghiên cứ u giả i thuậ t để kết hợ p truyền nhậ n cá c tín hiệu giữ a
Raspberry vớ i kit STM32F407.
- Chạ y thử và chọ n ra cá c thô ng số điểu khiển Kp, Ki, Kd để xe câ n bằ ng
và bá m theo vậ t tố t nhấ t.
- Tìm hiểu về lậ p trình C# để vẽ biểu đồ quan sá t cá c thô ng số đặ c trưng
cầ n quan tâ m củ a mô hình.
3
Hình 1.2: Homesheel MI
1.3.2. Ngoài nước
4
Hình 1.4: Robot EMIEW (Nhật Bản)
5
Chương 2. CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC HIỆN
Khi robot nghiêng về phía trướ c θ > 0, nếu khô ng có điều khiển thì theo quá n
tính, hai bá nh xe sẽ chạ y về phía sau (phía ngượ c lạ i củ a thâ n robot đang
nghiêng), dẫ n đến robot sẽ bị ngã . Nên trong trườ ng hợ p nà y, chú ng ta sẽ
điều khiển cho 2 bá nh xe chạ y về phía trướ c (phía mà robot đang nghiêng)
nhằ m cho gó c lệch θ = 0, robot sẽ câ n bằ ng trở lạ i. Tương tự , trong trườ ng
hợ p khi robot nghiêng về phía sau θ < 0, chú ng ta sẽ điều khiển cho 2 bá nh xe
chạ y về phía sau (phía mà robot đang nghiêng) nhằ m cho gó c lệch θ = 0, robot
sẽ thă ng bằ ng trở lạ i.
6
Dướ i đâ y là hình ả nh minh họ a điều khiển robot trong cá c điều kiện về mặ t
khá c nhau:
Hình 2.7: Điều khiển robot trong các điều kiện bề mặt khác nhau
2.2.1. Mô hình hóa robot 2 bánh tự cân bằng trên địa hình phẳng
7
Hình 2.8: Tổng quan mô hình xe hai bánh cân bằng
Hình 2.9: Mô hình xe hai bánh cân bằng nhìn tờ trên xuống
8
Hình 2.10: Mô hình xe hai bánh cân bằng nhìn từ cạnh bên
m kg Khố i lượ ng củ a bá nh xe
R m Bá n kính bá nh xe
W m Chiều rộ ng củ a robot
9
fm Hệ số ma sá t giữ a robot và độ ng cơ DC
Rm Ω Điện trở độ ng cơ DC
Kb Vs/rad Hệ số EFM củ a độ ng cơ DC
N Tỉ số giả m tố c
10
Phương trình động lực học mô tả chuyển động của robot như sau:
[ 1
2
W2
2R
2 2
]
mW + J ɸ + 2 ( J w +n J m ) + M L sin ψ ɸ̈ + 2 M L ψ̇ ɸ̇ sinψcosψ=
2 2 2 2 W
2R
W2
α ( v l−v r ) − 2 ( β + f w ) ɸ̇
2R
(2.3)
Hình 2.11: Mô hình xe hai bánh cân bằng trong Matlab Simulink
11
Hình 2.12: Bên trong khối Two-wheel balancing robot
Phương trình độ ng lự c họ c củ a robot như trên thể hiện mố i quan hệ
giữ a giá trị điện á p điều khiển hai độ ng cơ; bao gồ m độ nghiêng, vị trí, vậ n tố c
củ a hệ robot, giá trị điện á p hai độ ng cơ vl , v r tá c độ ng lên cá c thô ng số đó dướ i
dạ ng tổ ng vl + v r cò n vớ i gó c xoay, giá trị điện á p hai độ ng cơ vl , v r tá c độ ng lên
thô ng số nà y dướ i dạ ng hiệu v r−v l. Khi đó , tá ch bà i toà n hệ robot thà nh hai
bà i toá n nhỏ hơn vớ i hai tín hiệu điều khiển V ψ ,V ϕ
{
1
v l = (V ψ −V ϕ )
{
V ψ =v l +v r
V ϕ =v r −v l
=¿ 2
1
v r = (V ψ +V ϕ )
(2.4)
2
12
Hình 2.13: Bên trong khối decoupling
2.3. Bộ điều khiển PID
PID – bộ điều khiển vi tích phâ n tỉ lệ, là mộ t cơ chế phả n hồ i vò ng điều khiển
tổ ng quá t đượ c sử dụ ng rộ ng rã i trong cá c hệ thố ng điều khiển cô ng nghiệp –
bộ điều khiển PID là bộ điều khiển đượ c sử dụ ng nhiều nhấ t trong cá c bộ điều
khiển phả n hồ i. Bộ điều khiển PID sẽ tính giá trị “sai số ” là hiệu số giữ a giá trị
đo thô ng số biến đổ i và giá trị đặ t mong muố n. Bộ điều khiển sẽ thự c hiện
giả m tố i đa sai số bằ ng cá ch điều chỉnh giá trị điều khiển đầ u và o.
13
thiết bị điều khiển đã cho ra đờ i cá c bộ điều khiển PID thương mạ i rấ t tiện
dụ ng. [1]
(2.6)
Điều chỉnh tỉ lệ (P): là phương phá p điều chỉnh tạ o ra tín hiệu điều chỉnh tỉ lệ
vớ i sai lệch đầ u và o.
Điều chỉnh tích phâ n (I): là phương phá p điều chỉnh tỉ lệ để lạ i mộ t độ lệch
(offset) sau điều chỉnh rấ t lớ n. Để khắ c phụ c ta sử dụ ng kết hợ p điều chỉnh tỉ
lệ vớ i điều chỉnh tích phâ n. Điều chỉnh tích phâ n là phương phá p điều chỉnh
tạ o ra tín hiệu điều chỉnh sao cho độ lệch giả m tớ i 0. Thờ i gian cà ng nhỏ thể
hiện tá c độ ng điều chỉnh tích phâ n cà ng mạ nh, ứ ng vớ i độ lệch cà ng bé.
Điều chỉnh vi phâ n (D): khi hằ ng số thờ i gian hoặ c thờ i gian chết củ a hệ
thố ng rấ t lớ n điều chỉnh theo P hoặ c PI có đá p ứ ng quá chậ m thì ta sử dụ ng
14
kết hợ p vớ i điều chỉnh vi phâ n. Điều chỉnh vi phâ n tạ o ra tín hiệu điều chỉnh
sao cho tỉ lệ vớ i tố c độ thay đổ i sai lệch đầ u và o. Thờ i gian cà ng lớ n thì điều
chỉnh vi phâ n cà ng mạ nh, ứ ng vớ i bộ điều chỉnh đá p ứ ng vớ i thay đổ i đầ u và o
cà ng nhanh.
Thông Thời gian lên Độ vọt lố Thời gian xác Sai số xác lập
số lập
Bảng 2.2: Ảnh hưởng của các hệ số Kp, Ki, Kd lên chất lượng điều khiển
2.4. Bộ lọc Kalman
15
đượ c sử dụ ng chủ yếu vớ i 2 mụ c đích chính là : Estimating the state of
dynamic system (Ướ c tính trạ ng thá i củ a hệ thố ng độ ng) và the Analysis of
Estimation Systems. Ở đề tà i này thì bộ lọ c Kalman dù ng cho mụ c đích ướ c
tính trạ ng thá i củ a hệ thố ng độ ng củ a hai tín hiệu củ a cả m biến MPU6050 là
gia tố c gó c (accel) và vậ n tố c gó c (gyro).
16
Phương trình trên có đượ c khi chú ng ta thự c hiện trong quá trình dự
đoá n trạ ng thá i. Để dự đoá n priori state ^x k∨k−1, chú ng ta cầ n có dynamic
model (chính là ma trậ n F) dự a và o cá c phương trình vậ t lý liên hệ cá c trạ ng
thá i theo thờ i gian lấ y mẫ u.
Sau khi cậ p nhậ t cá c giá trị trạ ng thá i mớ i chú ng ta cầ n cậ p nhậ t là giá
trị ma trậ n hiệp phương sai Pk∨k−1
Phương trình hiệu chỉnh trạng thái ( cập nhật giá trị):
T T −1
K k =P k∨k−1 H ( H P k∨k−1 H + R) (2.9)
17
Hình 2.15: Các quá trình trong bộ lọc Kalman
2.5. Phần xử lý ảnh
18
HSV là khô ng gian mà u đượ c xá c định bở i ba số liệu:
H (Hue): Vù ng mà u.
S (Saturation): Độ bã o hò a mà u
Khô ng giố ng như RGB, HSV tá ch biệt độ sá ng, hoặ c cườ ng độ hình ả nh, từ sắ c
độ hoặ c thô ng tin mà u sắ c. Điều nà y rấ t hữ u ích trong nhiều ứ ng dụ ng. Ví dụ ,
ở đề tà i nà y thì mà u sắ c củ a ả nh sẽ bị thay đổ i nhiều về độ sá ng, độ bã o hò a và
vù ng mà u ở cá c mô i trườ ng khá c nhau. Chú ng ta chuyển ả nh sang khô ng gian
mà u HSV để có thể dễ dà ng lấ y ngưỡ ng trên và dướ i củ a để phù hợ p vớ i sự
thay đổ i đó .
Contour:
19
Chương 3. THIẾT KẾ VÀ THỰC HIỆN
20
3.1.2. Các thành phần chính của mô hình
21
Thông số kỹ thuật:
22
3.1.2.5. Raspberry Camera V2.1
23
Thông số động cơ dc servo giảm tốc JGB37:
Thông số Encoder:
Điện á p cấ p: 3.3VDC
Encoder: Đĩa từ 11 xung, 2 kênh xung AB.
Số xung Encoder sau giả m tố c: 11×56 = 616 xung / 1 vò ng.
Sơ đồ chân Encoder:
Port 1 - M1: châ n cấ p nguồ n cho độ ng cơ, tố i đa 12VDC.
Port 2 - GND: Châ n Mass 0v củ a Encoder.
Port 3 - C1: Kênh A củ a Encoder, xuấ t xung mứ c tín hiệu 3.3VDC
Port 4 - C2: Kênh B củ a Encoder, xuấ t xung mứ c tín hiệu 3.3VDC
Port 5 - VCC: Nguồ n dương 3.3VDC cấ p cho Encoder hoạ t độ ng.
Port 6 - M2: châ n cấ p nguồ n cho độ ng cơ, tố i đa 12VDC.
24
3.1.2.7. Mạch điều khiển động cơ TB6612FNG
Sơ đồ chân:
25
3.1.2.8. Cảm biến MPU6050
26
3.1.2.9. Module Bluetooth HC-05
27
3.2. Thiết kế giải thuật
28
3.2.2. Lưu đồ giải thuật điều khiển của hệ thống
29
Khi camera khô ng phá t hiện vậ t thì mặ c định khoả ng cá ch và gó c xoay
củ a vậ t vớ i xe là 0. Khi đó chỉ có bộ PID gó c nghiêng hoạ t độ ng giú p xe câ n
bằ ng tạ i chỗ . Để xe câ n bằ ng tạ i chỗ thì giá trị gó c nghiêng đặ t là bằ ng 0, bộ
PID gó c nghiêng sẽ cho ra tín hiệu điều khiển là giá trị tầ n số xung cấ p cho
driver để điều khiển hai độ ng cơ.
Khi camera phá t hiện đượ c vậ t thì thô ng qua thuậ t toá n xử lý ả nh sẽ
cho ra hai thô ng số gó c xoay và khoả ng cá ch đượ c truyền UART từ Raspberry
xuố ng STM32F4. Hai giá trị này sẽ là ngõ và o (giá trị đặ t) cho bộ điều khiển
PID gó c xoay và PID khoả ng cá ch:
Bộ điều khiển PID gó c xoay sẽ xuấ t ra tín hiệu tầ n số xung cho driver để
cho xe quay trá i hoặ c quay phả i sao cho ả nh củ a vậ t nằ m ở trọ ng tâ m củ a
khung hình camera.
Bộ điều khiển PID khoả ng cá ch sẽ có đầ u và o là khoả ng cá ch đặ t và ngõ
ra sẽ xuấ t ra tín hiệu điều khiển là gó c đặ t. Gó c đặ t này là ngõ và o củ a bộ điều
khiển PID gó c nghiêng. Vớ i mỗ i khoả ng cá ch khá c nhau thì PID khoả ng cá ch
sẽ xuấ t ra giá trị gó c đặ t tương ứ ng cho đến đến khi nà o khoả ng cá ch từ vậ t
đến xe bằ ng đú ng giá trị khoả ng cá ch đặ t thì PID khoả ng cá ch sẽ xuấ t ra giá trị
gó c đặ t là 0. Lú c đó xe đứ ng yên và câ n bằ ng tạ i chỗ vớ i khoả ng cá ch đặ t
trướ c đó .
30
3.2.3. Lưu đồ giải thuật xử lý ảnh
31
Sau khi bậ t camera, chú ng ta đọ c frame ả nh về liên tụ c. Sau đó , chú ng
ta thay đổ i kích thướ c ả nh xuố ng vớ i độ rộ ng width = 600 pixel để tă ng khố i
lượ ng tính toá n và tă ng FPS.
- Chọ n V từ 25-255.
32
bị là m ẩ n đi. Nếu khô ng có đườ ng bao thì trở lạ i bướ c đầ u, tiếp tụ c đọ c frame
ả nh.
Hình 3.32: Mô hình điều khiển xe hai bánh tự cân bằng trên Simulink.
Tiếp nố i phầ n mô hình hó a xe hai bá nh câ n bằ ng trên matlab Simulink ở phầ n
2.2.2, thì ta sẽ thiết kế cá c bộ điều khiển để điều khiển xe như hình 3.15. Bộ
điều khiển bao gồ m ba bộ PID là DISTANCE PID, ANGLE PID và ROTATION
PID:
33
Hình 3.33: Cấu trúc chung của ba bộ điều khiển PID.
Dướ i đâ y là thô ng số củ a mô hình củ a bộ TWBR1 trên Simulink. Cá c thô ng số
đượ c chọ n và tính toá n mộ t cá ch dự trù . Vì mô hình thự c đượ c là m thủ cô ng
bằ ng tay nên cá c khô ng thể tính toá n chính xá c cá c thô ng số so vớ i mô hình
thự c.
Hình 3.34: Thông số của mô hình xe hai bánh cân bằng trên Simulink Matlab
34
3.4. Cấu hình các chân và chế độ hoạt động trên STM32CubeMx
35
Hình 3.36: System view on STM32CubeMX.
Cấ u hình DMA:
Cá c châ n GPIO Output gồ m PE8, PE10 cho Motor bên trá i và PE12, PE14 cho
Motor bên phả i.
36
Hình 3.39: Cấu hình chân Timer2.
Cấ u hình Timer3:
37
Hình 3.44: Cấu hình counter cho Timer4.
Cấ u hình I2C:
UART2 là giao thứ c truyền nhậ n giữ a STM32 và module bluetooth HC-05 để
truyền nhậ n dữ liệu lên má y tính.
38
Cấ u hình UART3:
39
Hình 3.52: Các chế độ chọn xung nguồn clock.
Sample Rate Divider Register: Chọ n tố c độ lấ y mẫ u là 1kHz.
8 kHz
Ta có MPU = 1+ SMPLRT , suy ra SMPLRT_DIV= 0x07.
¿
40
Hình 3.56: Gyroscope Configuration Register.
41
Hình 3.61: Tầm đo của thanh ghi 67 đến 72 – Gyroscope Measurements.
3.6. Xử lý tín hiệu của cảm biến MPU6050 qua bộ lọc Kalman
x k =F x k−1 + Bu k (3.1)
[ ]
Ө
Ma trậ n trạ ng thá i x k là : x k = Ө̇
b k
(3.2)
Suy ra x k = [0
1 −∆ t
]
x k−1=F x k−1 .
1
(3.5)
Do đó , F = [ 10 −∆ t
1
.]
Ta có uk =Ө̇k , vì tín hiệu điều khiển uk cũ ng chính là phép đo con quay hồ i
chuyển vớ i đơn vị (°/giâ y).
42
x k =F x k−1 + B Ө̇ k (3.6)
Vì ta khô ng thể đo trự c tiếp đượ c Ө , chỉ đo đượ c Ө̇ trong thờ i gian lấ y mẫ u
∆ t nên ma trậ n B=
∆t
0 . [ ]
Tìm ma trận Qk của nhiễu hệ thống:
Qk là ma trậ n hiệp phương sai ướ c lượ ng trạ ng thá i củ a gia tố c kế và giá trị độ
lệch bias.
Qk =
[ QӨ 0
0 QӨ̇
∆t
b
] (3.7)
z k =H x k +v k (3.8)
Ө
Ө̇ =
b
[ ][ Ө+ ∆ t ( Ө̇−Ө̇b )
Ө̇ b ]
(3.9)
Pk∨k−1=F P k−1∨k−1 FT +Qk
P P =
00
10
01
11
[ P P
][ P10−∆ t P 11 ]
P 00+ ∆ t( ∆ t P11 −P01−P10+ QӨ ) P01−∆ t P11
P11 +QӨ̇ ∆ t
b
(3.10)
43
Giai đoạn khởi tạo hiệu chỉnh:
y k =z k −H x^ k−1∨k−1=z k −Өk∨k−1 (3.11)
[ ]
P00
[ ]
K0 P10 k∨k−1
=
K1 k
Sk
(3.13)
^x k∨k = x^ k∨k−1 + K k y k
[ ] [ ] [ ]
b k
Ө
Ө̇ = Ө̇
b
Ө
k ∨k−1
+
K0 y
K1 y k
(3.14)
[ P00 P01 P
= 00
][
P01
P10 P11 k P 10 P11 ] k∨k−1
−
[ K 0 P00 K 0 P01
K 1 P00 K 1 P01 ]
k ∨k−1
(3.15)
Sau khi ta triển khai xong cá ch phương trình củ a bộ lọ c Kalman thì chú ng ta
sẽ dự a và o đó và thự c hiện tạ o hà m bộ lọ c Kalman trên KeilC.
44
3.7. Tính toán tiêu cự và khoảng cách trên Raspberry Pi
Hình 3.62: Một số công thức tính qua ống kính camera
Dự a và o cá c cô ng thứ c cơ bả n ở trên, muố n đo đượ c khoả ng cá ch bấ t kì củ a
mộ t vậ t đến camera thì ta cầ n tính tiêu cự F củ a camera bằ ng cá ch như sau:
45
K/ 10 20 30 40 50 60 70 80 90 100
c(cm)
Fcam 345.2 389 408.9 418.6 422.8 429.6 436.2 442.8 445.2 447.8
D_real(cm) 10 20 30 40 50 60 70 80 90 100
D_cam(cm) 12.1 21. 30.9 40 49.5 59.3 68.5 77.4 86.8 96.6
7
Bảng 3.4: Khoảng cách đo qua camera so với khoảng cách thực.
46
3.8. Thiết kế giao diện C# giám sát thông số
Hình 3.63: Giao diện C# theo dõi các thông số đáp ứng của mô hình
Giao diện C# dù ng để theo dõ i cá c thô ng số đá p ứ ng củ a mô hình là gó c
nghiêng Angle, gó c xoay Rotation và khoả ng cá ch Distance
Cá c thô ng số đượ c truyền UART từ STM32 đến má y tính thô ng qua module
Bluetooth HC-05.
Để xem đá p ứ ng cá c thô ng số theo thờ i gian thự c thì phả i chọ n cổ ng Com củ a
Module Bluetooth HC-05 và nhấn Connect. Nếu khô ng đú ng cổ ng Com sẽ
khô ng kết nố i đượ c.
47
Chương 4. KẾT QUẢ THỰC HIỆN
Hình 4.64: Đáp ứng góc nghiêng Angle trên Matlab Simulink.
Nhậ n xét: Độ vọ t lố POT= 28.6%.
Sai số xá c lậ p = 0.
Hình 4.65: Đáp ứng góc xoay Rotation trên Matlab Simulink.
48
Nhậ n xét: Khô ng có độ vọ t lố
Sai số xá c lậ p = 0.
Hình 4.66: Đáp ứng khoảng cách Distance trên Matlab Simulink.
Nhậ n xét: Như đã nó i ở phầ n thiết kế 3.3 Mô phỏ ng trên Matlab Simulink. Do
thô ng số mô phỏ ng củ a mô hình trên Simulink chỉ là dự trù , khô ng thể tính
toá n chính xá c cá c thô ng số đó ứ ng vớ i mô hình thự c do mô hình đượ c thự c
hiện thủ cô ng. Nên việc điều chỉnh cá c thô ng số Kp,Ki, Kd rấ t khó có thể để
đá p ứ ng ngõ ra cho cả 3 bộ điều khiển Angle PID, Rotation PID và Distance
PID. Ở trườ ng hợ p nà y thì ngõ ra củ a bộ Distance PID khô ng thể đá p ứ ng.
49
4.2. Kết quả thực hiện xử lý ảnh trên Raspberry Pi
4.3.1. Kiểm chứng sự hiệu quả của bộ lọc Kalman và tìm giá trị
nhiễu đo lường R.
50
Trườ ng hợ p 1: R=0.05
Hình 4.68: Đáp ứng góc nghiêng của hệ thống với nhiễu đo lường R=0.05
Trườ ng hợ p 2: R=0.2
Hình 4.69: Đáp ứng góc nghiêng của hệ thống với nhiễu đo lường R=0.2
51
Trườ ng hợ p 3: R=0.5
Hình 4.70: Đáp ứng góc nghiêng của hệ thống với nhiễu đo lường R=0.5
Trườ ng hợ p 4: R= 0.8
Hình 4.71: Đáp ứng góc nghiêng của hệ thống với nhiễu đo lường R=0.8
Nhận xét: Vớ i cá c trườ ng hợ p trên thì ta có thể thấ y vớ i R=0.05 thì bộ lọ c
Kalman cho ra ngõ ra ít bị nhiễu nhấ t. Nó i chung thì ta thấ y bộ Kalman đã lọ c
cá c tín hiệu đo đượ c từ cả m biến MPU6050 rấ t hiệu quả , cá c nhiễu đo lườ ng
đã đượ c loạ i bỏ rấ t nhiều. Nhờ thế mà mô hình đượ c hoạ t độ ng ổ n định hơn.
52
4.3.2. Góc nghiêng Angle
Hình 4.72: Đáp ứng góc nghiêng của hệ thống khi không có vật nặng.
Hình 4.73: Đáp ứng góc nghiêng của hệ thống khi đặt vật 1.5kg lên xe.
Nhận xét: Ở cả hai trườ ng hợ p có vậ t nặ ng và khô ng có vậ t nặ ng đặ t lên xe thì
robot vẫn câ ng bằ ng tố t vớ i độ giao độ ng nhỏ trong khoả ng [-0.50, 0.50].
53
4.3.3. Góc xoay Rotation
Hình 4.74: Đáp ứng góc xoay của hệ thống với góc xoay ban đầu là 250, không
có vật nặng đặt lên xe.
Trườ ng hợ p 2: Giá trị gó c xoay ban đầ u là 250, vậ t nặ ng 1.5kg đặ t lên
xe.
54
Hình 4.75: Đáp ứng góc xoay của hệ thống với góc xoay ban đầu là = 250, đặt
vật 1,5kg lên xe.
Trườ ng hợ p 3: Giá trị gó c xoay ban đầ u là -300, khô ng có vậ t nặ ng đặ t
lên xe.
Hình 4.76: Đáp ứng góc xoay của hệ thống với góc xoay ban đầu là -300, không
có vật nặng đặt lên xe.
55
Hình 4.77: Đáp ứng góc xoay của hệ thống với góc xoay ban đầu là - 250, đặt
vật 1,5kg lên xe
Nhận xét: Chú ng ta có thể thấ y ở tấ t cả cá c trườ ng hợ p thì ngõ ra gó c xoay
củ a hệ thố ng đá p ứ ng tố t vớ i sai số xá c lậ p nhỏ , độ vọ t lố nhỏ . Tuy nhiên, ở
trườ ng hợ p có vậ t nặ ng lên xe thì thờ i gian đá p ứ ng chậ m hơn so vớ i trườ ng
hợ p khô ng có vậ t nặ ng đặ t lên xe.
56
Hình 4.78: Đáp ứng khoảng cách của hệ thống khi khoảng cách đặt
distance_ref =20 cm và khoảng cách ban đầu là 50 cm.
57
Hình 4.79: Đáp ứng khoảng cách của hệ thống khi khoảng cách đặt
distance_ref =50 cm và khoảng cách ban đầu là 20 cm.
Trườ ng hợ p 3: Vậ t xe ban đầ u cá ch vậ t 79cm và xe sẽ bá m theo vậ t đến
khi cò n cá ch vậ t 50cm và duy trì vớ i khoả ng cá ch đó :
Hình 4.80: Đáp ứng khoảng cách của hệ thống khi khoảng cách đặt
distance_ref =50 cm và khoảng cách ban đầu là 79 cm.
58
Hình 4.81: Đáp ứng khoảng cách của hệ thống khi khoảng cách đặt
distance_ref =60 cm và khoảng cách ban đầu là 35 cm.
Hình 4.82: Đáp ứng khoảng cách của hệ thống khi khoảng cách đặt
distance_ref =60 cm và khoảng cách ban đầu là 80 cm.
Nhận xét: Thờ i gian quá độ củ a khoả ng cá ch là khoả ng 5-6 giâ y và sai số xá c
lậ p tương đố i nhỏ trong tấ t cả cá c trườ ng hợ p khoả ng cá ch ban đầ u bé hơn
59
70cm. Nhưng vớ i khoả ng cá ch ban đầ u là 79 cm và 80 cm như ở trườ ng hợ p 3
và 5 thì độ vọ t lố tă ng rõ rệt, hệ thố ng lâ u xá c lậ p hơn.
60
Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
- Mô hình điều khiển theo bộ điều khiển PID nên cá c chấ t lượ ng củ a đá p ứ ng
ngõ ra trong quá trình câ n bằ ng tạ i chỗ cũ ng như bá m vậ t thể sẽ bị thay đổ i.
Nguyên nhâ n là do bộ điều khiển PID chỉ phụ thuộ c và o ngõ và o và cá c hệ số
Kp ,Ki, Kd nên khi pin cấ p cho độ ng cơ yếu thì tố c độ độ ng cơ cũ ng giả m theo
là m cho mô hình đá p ứ ng chậ m hơn.
61
- Mô hình chỉ phá t hiện vậ t bằ ng mà u sắ c nên bị nhiễu trong mô i trườ ng á nh
sá ng khô ng tố t. Nguyên nhâ n là vì mô hình sử dụ ng má y tính nhú ng
Raspberry 3B+ có cấ u hình khá yếu, khô ng thể thự c hiện cá c thuậ t toá n phá t
hiện vậ t tố t hơn như deep learning, machine learning…
- Nếu có kinh phí tố t hơn sẽ tiến hà nh thay má y tính nhú ng và camera tố t hơn
để thự c hiện cá c thuậ t toá n phá t hiện vậ t tố i ưu hơn như deep learning,
machine learning…
- Thiết kế phầ n cơ khí mô hình tố t hơn như in 3D cho khung sườ n xe. Sử dụ ng
độ ng cơ tố t hơn và bá nh xe có kích thướ c phù hợ p để có thể câ n bằ ng ổ n định
và bá m theo vậ t vớ i khoả ng cá ch xa hơn kể cả khi đặ t vậ t nặ ng lên xe.
62
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thị Phương Hà , Huỳnh Thá i Hoà ng, Lý thuyết điều khiển tự động,
nhà xuấ t bả n đạ i họ c Quố c gia Thà nh phố Hồ Chí Minh, 2010.
[2] Nguyễn Thá i Vin, Robot hai bánh tự cân bằng, Luậ n vă n tố t nghiệp, Đạ i họ c
Bá ch khoa Tp. Hồ Chí Minh, 2016.
https://codelungtung.wordpress.com/2019/05/29/bo-loc-kalman/
https://docs.opencv.org/4.5.2/dc/da5/tutorial_py_drawing_functions.ht
ml
[4] Trầ n Anh Tứ , Nghiên cứu, thiết kế, thử nghiệm xe hai bánh cân bằng, Luậ n
vă n thạ c sĩ, Trườ ng đạ i họ c Cô ng nghệ Tp. Hồ Chí Minh, 2014.
http://blog.tkjelectronics.dk/2012/09/a-practical-approach-to-kalman-
filter-and-how-to-implement-it/
63