Professional Documents
Culture Documents
ĐỒ ÁN MÔN HỌC
XE TỰ HÀNH TRÁNH VẬT CẢN
1
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
***
1. Tên đề tài:
4. Sản phẩm:
2
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******
4
5
LỜI NÓI ĐẦU
Trong thời đại công nghiệp ngày nay, robot ngày càng được sử dụng phổ biến
trong sản xuất cũng như trong cuộc sống của con người. Robot đã có một vị trí
quan trọng khó có thể thay thế được, nó giúp con người để làm việc trong các
điều kiện nguy hiểm, khó khăn. Ngoài ra, robot còn được dùng vào các lĩnh vực
thám hiểm không gian, quân sự, giải trí... Lĩnh vực robot di động đang ngày càng
chiếm được sự quan tâm của các nhà nghiên cứu và xã hội. Chính vì lí do này, em
đã lựa chọn đề tài “Thiết kế xe tránh vật cản” cho học phần Đồ Án.
Trong bài báo cáo của mình, em xin trình bày những nội dung sau:
Sinh viên
6
CHƯƠNG 1. TỔNG QUAN
1.1 Đặt vấn đề
Hiện nay nền công nghiệp 4.0 đã và đang phát triển mạnh rộng rãi trong hầu
hết các ứng dụng của nền kinh tế trong mỗi quốc gia. Một trong những ứng dụng
được sử dụng gần đây nhất đó là ứng dụng công nghệ thông tin vào công nghệ chế
tạo và điều khiển robot thông minh.
Xu thế phát triển hiện nay trên thế giới khoa học và công nghệ luôn có những
thay đổi mạnh mẽ. Nền kinh tế tri thức cùng với công nghệ thông tin và kỹ thuật đã
góp phần quan trọng vào việc nâng cao chất lượng cuộc sống của con người. Trong
nền kinh tế tri thức thực sự phát triển của xã hội không thể tách khỏi sự phát triển
của kỹ thuật và công nghệ thông tin và đặc biệt là sự phát triển của tin học, ngành
khoa học công nghệ mới tạo ra các sản phẩm robot và nghiên cứu ứng dụng chính
hình thành trong những thập kỷ gần đây được gọi là Robotics.
1.2 Mục đích của đề tài
– Điều khiển xe robot chạy tiến, lùi, trái và phải
– Sử dụng cảm biến ở trước để tránh vật cản
– Viết chương trình điều khiển
– Thi công mô hình xe robot
– Sản phẩm cuối cùng và chạy thực tế
1.3 Đối tượng và phạm vi nghiên cứu
* Đối tượng nguyên cứu đề tài
- Mô hình xe tự hành ( Kích thước 25 cm x 15cm )
- Chạy mô hình ổn định quá trình cảm biến và tự hành tránh vật cản.
* Phạm vi nguyên cứu
Không gian làm việc của xe là 1 mặt phẳng được giới hạn bởi các bức tường, các
vật cản được xem là vật cản 2 chiều tĩnh hoàn tĩnh.
1.4. Ý nghĩa khoa học và thực tiễn của đề tài
* Ý nghĩa khoa học
Xây dựng được về khả năng tự hành tránh vật cản của robot sử dụng cảm biến siêu
âm
7
* Ý nghĩa thực tiễn của đề tài
Ứng dụng của xe tự hành rất lớn, có thể kể đến robot vận hành vật liệu, hàng
hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay hay thư viện, tự hành vào khâu
thương mại điện tử,robot hút bụi…
8
CHƯƠNG 2. CƠ SỞ LÍ THUYẾT
2.1 Mô hình xe tự hành tránh vật cản
9
ngoại…, robot có khả năng thay thế con người 1 cách hiệu quả trong các công việc
có độ nguy hiểm cao.
2.3Sơ đồ khối
Nguyên lý hoạt động của xe được minh họa qua sơ đồ khối
2.4 Các tình huống khi cảm biến phát hiện vật cản:
10
Hình 2.3 Các trường hợp sensor phát hiện vật cản
Tình huống 2 : nếu cảm biến quay sang trái và không phát hiện vật cản
+Robot di chuyển sang trái θ a=¿)
Tình huống 3 : nếu cảm biến quay sang phải và không phát hiện vật cản
+Robot di chuyển sang phải θ a=¿)
Tình huống 4 : nếu cảm biến ở giữa và không phát hiện vật cản
+Robot di chuyển sang phải một góc 90 o(gán θ a=θa −90o, sau đó hiệu chỉnh θ a ∈¿ )
Tình huống 5 : nếu cảm biến quay sang trái và phát hiện vật cản
+Robot di chuyển sang phải một góc 25o (gán θ a=θa −25o, sau đó hiệu chỉnh θ a ∈¿ )
Tình huống 6 :nếu cảm biến quay sang phải và phát hiện vật cản
+Robot di chuyển sang trái một góc 25o (gán θ a=θa −25o, sau đó hiệu chỉnh θ a ∈¿ )
Tình huống 7 : nếu cảm biến ở giữa và phát hiện vật cản
+Robot di chuyển sang trái một góc 90 o(gán θ a=θa −90o , sau đó hiệu chỉnh θ a ∈¿ )
PID là viết tắt của từ proportional integral derivative là bộ điều khiển theo tỷ lệ,
tích phân, đạo hàm. Có thể hiểu PID là một cơ chế phản hồi của vòng điều khiển
được dùng ở hầu hết các loại thiết bị, máy móc công nghiệp. Điều khiển PID được
sử dụng nhiều nhất trong tất cả các loại điều khiển phản hồi. PID được sử dụng để
tính toán các giá trị sai số. Hiểu đơn giản nó là hiệu số giữa giá trị đo thông số biến
đổi và giá trị đặt theo yêu cầu. PID controller sẽ thực hiện giảm tối đa các sai số
bằng phương pháp điều chỉnh các giá trị ở đầu vào.
Bộ điều khiển PID là bộ điều khiển kinh điển, rất phổ biến tỏng thực tế và hiện
nay 95% hệ thống điện, tự động hóa, điện tử, …trong công nghiệp sử dụng bộ điều
khiển PID để vận hành hệ thống theo mong muốn.
Mục tiêu chung của điều khiển là tín hiệu đáp ứng ổn định và thỏa mãn tín hiệu ta
mong muốn hệ thống đạt được và mục tiêu sử dụng của bộ điều khiển PID cũng
giống vậy.
- Giảm sai số xác lập đến mức tối thiểu nhất.
- Hạn chế độ dao động.
- Giảm thời gian xác lập và độ vọt lố.
2.5.2 Cấu trúc bộ điều khiển PID
Sơ đồ một hệ thống điều khiển dùng PID:
12
Hình 2.2 Sơ đồ hệ thống điều khiển dùng PID
Bộ điều khiển PID gồm 3 thông số đặc trưng: các giá trị tỉ lệ, tích phân và
đạo hàm, viết tắt là P, I, và D. Giá trị tỉ lệ xác định tác động của sai số hiện tại,
giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân
xác định tác động của tốc độ biến đổi sai số.
Trong đó:
Nhiệm vụ của bộ điều khiển phản hồi là điểu chỉnh giá trị đầu vào theo giá trị
e đo được để giá trị đầu ra tiến tới giá trị đặt. Tuy nhiên nếu chỉ cộng thêm hoặc
trừ đi e vào giá trị điều khiển thì thời gian đáp ứng của hệ thống có thể sẽ nhanh
hơn hoặc chậm hơn thời gian đáp ứng mong muốn. Do đó cần đến khâu tỉ lệ P.
Khâu tỉ lệ làm thay đổi giá trị đầu ra, tỉ lệ với giá trị sai số hiện tại. Đáp ứng tỉ lệ
có thể được điều chỉnh bằng cách nhân sai số đó với một hằng số K P, được gọi
là hệ số tỉ lệ. Khâu tỉ lệ được cho bởi
P = Kpe
Nếu hệ số tỉ lệ quá cao, hệ thống sẽ không ổn định. Nếu hệ số tỉ lệ quá thấp,
tác động điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống.
13
Hình 3.3. Đồ thị tín hiệu ra theo thời gian, ba giá trị KP (KI và KD là hằng số).
Khi sai số tồn tại trong một khoảng thời gian dài về một phía của giá trị đặt, ta cần tăng tốc
chuyển động của quá trình tới điểm đặt. Nhờ có khâu tích phân ta có thể giải quyết được vấn
đề này. Khâu tích phân tỉ lệ thuận với cả biên độ sai số lẫn quãng thời gian xảy ra sai số.
Tổng sai số tức thời theo thời gian cho ta tích lũy bù đã được hiệu chỉnh trước đó. Tích lũy
sai số sau đó được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển.
Biên độ phân phối của khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi hệ số
tích phân KI. Thừa số tích phân được cho bởi:
Trong đó:
14
Hình 3.4. Đồ thị tín hiệu ra theo thời gian, tương ứng với 3 giá trị KI (KP và KD không đổi).
Tốc độ thay đổi của sai số qua trình được tính toán bằng cách xác định độ dốc của sai số
theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này với hệ số vi phân KD .
Thừa số vi phân được cho bởi:
Trong đó:
KD: Hệ số vi phân.
e(t): Hàm sai lệch theo thời gian.
Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này là đang
chú ý nhất để đạt tới điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân được sử dụng để
làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và tăng cường độ ổn định của
bộ điều khiển hỗn hợp.
15
Hình 3.5. Đồ thị tín hiệu ra theo thời gian, với 3 giá trị KD (KP and KI không đổi).
Bộ điều khiển PID gồm có ba khâu chính: tỉ lệ (KP), tích phân (KI), vi phân (KD) còn
có thể gọi là khâu vi tích phân tỉ lệ.
Phương trình toán học của bộ điều khiển PID.
Số chân Analog 6
17
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
19
- Input: Là 4 chân điều khiển chiều quay của 2 động cơ.
- Output A, Output B: Là 2 đầu ra kết nối với 2 động cơ.
3.3 Khối hệ thống cảm biến SR04
*Yêu cầu cảm biến
Thời gian đáp ứng nhỏ hơn 0,01s
Sai số nhỏ hơn 5 mm
Lựa chọn cảm biến SR04
20
Cảm biến khoảng cách hay còn gọi là cảm biến siêu âm là một loại cảm biến
phổ biến. Cảm biến có thể đo trong khoảng từ 2 đến 300 cm. Cảm biến siêu âm
Ultrasonic HC-SR04 được sử dụng để nhận biết khoảng cách từ vật thể đến cảm
biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính xác cao, phù
hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu âm.
Trong đó:
d: Khoảng cách cần đo.
21
t: Khoảng thời gian sóng siêu âm được phát từ cảm biến và quay trở lại.
Lưu ý: Những trường hợp cảm biến không đo được khoảng cách:
Khi khoảng cách đến vật lớn hơn 6m.
Khi mặt phẳng phản xạ không hướng vào cảm biến.
Khi vật cản quá nhỏ.
Khi vật cản quá mềm (chăn, gối…).
Hình 3.5. Những trường hợp cảm biến không đo được khoảng cách.
3.3.2 Thông số kỹ thuật
22
- Điện áp hoạt động: 5VDC
- Dòng tiêu thụ: 10~40mA
- Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger.
- Góc quét:<15 độ
- Tần số phát sóng: 40Khz
- Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều kiện lý
tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình
thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm).
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ).
- Kích thước: 43mm x 20mm x 17m
VCC 5V
GND GND
23
3.4 Khối động cơ RC Servo
3.4.1 Động cơ RC Servo là gì?
Động cơ RC Servo có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm
các mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng.
Động cơ servo SG90 Tower Pro có tốc độ phản ứng nhanh, các bánh răng
được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng,
động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có
thể dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM.
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra
của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí
sẽ được hồi tiếp về mạch điều khiển này. Nếu có bất kỳ lý do nào ngăn cản chuyển
động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí
mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm
chính xác. Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ
servo RC (radio-controlled). Trong thực tế, bản thân động cơ servo không phải được
điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi.
Động cơ servo nhận tín hiệu từ máy thu này.
24
- Lực kéo: 1.6 Kg.cm
- Kích thước: 21x12x22mm
- Trọng lượng: 9g.
25
Hình 3.7 Các lực tác dụng lên xe
Chọn vị trí đặt vật nặng mong muốn là ở vị trí x=L/4 với L là khoảng cách
giữa 2 bánh xe sau và bánh trước, G1 và G2 là trọng tâm của xe và của vật nặng. Ta
tính được hoành độ trọng tâm của hệ:
m 1 x G 1+ m 2 x G 2
XG=
m1+ m 2
{
M 1+ M 2
{
R1 + R2=P 3P
R 1= =3 g=5.5125 N
8 8
5L 3 L ==>
R1 =R 2 5P
8 8 R2 = =9.1875 N
8
Xét các lực tác dụng lên một bánh chủ động, ta có mô hình toán:
Ta giả sử thời gian để xe tăng tốc từ 0 m/s lên vận tốc cực đại 0,5 m/s là 1s. Ta suy
ra
được gia tốc của xe là:
v max 0.5 2
a= = =0.5 m/ s
t 1
Phương trình cân bằng momen
T −F ms R=Iγ
2
MR
Với moment quán tính của bánh xe: I = và γ là gia tốc của bánh xe
2
R2
Gọi M = =1.5kg là khối lượng tương đương mà bánh xe sau phải chịu
g
Moment tác dụng lên bánh xe:
26
1 2
T =F ms R+ Iγ=( M + m). a . R+ m R γ
2
1 2
T =(1, 5+0,025) .0,5.0,04 + 0,025.0,0 4 .12,5=30.81 Nmm
2
Công suất cần thiết của động cơ
P=Tω=0.03081 .12,5=0.385125 W
Từ công suất đã tính, ta chọn cơ V1 Dual Shaft Plastic Geared TT Motor có hộp
giảm tốc và encoder.
30
Hình 4.2. Giao diện Arduino IDE.
Ngôn ngữ lập trình của Arduino dựa trên nền tảng C/C++ rất quen thuộc với
người làm kỹ thuật, nhưng so với lập trình lập trình trực tiếp với vi điều khiển,
lập trình với Arduino đơn giản hơn nhiều vì chỉ phải giao tiếp với phần cứng
thông qua các thư viện. Trên website arduino.cc, có khá nhiều các thư viện viết
sẵn để điều khiển ngoại vi: LCD, cảm biến, động cơ... nên sẽ rất đơn giản cho
người sử dụng để viết ra một chương trình ứng dụng của riêng mình.
Sau khi xác định phía trước không có vật cản, xe thực hiện điều chỉnh để bám
tưởng với khoảng cách không đổi 25 cm. Để làm được điều này, vi điều khiển
sẽ tính toán giá trị sai số e theo công thức:
e = SP
31
P KP *e
I KI *e
D KD *e –
pe
Trong đó:
Sau nhiều lần thử nghiệm, các hệ số của bộ điều khiển được lựa chọn như sau:
KP 5.5
KI 0.0001
KD 1
Sau khi xây dựng thuât toán cho xe, ta tiến hành nạp code vào Arduino và thử
nghiệm cho xe tự di chuyển. Kết quả thu được như sau:
32
Hình 5.2. Trường hợp phía trước và bên trái có vật cản
Hình 5.3. Trường hợp phía trước và bên phải có vật cản
- Xác định bên trái có vật cản ,xe sẽ rẽ phải.
33
Hình 5.4. Trường hợp bên trái có vật cản
- Xác định bên phải có vật cản ,xe sẽ rẽ trái.
34
Hình 5.6. Trường hợp dồn vào góC
KẾT LUẬN
Về cơ bản, bài toán tránh vật cản đề ra đã được giải quyết tương đối tốt:
- Thiết kế và chế tạo robot tránh vật cản có sử dụng thuật toán PID.
Tuy nhiên, do hạn chế về phần cứng, sản phẩm vẫn chưa thực sự hoàn chỉnh,
vẫn gặp những tình huống không thể xử lí chính xác, cụ thể là:
- Do cảm biến siêu âm chỉ có góc quét là 450 nên khi gặp vật cản nằm ngoài
phạm vi quét của cảm biến, xe tự hành không thể tránh được và sẽ xảy ra
va chạm. Cách khắc phục là gắn hai cảm biến siêu âm lên một động cơ
servo và cho quay với góc 450 để có thể phát hiện vật cản từ mọi hướng,
từ đó giúp cho việc tự hành của xe đạt hiệu quả cao hơn.
Ngoài việc khắc phục những điểm thiếu sót, em cũng xin đề xuất phương
hướng cải tiển cho phiên bản tiếp theo:
- Sau khi đã giải quyết tốt bài toán tránh vật cản, vi điều khiển sẽ vẽ lại
đường đi của xe cũng như xác định tọa độ của xe trong không gian. Để
làm được điều này, ta cần thêm cảm biến vận tốc góc MPU6050 để xác
định góc quay của xe và cảm biến Encoder để đo vận tốc xe từ đó suy ra
quãng đường dịch chuyển.
35
TÀI LIỆU THAM KHẢO
[1] Bộ điều khiển PID - giới thiệu thuật toán, http://arduino.vn/bai-viet/1130-bo-
dieu-khien-pid-gioi-thieu-thuat-toan-phan-1, Việt Nam
[2] Kim Uyên (2020), PID trong điều khiển tự động, https://www.stdio.vn/dien-tu-
ung-dung/thuat-toan-pid-trong-dieu-khien-tu-dong-3Iu1u , Việt Nam
[4] P. V. Hoàn, "Nghiên Cứu Và Kiểm Chứng Thuật Toán Bám Tường Cho
Robot Tự Hành," Đại học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh.
[6] "Servo Motor Set - Model: DS04-NFC Datasheet," EKT, [Online]. Available:
http://www.ekt2.com/pdf/412_CH_SERVO_MOTOR_SET.pdf.
36
37
38
39