Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghiệp hóa và hiện đại hóa, việc ứng dụng robot tự hành thay thế con người thực hiện các công việc vận chuyển hàng hóa, bốc dỡ vật phẩm ngày càng trở nên phổ biến. Mô hình này hỗ trợ các tổ chức, doanh nghiệp giảm thiểu chi phí nhân công, đồng thời nâng cao tính chuẩn hóa và hiệu quả vận hành. Trên thế giới, các hệ sinh thái tự hành di chuyển trên bản đồ thực tế đã được ứng dụng trong công nghiệp ô tô (tiêu biểu như hệ thống xe tự lái của Tesla) hay robot giao hàng tự trị (như Scout của Amazon).
Tại Việt Nam, các nghiên cứu và ứng dụng thực tiễn về robot có khả năng di chuyển linh hoạt, không bị giới hạn phạm vi trên bản đồ thực tế vẫn còn nhiều rào cản. Phần lớn robot vận chuyển trong nước bị giới hạn bởi không gian kín, đường ray dẫn hướng cố định hoặc chi phí trang thiết bị định vị công nghiệp quá cao. Từ thực trạng trên, đề tài khóa luận "Xây dựng robot đa hướng tự hành theo quỹ đạo từ bản đồ Google và tự né tránh vật cản" được thực hiện nhằm nghiên cứu giải pháp thiết kế robot sử dụng bánh xe Mecanum, điều khiển qua điện thoại thông minh, khai thác bản đồ số thương mại Google Maps và máy chủ đám mây để tối ưu hóa chi phí sản xuất và nâng cao tính khả dụng thực tiễn.
Mục tiêu chung của đề tài là xây dựng hoàn chỉnh mô hình robot đa hướng tự hành bám quỹ đạo bản đồ số trong không gian rộng, tích hợp đa cảm biến để hạn chế sai lệch lộ trình trên địa hình phức tạp, đồng thời tự động phát hiện và né tránh chướng ngại vật theo thời gian thực. Các nhiệm vụ nghiên cứu cụ thể được phân định theo bốn nội dung chính:
- Tìm hiểu quy trình thiết kế, chế tạo và phát triển hệ thống Robot.
- Xây dựng và hoàn thiện ứng dụng điều khiển trên thiết bị di động.
- Thiết kế mạch điện tử, gia công cơ khí và lắp ráp phần cứng Robot.
- Phát triển thuật toán xử lý dữ liệu cảm biến, giải mã lộ trình và điều khiển Robot di chuyển bám quỹ đạo kết hợp né tránh vật cản.
Đối tượng nghiên cứu của khóa luận là robot di động bốn bánh đa hướng Mecanum tích hợp bộ điều khiển vi xử lý STM32F407, vi điều khiển phụ NodeMCU và ứng dụng điều khiển cài đặt trên hệ điều hành Android. Phạm vi không gian nghiên cứu tập trung vào môi trường địa hình ngoài trời trên bản đồ thực tế, với các địa điểm thử nghiệm cụ thể tại khuôn viên Đại học Quốc gia Thành phố Hồ Chí Minh (bao gồm Trường Đại học Công nghệ Thông tin, Ký túc xá Khu A và Ký túc xá Khu B). Thời gian thực hiện khóa luận hoàn thành vào năm 2021.
Hệ thống được xác định các giới hạn kỹ thuật cụ thể:
- Chuỗi URL truy vấn dịch vụ bản đồ Directions API của Google Maps bị khống chế ở mức tối đa 8.000 ký tự; gói lưu trữ dữ liệu miễn phí của Firebase Server chỉ hỗ trợ dung lượng trần 1 GB. Do đó, cự ly giữa điểm xuất phát và điểm đích trên một lộ trình thiết lập không vượt quá 30 km để tránh tình trạng tràn dữ liệu chuỗi ký tự.
- Dung lượng nguồn pin trang bị trên khung gầm giới hạn bán kính hoạt động liên tục của robot trong các lộ trình cự ly xa.
- Sai số vị trí thực tế chịu tác động cộng dồn từ sai số nội tại của dịch vụ bản đồ Google Maps (khoảng 5 m) cùng sai số đo lường của module GPS và các cảm biến quán tính.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng dựa trên các khối kiến thức lý thuyết chuyên ngành kỹ thuật máy tính, hệ thống nhúng và kỹ thuật lập trình ứng dụng di động:
- Nền tảng Google Maps Platform: Khai thác tập hợp giao diện lập trình ứng dụng bao gồm Geocoding API (chuyển đổi qua lại giữa địa chỉ văn bản và tọa độ địa lý), Directions API (thuật toán tìm đường và đề xuất lộ trình di chuyển), Geolocation API (định vị tọa độ thiết bị), Maps SDK for Android (nhúng bản đồ số vào giao diện người dùng), Distance API (tính toán khoảng cách vật lý và thời gian ước tính) và Place API (tìm kiếm địa danh, gợi ý địa chỉ).
- Hệ thống cơ sở dữ liệu thời gian thực Firebase Realtime Database: Dịch vụ lưu trữ đám mây của Google tổ chức dữ liệu theo cấu trúc cây JSON NoSQL. Dữ liệu giữa ứng dụng Android và phần cứng robot được đồng bộ hai chiều liên tục qua giao thức an toàn SSL với chứng chỉ bảo mật 2048-bit. Khi mất kết nối Internet, dữ liệu được ghi đè tại bộ nhớ cục bộ (local storage) và tự động đồng bộ trở lại máy chủ ngay khi tái lập kết nối.
- Môi trường phát triển ứng dụng di động: Lập trình trên môi trường tích hợp Android Studio, sử dụng ngôn ngữ Java (phiên bản Java SE 8 với đặc tính hướng đối tượng, kiến trúc trung lập thực thi trên máy ảo JVM), tương thích với các thiết bị di động chạy hệ điều hành Android 5.0 trở lên.
- Động học bánh xe đa hướng Mecanum: Cơ cấu bánh xe chứa các con lăn phụ đặt nghiêng một góc 45° so với trục quay chính. Chuyển động tổng hợp của robot được xác định thông qua nguyên lý cộng vector vận tốc của bốn bánh xe độc lập, cho phép robot tịnh tiến, lùi, dịch ngang trái/phải, di chuyển chéo góc hoặc xoay tròn tại chỗ mà không cần thay đổi góc hướng của khung gầm.
- Lý thuyết Sensor Fusion (Hợp nhất dữ liệu cảm biến): Khắc phục nhược điểm đo lường đơn lẻ bằng cách kết hợp số liệu từ 3 trục gia tốc kế, 3 trục từ kế và 3 trục con quay hồi chuyển trên module cảm biến 9 bậc tự do GY-86. Thuật toán lọc bù (Complementary filter) và bộ lọc Kalman mở rộng (Extended Kalman Filter) được triển khai để xác định chính xác ba góc định hướng trong không gian 3 chiều: góc xoay quanh trục ngang (pitch), góc nghiêng quanh trục dọc (roll) và góc phương vị quanh trục đứng (yaw).
Phương pháp nghiên cứu thực nghiệm được tác giả áp dụng thông qua việc đối chiếu đặc tính vật lý và toán học của từng loại cảm biến:
| Loại cảm biến |
Ưu điểm ghi nhận |
Nhược điểm và hạn chế |
| Gia tốc kế (Accelerometer) |
Đo chính xác góc pitch và roll trong dài hạn (long-term); hoạt động ổn định khi vật thể ở trạng thái tĩnh. |
Không thể tính toán góc yaw do luôn chịu tác động của gia tốc trọng trường; phát sinh nhiễu lớn khi chuyển động. |
| Từ kế (Magnetometer) |
Xác định chính xác góc yaw tuyệt đối dựa vào từ trường Trái Đất khi đặt trên mặt phẳng thăng bằng. |
Sai lệch số liệu nghiêm trọng khi bị nghiêng hoặc khi hoạt động gần kim loại và nguồn từ trường mạnh. |
| Con quay hồi chuyển (Gyroscope) |
Đo được cả ba góc pitch, roll, yaw; phản hồi tức thời chính xác cao trong ngắn hạn (short-term). |
Giá trị tích phân bị trôi dạt (drift) tích lũy theo thời gian khi vật thể đứng yên; chỉ đo góc tương đối. |
Bên cạnh đó, nghiên cứu sử dụng lý thuyết điều khiển tự động vòng kín với bộ điều khiển PID (tỷ lệ - tích phân - vi phân) nhằm giảm thiểu sai lệch giữa vận tốc cài đặt và vận tốc thực tế của bốn động cơ giảm tốc DC JGB37-520 thông qua tín hiệu phản hồi xung từ đĩa mã hóa vòng quay encoder. Hệ thống định vị toàn cầu GPS (Global Positioning System) dựa trên tính toán lượng giác khoảng cách từ máy thu đến tối thiểu 3 đến 4 vệ tinh nhân tạo để xác lập tọa độ hai chiều hoặc ba chiều. Đo khoảng cách nhận diện vật cản sử dụng module sóng siêu âm US-015 (tần số hoạt động trên 20 kHz) thông qua công thức tính toán thời gian phản xạ của chùm sóng âm khi va chạm bề mặt vật cản.
Thiết kế và triển khai
Hệ thống được thiết kế thành hai phân hệ hoàn chỉnh gồm phân hệ phần cứng robot và phân hệ phần mềm điều khiển di động, liên kết thông suốt qua hạ tầng mạng đám mây.
+-----------------------------------------------------------+
| ỨNG DỤNG DI ĐỘNG (ANDROID) |
| - Google Maps APIs (Directions, Place, Geocoding) |
| - Thuật toán Decode Polyline (Nén/Giải mã tọa độ) |
+-----------------------------+-----------------------------+
| Internet (Giao thức SSL)
v
+-----------------------------------------------------------+
| FIREBASE REALTIME DATABASE |
| - Current Position (Tọa độ GPS tracking thời gian thực) |
| - Points (Chuỗi Waypoints: Lat1,Lang1#Lat2,Lang2#...) |
| - Route (Dữ liệu lộ trình thô) |
| - State (Trạng thái: -1: Nghỉ, 0: Sẵn sàng, 1: Chạy) |
+-----------------------------+-----------------------------+
| Wi-Fi (Cơ chế Subscribe/Push)
v
+-----------------------------------------------------------+
| PHẦN CỨNG ROBOT |
| + NodeMCU (ESP8266): Thu nhận và gửi dữ liệu qua Wi-Fi |
| | Chuẩn giao tiếp UART |
| v |
| + STM32F407 Discovery (ARM Cortex-M4 / FreeRTOS) |
| - Cảm biến IMU 10-DOF GY-86 (I2C) -> Sensor Fusion |
| - Cảm biến GPS NEO M8N (UART) -> Lấy tọa độ kinh/vĩ |
| - Cảm biến siêu âm US-015 (GPIO) -> Phát hiện vật cản |
| - 4x Động cơ JGB37-520 + Encoder -> Thuật toán PID |
| - Ngoại vi hiển thị / giám sát: Màn hình GLCD (SPI) |
+-----------------------------------------------------------+
1. Phân hệ phần cứng và cấu trúc điều khiển Robot
- Khung gầm và cơ cấu chấp hành: Khung xe kim loại thiết kế trên phần mềm SolidWorks, trang bị bốn bánh xe Mecanum điều khiển độc lập bởi bốn động cơ giảm tốc DC JGB37-520 tích hợp đĩa encoder quang học/từ tính để đọc số xung quay.
- Bộ điều khiển trung tâm: Sử dụng bo mạch vi điều khiển 32-bit STM32F407 Discovery (lõi ARM Cortex-M4), triển khai hệ điều hành thời gian thực FreeRTOS để quản lý đồng thời các tác vụ đa nhiệm (đọc cảm biến, tính toán PID, điều hướng và xử lý ngắt an toàn). Mạch in giao tiếp mở rộng được thiết kế schematic và layout trên phần mềm Proteus.
- Mạch truyền thông trung gian: Bo mạch NodeMCU (chip ESP8266) đảm nhiệm kết nối mạng không dây Wi-Fi với Firebase Server. Việc trao đổi tín hiệu giữa NodeMCU và STM32F407 được thực hiện thông qua chuẩn giao tiếp UART bất đối xứng.
- Mạng lưới cảm biến tích hợp:
- Module GPS NEO M8N giao tiếp UART với STM32F407 để lấy kinh độ và vĩ độ hiện thời.
- Module cảm biến 10 bậc tự do GY-86 (tích hợp chip MPU6050, la bàn số HMC5883L và áp kế khí quyển MS5611) giao tiếp qua bus I2C.
- Cảm biến siêu âm US-015 bố trí phía trước xe để quét vật cản trong cự ly gần.
- Màn hình đồ họa Graphic LCD (GLCD) kết nối qua giao tiếp SPI, phối hợp cùng hệ thống đèn LED và loa còi nhằm xuất thông số debug trực tiếp tại hiện trường.
2. Thiết kế ứng dụng điều khiển và cơ sở dữ liệu
Ứng dụng di động được xây dựng trên Android Studio với giao diện tối ưu hóa gồm hai trường nhập văn bản (Origin Address và Destination Address), ba phím chức năng chính (Start, Find path, Send data) và một phân vùng hiển thị bản đồ trực quan (Map Fragment):
- Nút
Start: Xác định tọa độ thực tế của robot thông qua GPS và gán trực tiếp vào ô địa chỉ xuất phát. Ứng dụng cũng hỗ trợ chế độ tương tác chạm trực tiếp lên màn hình bản đồ để lấy tọa độ hai điểm bất kỳ.
- Nút
Find path: Truy vấn Directions API nhằm xác định tuyến đường ngắn nhất, tự động vẽ đường đa tuyến (Polyline) nối hai điểm và tính toán cự ly thực tế cùng thời gian di chuyển.
- Nút
Send data: Đóng gói cấu trúc lộ trình đã phân tích và đẩy lên Firebase Realtime Database.
Dữ liệu trên Firebase Server được tổ chức theo bốn nhánh chính:
Current Position: Lưu tọa độ thời gian thực của robot để ứng dụng di động truy vết (tracking) liên tục trên bản đồ.
Points: Chuỗi các điểm mốc tọa độ định tuyến (Waypoints) được định dạng theo cấu trúc: "Lat1, Lang1# Lat2, Lang2# Lat3, Lang3#... Latn, Langn#".
Route: Lưu trữ chuỗi ký tự lộ trình thô ban đầu để đối chiếu kiểm tra.
State: Quản lý trạng thái logic giữa thiết bị di động và robot:
State = -1: Robot ở trạng thái nghỉ, chờ nhận dữ liệu lệnh mới.
State = 0: Ứng dụng gửi dữ liệu thành công lên máy chủ, robot chuyển sang chế độ sẵn sàng xuất phát.
State = 1: Robot đang trong quá trình chuyển động thực thi lộ trình. Khi về đến đích an toàn, hệ thống tự động trả trạng thái về -1.
3. Thuật toán phân tích lộ trình (Decode Polyline) và hợp nhất dữ liệu (Sensor Fusion)
Để khắc phục tình trạng Google Maps chỉ trả về một điểm trung gian duy nhất giữa hai vị trí cách xa nhau (khiến robot mất phương hướng khi gặp các đoạn rẽ), nhóm phát triển tích hợp thuật toán giải nén Decode Polyline. Google nén tọa độ bằng cách nhân giá trị số thực với hệ số $10^5$, chuyển đổi nhị phân, dịch trái một bit, phân mảnh thành các khối 5-bit, đảo chiều thứ tự các khối, thực hiện phép toán logic OR với giá trị 0x20 và cộng độ lệch 63 để tạo ra chuỗi ký tự ASCII tương thích. Thuật toán Decode của đề tài đảo ngược quy trình trên để trích xuất danh sách tọa độ chi tiết, chia nhỏ các khúc cua uốn lượn thành các đoạn thẳng tuần tự, nâng mật độ điểm trung gian từ 1 điểm duy nhất lên 15 điểm mốc (waypoints) trên cùng một cung đường thử nghiệm.
Giải thuật hợp nhất dữ liệu cảm biến được thực hiện theo ba bước tuần tự:
- Kết hợp dữ liệu trục gia tốc kế để tính toán góc nghiêng tĩnh, sau đó tiến hành bù trừ góc nghiêng cho từ kế theo công thức lượng giác, giúp từ kế duy trì khả năng đo góc yaw chính xác ngay cả khi robot di chuyển trên bề mặt gồ ghề.
- Đưa dữ liệu vận tốc góc 3 trục của con quay hồi chuyển cùng giá trị góc nghiêng từ gia tốc kế và từ kế qua hai tầng lọc gồm bộ lọc bù (Complementary filter) và bộ lọc Kalman mở rộng (Extended Kalman filter) nhằm triệt tiêu hoàn toàn hiện tượng trôi số liệu (drift).
- Quy chiếu góc yaw đã làm sạch từ con quay hồi chuyển theo hướng vector từ trường Trái Đất thu nhận từ từ kế để tạo ra góc định vị tuyệt đối so với cực Bắc địa từ, làm cơ sở điều khiển hướng di chuyển cho robot.
Nội dung chính theo từng chương
Chương 1. Phương pháp thực hiện
Chương này tổng kết phương pháp luận xây dựng hệ thống, phân chia cấu trúc đề tài thành hai phân nhánh: xây dựng ứng dụng di động và phát triển robot phần cứng. Tác giả trình bày phương pháp tích hợp các dịch vụ thuộc Google Maps Platform (Geocoding API, Directions API, Geolocation API, Distance API, Maps SDK) và dịch vụ lưu trữ đám mây Firebase Realtime Database. Đối với phần cứng robot, chương làm rõ quy trình chế tạo cơ khí khung gầm bánh xe Mecanum, lựa chọn vi điều khiển STM32F407 Discovery làm khối xử lý trung tâm, NodeMCU kết nối Wi-Fi, module định vị GPS NEO M8N, cụm cảm biến 10 bậc tự do GY-86 và cảm biến siêu âm US-015. Bên cạnh đó, tác giả nêu chi tiết các công cụ kỹ thuật sử dụng gồm Proteus (vẽ mạch PCB), SolidWorks (thiết kế cơ khí), STM32CubeIDE, Arduino IDE, FreeRTOS và phần mềm Hercules Terminal phục vụ truyền thông debug. Các giới hạn thực nghiệm về độ dài URL (8.000 ký tự), dung lượng Firebase (1 GB), cự ly lộ trình (< 30 km) và sai số định vị (~ 5 m) cũng được xác lập đầy đủ tại chương này.
Chương 2. Cơ sở lý thuyết
Chương 2 cung cấp cơ sở toán học và nguyên lý kỹ thuật cho toàn bộ đề tài:
- Phân tích cơ chế hoạt động của Google Maps Platform v3, các tham số đầu vào của Directions API (
origin, destination, key, mode, waypoints) và cấu trúc trả về dạng tệp tin JSON.
- Trình bày đặc tính đồng bộ dữ liệu thời gian thực của Firebase qua kết nối SSL 2048-bit và cấu trúc cơ sở dữ liệu dạng cây JSON.
- Khái quát về hệ điều hành Android, môi trường lập trình Android Studio và ngôn ngữ Java SE 8.
- Xây dựng hệ phương trình tính toán góc nghiêng cho gia tốc kế ($pitch$, $roll$) và từ kế ($yaw$); phân tích hiện tượng trôi dạt tích phân vận tốc góc của con quay hồi chuyển; trình bày lý thuyết hợp nhất dữ liệu (Sensor Fusion) thông qua bộ lọc bù và bộ lọc Kalman mở rộng.
- Nêu rõ nguyên lý đo đạc lượng giác của hệ thống định vị vệ tinh GPS (yêu cầu tối thiểu 3 đến 4 vệ tinh để xác định tọa độ 2D/3D), nguyên lý phản xạ âm thanh của cảm biến siêu âm (> 20 kHz), cơ chế phản hồi vòng kín của bộ điều khiển PID kết hợp tín hiệu xung từ đĩa mã hóa encoder và nguyên tắc cộng vector chuyển động của bánh xe Mecanum với góc lăn phụ 45°.
Chương 3. Phân tích và thiết kế hệ thống
Chương 3 trình bày chi tiết các bước thiết kế kỹ thuật từ mô hình lý thuyết sang hiện thực:
- Trình bày quy trình đăng ký tài khoản Google Cloud Platform, kích hoạt Billing Account và thiết lập mã định danh bảo mật API Key hạn chế theo ứng dụng Android.
- Thiết kế giao diện người dùng trên Android Studio và thuật toán phân tích chuỗi dữ liệu JSON trả về từ Google Directions API.
- Hiện thực thuật toán
Decode Polyline từ cơ chế mã hóa Base64 và dịch bit của Google, chứng minh khả năng chia tách lộ trình và làm mịn đường đi bằng thực nghiệm tăng số lượng waypoint từ 1 lên 15 điểm.
- Quy chuẩn định dạng lưu trữ trên Firebase theo các nhánh
Current Position, Points, Route và quản lý chu trình vận hành qua trường dữ liệu State.
- Thiết kế phần cứng robot: sơ đồ nguyên lý mạch kết nối linh kiện, sơ đồ bố trí PCB trên Proteus, bản vẽ cơ khí 3D khung gầm trên SolidWorks; xây dựng giải thuật xử lý số liệu gia tốc kế, từ kế, thuật toán bù nghiêng, giải thuật tích hợp dữ liệu với con quay hồi chuyển và giải thuật điều khiển chính trên hệ điều hành thời gian thực FreeRTOS.
Chương 4. Kết quả thực nghiệm
Chương 4 ghi nhận các dữ liệu kiểm chứng thực tế của hệ thống:
- Thực nghiệm ứng dụng điều khiển: Thử nghiệm thành công chức năng tìm kiếm địa điểm qua ô nhập liệu văn bản và cơ chế chạm trực tiếp trên bản đồ; Directions API đề xuất lộ trình tối ưu và vẽ polyline chính xác; ứng dụng giải mã thành công chuỗi tọa độ waypoint và truyền tải đầy đủ lên Firebase Server.
- Thực nghiệm phần cứng robot: Đánh giá độ ổn định tín hiệu của gia tốc kế, từ kế trên mặt phẳng nằm ngang và mặt phẳng nghiêng; ghi nhận đồ thị triệt tiêu hiện tượng trôi góc yaw của con quay hồi chuyển sau khi tích hợp thuật toán lọc Kalman mở rộng; kiểm chứng khả năng di chuyển đa hướng của bánh xe Mecanum theo các lệnh tiến, lùi, dịch ngang, xoay; thử nghiệm thành công khả năng đọc tọa độ GPS, bám theo các điểm mốc định tuyến trong khuôn viên Đại học Quốc gia TP.HCM và dừng/chuyển hướng an toàn khi cảm biến siêu âm phát hiện chướng ngại vật cản đường.
Chương 5. Hướng phát triển
Chương này đúc kết các giải pháp nâng cấp trong tương lai cho hệ thống:
- Đối với ứng dụng điều khiển: Nâng cấp giao diện trực quan, tối ưu hóa các thao tác tương tác người dùng, phát triển thêm các thuật toán nén dữ liệu nhằm tiết kiệm dung lượng truyền dẫn và mở rộng thêm nhiều tùy chọn thiết lập thông số lộ trình di chuyển.
- Đối với robot tự hành: Cải tiến dung lượng hệ thống pin nguồn để gia tăng bán kính hoạt động; bổ sung các giải thuật điều khiển thích nghi cho bộ tham số PID; nâng cao độ nhạy và bán kính quét của hệ thống cảm biến nhận diện vật cản trên các dạng địa hình phức tạp ngoài trời.
Kết quả và đóng góp
Khóa luận đã hoàn thành các mục tiêu kỹ thuật đặt ra, được chứng minh qua số liệu và kết quả thực nghiệm thực tế:
- Chế tạo thành công mô hình robot 4 bánh Mecanum vận hành độc lập, có khả năng thực hiện đầy đủ các vector chuyển động: tiến, lùi, dịch trái, dịch phải, di chuyển chéo và xoay tròn tại chỗ.
- Ứng dụng điều khiển trên Android tích hợp đầy đủ hệ thống Google Maps Platform APIs (Geocoding, Directions, Place, Maps SDK) và đồng bộ thời gian thực với Firebase Realtime Database.
- Ứng dụng thuật toán
Decode Polyline xử lý thành công chuỗi tọa độ nén của Google, nâng số lượng điểm mốc trung gian từ 1 điểm duy nhất lên 15 điểm waypoint trên đoạn đường thử nghiệm tại Đại học Công nghệ Thông tin, loại bỏ các đoạn cong phức tạp thành các phân đoạn chuyển động thẳng giúp robot bám sát quỹ đạo.
- Thuật toán Sensor Fusion (kết hợp bộ lọc bù và Kalman mở rộng) xử lý thành công tín hiệu của cụm cảm biến GY-86, bù trừ góc nghiêng cho từ kế và triệt tiêu sai số trôi dạt (drift) của con quay hồi chuyển, duy trì góc hướng tuyệt đối chính xác cho robot.
- Xây dựng hoàn chỉnh chu trình đồng bộ trạng thái hệ thống giữa ứng dụng và phần cứng qua biến
State (-1, 0, 1), truyền nhận chuỗi dữ liệu tọa độ phân tách bằng ký tự đặc biệt # và tích hợp cảm biến siêu âm US-015 tự động nhận diện vật cản để né tránh.
Đề tài đóng góp một giải pháp kỹ thuật có tính ứng dụng cao về việc kết hợp dịch vụ bản đồ số thương mại Google Maps với hệ sinh thái IoT đám mây (Firebase) và vi điều khiển nhúng giá thành thấp để chế tạo robot tự hành ngoài trời, mở ra hướng tiếp cận chi phí thấp cho các nghiên cứu robot vận chuyển tự động trong khuôn viên trường học, bệnh viện hoặc khu công nghiệp.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận ghi nhận các hạn chế kỹ thuật dựa trên phân tích thực nghiệm:
- Lộ trình di chuyển bị khống chế dưới 30 km do giới hạn dung lượng truy vấn của chuỗi URL Google Maps (tối đa 8.000 ký tự) và hạn mức gói miễn phí của Firebase Server (1 GB dữ liệu).
- Nguồn năng lượng pin trên khung gầm giới hạn thời gian vận hành liên tục khi thực hiện các hành trình dài.
- Tồn tại sai số định vị cộng dồn từ bản đồ Google Maps (khoảng 5 m) cùng sai số nội tại của module GPS NEO M8N, ảnh hưởng đến độ chính xác khi robot di chuyển trong các không gian hẹp.
Hướng mở nghiên cứu tiếp theo được tác giả định hướng:
- Tối ưu hóa cấu trúc dữ liệu truyền nhận trên ứng dụng di động để giảm thiểu kích thước chuỗi URL và tiết kiệm tài nguyên lưu trữ máy chủ.
- Nâng cấp phần cứng nguồn cấp, nghiên cứu cơ chế quản lý năng lượng tối ưu cho các cụm động cơ.
- Cải tiến giải thuật điều khiển thích nghi PID và tối ưu hóa hệ số của bộ lọc Kalman để tăng cường độ chính xác khi bám quỹ đạo trên các địa hình có độ dốc hoặc độ trơn trượt cao.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho sinh viên, giảng viên và kỹ sư nghiên cứu thuộc các chuyên ngành Kỹ thuật Máy tính, Hệ thống Nhúng & IoT, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử và Công nghệ Thông tin.
Các nội dung có giá trị tham khảo kỹ thuật cao bao gồm:
- Quy trình chi tiết tích hợp dịch vụ bản đồ số Google Maps Platform, đăng ký API key và khai thác các API định tuyến trên hệ điều hành Android.
- Thuật toán và các bước logic để giải mã chuỗi ký tự nén
Decode Polyline của Google sang tọa độ địa lý.
- Kỹ thuật ghép nối phần cứng và giao tiếp truyền thông UART bất đối xứng giữa vi điều khiển chuyên dụng STM32F407 (chạy FreeRTOS) với chip kết nối mạng NodeMCU ESP8266.
- Cơ sở lý thuyết và phương pháp hiện thực giải thuật hợp nhất dữ liệu cảm biến quán tính (Sensor Fusion) kết hợp gia tốc kế, từ kế và con quay hồi chuyển để bù góc nghiêng và khử trôi góc phương vị yaw.
Câu hỏi thường gặp
1. Robot trong khóa luận sử dụng cơ cấu chuyển động nào và có ưu điểm gì so với bánh xe truyền thống?
Robot sử dụng hệ thống bốn bánh xe Mecanum độc lập, mỗi bánh chứa các con lăn phụ đặt nghiêng một góc 45° so với trục quay chính. Nhờ nguyên lý cộng vector vận tốc, robot có thể tịnh tiến, lùi, dịch chuyển ngang sang trái/phải, di chuyển chéo góc hoặc xoay tròn tại chỗ mà không cần đổi hướng khung gầm xe, giúp tăng khả năng xoay xở trong các không gian chật hẹp.
2. Thuật toán Decode Polyline giải quyết bài toán kỹ thuật nào trong đề tài?
Khi truy vấn tuyến đường qua Directions API của Google Maps, dữ liệu lộ trình trả về dạng chuỗi ASCII nén và giữa hai điểm cách xa nhau thường chỉ cung cấp 1 điểm mốc trung gian duy nhất. Thuật toán Decode Polyline của nhóm giải nén chuỗi ký tự này, làm mịn các khúc cua uốn lượn và nâng số lượng điểm mốc từ 1 lên 15 điểm waypoint trên cung đường thử nghiệm, tạo thành chuỗi các đoạn thẳng nối tiếp giúp robot bám sát lộ trình thực tế.
3. Tại sao hệ thống phải tích hợp đồng thời cả ba loại cảm biến: gia tốc kế, từ kế và con quay hồi chuyển (Sensor Fusion)?
Mỗi cảm biến có nhược điểm vật lý riêng: gia tốc kế không thể đo góc yaw và bị nhiễu lớn khi chuyển động; từ kế đo được góc yaw tuyệt đối nhưng bị sai lệch nghiêm trọng khi bị nghiêng; con quay hồi chuyển đo được cả ba góc nhưng số liệu tích phân bị trôi dạt (drift) liên tục theo thời gian. Giải thuật Sensor Fusion (dùng bộ lọc bù và Kalman mở rộng) lấy gia tốc kế bù góc nghiêng cho từ kế, sau đó kết hợp với con quay hồi chuyển để khử trôi số liệu, cung cấp góc hướng tuyệt đối chính xác cho robot.
4. Dữ liệu trạng thái giữa ứng dụng Android và robot được đồng bộ qua Firebase theo cơ chế nào?
Hệ thống sử dụng biến logic State lưu trên Firebase Realtime Database: ban đầu State = -1 (robot ở trạng thái nghỉ, chờ dữ liệu). Khi người dùng nhấn Send data, ứng dụng đẩy chuỗi waypoint lên nhánh Points đồng thời cập nhật State = 0 (sẵn sàng di chuyển). NodeMCU đọc được trạng thái này, chuyển tiếp qua STM32F407 để kích hoạt động cơ và đổi State = 1 (đang di chuyển). Khi hoàn thành lộ trình, robot tự động đưa biến trạng thái trở về -1.
5. Vì sao khoảng cách lộ trình của hệ thống bị giới hạn ở mức dưới 30 km?
Khoảng cách bị giới hạn do hai nguyên nhân kỹ thuật: thứ nhất, chuỗi URL truy vấn Directions API của Google bị khống chế tối đa 8.000 ký tự (nếu lộ trình quá dài, lượng dữ liệu trả về vượt ngưỡng sẽ gây lỗi không tải được URL); thứ hai, gói dịch vụ Firebase Server miễn phí giới hạn dung lượng lưu trữ tối đa 1 GB và nguồn pin gắn trên khung xe chỉ đáp ứng được thời gian vận hành trong cự ly ngắn.
Kết luận
Khóa luận tốt nghiệp của sinh viên Lê Hoàng Phúc và Phạm Cao Thắng đã nghiên cứu, thiết kế và chế tạo thành công mô hình robot Mecanum đa hướng tự hành bám quỹ đạo bản đồ số Google Maps và tự né tránh vật cản. Đề tài xây dựng một hệ thống hoàn chỉnh từ ứng dụng điều khiển Android, cơ sở dữ liệu thời gian thực Firebase, thuật toán giải mã đường đa tuyến Decode Polyline đến khối phần cứng nhúng STM32F407 kết hợp giải thuật Sensor Fusion 9 bậc tự do. Kết quả nghiên cứu chứng minh tính khả thi kỹ thuật của mô hình robot tự hành ngoài trời chi phí thấp, tạo cơ sở thực tiễn cho các ứng dụng vận chuyển tự động trong các khuôn viên diện rộng.