Chương 1. Nội dung Việc sử dụng robot thay thế con người cho việc vận chuyền đồ vật trong đời sống hằng ngày hay thậm chí trong môi trường khó khăn dần trở nên phổ biến. Nhưng hiện tại ở Việt Nam vẫn còn hạn chế về Robot có thể di chuyền linh hoạt và không giới hạn trên bản đồ thực tế. Từ hiện trạng trên, nhóm quyết định thực hiện nghiên cứu, tìm hiểu và phát triển robot có khả năng di chuyền linh hoạt từ nơi này sang nơi khác trên bản đồ thực tế và không bị giới hạn khoảng cách, có thể di chuyển trong địa hình phức tạp nhưng vẫn giữ được độ chính xác.
Đồng thời, robot có khả năng phát hiện và tránh né vật cản trong quá trình đi chuyền, giúp robot có thê hoạt động chính xác và hiệu quả. Ngoài ra, nhóm cải tiến Robot có thé điều khiển thông qua một chiếc Smartphone, vừa tiết kiệm chi phí sản xuất vừa có thé dé dàng sử dụng robot hơn 12 1. Mục tiêu Mục tiêu của dé tài là phát triển robot có thé điều khiển từ xa thông qua điện thoại di động, di chuyển từ nơi này sang nơi khác trên bản dé thực tế (sử dụng cho không gian, phạm vi rộng). Mặc khác, Robot còn được tích hợp nhiều cảm biến, giúp robot 13 có thé di chuyền tốt trên địa hình phức tạp (hạn chế sai lệch lộ trình).
Đồng thời, Robot có thé phát hiện và tránh né được vật cản trong quá trình di chuyền, trong quá trình này lộ trình liên tục cập nhật dé robot có thé di chuyên chính xác nhất có thê. Cụ thé dé tài sẽ bao gồm : Tìm hiểu qui trình phát triển Robot. Thực hiện phát triển ứng dụng di động. Thực hiện láp ráp Robot.
Phát triển thuật toán giúp Robot di chuyền theo lộ trình và tránh né vật cản. Phương pháp thực hiện 1. Phương pháp thực hiện ứng dụng điều khiến Phát triển ứng dụng với Google Map API, các API bao gồm : Geocoding API, Directions API, Geolocation API, Map SDK for Android, Distance API. Su dung Firebase server dé lưu trữ dữ liệu.
Sử dụng Java va IDE Android Studio dé phát triển ứng dụng. Sử dung Geocoding API và Place API dé tìm đường đi của hai vị trí trên bản đồ thực tế. Sử dụng Distance API tính khoảng cách, và thời gian ước tính cho lộ trình. Áp dụng thuật toán Decode lộ trình để có thêm nhiều waypoint, loại bỏ đường cong giúp Robot có thé di chuyển chính xác hon.
Phương pháo thực hiện robot Xây dựng khung xe kim loại sử dụng bánh xe đa hướng mecanum. Sử dung kit STM32F407 Disc làm bộ điều khién trung tâm chính cho robot. Sử dụng bo mạch NodeMCU dé nhận va gửi dữ liệu lên server. Sử dụng module GPS NEO M8N dé xác định tọa độ hiện tại của robot.
Sử dụng module cảm biến 10 bậc tự do GY-86 (MPU6050 + HMC5883L + MS5611) dé xử lý, xác định phương hướng cho robot. 14 e Sử dụng module cảm biến siêu âm US-015 dé xác định vật cản. e Sử dụng động cơ giảm tốc encoder JGB37-520 đề truyền động cho robot e _ Sử dụng một số thiết bị output như graphic LCD, LED, Loa dé debug trong quá trình thực hiện. Các nội dung chính và giới hạn Các nội dung chính của đê tài: Phát triển ứng di động điều khiển robot.
(Tìm kiếm địa chỉ, tính toán khoảng cách, thời gian, phân tích lộ trình di chuyền.) Thiết kế schematic và gia công PCB Lên ý tưởng, thiết kế và hiện thực khung xe robot Điều khiển động cơ bằng giải thuật PID Giao tiếp với GPS dé đọc giá trị tọa độ Giao tiếp với module cảm biến 10 bậc tự do để xác định được phương hướng hiện tại và góc cua của robot. Giao tiếp cảm biến siêu âm để xác định vật cản Giao tiếp GLCD dé phục vụ cho quá trình debug Điều khiển robot theo các quỹ dao đơn giản như di tiến, lùi, dịch trái, dịch phải, xoay. Giao tiếp với server bằng NodeMCU Giao tiếp giữa kit STM32F407 DISC và NodeMCU thông qua chuẩn giao tiếp UART Triển khai giải thuật trên hệ điều hành thời gian thực FreeRTOS Thử nghiệm hoạt động của robot Việt báo cáo và báo cáo đê tài Chỉ tiết công việc Phát triển ứng dung di động : e Sử dụng Android Studio IDE và ngôn ngữ Java 15 e Sử dụng Google Map API dé phát triển ban đồ. e Sử dung Firebase dé truyền nhận dữ liệu giữa ứng dụng và server.
e Str dụng thuật toán dé phân tích lộ trình, loại bỏ đường cong và thêm nhiều waypoint cho lộ trình. e Tối ưu giao diện cho người dùng. Phát triển Robot: Thiết kế Schematic và gia công PCB: Được thực hiện trên phần mềm proteus Lên ý tưởng, thiết kế và hiện thực khung xe robot : Được thực hiện trên phan mềm Solidworks. Công cụ lập trình : o STM32CubeIDE o Arduino IDE o Terminal Hercules Giao tiếp với GPS dé đọc giá trị tọa độ : Sử dụng chuẩn giao tiếp UART.
Giao tiếp với module cảm biến 10 bậc tự do : Sử dụng chuân giao tiếp I2C. Giao tiếp GLCD : Sử dụng giao tiếp SPI. Giao tiếp với server bằng NodeMCU : o Sử dụng dịch vụ cơ sở dt liệu va server của Firebase o Dữ liệu điều khiển được lấy về từ firebase bang NodeMCU va được truyền qua cho STM32F407 xử lý bằng chuẩn UART o Dữ liệu hồi đáp — dùng cho việc giám sát robot được gửi từ STM32F407 đến NodeMCU thông qua UART và NodeMCU sẽ gửi lên server ngay khi nhận được dữ liệu Giới hạn của đề tài e Khoảng cách di chuyên Robot sé bị hạn chế bởi yêu tố sau: Về phía ứng dụng sẽ lấy dữ liệu thông qua URL (dưới dạng json) của Google là https://maps.com/ , URL này sẽ bị giới hạn bởi 8000 kí tự và Firebase server hỗ trợ sử dụng miễn phí tối đa 1Gb dữ liệu, nên nếu khoảng cách giữa hai vị trí quá xa (khoảng trên 30 km) sẽ có nhiều dữ 16 liệu và không thé tai được URL. Yếu tố thứ hai, về năng lượng của Robot sẽ bị hạn chế khi di chuyền ở lộ trình xa.
Sai số của Google Map ở khoảng 5 mét, thêm sai số của GPS và cũng như một số linh kiện khác sẽ khiến Robot di chuyên không được chính xác. CƠ SỞ LÝ THUYET URL của Google Chứa dữ liệu bao gồm : Lộ trình, Tracking vị trí,. Hình 4: Tổng quan cơ sở lý thuyết của đề tài 2. Cơ sở lý thuyết ứng dụng điều khiển 2.
Xây dựng bản đồ thực tế với Google Map Platform Tổng quan về Google Map API: e Google Map là một dịch vụ ứng dụng vào công nghệ ban đồ trực tuyến trên web miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google đặc biệt là dò đường và chỉ đường: hiền thị bản đồ đường sa, các tuyến đường tối ưu cho từng loại phương tiện, cách bắt xe và chuyền tuyến cho các loại phương tiện công cộng (xe bus, xe khách .), và những địa điểm (kinh doanh, trường học, bệnh viện, cây ATM.) trong khu vực cũng như khắp nơi trên thế giới. Map API là gi? Là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của website A (gọi là Map API) và nhúng vào website của mình (site B). Site A ở đây là google map, site B là các website cá nhân hoặc tổ chức muốn sử dụng dịch vụ của google (di chuột, room, đánh dấu trên bản đồ. Các ứng dụng xây dựng trên maps được nhúng vào trang web cá 18 nhân thông qua các thẻ javascripts do vậy việc sử dụng API google rất dễ dàng.
Google Map API đã được nâng cấp lên phiên bản v3 không chỉ hỗ trợ cho các máy dé bàn truyền thống mà cho cả các thiết bị di động; các ứng dụng nhanh hơn và nhiều hơn. Các dịch vụ hoàn toàn miễn phí với việc xây dựng một ứng dụng nhỏ. Trả phí nếu đó là việc sử dụng cho mục đích kinh doanh, doanh nghiệp. Một số ứng dụng của Google Map API: Đánh dấu các địa điểm trên bản đồ kèm theo thông tin cho địa điểm đó : khu vui chơi giải trí, nhà hàng khách sạn, cây ATM, bệnh viện, trường học,.
bắt cứ địa điểm nào bạn muốn Chỉ dẫn đường đến các địa điểm cần tìm(đường tối ưu và nhiều option khác),chỉ dẫn đường giao thông công cộng, có thé là các địa điểm cung cấp như trên. Ở đây sử dụng các service google cung cấp. Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm. Tình trạng giao thông các khu vực.
từ đó đưa ra các giải pháp. Sơ lược cách sử dụng Google Map Platform trong đề tài: Tạo API key, hiện tại Google Map API đã chính thức tính phí, chúng ta đăng kí sẽ được sử dụng miễn phí 200 $ có sẵn trong tài khoản đăng kí, sau khi đăng kí chúng ta cần Billing account đề sử dụng được các API. Sử dung Key dé xem dữ liệu thông qua URL : https://maps.com/ dưới dạng Json. Sử dung Geocoding API và Place API dé tìm đường đi của hai vị trí trên ban đồ thực tế.
Sử dụng Distance API tính khoảng cách, và thời gian ước tính cho lộ trình. 19 Google Maps Platform Family of APIs Maps | Routes Places Sead Javascript Maps 4 = Directions API $ Places API 2 (points of interest) „ Static Maps & Distance Matrix $9 Geocoding \ & StreetView API / +> Elevation API Hình 5: Google Map Platform và các APIs 2. Lưu trữ dữ liệu với Firebase Server Tông quan vệ Firebase: e Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây — cloud. Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google.
Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở đữ liệu. e_ Cụ thể là những giao diện lập trình ứng dụng API đơn giản. Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn. e Đặc biệt, còn là dich vụ da năng và bảo mật cực tốt.
Firebase hỗ trợ cả hai nền tảng Android và IOS. Không có gì khó hiểu khi nhiều lập trình viên chọn Firebase làm nên tảng đầu tiên để xây dựng ứng dụng cho hàng triệu người dùng trên toàn thé giới. Cách thức hoạt đông: Firebase có 2 cách thức hoạt động chính là Firebase Realtime Database và Firebase Cloud Firestore, ở đây chúng ta chi sử dụng Firebase Realtime Database nên chúng ta chỉ đề cách thức hoạt động của nó và bỏ qua Firebase Cloud Store. 20 Như vậy, Firebase Realtime Databasse là gì? e Khi đăng ký một tài khoản trên Firebase dé tạo ứng dụng, bạn đã có một cơ sở dt liệu thời gian thực.
Dữ liệu bạn nhận được dưới dạng JSON.