MỤC LỤC
Dẫn đường cho robot là một lĩnh vực quan trọng trong ngành robot học và tự động hóa, nơi mà các robot được thiết kế để tự động di chuyển từ một vị trí này đến vị trí khác trong một môi trường cụ thể. Qua việc kết hợp các phương pháp này, dẫn đường cho robot trở thành một lĩnh vực nghiên cứu và ứng dụng phong phú, mang lại nhiều tiềm năng trong các ứng dụng như tự lái xe, dịch vụ giao hàng tự động, và robot hỗ trợ trong y tế và chăm sóc sức khỏe. Trong lĩnh vực robot học, việc phát triển các thuật toán dẫn đường cho robot tự hành (AMR) đóng vai trò quan trọng trong việc đảm bảo chúng có thể di chuyển một cách an toàn và hiệu quả trong môi trường làm việc.
Trong quá trình này, robot sử dụng dữ liệu từ các cảm biến như lidar, camera, hoặc cảm biến vô tuyến để ước lượng vị trí của mình so với một hệ thống tọa độ được xác định trước hoặc so với các điểm tham. Từ việc tạo ra bản đồ cơ bản cho đến các bản đồ 3D phức tạp, ánh xạ bản đồ là một phần không thể thiếu trong quá trình tự động hóa và robot hóa, giúp robot có khả năng di chuyển và tương tác một cách hiệu quả và an toàn trong môi trường thực tế. SLAM (Simultaneous Localization and Mapping) là một công nghệ quan trọng trong lĩnh vực robot học và tự động hóa, đóng vai trò quan trọng trong việc giúp các robot tự định vị và xây dựng bản đồ của môi trường xung quanh mình đồng thời.
SLAM kết hợp giữa việc xác định vị trí của robot và xây dựng bản đồ của môi trường xung quanh một cách đồng thời, giúp robot có thể tự định vị mình trong môi trường không quen biết một cách chính xác và hiệu quả. Xác định vị trí (Localization): SLAM sử dụng các cảm biến như lidar, camera, hoặc cảm biến vô tuyến để thu thập dữ liệu về môi trường xung quanh robot và xác định vị trí của robot trong không gian 3D. Với khả năng kết hợp giữa xác định vị trí và xây dựng bản đồ môi trường, SLAM đóng vai trò quan trọng trong việc giúp robot tự định vị và di chuyển một cách chính xác và an toàn trong môi trường không quen biết.
Với khả năng tạo ra bản đồ của môi trường và định vị vị trí của robot đồng thời, công nghệ SLAM mở ra nhiều tiềm năng mới cho sự phát triển của các hệ thống tự động hóa thông minh và linh hoạt, góp phần vào sự tiến bộ của xã hội và công nghệ. • Robot giao hành: Trong lĩnh vực giao hàng, SLAM được sử dụng để giúp các robot giao hàng tự động xác định vị trí của họ trong môi trường đô thị phức tạp và xây dựng bản đồ của khu vực giao hàng. Những ứng dụng trên chỉ là một số ví dụ tiêu biểu, SLAM có thể được áp dụng trong nhiều lĩnh vực khác nhau và mang lại nhiều tiềm năng trong việc tạo ra các hệ thống tự động hóa thông minh và linh hoạt.
EKF-SLAM (Extended Kalman Filter Simultaneous Localization and Mapping) là một phương pháp phổ biến trong lĩnh vực robot tự hành và thị giác máy tính để định vị và tạo bản đồ đồng thời trong môi trường không gian 2D hoặc 3D. Trong EKF-SLAM, robot hoặc hệ thống tự hành được trang bị các cảm biến để thu thập dữ liệu từ môi trường xung quanh, chẳng hạn như cảm biến vị trí (ví dụ: GPS), cảm biến hình ảnh (ví dụ: camera) và các cảm biến khoảng cách (ví dụ: lidar hoặc sonar). Được phát triển bởi Michael Montemerlo và các đồng nghiệp tại Stanford University, FastSLAM kết hợp hai phần chính: một phần dựa trên bộ lọc hạt (particle filter) để ước lượng vị trí của robot, và một phần dựa trên bộ lọc Kalman mở rộng (Extended Kalman Filter) để ước lượng bản đồ của môi trường.
Một trong những ưu điểm của GraphSLAM là khả năng tích hợp dữ liệu từ nhiều nguồn khác nhau một cách linh hoạt, bao gồm dữ liệu từ cảm biến vị trí (như hệ thống định vị toàn cầu GPS) và dữ liệu từ cảm biến môi trường (như lidar, camera). GraphSLAM cũng thường được áp dụng trong các ứng dụng thực tế, như xe tự lái, robot dịch vụ, hoặc trong ngành công nghiệp và logisitcs để giúp robot tự định vị và di chuyển trong môi trường không quen biết một cách chính xác và linh hoạt.
Sau khi nhận được bản tin dẫn đường, kiểm tra bản tin dẫn đường, nếu đúng thì lưu tọa độ vị trí đích, sai thì tiếp tục chờ sự kiện mới. Sau khi nhận được sự kiện, tiến hành kiểm tra đây có phải sự kiện hoàn thành quá trình di chuyển. Kiểm tra tọa độ của xe dựa trên hệ thống định vị UWB, nếu vị trí của xe có sai khác quá lớn thì tiến hành gửi bản tin dẫn đường mới để xe di chuyển đến đúng vị trí.
Sau khi xây dựng hệ thống định vị như những gì mô tả ở mục 3.2.1, tiến hành chạy thử nghiệm và đánh giá hệ thống. Dựa trên kết quả đo một số khoảng cách cố định chúng ta có thể thấy rằng tỉ lệ sai số của UWB sẽ càng nhỏ khi khoảng cách tăng dần, và với khoảng 1m UWB có tỉ lệ sai số lớn nhất ~7%. Kết quả đo này cho thấy rằng, hệ thống định vị sẽ trả về tọa độ mà tại đó cú sai số khụng quỏ lớn.
Như vậy thông qua hình 3.10, chúng ta thấy rằng kết quả tọa độ do hệ thống IPS UWB trả về có tỉ lệ sai lệch thấp. Sau khi thực hiện xây dựng xe tự hành trên ROS2, tiến hành thử nghiệm xe tự hành với môi trường trên Gazebo và kết quả được thu thập dựa trên Rviz2 – hình 3.8 cho thấy kết quả xe tự hành trờn cụng cụ theo dừi Rviz2. Để có thể mô phỏng các trường hợp lỗi định vị khi robot được dẫn đường tự động ta có thể làm theo hai cách.
Một là, tiến hành tạo nhiễu cho lidar và thay đổi các tham số về kích thước bánh xe, tốc độ, các yếu tố thay đổi này sẽ làm cho xe tự hành chạy tới một vị trí đích không chính xác. Ngoài ra, có một cách khác để thực hiện mô phỏng vấn đề này đó là trực tiếp thay đổi vị trí của xe khi nó thực hiện di chuyển tự động, khi xe kết thúc quá trình. Thực hiện tích hợp giữa hệ thống định vị và xe tự hành, tiến hành thử nghiệm các trường hợp lỗi vị trí khi dẫn đường.
Kết quả thu được sau khi thử nghiệm cho thấy rằng, sau khi xảy ra vấn đề về dẫn đường, cụ thể là xe di chuyển tự động mà kết thúc tại vị trí không chính xác so với vị trí đích mong muốn hệ thống định vị UWB sẽ phát hiện và đưa ra các lệnh dẫn đường điều chỉnh để xe đến được vị trí đích mong muốn, sau đó tiến hành điều chỉnh lại vị trí giữa xe và map cho chính xác. Khi xe tự hành gần đến đích, tiến hành can thiệp và dịch chuyển xe tới ví trí sai số lớn định trước. Sau khi thực hiện kịch bản này, chương trình có thuật toán như mô tả tại hình 3.8 sẽ tiến hành can thiệp và đưa ra chỉ lệnh dẫn đường xe tự hành về vị trí đích.