Đề tài nghiên cứu và phát triển một hệ thống robot thông minh ứng dụng vậnchuyển hàng hóa trong kho bãi, sử dụng các giải thuật tối ưu hóa được cải tiến dựatrên nền tảng trí thông minh nhân tạo:• Hệ thống được điều khiển và quản lý một cách tự động hoàn toàn, hoặc bántự động (có sự cùng tham gia của con người).• Thiết kế thuật toán tối ưu tìm đường đi ngắn nhất cho robot.• Thiết kế các module cảm biến giúp xe định vị đường đi, vật cản và nhậnđịnh chính xác xe khi kết nối.• Thiết kế bộ driver điều khiển động cơ kết hợp với PID điều khiển một cáchchính xác vị trí, tốc độ.
Trang 1Họ và tên sinh viên 1: Huỳnh Ngọc Hội MSSV: 15151154
Họ và tên sinh viên 2: Nguyễn Thái Ngọc Khương MSSV: 15151170
Họ và tên sinh viên 3: Võ Thanh Châu MSSV: 15151115
Chuyên ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Hệ đào tạo: Đại học chính quy
I TÊN ĐỀ TÀI: Hệ thống vận chuyển hàng hóa thông minh
II NHIỆM VỤ:
1 Các số liệu, tài liệu ban đầu:
- Tài liệu về thuật toán Dijkstra (tìm đường đi ngắn nhất)
- Tài liệu về PID
- Xe dò line
- Tìm hiểu về IoT
2 Nội dung thực hiện:
- Thu thập tài liệu tìm hiểu về đề tài
- Thiết kế và chế tạo mô hình
- Tìm hiểu, phát triển thuật toán
- Giao tiếp không dây
- Nghiên cứu, lâp trình và điều khiển
III NGÀY GIAO NHIỆM VỤ: 20/02/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 04/07/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Đặng Xuân Ba
Trang 2Họ tên sinh viên 1: Huỳnh Ngọc Hội MSSV: 15151154
Họ tên sinh viên 2: Nguyễn Thái Ngọc Khương MSSV: 15151170
Họ tên sinh viên 3: Võ Thanh Châu MSSV: 15151115
- Thiết kế và chế tạo mô hình
4 - Cải tiến mô hình
- Tìm hiểu, phát triển thuật toán
5 - Tìm hiểu, phát triển thuật toán
- Nghiên cứu, lập trình và điều khiển
6
- Nghiên cứu, lập trình và điều khiển
- Viết luận văn
- Hoàn thành luận văn, hiệu chỉnh mô hình
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
Trang 3LỜI CAM ĐOAN
Nhóm nghiên cứu xin cam kết đề tài này là do chúng tôi tự thực hiện dựa vào một
số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Nhóm thực hiện đề tài
Trang 4
v
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện nghiêm túc tại Khoa Điện – Điện tử trường Đại học
Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh cùng với sự hướng dẫn và đôn đốc tận tình của Tiến sĩ Đặng Xuân Ba, nhóm chúng tôi đã hoàn thành Đồ án tốt nghiệp Đại học Chúng tôi xin gửi lời cảm ơn sâu sắc đến Thầy Đặng Xuân Ba, người thầy đã động viên và giúp đỡ chúng tôi nhiều về mặc tinh thần cũng như kiến thức để chúng tôi vượt qua những ngày tháng khó khăn trong quá trình tìm hiều về các lĩnh vực mới để rồi cuối cùng hoàn thành được Đồ án tốt nghiệp ngày hôm nay Một lần nữa xin được gửi lời cảm ơn đến Thầy Ba, chúc thầy luôn khỏe mạnh và có được những tháng năm công tác tốt như thầy mong đợi
Chúng tôi xin chân thành gửi lời cảm ơn đến các thầy cô trong bộ môn Điều khiển Tự Động cũng như các thầy cô trong Khoa Điện – Điện tử và những người đã dìu dắt chúng tôi, cho chúng tôi kiến thức chuyên nghành và những kinh nghiệm quý báu để cùng với sự
nỗ lực của bản thân chúng tôi đã hoàn thành đồ án tốt nghiệp ngày hôm nay
Chúng tôi cũng xin gửi lời cảm ơn đến gia đình, bạn bè và tất cả những người thân của chúng tôi đã tạo điều kiện và giúp đỡ chúng tôi rất nhiều để chúng tôi có được kết quả này Một lần nữa xin gửi lời cảm ơn tất cả mọi người
Nhóm thực hiện đề tài
Trang 5MỤC LỤC
Bìa trong……… ……… i
Nhiệm vụ đồ án tốt nghiệp ii
Lịch trình thực hiện đồ án tốt nghiệp iii
Lời cam đoan iv
Lời cảm ơn v
Mục lục vi
Liệt kê hình vẽ viii
Liệt kê bảng……… x
Tóm tắt xi
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 PHẠM VI NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
Chương 2 CƠ SỞ LÝ THUYẾT 3
2.1.2 Mô tả thuật toán: 4
2.2 GIAO TIẾP TRONG HỆ THỐNG: 6
2.3 PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT: 10
2.4 Điều khiển tốc độ động cơ 12
2.4.1 Điều khiển từ thông 12
2.4.2 Điều khiển điện trở phần ứng 13
2.4.3 Điều khiển điện áp phần ứng 14
2.5 ĐIỀU CHẾ ĐỘ RỘNG XUNG (PULSE-WIDTH MODULATION) 16
2.6 BỘ ĐIỀU KHIỂN PID 17
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 23
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 23
3.2.1 Mô tả hệ thống: 23
3.2.2 Các loại cảm biến dùng trong hệ thống: 24
3.2.3 Động cơ dẫn động chính trong hệ thống: 28
3.2.4 Mô đun điều khiển tốc độ động cơ: 29
3.2.5 Vi xử lý điều khiển robot: 30
Trang 6vii
3.2.6 Nguồn cung cấp cho robot: 32
3.2.7 Module giao tiếp WiFi nodeMCU v3 ESP8266 v12: 32
3.3 TỐI ƯU HÓA GIẢI THUẬT DIJSKTRA: 34
3.3.1 Tối ưu số đỉnh đi qua: 34
3.3.2 Tối ưu đường thẳng: 36
3.4 LƯU ĐỒ GIẢI THUẬT ĐIỀU KHIỂN ROBOT: 37
Chương 4 THI CÔNG HỆ THỐNG 40
4.2 THI CÔNG PHẦN ĐIỆN 41
4.3 THI CÔNG PHẦN MỀM 43
4.3.1 Giới thiệu phần mềm Matlab 43
4.3.1 Thiết kế giao diện 44
4.3.2 Thiết lập giao tiếp cho Matlab và ESP8266 47
Chương 5 KẾT QUẢ THỰC HIỆN 48
5.1 HỆ THỐNG TÌM ĐƯỢC ĐƯỜNG ĐI NGẮN NHẤT DỰA TRÊN GIẢI THUẬT DIJKSTRA 48
5.2 XỬ LÝ ĐƯỢC TÌNH HUỐNG GẶP VẬT CẢN TĨNH VÀ VẬT CẢN ĐỘNG 50
5.3 HOẠT ĐỘNG CHÍNH XÁC VỚI VẬN TỐC ĐẶT TRƯỚC 51
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
6.1 KẾT LUẬN 52
6.2 HƯỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO……… ….….xii
PHU LỤC ……… ……… …xviii
Trang 7LIỆT KÊ HÌNH VẼ
Hình 2.1: Đường đi từ s đến t 5
Hình 2.3: Hệ thống truyền dữ liệu bất đồng bộ 7
Hình 2.4: Cấu trúc gói dữ liệu trong giao tiếp UART 7
Hình 2.5 Mô tả quá trình TCP thiết lập kết nối bằng 3 bước (hand shaking) 9
Hình 2.6 Cấu trúc gói tin TCP 9
Hình 2.7 Mô hình động học của robot tự hành 11
Hình 2.8 Sơ đồ cấu tạo của động cơ 12
Hình 2.9 Đặc tính cơ (b) – cơ điện (a) của động cơ khi giảm từ thông 13
Hình 2.10 Đặc tính cơ khi thay đổi điện trở phần ứng 13
Hình 2.11 Đặc tính cơ khi giảm điện áp phần ứng 14
Hình 2.12 Các chế độ làm việc của động cơ ở bốn góc phần tư 15
Hình 2.13 Mạch nguyên lý bọ chopper lớp E 16
Hình 2.14 Điều chế độ rộng xung – PWM 16
Hình 2.15 Bộ điều khiển PID 18
Hình 2.16 Biểu đồ thể hiện tác động của Kp trong hệ thống 19
Hình 2.17 Tác động của Ki trong hệ thống 19
Hình 2.18 Tác động của KD trong hệ thống 20
Hình 3.1 Mô tả cơ bản hệ thống 23
Hình 3.2 Sơ đồ khối một xe tự hành 23
Hình 3.3a Cảm biến TCRT5000 3.3b Nuyên lý hoạt của TCRT5000 25
Hình 3.4 Nguyên tắc hoạt động của encoder từ trường 28
Hình 3.5 Động cơ GA-25 và encoder từ 29
Hình 3.6a Mạch L298N Hình 3.6b Mạch nguyên lý L298N 30
Hình 3.7 Board điều khiển ATMEGA2560 31
Hình 3.8 Mega sensor shield 31
Hình 3.9a Pin lipo 3s 2200mAh 3.9b Mạch giảm áp 5V 32
HIình 3.13 Sơ đồ chân I/O của NodeM CU V3 ESP-12E 33
Hình 3.10a Đồ thị a 34
Hình 3.10b Trường hợp 1: Từ A đến H sẽ đi qua các đỉnh [A, D, F, E, H] và có độ dài bằng 10 34
Hình 3.10c Trường hợp 2: Từ A đến H sẽ đi qua các đỉnh [A, B, C, F, E, H] và cũng có độ dài bằng 10 35
Hình: 3.11 Đồ thị 2 36
Hình 3.11b Trường hợp 1 Hình 3.11b Trường hợp 2 36
Trang 8ix
Hình 3.12 a) Main code b) Chương trình con đo khoảng cách 37
c) Chương trình con cập nhật bản đồ d) Chương trình con giao tiếp 38
e) Chương trình con đọc xung encoder f) Chương trình con đọc cảm biến 38
g) Chương trình con ngắt timer1 h) Chương trình con ngắt timer2 39
i) Chương trình con ngắt timer3 39
Hình 4.1 Bản vẽ thiết kế file mica xe tự hành 40
Hình 4.2 Mô hình 3D xe tự hành trên phần mềm 40
Hình 4.3 Xe tự hành thực tế thi công 41
Hình 4.4 Kết nối module cảm biến khoảng cách và cảm biến phát hiện line 41
Hình 4.5 Cách kết nối vi điều khiển và động cơ 41
Hình 4.6 Cửa sổ GUIDE Quick Start 44
Hình 4.7 Giao diện thiết kế của Matlab 45
Hình 4.8 Thiết kế giao diện thực tế 46
Hình 5.1: Sử dụng thuật toán Dijkstra 48
Hình 5.2: Sử dụng thuật toán Dijkstra + tính năng ưu tiên đường thẳng 48
Hình 5.3: Sử dụng thuật toán Dijkstra + ưu tiên ít đỉnh 49
Hình 5.4: Thuật toán sử dụng cho hệ thống 49
Hình 5 Quá trình xử lý khi xe gặp vật cản động 50
Hình 5 Quá trình xử lý khi gặp vật cản tĩnh 51
Trang 9LIỆT KÊ BẢNG
Bảng 2.1 So sánh ưu nhược điểm của các giải thuật tìm đường đi ngắn nhất: 3
Bảng 3.1 Các loại cảm biến môi trường xác định vị trí và quỹ đạo di chuyển 24
Bảng 3.2 Các loại cảm biến xác định vật cản 26
Bảng 3.3 Tóm tắt thông số board arduino mega 2560 31
Bảng 4.1 Cách kết nối chân giữa vi điều khiển và tất cả các thiết bị 42
Bảng 4.2 Danh sách các Tool trong giao diện GUI 45
Trang 10xi
TÓM TẮT
Đề tài nghiên cứu và phát triển một hệ thống robot thông minh ứng dụng vận
chuyển hàng hóa trong kho bãi, sử dụng các giải thuật tối ưu hóa được cải tiến dựa trên nền tảng trí thông minh nhân tạo:
• Hệ thống được điều khiển và quản lý một cách tự động hoàn toàn, hoặc bán
tự động (có sự cùng tham gia của con người)
• Thiết kế thuật toán tối ưu tìm đường đi ngắn nhất cho robot
• Thiết kế các module cảm biến giúp xe định vị đường đi, vật cản và nhận định chính xác xe khi kết nối
• Thiết kế bộ driver điều khiển động cơ kết hợp với PID điều khiển một cách chính xác vị trí, tốc độ
Trang 11Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển của khoa học và công nghệ, robot đang ngày càng ứng dụng nhiều trong cuộc sống của con người Robot đang dần thay thế con người làm những việc từ đơn giản đến phức tạp, đòi hỏi sự chính xác cao Từ những việc nhà đơn giản, đến các ngành công nghiệp nặng, hay đến hàng không vũ trụ, robot đã
và đang trở thành công cụ đắc lực và không thể thiếu giúp con người nâng cao năng suất lao động Sự cần thiết cũng như là tính ứng dụng của chúng đã thúc đẩy con người nghiên cứu, phát triển mạnh mẽ lĩnh vực này Nhân loại đang tiếp cận cuộc
“Cách mạng công nghệ 4.0” với sự đột phá của trí thông minh nhân tạo (AI – Artificial intelligence) và thiết bị điện tử thông minh (Smart equipment), đây là tiền đề cho sự nghiên cứu, phát triển các ứng dụng của Robot
Hiện nay Robot di động được áp dụng rất nhiều vào những sinh hoạt hàng ngày,
và còn những mục đích trong kinh tế hay khám phá thiên nhiên của con người Trong đời sống, robot di động được sử dụng rộng rãi và phổ biến, ví dụ như: robot giúp việc nhà, robot phục vụ, robot bán hàng, robot tìm và cứu hộ… Đối với nền kinh tế hay trong các ngành công nghiệp, robot di động mang lại sức lao động đáng kể, đảm nhiệm các công việc nặng, chính xác, ổn định Từ đó việc áp dụng robot di động mang lại tiềm năng kinh tế không hề nhỏ Ngoài ra, con người đã sử dụng một cách phổ biến robot di động trong việc khám phá thiên nhiên Ví dụ như: sử dụng tàu ngầm không người lái để khám phá nơi sâu nhất dưới đáy đại dương, flycam để quan sát những vách núi cheo leo hay những robot tự hành hoặc điều khiển được gửi lên mặt trăng, sao hỏa để nghiên cứu vũ trụ… Việc sử dụng robot di động giúp con người tiết kiệm được thời gian, thực hiện hay khám phá những điều mà con người không thể tự tay làm và giảm thiểu đi những nguy hiểm, tạo tiền đề phát triển những ngành khác Như vậy việc nghiên cứu, phát triển robot đặc biệt là robot di động rất cần thiết và quan trọng
Tại Việt Nam xe tự hành đã được nghiên cứu rộng rãi và áp dụng rất nhiều trong cuộc sống Tuy nhiên, ở mỗi quốc gia khác nhau, có nhiều điều kiện khoa học–kỹ
Trang 12thuật, kinh tế và phạm vi ứng dụng khác nhau Vì thế nhóm nghiên cứu chọn nghiên cứu và thiết kế xe tự hành, đáp ứng được bài toán về khoa học – kỹ thuật, kinh tế và mang tính ứng dụng cao Điển hình như việc xe có thể vận chuyển hàng hóa từ vị trí này đến vị trí khác mà không cần có người điều khiển, hay có thể làm công việc bưng
bê phục vụ trong nhà hàng thay cho nhân viên… Từ những ứng dụng trên, việc nghiên cứu, thiết kế và phát triển xe tự hành là công việc quan trọng, thiết thực và tạo tiền đề
▪ Giao tiếp không dây
▪ Giao diện sử dụng thân thiện với người sử dụng
1.3 PHẠM VI NGHIÊN CỨU
• Tìm hiểu các thiết bị và lựa chọn thiết bị phù hợp cho mô hình ứng dụng
• Thiết kế sơ bộ kết cấu phần cơ khí
• Tìm hiểu về thuật toán tìm đường đi ngắn nhất
• Cải tiến các thuật toán sẵn có bằng các đề xuất mới…
• Tiến hành lập trình chương trình điều khiển xe
• Tìm hiểu về giao tiếp không dây
• Thiết kế giao diện điều khiển bằng phần mềm Matlab
• Thu thập thông số, chạy thử nghiệm và đánh giá kết quả
Trang 13Chương 2 CƠ SỞ LÝ THUYẾT
2.1 GIẢI THUẬT DIJSKTRA
2.1.1 Giới thiệu:
Như ta đã biết, bài toán tìm đường ngắn nhất là một kiểu bài cơ bản trong các bài toán về đồ thị Nhắc lại một chút, tìm đường ngắn nhất trong đồ thị là tìm quãng đường đi từ một điểm đến một điểm khác sao cho tổng độ dài của các cạnh trên đường
đi là nhỏ nhất
Các thuật toán thường được dùng để giải quyết những bài toán này là:
• Thuật toán Dijkstra - giải bài toán đường đi ngắn nhất giữa hai đỉnh cho trước nếu tất cả các trọng số đều không âm Thuật toán này có thể tính toán tất cả các đường đi ngắn nhất từ một đỉnh xuất phát cho trước tới mọi đỉnh khác mà
không làm tăng thời gian chạy
• Thuật toán Bellman-Ford - giải bài toán bài toán đường đi ngắn nhất giữa hai
đỉnh cho trước trong trường hợp trọng số có thể có giá trị âm
• Thuật toán Floyd-Warshall - giải bài toán đường đi ngắn nhất cho mọi cặp đỉnh
Bảng 2.1 So sánh ưu nhược điểm của các giải thuật tìm đường đi ngắn nhất:
Không sử dụng được cho trọng số âm
Trang 14trước tới mọi đỉnh khác
mà không làm tăng thời gian chạy
Đơn giản trong việc thực hiện
Bellman-Ford Có thể chạy được với
trong số âm
Độ phức tạp cao, tốn bộ nhớ
Từ bảng so sánh trên nhóm nghiên cứu quyết định chọn thuật toán Dijkstra để áp dụng cho đề tài của mình
Giải thuật Dijkstra, mang tên của 1 nhà khoa học máy tính người Hà Lan Edsger W Dijkstra, là một thuật toán giải quyết bài toán đường đi ngắn nhất trong một đồ thị có hướng không có cạnh trọng số âm Ứng dụng lớn nhất của thuật toán này là trong công nghệ Hệ thống định vị toàn cầu (GPS), truyền dẫn tín hiệu
trong mạng Internet
2.1.2 Mô tả thuật toán:
Thuật toán khởi đầu với giả thiết cho đồ thị G=(V,E) và các trọng số trên mỗi
cạnh (trọng số tức là chi phí, chiều dài, thời gian ) Ta chọn một đỉnh s, gọi đó là điểm nguồn Kết thúc thuật toán ta sẽ tìm được đường đi ngắn nhất từ s đến các đỉnh
còn lại trong đồ thị
Ban đầu, ta coi khoảng cách từ đỉnh s đến chính nó là 0 (hiển nhiên) và khoảng cách từ s đến các đỉnh kia là ∞ Một mặt, việc để độ dài quãng đường đến các đỉnh
kia là ∞ giúp chúng ta đánh dấu các đỉnh đó là chưa thăm Mặt khác, sau này khi
thuật toán tìm thấy đường khác ngắn hơn, ta sẽ thay thế giá trị của chúng
Thuật toán này dựa trên một nhận xét là, giả sử đường P1 là đường ngắn nhất
từ s đến t và phải đi qua đỉnh v Điều này có nghĩa là, đường P1 phải bao gồm đường ngắn nhất từ s đến v Nói một cách khác, đường từ s đến v trên đường P1 phải là đường ngắn nhất trong các đoạn từ s đến v vì nếu không phải như vậy, ta có thể tìm được đường khác ngắn hơn từ s đến v, rồi từ đó đi cùng một con đường từ v đến t Đường mới này gọi là P2 từ s đến t và sẽ ngắn hơn P1, trái với giả thiết ban đầu
Trang 15Hình 2.1: Đường đi từ s đến t
Giả sử đường ngắn nhất từ s đến t đi qua v, thì đường s đến v cũng là ngắn nhất
Từ nhận xét trên, ta thấy là để tính đường ngắn nhất từ s tới một đỉnh ở xa, ta phải tính đường ngắn nhất từ s tới một đỉnh ở gần hơn trước
Trong thuật toán, ta có một vòng lặp, mỗi lần ta chọn ra một đỉnh, là đỉnh ở
gần s nhất mà ta đã biết Từ đỉnh đó ta sẽ tính quãng đường từ s tới các đỉnh kề với đỉnh đang xét Cụ thể như sau:
Lần đầu tiên, ta chọn đỉnh s vì đó là đỉnh ở gần s nhất mà ta đã biết (khoảng cách
từ một đỉnh đến chính nó bằng 0) Ta tính khoảng cách từ s đến các đỉnh kề nó bằng chính độ dài các cạnh nối từ s đến các đỉnh đó Ta cập nhật quãng đường từ s đến các đỉnh đó, đồng thời đánh dấu đỉnh s là đã thăm
Các lần tiếp theo, mỗi lần ta chọn ra đỉnh v mà ta đã biết chắc chắn ở gần với s nhất Từ đỉnh v hiện tại ta tính đường ngắn nhất từ s tới các
đỉnh t1,t2,t3…t1,t2,t3… kề với v theo cách sau: Ta gọi quãng đường ngắn nhất đã
biết s⇝t1 là P1 Ta xét quãng đường P2 bằng tổng quãng đường ngắn nhất của s⇝v và độ dài cạnh (v,t1)
Nếu tổng P2 này nhỏ hơn quãng đường P1 hiện tại, ta cập nhật đường ngắn nhất
từ s⇝v bằng P2 Lúc này ta đánh dấu đỉnh v là đã thăm
Thuật toán dừng lại khi tất cả các đỉnh đều đã được đánh dấu là đã thăm
• Giải thuật:
Bước 1: Gán T = V và gán các nhãn:
𝐿[𝑠] = 0; 𝐿[𝑘] = +∞, ∀𝑘 ∈ 𝑉\{𝑠};
𝑃𝑟𝑒𝑣[𝑘] = −1, ∀𝑘 ∈ 𝑉
Trang 16Bước 2: Nếu v ∉ T thì dừng và giá trị L[v] chính là độ dài đường đi ngắn nhất
từ s đến v và Prev[v] là đỉnh nằm ngay trước v trên đường đi đó
Bước 3: Chọn đỉnh I ∈ T sao cho L[i] nhỏ nhất và gán T = T \ {i}
Bước 4:Với ∀𝑘 ∈ 𝑇 và từ đỉnh I (ở bước 3) đến đỉnh k có cạnh nối:
Nếu 𝐿[𝑘] > 𝐿[𝑖] + 𝐷𝑖𝑘 thì gán 𝐿[𝑘] = 𝐿[𝑖] + 𝐷𝑖𝑘 𝑣à 𝑃𝑟𝑒𝑣[𝑘] = 𝑖 Trở về bước 2
2.2 GIAO TIẾP TRONG HỆ THỐNG:
Robot tự hành phải có khả năng tự hoạt động theo chương trình đã cài đặt mà không cần sự can thiệp của con người như: khi nhận được thông tin về tuyến đường
đi, robot phải có khả năng tự động đi đúng theo tuyến đường đó và trả kết quả về cho trạm điều khiển khi đến đích Tuy nhiên trong hệ thống vận chuyển hàng hoá thông minh, tuyến đường vận chuyển của robot phụ thuộc vào yêu cầu điều khiển của người
sử dụng.Vì vậy hệ thống truyền thông không dây là cần thiết để người điều khiển có thể điều khiển và theo dõi quá trình hoạt động của robot trong hệ thống
Trong mô hình của chúng tôi, hệ thống truyền nhận dữ liệu được thiết kế theo
mô hình hình 2.2 sau:
Hình 2.2: Sơ đồ mô hình truyền nhận Trong đó:
UART đảm nhiệm vai trò giao tiếp giữa Arduino mega 2560 với NodeMCU,
cụ thể Arduino nhận về là lệnh điều khiển và trả về cho NodeMCU lệnh xác nhận
Trang 17WiFi có trách nhiệm giao tiếp giữa máy tính và NodeMCU, cụ thể NodeMCU
nhận lệnh điều khiển từ máy tính và trả về máy tính thông tin xác nhận đã nhận được
từ Arduino thông qua giao thức UART
UART (Universal Asynchoronuos Reciever - Transmitter) là giao thức truyền
nhận dữ liệu nối tiếp bất đồng bộ Được sử dụng phổ biến trong các hệ thống nhúng
Giao thức truyền thông không đồng bộ UART (Universal Asynchoronuos
Reciever - Transmitter):
Có 2 cách để đưa dữ liệu lên: truyền song song và truyền nối tiếp
Truyền dữ liệu không đồng bộ bao gồm 2 đường truyền nhận dữ liệu, các thiết
bị trong đương truyền là ngang cấp Không có xung clock, do đó mỗi thiết bị phải có
mạch dao động tạo xung CK độc lập nhưng phải cùng tần số hoặc cùng tốc độ
(Baudrate)
UART truyền và nhận dữ liệu theo từng gói Mỗi gói gồm có: 1 bit bắt đầu, 5
đến 9 bit dữ liệu, 0 hoặc 1 bit chẵn lẻ, và 1 đến 2 bit kết thúc
Hình 2.4: Cấu trúc gói dữ liệu trong giao tiếp UART
Ứng dụng của UART:
Giao tiếp UART phổ biến trong các vi điều khiển, với các nhu cầu cụ thể
UART cũng được tìm thấy trong các thiết bị như module Bluetooth, thiết bị giao tiếp
không dây, thiết bị GPS và nhiều ứng dụng khác
Hình 2.3: Hệ thống truyền dữ liệu bất đồng bộ
Trang 18Ưu điểm của UART:
• Chuẩn nối tiếp được sử dụng nhiều
• Sử dụng bit chẳn lẻ để kiểm tra lỗi
• Dữ liệu truyền nhận được đóng gói
• Chỉ dùng 2 dây để TX và RX chuyển dữ liệu và không cần xung clock
Nhược điểm:
• UART không hỗ trợ cấu hình nhiều master hoặc nhiều slaver
• Tốc độ tuyền nhận dữ liệu trên cả 2 thiết bị truyền và nhận phải giống nhau Trong truyền dữ liệu không dây, kết nối wifi thường là sự lựa chọn hàng đầu bởi tính phổ biến và kinh tế của hệ thống wifi với mô hình kết nối trong một phạm vị địa
lý có giới hạn
Sóng wifi gần giống với các sóng vô tuyến dùng cho điện thoại di động hay các thiết bị khác Tuy nhiên sóng WiFi truyền và nhận tín hiệu ở tần số 2.4 GHz hoặc 5 GHz, tần số này cao hơn nhiều so với các thiết bị cầm tay và truyền hình, nhờ đó cho phép sóng WiFi mang được nhiều dữ liệu hơn
Hiện nay, đa số các thiết bị wifi đều tuân theo chuẩn 802.11n, được phát ở tần số 2.4Ghz và đạt tốc độ xử lý tối đa 300Megabit/giây
• Chuẩn: dựa trên chuẩn IEEE 802.11n (phổ biến hầu hết ở các hộ gia đình)
• Tần số: 2.4 GHz và 5 GHz
• Phạm vi: xấp xỉ 50m
• Tốc độ truyền nhận: thông thường 150-200 Mbps, phụ thuộc vào tần số kênh
sử sụng và số lượng ăng- ten (chuẩn 802.11-ac mới nhất có thể cung cấp với tốc độ 500Mbps đến 1Gbps )
Trong đề tài này, chúng tôi sử dụng mô hình server-client, là một mô hình phổ biến trong mạng máy tính Trong mô hình này, một máy khách (client) sẽ gửi yêu cầu đến máy chủ (server), và máy chủ sẽ xử lý và trả kết quả về cho máy khách Và server với client trao đổi dữ liệu cho nhau qua giao thức TCP
TCP (Transmission Control Protocol) là một trong những giao thức cốt lỗi của bộ giao thức TCP/IP Sử dụng TCP, các thiết bị trong cùng một Accesspoint hoặc được nối mạng có thể kết nối và truyền dữ liệu cho nhau, hoặc trao đổi các gói tin Giao
Trang 19thức TCP đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự
Giao thức TCP hoạt động dựa theo quy tắc 3 bước (threeway – hand shaking) trong tầng giao vân (transport):
Hình 2.5 Mô tả quá trình TCP thiết lập kết nối bằng 3 bước (hand shaking)
Đặc điểm:
• TCP là giao thức hướng kết nối: phải thiết lập kết nối trước khi truyền dữ liệu
• Hỗ trợ cơ chế full-duplex (truyền nhận dữ liệu cùng lúc)
• Cung cấp cơ chế đánh số gói tin (sequencing)
• Cung cấp cơ chế báo nhận
• Phục hồi dữ liệu khi bị mất trên đường truyền
Cấu trúc gói tin TCP:
Hình 2.6 Cấu trúc gói tin TCP
Trang 20• 32 bit sequence number: dùng để đánh số thứ tự gói tin (từ sequence tính được số byte được truyền)
• 32 bit acknowledgement number: dùng để báo đã nhận được gói tin nào và mong muốn nhận được byte mang số thứ tự nào tiếp theo
• 4 bit head length: cho biết toàn bộ header dài bao nhiêu Word
• Phần kí tự (trước 16 bit Windown Size): dùng để điều khiển cờ ACK, cờ sequence,
2.3 PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT:
Robot di động hay còn gọi là robot tự hành, có khả năng tự hoạt động, thực thi nhiệm vụ mà không cần sự can thiệp của con người Với sự phát triển của ngành Robot học,và lợi thế của việc sử dụng bánh xe (hoặc chân) để làm
cơ cấu di chuyển, không phải ràng buộc với một gốc tọa độ nhất định Robot tự hành ngày càng có khả năng hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực áp dụng mà chúng có nhiều loại khác nhau như robot giúp việc nhà, robot phục vụ, robot bán hàng, robot tìm và cứu hộ, robot thám hiểm đại dương, robot khám phá vũ trụ,…
Với mô hình robot di động cơ bản gồm hai bánh xe chủ động định hướng bằng phương pháp vi sai và một bánh đa hướng như hình 2.6 và các thông số bên dưới:
Trang 21Hình 2.7 Mô hình động học của robot tự hành
R-L/2: Bán kính mô tả quỹ đạo chuyển động cong của bánh trái
R+L/2: Bán kính mô tả quỹ đạo chuyển động cong của bánh phải
Trong hệ trục xOy, từ tâm của vận tốc tức thời ta xác định được vận tốc góc của robot:
𝜔(𝑡) = 𝑣𝑟(𝑡) − 𝑣𝑙(𝑡)
𝐿 Vận tốc dài của robot:
𝑣(𝑡) = 1
2 (𝑣𝑟(𝑡) + 𝑣𝑙(𝑡))
Trang 222.4 Điều khiển tốc độ động cơ
Đối với robot di động do cấu tạo về nguồn điện cũng như các yêu cầu điều khiển, động cơ được sử dụng phổ biến nhất là động cơ một chiều kích từ độc lập Từ phương trình đặc tính cơ của động cơ điện một chiều kích từ độc lập để điều khiển tốc độ động cơ có các phương pháp sau:
ω = Uu
KΦ −
Ru− Rf(KΦ)2 ∗ M Trong đó:
ɷ: tốc độ (rad/s) Uu : điện áp phần ứng (V)
Ru: Điện trở phần ứng (Ω) Rf: Điện trở phụ phần ứng (Ω)
K: Hệ số kết cấu của động cơ Φ: Từ thông (Wb)
M: momen (N.m)
Hình 2.8 Sơ đồ cấu tạo của động cơ
Khi giữ nguyên momen tải, ta có thể thấy tốc độ động cơ phụ thuộc vào các tham số Uu, Φ, Rf Do đó ta có thể điều chỉnh tốc độ động cơ một chiều kích từ độc lập bằng các phương pháp:
• Điều khiển từ thông
• Điều khiển điện trở phần ứng
• Điều khiển điện áp phần ứng
2.4.1 Điều khiển từ thông
Phương pháp này được sử dụng khi cần tăng tốc độ làm việc của động cơ cao hơn tốc độ định mức Sự thay đổi tốc độ động cơ khi thay đổi từ thông được thể hiện ở hình 2.8
Trang 23Tốc độ cao nhất của động cơ đạt được khi giảm từ thông bị hạn chế bởi:
Sự không ổn định của động cơ gây ra bởi ảnh hưởng của phản ứng phần ứng Giới hạn về mặt cơ khí của động cơ
Ngoài ra phương pháp này chịu ảnh hưởng của hiện tượng từ dư và các nhiễu, làm ảnh hưởng xấu đến chất lượng của các hệ thống truyền động đảo chiều bằng kích từ
Hình 2.9 Đặc tính cơ (b) – cơ điện (a) của động cơ khi giảm từ thông
2.4.2 Điều khiển điện trở phần ứng
Hình 2.9 dưới đây miêu tả đặc tính cơ động cơ khi thay đổi điện trở phần ứng
Hình 2.10 Đặc tính cơ khi thay đổi điện trở phần ứng
Khi Rf càng lớn (β càng nhỏ) đặc tính cơ càng dốc Do vậy phương pháp này chỉ cho phép giảm tốc độ bằng cách thêm từng cấp điện trở, không thể điều chỉnh trơn tốc độ Bên canh đó việc thêm điện trở còn gây ra tổn hao công suất
Trang 24dụng để điều khiển tốc độ động cơ trừ các trường hợp sau: Khởi động động cơ hoặc thay đổi tốc độ động cơ trong một thời gian ngắn trong chế độ ngắn hạn
hoặc ngắn hạn lặp lại
2.4.3 Điều khiển điện áp phần ứng
Hình 2.10 dưới đây miêu tả đặc tính cơ động cơ khi thay đổi điện áp phần ứng
Hình 2.11 Đặc tính cơ khi giảm điện áp phần ứng
Khi thay đổi điện áp đặt vào phần ứng động cơ, ta được họ đặc tính cơ song song với đặc tính cơ tự nhiên và có độ ứng đặc tính cơ là không đổi Khi giảm điện áp đặt vào phần ứng động cơ thì dòng điện ngắn mạch sẽ giảm (Inm=Udm/Rư) momen ngắn mạch của động cơ (Mnm=K*Φ*Iư) cũng sẽ giảm Do đó tốc độ động cơ giảm với giá trị bất kì dưới tốc độ định mức (vì không thể tăng cao hơn điện áp định mức của động cơ)
Tính chất quan trọng nhất của phương pháp này là độ cứng đặc tính cơ không thay đổi khi tốc độ động cơ được điều chỉnh Điều này khiến hệ có khả năng đáp ứng với tải có momen hằng số vì dòng phần ứng cực đại cho phép Iư max – tương ứng với nó là momen tải cực đại cho phép của động cơ giữ không đổi với mọi tốc độ
Điện áp phần ứng động cơ có thể điều khiển bằng cách sử dụng:
• Máy phát DC (Hệ máy phát – động cơ)
• Bộ chỉnh lưu có điều khiển (AC → DC)
• Bộ Chopper (Bộ biến đổi xung áp) (DC →DC)
Trang 25❖ Điều khiển điện áp phần ứng bằng cách sử dụng hệ thống bộ Chopper
Chopper lớp A: 𝑈𝑡𝑏
𝑇 Bộ Chopper kiểu giảm áp, động cơ hoạt động
ở chế độ động cơ với các phương pháp thực hiện là: Điều khiển tỉ lệ thời gian (Time ratio control) hoặc Điều khiển dòng (Current limit control)
Chopper lớp B: 𝑈𝑡𝑏
1− 𝑇𝑂𝑁 𝑇
Bộ Chopper kiểu tăng áp, động cơ hoạt động
Trang 26Hình 2.13 Mạch nguyên lý bọ chopper lớp E
Điều khiển theo kiểu đảo dòng BJT Q1 sẽ được kích ngược pha với Q4,
và tương tự với Q2 và Q3 Khi đó 𝑈𝑡𝑏
2.5 ĐIỀU CHẾ ĐỘ RỘNG XUNG (PULSE-WIDTH MODULATION)
Để thay đổi điện áp trung bình trên động cơ, phải thay đổi chu kì kích cho các khóa Q trong mạch trên (hình 2.13) Phương pháp phổ biến nhất là điều chế
độ rộng xung, phương pháp này cho phép điều chỉnh áp ra trên tải bằng cách thay đổi độ rộng của sườn dương hay sườn âm của xung kích (Hình 2.13)
Hình 2.14 Điều chế độ rộng xung – PWM
Có 2 phương pháp điều chế độ rộng xong cơ bản là:
• Tạo xung vuông bằng phương pháp so sánh: PWM thường được tạo ra bằng cách so sánh giữa tín hiệu răng cưa (saw signal) với tín hiệu DC (DC signal) từ đó với tạo ra những xung vuông có độ rộng chu kì lớn nhỏ khác
Trang 27nhau Các chu kì này phụ thuộc vào chu kì của tín hiệu sóng răng cưa, còn tín hiệu DC có vai trò trong việc xác định mức công suất điều chế Phương pháp điều chế này thường được tạo ra bằng các IC chuyên dụng như NE555
• Tạo xung vuông bằng phần mềm: Đây là cách tối ưu trong các cách để tạo được xung vuông Việc tạo bằng phần mềm có độ chính xác cao về tần số PWM và mạch đơn giản hơn rất nhiều
2.6 BỘ ĐIỀU KHIỂN PID
Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID) là một cơ chế
phản hồi vòng điều khiển (bộ đ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 được sử dụng phổ biến nhất trong số các bộ điều khiển phản hồi Một bộ điều khiển PID tính toán một 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 Trong trường hợp không có kiến thức cơ bản về quá trình, bộ điều khiển PID là bộ điều khiển tốt nhất Tuy nhiên, để đạt được kết quả tốt nhất, các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống
Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do
đó đôi khi nó còn được gọi là điều khiển ba khâu: 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ố Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt Nhờ vậy, những giá trị này
có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ, và D dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại
Bằng cách điều chỉnh 3 hằng số trong giải thuật của bộ điều khiển PID,
bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt Đáp ứng
Trang 28giá trị mà bộ điều khiển vọt lố điểm đặt và giá trị dao động của hệ thống Lưu
ý là công dụng của giải thuật PID trong điều khiển không đảm bảo tính tối ưu hoặc ổn định cho hệ thống
Vài ứng dụng có thể yêu cầu chỉ sử dụng một hoặc hai khâu tùy theo hệ thống Điều này đạt được bằng cách thiết đặt đội lợi của các đầu ra không mong muốn về 0 Một bộ điều khiển PID sẽ được gọi là bộ điều khiển PI, PD, P hoặc
I nếu vắng mặt các tác động bị khuyết Bộ điều khiển PI khá phổ biến, do đáp ứng vi phân khá nhạy đối với các nhiễu đo lường, trái lại nếu thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mong muốn
Bộ điều khiển PID (hình 2.14), trong e là sai số (hiệu số giữa giá trị đặt và giá trị thực tế thu được)
Hình 2.15 Bộ điều khiển PID
Khâu tỉ lệ (hay còn gọi là độ lợi): 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ố KP, được gọi là độ lợi tỉ lệ Mô phỏng khi giữ nguyên KI, KD
và thay đổi KP như hình 2.15 bên dưới
Trang 29Hình 2.16 Biểu đồ thể hiện tác động của Kp trong hệ thống
Giá trị KP càng lớn thì đáp ứng càng nhanh do đó độ vọt lố càng lớn, bù khâu tỉ lệ càng lớn Một giá trị độ lợi tỉ lệ quá lớn sẽ dẫn đến quá trình mất ổn định và dao động
• Khâu tích phân (đôi khi còn gọi là reset): 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 (tích phân sai số) 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 độ lợi tích phân, Mô phỏng khi giữ nguyên KP, KD và thay đổi KI như hình 2.16 bên dưới
Hình 2.17 Tác động của Ki trong hệ thống
Trang 30 Giá trị KD càng lớn kéo theo sai số ổn định bị khử càng nhanh Đổi lại là
độ vọt lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá
độ phải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái
ổn định
• Khâu vi phân: 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 độ lợi tỉ lệ Biên độ của khâu vi phân (đôi khi được gọi là tốc độ) trên tất cả các hành vi điều khiển được giới hạn bởi độ lợi vi phân Mô phỏng khi giữ nguyên KP, KI và thay đổi KD như hình 2.17 bên dưới
Giá trị KD càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép
vi phân sai số
Hình 2.18 Tác động của KD trong hệ thống
Tuy nhiên do đáp ứng vi phân khá nhạy đối với các nhiễu đo lường nhất là
bộ encoder trong motor công suất nhỏ, nên có thể bỏ qua khâu vi phân trong bộ điển PID trong mô hình này
Trang 31Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 YÊU CẦU ĐIỀU KHIỂN
- Điều khiển xe chạy được với tốc độ định sẵn
- Xử lý được khi xe gặp vật cản tĩnh, động
- Trả được về giá trị vị trí và trạng thái chạy của xe
- Chạy được theo yêu cầu của người sử dụng
Trang 323.2.2 Các loại cảm biến dùng trong hệ thống
Bộ cảm biến là thiết bị điện tử cảm nhận những trạng thái hay quá trình vật lý hay hóa học ở môi trường cần khảo sát, và biến đổi thành tín hiệu điện để thu thập thông tin về trạng thái hay quá trình đó
Trong đề tài này, rất nhiều loại cảm biến phù hợp để trang bị cho robot nhằm nâng cao hiệu suất, tính năng cho robot di động Tuy nhiên robot cần ba loại cảm biến
cơ bản nhất nhằm xác định vị trí của robot, quỹ đạo di chuyển, vật cản trên quỹ đạo
và cảm biến nhận biết tốc độ
❖ Cảm biến xác định vị trí, quỹ đạo di chuyển:
Đối với robot di động có rất nhiều phương pháp để xác định quỹ đạo di chuyển tùy thuộc vào môi trường hoạt động, điều kiện hoạt động và các yêu cầu khác của hệ thống Bảng 3.1 bên dưới nêu một vài cảm biến môi trường cơ bản và ưu nhược điểm tương đối của từng loại
Bảng 3.1 Các loại cảm biến môi trường xác định vị trí và quỹ đạo di chuyển
-Cấu tạo đơn giản,
dễ chế tạo
-Kích thước lớn -Không ổn định khi nhiệt độ môi trường cao
-Hoạt động hiệu quả, chính xác
-Giá thành cao -Hệ thống phức tạp, khó điều khiển
3 Cảm biến
quang –
Hồng ngoại
Phân biệt màu sắc, xác định vị trí
-Hoạt động ổn định ở nhiều môi trường
-Đơn giản, dễ chế tạo
-Giá thành rẻ
-Khoảng cách nhận biết nhỏ
-Không thể phân biệt nhiều tông màu
Trang 334 GPS Xác định vị
trí
Phạm vi định vị lớn
và xây dựng một hệ thống quỹ đạo line màu mang lại sự hiệu quả và có tính kinh tế cho hệ thống
Module cảm biến TCRT5000 (hình 3.3a) hoạt động dựa trên nguyên lý cảm biến hồng ngoại (hình 3.3b) Khi ánh sáng hồng ngoại từ LED hồng ngoại phát ra nếu
có vật phản xạ hồng ngoại thì LED thu hồng ngoại sẽ hoạt động Ta cần kết hợp với opamp hoặc bộ chuyển đổi ADC trong quá trình sử dụng
Theo mạch nguyên lý hình 3.3b, LED thu hồng ngoại hoạt động như một quang trở, tùy thuộc vào loại cảm biến mà quang trở có điển trở giảm khi có cường độ ánh sáng hồng ngoại tăng hoặc ngược lại, tuy nhiên TCRT5000 có LED thu hồng tăng điện trở khi cường độ ánh sáng hồng ngoại tăng Do đó, khi cảm biến không bắt được line đen, ánh sáng hồng ngoại bị phản xạ lại, điện trở LED thu lớn hơn R2, V3>V2 (V3>2,5V) nên Vout = VCC Ngược lại khi bắt được line đen điện trở LED thu nhỏ hơn điện trở R2 V3<V2 (V3<2,5V) nên Vout = GND
Hình 3.3a Cảm biến TCRT5000 3.3b Nuyên lý hoạt của TCRT5000
Thông số kỹ thuật:
• Nguồn cung cấp: 5 VDC
Trang 34• Chip so sánh LM393
• Dòng điện tiêu thụ: <10mA
• Dải nhiệt độ hoạt động: 0°C ~ 50°C
• Ngõ ra giao tiếp: 4 dây (VCC, GND, DO, AO)
• Mức tín hiệu ngõ ra: TTL
• Kích thước: 3.2 x 1.4 mm
❖ Cảm biến xác định vật cản trên quỹ đạo:
Nhằm nâng cao hiệu quả làm việc và tính thông minh của AGV, việc trang bị cho robot cảm biến giúp phát hiện vật cản trên quỹ đạo hoạt động là rất cần thiết Hiện nay có rất nhiều phương pháp để xác định vật thể trong không gian ví dụ như:
Xử lý hình ảnh, sử dụng sóng siêu âm, tia hồng ngoại để xác định khoảng cách từ robot đến các vật cản trên quỹ đạo
Trên thị trường hiện nay có rất nhiều loại cảm biến phục vụ mục đích trên, bảng 3.2 bên dưới liệt kê một vài loại cảm biến và ưu nhược điểm của từng loại
-Kích thước nhỏ -Sai số nhỏ e = ± 2cm
-Khoảng cách tối đa nhỏ: trong nhà 200cm, ngoài trời 80cm
- Góc đo nhỏ: đo theo tia
-Hoạt động hiệu quả, chính xác
-Giá thành cao -Hệ thống phức tạp, khó điều khiển
Trang 35-Sai số nhỏ: e = ± 3mm
-Dễ sử dụng -Góc đo lớn: 15°
Khoảng cách tối đa lớn
-Sai số lớn khi khoảng cách nhỏ hơn 3cm
Kích thước lớn
Vì robot di chuyển theo quỹ đạo line cố định nên việc xác định vật cản cần có góc quét tương đối rộng phía trước robot, bên cạnh đó độ chính xác và khoảng cách tối đa cũng rất quan trọng Cảm biến đo khoảng cách bằng sóng siêu âm HC-SR04
có thể đáp ứng các yêu cầu trên
Thông số kỹ thuật:
• Điện áp làm việc: 5 VDC
• Dòng điện tĩnh: < 2mA
• Tín hiệu đầu ra: tín hiệu tần số điện, mức cao 5V, mức thấp 0V
• Góc cảm biến: Không quá 15 độ
• Khoảng cách phát hiện: 2cm ~ 450cm
• Độ chính xác cao: Lên đến 3mm
Nguyên tắc hoạt động: Kích hoạt cảm biến bằng cách gửi tín hiệu mức cao trong 10us Mô-đun tự động gửi tám xung sóng vuông 40khz và tự động phát hiện xem có nhận tín hiệu xung quay lại hay không Nếu có tín hiệu quay trở lại cảm biến trả về tín hiệu mức cao, thông qua khoản thời gian từ lúc kích hoạt cảm biến cho tới khi có tín hiệu trả về từ đó suy ra được khoảng cách
Tuy nhiên việc lắp đặt cảm biến rời vào động cơ gặp phải rất nhiều khó khăn,
và tốn kém Nên trong việc lựa chọn động cơ có lắp sẳn cảm biến tốc độ được ưu tiên Với động cơ GA-25 có lắp sẵn cảm biến vận tốc encoder từ trường với hai kênh A,B
Trang 36và số xung 374 xung sau giảm tốc có thể đáp ứng yêu cầu về điều khiển tốc độ động
cơ trong đề tài này
Nguyên tắc hoạt động của encoder từ tương tự như encoder quang Các cặp nam châm vĩnh cửu trái cực được đặt đối xứng với nhau trên một đĩa đồng tâm với trục động cơ, hai cảm biến từ được đặt cố định trên gần với đĩa nam châm với khoảng cách giữa hai cảm biến này luôn luôn vuông pha với nhau như hình 3.4 bên dưới Từ việc xác định sự lệch pha của hai kênh ta có thể tính số xung và chiều quay của động
xe hai bánh tự cân bằng,
Động cơ DC Servo thực tế là động cơ DC thường có gắn thêm phần Encoder để
có thể trả xung về vi điều khiển giúp xác định vị trí, vận tốc, Về cách điều khiển thì động cơ DC Servo sử dụng Driver như động cơ DC thường để điều khiển công suất động cơ, tốc độ và đảo chiều: L298, L293, Điểm khác biệt lớn ở đây là có thêm phần encoder để có thể hồi tiếp (feedback) xung về Vi điều khiển, từ đó vi điều khiển tác động lại động cơ qua mạch công suất sử dụng các thuật toán điều khiển như PID,
để điều khiển tốc độ, vị trí,
Trang 37Hình 3.5 Động cơ GA-25 và encoder từ Thông số kỹ thuật:
• Điện áp cấp cho động cơ hoạt động : 3 - 12VDC
• Điện áp cấp cho Encoder hoạt động: 3.3VDC
• Đĩa Encoder 11 xung, hai kênh A-B
• Tỷ số truyền khi qua hộp giảm tốc: 1:34
• Số xung khi qua hộp giảm tốc: 374 xung
• Dòng khi động cơ bị giữ : 2.29A
• Mô men khi bị giữ : 7.96 kgf.cm
3.2.4 Mô đun điều khiển tốc độ động cơ:
Như đã trình bày ở phần cơ sở lý thuyết, để điều khiển tốc độ động cơ một chiều kích từ độc lập trong đề tài này sử dụng phương pháp thay đổi điện áp phần ứng bằng
bộ Chopper lớp E Hiện nay trên thị trường có nhiều mạch cầu H thiết kế sẳn đáp ứng yêu cầu đã nêu Trong đó có mạch L298N hình 3.6a với mạch nguyên lý hình 3.6b bên dưới
Trang 38Hình 3.6a Mạch L298N Hình 3.6b Mạch nguyên lý L298N
Thông số kỹ thuật:
• IC chính: L298 - Dual Full Bridge Driver
• Điện áp đầu vào: 5~30VDC
• Công suất tối đa: 25W 1 cầu
• Dòng tối đa cho mỗi cầu H là: 2A
• Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
• Kích thước: 43x43x27mm
• Dãi tần số hoạt động: 0-40KHz
Mạch L298N có trang bị hai cầu H với dòng tối đa 2A có thể đáp ứng đủ cho 2 động cơ GA25 có dòng hoạt động có tải là 600mA, tuy nhiên dòng khi động cơ bị giữ là 2,29A nên cần đảm bảo phần thiết kế không làm kẹt bánh xe động cơ
3.2.5 Vi xử lý điều khiển robot:
Vi xử lý chính là phần quan trọng nhất trong một robot tự hành, đóng vai trò là đầu não nhận tín hiệu trả về từ cảm biến và yêu cầu của người dùng sau đó xử lý tính toán số liệu, điều khiển các motor hoạt động theo yêu cầu của hệ thống và phản hồi lại người dùng những thông tin quan trọng Điều quan trọng khi lựa chọn vi xử lý cho
hệ thống là cần cung cấp đủ số lượng I/O, dung lượng bộ nhớ, các chức năng ngắt theo chân, ngắt timer, PWM, giao tiếp serial và khả năng nâng cấp trong tương lai Hiện nay trên thị trường phổ biến các loại board vi điều khiển cấu hình sẵn, tích hợp nhiều chức năng và cổng giao tiếp, trong đó nổi bật là các dòng board Adruino
Để đáp ứng số lượng I/O lớn khi sử dụng nhiều cảm biến và các thiết bị khác và
có khả năng đáp ứng khi cần nâng cấp thêm cho AGV, board adruino Atmega2560 hình 3.7 rất phù hợp để sử dụng Bảng 3.3 tóm tắt các thông số của board Bên cạnh
đó việc sử dụng nhiều cảm biến cần nhiều chân cấp nguồn cho cảm biến hoạt động
Trang 39do đó cần sử dụng thêm Mega sensor shield (hình 3.8) để hỗ trợ thêm chân nguồn cho board vi điều khiển
Hình 3.7 Board điều khiển ATMEGA2560
Hình 3.8 Mega sensor shield
Bảng 3.3 Tóm tắt thông số board arduino mega 2560
Input Voltage (recommended) 7-12V
Digital I/O Pins 54 (of which 15 provide PWM output)