CHƯƠNG 1. GIỚI THIỆU Tổng quan Hiện nay hướng nghiên cứu về robot tự hành đang phát triển rất mạnh mẽ trên toàn thế giới. Nhờ sự phát triển vượt bậc về công nghệ chế tạo cảm biến mà ngày càng có nhiều lựa chọn cho các nhà phát triển dựa vào mục đích xây dựng mô hình (chủ yếu là do đặc điểm môi trường hoạt động). Trong các bài toán về robot tự hành, bài toán về định vị robot được xem là một bài toán nền tảng để có thể thực hiện các tác vụ thông minh kế tiếp.
Bài toán định vị là bài toán ước lượng hệ tọa độ gắn với robot bằng cách thu thập các thông tin từ cảm biến, trong đó, thông tin từ môi trường hoạt động (bản đồ) là có thể biết trước hoặc không. Với môi trường hoạt động không biết trước thì bài toàn định vị robot sẽ bao gồm 2 thành phần chính: xây dựng bản đồ của môi trường xung quanh và định vị trí của nó trên bản đồ mới xây dựng được đó. Quá trình xử lý đồng thời cả 2 bài toán trên cùng lúc được gọi là SLAM (Simultaneous Localization And Mapping). Với môi trường ngoài trời (outdoor) việc định vị có thể được thực hiện sử dụng GPS (với ngưỡng sai số cho phép) để robot sử dụng cho việc dẫn hướng.
Tuy nhiên đối với môi trường trong nhà (indoor) thì việc sử dụng GPS là không khả thi do môi trường hoạt động nhỏ khiến sai số từ các hệ thống GPS thông dụng là quá lớn hoặc môi trường kín nơi không có tín hiệu GPS thì cần giải pháp khác phù hợp hơn. Ngoài GPS, các cảm biến thường được sử dụng trong bài toán SLAM là Encoder, IMU, camera và cảm biến khoảng cách. Một vài đặc điểm của các loại cảm biến nói trên sẽ được học viên trình bày tiếp sau đây: Encoder: Thiết bị này được dùng rộng rãi nhờ vào tính đơn giản và rẻ tiền. Từ giá trị xung của encoder và đường kính biết trước của bánh xe ta sẽ tính được quãng đường di chuyển của từng bánh xe.
Kết hợp với kết cấu cơ khí của robot ta suy ra được 1 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS chuyển động chung cho robot. Rõ ràng phương pháp này phụ thuộc nhiều vào kết cấu cơ khí của robot và không thể áp dụng cho các hệ robot khác nhau. Phương pháp này còn một nhược điểm nữa là nó chỉ định vị được trong không gian 2D. Hình 1-1 Encoder Omron E6C2 IMU: Thiết bị này được sử dụng rộng rãi từ khi công nghệ MEMS (microelectromechanical systems) ra đời khiến giá thành giảm và việc ứng dụng nó vào robot di động trở nên khả thi và dễ dàng hơn.
Đầu tiên ta phải tính giá trị gia tốc chuyển động của robot dựa vào hiệu số giữa giá trị thu được từ cảm biến Accelerometer và hình chiếu của vector trọng trường Trái Đất lên robot. Sau đó ta tích phân hai lần để thu được quãng đường di chuyển. Phương pháp này có ưu điểm lớn là ta có thể phát triển thuật toán định vị độc lập với robot. Tuy nhiên việc tích phân hai lần trên giá trị gia tốc sẽ gây ra sai số tích lũy lớn dần theo thời gian do đó đặt ra yêu cầu phải tích hợp thêm cảm biến để bù lại sai số này.
Hình 1-2 Từ trái qua phải: GY-85, Razor IMU 2 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Camera: Thiết bị camera thường được sử dụng là monocular camera hoặc stereo camera. Với các giải thuật xử lý ảnh thì sử dụng camera sẽ cho ta định vị trí của robot. Tuy nhiên độ chính xác sẽ không cao do nhiễu từ môi trường (ánh sáng, môi trường không đủ đặc trưng…) Mặt khác, giá thành của stereo camera khá mắc. Hình 1-3 Từ trái qua phải: Elphel353, bumblebee2 Cảm biến khoảng cách: sử dụng các thiết bị như cảm biến siêu âm, laser scanner sẽ cho phép định vị robot nhờ vào ước lượng chuyển động tương đối giữa robot so với vật cản hay môi trường.
Cảm biến siêu âm (ultra sonic), hay laser scanner tính khoảng cách từ robot tới vật cản dựa vào tích thời gian truyền-phản hồi của sóng và vận tốc truyền sóng. Một loại cảm biến khác dùng structure-light như Microsoft Kinect, Asus Xtion Pro hay Creative Senz3D hoạt động với một máy chiếu các tia sáng hồng ngoại kiểu các pixel ra không gian trước mặt sau đó camera hồng ngoại đọc về và dựa vào nguyên lí giống stereo camera để so sánh ảnh nhận được và ảnh đã calib để so sánh sẽ cho phép tính ra được độ sâu tương ứng với từng pixel trên ảnh. Hình 1-4 Từ trái qua phải: cảm biến siêu âm HC-SR04, laser scanner SICK, RGBD camera Kinect, RGBD camera Asus Xtion Pro Live Để giải quyết bài toán SLAM ta có thể kết hợp các thiết bị trên tùy thuộc vào yêu cầu hoạt động. Trên thế giới đã có nhiều đề tài như: 3 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS - Sử dụng laser scanner như đề tài [1] - Sử dụng cảm biến siêu âm như đề tài [2][3] - Sử dụng camera RGBD (Kinect) như đề tài [4][5][6][7][8] - Kết hợp encoder và cảm biến siêu âm như [9] - Kết hợp encoder và stereo camera như đề tài [10] Cảm biến siêu âm có nhược điểm là độ chính xác không cao và khoảng cách cũng không xa (ví dụ cảm biến siêu âm giá rẻ HC-SR04 chỉ cho độ tin cậy trong khoảng từ 2->300 cm).
Stereo camera hoặc laser scanner cho kết quả rất tốt do có thông tin về độ sâu ảnh chính xác với khoảng cách xa, tuy nhiên vấn đề gặp phải khi sử dụng các thiết bị này là mặt chi phí. Đối với các ứng dụng nhằm mục đích thương mại hóa như máy hút bụi tự động hoặc robot tự hành hoạt động trong kho hàng, UAV…, độ chính xác không đòi hỏi quá khắc khe nhưng chi phí phải chấp nhận được. Khi đó việc sử dụng camera RGBD thực sự hiệu quả. Với mong muốn thực hiện một thiết bị có khả năng xây dựng bản đồ môi trường xung quanh giá rẻ, sử dụng các thiết bị thông dụng trên thị trường, học viên lựa chọn camera RGBD.
Thiết bị này cung cấp đủ thông tin để định vị robot và nhỏ gọn, thích hợp với các ứng dụng di động. Ngoài ra có thể dễ dàng kết hợp thiết bị này với các loại cảm biến khác nhằm mục đích cải thiện quỹ đạo chuyển động của robot, cải thiện khả năng định vị của robot. Tổng quan các nghiên cứu liên quan. Một số đề tài về SLAM trên thế giới sử dụng camera RGBD: 4 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-5 Nghiên cứu [4]: SLAM dựa vào Kinect và giải thuật Gmapping cho kết quả tốt nhưng bài báo chỉ áp dụng trên môi trường 2D.
5 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-6 Kết quả đạt được trong nghiên cứu [8]: Đề tài này chỉ sử dụng camera RGBD và giải quyết bài toán SLAM trên nền hệ điều hành robot ROS. Hình 1-7 Nghiên cứu [5] Dora robot, VIRGILE HÖGMAN - Royal Institute of Technology (KTH), Stockholm, Sweden. Kết quả đạt được tốt. Nghiên cứu này xây dựng odometry của robot bằng tín hiệu encoder kết hợp với hình ảnh từ camera Kinect.
6 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-8 Kết quả từ nghiên cứu [5] 7 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-9 Nghiên cứu [7] sử dụng phương pháp SIFT để trích đặc trưng ảnh, sử dụng chu trình RANSAC và giải thuật Iterative Closest Point để xác định odometry, sử dụng TORO, một công cụ tối ưu phục vụ các nghiên cứu SLAM nhằm thực hiện việc xác định vòng lặp kín (loop closure detection). Kết quả đạt được tốt. Với các đề tài trong nước thì học viên chỉ tìm được 2 đề tài thực hiện SLAM sử dụng camera RGBD Kinect: Nghiên cứu thứ nhất có tên [11] “Indoor Mobile Navigation Using ROS”, Thien-Minh Nguyen-Pham trong hội nghị The 2014 FEEE Student Research Conference (FEEE- SRC 2014). 8 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-10 Layout hệ thống của nghiên cứu [11] Hình 1-11 Kết quả đạt được của nghiên cứu [11] Nội dung nghiên cứu là giải quyết bài toán định vị robot với thông tin về môi trường hoạt động (bản đồ) được cung cấp trước.
Mô hình được xây dựng dựa trên hệ điều hành robot ROS với cảm biến hình ảnh là camera Kinect thế hệ 1. Odometry được xây dựng dựa trên tín hiệu trả về từ 2 encoder của 2 bánh xe robot. Giải thuật định vị sử dụng là Monte Carlo Localization. Kết quả của nghiên cứu đạt được là robot có thể tiếp cận vị trí đích đặt trước trên bản đồ với khả năng tránh né vật cản không biết trước trên đường.
Nghiên cứu thứ hai là một luận văn đại học có tên [12] “Xác định đường đi của robot dung Kinect trên nền tảng ROS” của sinh viên Lại Thành Phước năm 2013. 9 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-12 Mô hình thực nghiệm trong nghiên cứu [12] Đề tài này có mục tiêu là xác định quỹ đạo chuyển động trong môi trường chưa có thông tin (không có bản đồ). Đề tài sử dụng thuật toán Shi-Tomasi và Iterative Closest Point để xác định Odometry thông qua tín hiệu trả về từ camera Kinect thế hệ 1. Trong báo cáo của đề tài không trình bày thuật toán sử dụng để phát hiện vòng kín.
Kết quả của đề tài là tốt với luận văn đại học. 10 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS Hình 1-13 Kết quả đạt được của nghiên cứu [12] Bảng 1 – Bảng sai số khi cho robot di chuyển với các quỹ đạo khác nhau của nghiên cứu [12] Quãng Trường hợp Quỹ đạo Sai số (m) Chi tiết đường 1 Đường thẳng 3.048 Đường tròn bán 2 Đường cong 5m Y = 0.08 Hình chữ nhật 3 Hình chữ nhật 9m Y = 0.5m x 1m 11 Xây dựng bản đồ sử dụng camera RGBD kết hợp IMU trên nền tảng ROS MỤC TIÊU CỦA LUẬN VĂN Mục tiêu Với tình hình nghiên cứu trên thế giới và trong nước đã trình bày ở trên cùng với mong muốn thực hiện một ứng dụng xây dựng bản đồ có tính di động, học viên lựa chọn các thiết bị cảm biến và công cụ thực hiện như sau: 1. Thiết bị cảm biến được lựa chọn là camera RGBD. Điểm yếu của loại camera này là tầm hoạt động không rộng, chỉ được trong khoảng cách 5m.