Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
4,4 MB
Nội dung
15 Doc ID Phát triển công nghệ SLAM cho Robot tự hành đa hướng Sign d.m.y History - 16/08/2022 Make・Issue B No Project Dep Mechatronics Team Robot Correct Page Approval ――― Phạm Duy Học Check Issue Phạm Nguyễn Minh Đức / 15 Doc ID MỤC LỤC Giới thiệu tổng quan công nghệ SLAM tư tưởng chủ đạo 1.1 Slam 1.2 Sơ đồ cấu trúc Slam sử dụng 1.2.1 Sơ đồ cấu trúc dòng chảy 1.2.2 Biểu diễn tư tưởng dạng xác suất toán học 1.2.3 Giới thiệu cách ứng dụng công nghệ SLAM Omni Robo VKIST: Giải pháp lựa chọn sở lí thuyết chung 2.1 Ưoc lượng vị trí thời điểm t 2.2 Chỉnh định p*(t) 2.2.1 ScanMatching biết trước xác điểm tương đồng 2.2.2 ScanMatching chưa biết trước xác điểm tương đồng 13 2.3 Update liệu Lidar Scan – Matching xong vào đồ 15 2.3.1 2D Occupancy Grid Map 15 2.3.2 Chuyển liệu thô Lidar lên Occupancy – Grid map cách Update liệu 16 Cách thức triển khai thực tế kết thu 19 3.1 Hai ROS node thêm vào để giải toán SLAM 19 3.1.1 Cách thức vận hành node “/publisher” 20 3.1.2 Cách thức vận hành node “/myviz” 24 3.2 Kết thực tế thu 25 Tài liệu tham khảo 27 / 15 Doc ID Phát triển công nghệ SLAM cho Robot tự hành đa hướng Giới thiệu tổng quan công nghệ SLAM tư tưởng chủ đạo 1.1 Slam SLAM – Simultaneously Localization and Mapping – vấn đề phổ biến lĩnh vực điều khiển tự động Robot tự hành, hiểu trình robot đồng thời tự xây dựng đồ định vị vị trí đồ xây dựng đó, lại sử dụng vị trí định vị cho việc xây dựng đồ tốt Trong trình SLAM, robot sử dụng thơng tin thu thập từ cảm biến (như Depth Camera, Lidar 2D 3D), để tái tạo lại mơi trường bên ngồi cách đưa thơng tin thu thập vào map (thơng thường 2D grid-map tính đơn giản hiệu nó), từ robot định vị (Localization) đâu, trạng thái, tư map để tự động thiết lập đường (path planning) môi trường Ngồi ra, thơng tin Localizaion mà thu sử dụng tương lai cho việc thiết lập hoàn thiện đồ (Mapping) 1.2 Sơ đồ cấu trúc Slam sử dụng 1.2.1 Sơ đồ cấu trúc dịng chảy Vị trí đồ thời điểm t-1 , p(t-1),m(t-1) (3) Từ p(t) tính l(t) Update l(t) vào m(t-1) thu đc m(t) (1) Ước lượng vị trí thời điểm t, p*(t), liệu Lidar l*(t) chuyển theo Grid map theo p*(t) (2) So sánh l*(t) với m(t-1), chỉnh định p*(t) để l*(t) khớp với m(t-1) Được giá trị chốt p(t) 1.2.2 Biểu diễn tư tưởng dạng xác suất toán học p( x1:t , m | z1:t , u1:t 1 ) p(m | x1:t , z1:t ) p( x1:t | z1:t , u1:t 1 ) đó: x1t : vị trí robot thời điểm từ tới t, bao gồm thuộc tính x,y góc theta m: đồ z1t : tín hiệu Lidar quan sát thời điểm từ tới t u1:t : tín hiệu Odometry / 15 Doc ID 1.2.3 Giới thiệu cách ứng dụng công nghệ SLAM Omni Robo VKIST: Công nghệ SLAM nhóm xây dựng phát triển cho Omni Robot sử dụng thiết bị phần cứng cấu trúc phần mềm sau: Thiết bị phần cứng sử dụng cơng nghệ SLAM Omni Robot Để Robot có khả xây dựng đồ định vị mơi trường thực tế, khơng thể thiếu cảm biến, làm nhiệm vụ “tai mắt” Robot Hiện tại, loại cảm biến mà nhóm sử dụng là: 1, Encoder Encoder tích hợp ln vào động MD200 Robot Cứ 0,01 giây lần (tức tần số 100Hz), máy tính nhúng thơng qua Encoder để đọc tốc độ bánh, từ qua mơ hình Hình 1: Động MD200 Robot động học thuận xây dựng từ trước để tính độ dời Odometry Robot Đây biến đầu vào quan trọng gần kĩ thuật SLAM Tất nhiên, mặt lí thuyết, Odometry xác tuyệt đối Localization tuyệt đối kéo theo Mapping Tuy nhiên, thực tế có nhiều nhiễu mà khơng thể kiếm sốt hết Chúng ta khơng thể đảm bảm Encoder đo 100% xác, ngồi cịn sai số qn tính q trình di chuyển, sai số bánh trượt không lăn, sai số thân mơ hình động học thuận xây dựng khơng hồn tồn xác,… Vì lí đó, sử dụng Encoder để ước lượng nên Odometry khơng đủ, cần phải sử dụng thêm một vài loại cảm biến khác kèm 2, Lidar 2D Lidar nhóm sử dụng Lidar 2D SICK (CHLB Đức), có đặc tính kĩ thuật / 15 Doc ID Hình 2: SICK Tim571 2D LiDAR sensors Type: TiM571-2050101 Part number: 1075091 Usual availability: Product family: TiM5xx Product family group: 2D LiDAR sensors Application: Outdoor Integrated application: Output of measurement data Measurement principle: HDDM Working range: 0.05 m … m Aperture angle: 270° Angular resolution: 0.33° Digital outputs: (PNP, SYNC/device ready) Robot trang bị LiDAR góc nhờ vào LiDAR này, xây dựng đồ định vị đồ Nhờ có liệu Lidar trả để đối chiếu, Robot triệt tiêu sai số tích lũy Odometry gây nên Các kĩ thuật phần mềm sử dụng công nghệ SLAM Omni Robot: Cơng nghệ SLAM mà nhóm phát triển cho mơ hình Omni Robot dựa thuật tốn chủ đạo, Scan – matching Tư tưởng biến đổi liệu thô từ Lidar trả từ hệ tọa độ cực sang hệ tọa độ Oxy (khi biết vị trí Robot), để đưa lên xây dựng đồ dạng lưới (Grid map) Khi Robot di chuyển, liệu lidar trả có thay đổi, sai khác vùng (do quét vùng mới) Bản đồ Update liên tục Mục đích cần làm để làm sao, lần Update đó, liệu Update phải match với đồ cũ phần cũ mà chung Khi phần cũ match trùng nhau, phần theo để chạy có đồ có đầy đủ thơng tin mơi trường mà xác Cách thức tìm điểm tương đồng nào, tìm để đưa trùng khớp nhất, tất phần làm rõ mục sau / 15 Doc ID Hình – Scan_matching Depth Camera Ở thời điểm báo cáo viết, depth camera chưa sử dụng công nghệ SLAM Robot Tuy nhiên tương lai, chắn phải sử dụng thêm Depth Camera Lí thứ nhất, loại Lidar sử dụng 2D Lidar Nó khơng thể qt tồn không gian chiều mà quét mặt cắt ngang tầm với Vì lí đó, vật cản, ví dụ nằm chân Robot khơng nhìn thấy Vì thời điểm tại, robot chạy mơi trường phịng thí nghiệm nên chưa cần tới Depth Camera, nhiên Hình – Depth Camera tương lai chạy môi trường thực tế chắn cần tới thiết bị Đến lúc đó, vấn đề fusion liệu Lidar Depth Camera điểm cần lưu ý / 15 Doc ID Hình – Sensor fusion Camera Lidar Giải pháp lựa chọn sở lí thuyết chung Nhìn chung, với gần tất loại kĩ thuật SLAM, tuân theo cấu trúc dịng chảy sơ đồ hình 1.2.1 Điểm khác kĩ thuật SLAM chủ yếu nằm kĩ thuật giải vấn đề phần (1), (2), (3) Có nhiều cách để giải vấn đề nêu Chẳng hạn phần (1) ước lượng vị trí IMU, GPS, … Ở phần (2) dùng kĩ thuật Scan-matching Sampling khác để giải vấn đề nói Ở mục xin nêu giải pháp lựa chọn để giải vấn đề SLAM cho Robot đa hướng VKIST Vấn đề (1): ước lượng vị trí thời điểm t Giải pháp mà tơi lựa chọn, nói qua mục 1, sử dụng Encoder kết hợp với mơ hình động học thuận Robot để ước lượng quãng đường mà Robot Từ ước lượng vị trí p*(t) Vấn đề (2): chỉnh định p*(t) Kĩ thuật sử dụng phần mềm ICP – Scan matching Tư tưởng xây dựng cặp điểm tương đồng liệu Lidar đồ Từ xây dựng hàm mục tiêu tìm ma trận R phép tịnh tiến t để cực tiểu hóa hàm mục tiêu Tất / 15 Doc ID nhiên, tìm cặp điểm tương đồng khó, khơng phải qua phép quay R phép tịnh tiến t Tuy nhiên bước ICP – Scan matching lặp lặp lại nhiều lần Và sau đủ số chu kì lặp cịn bước bước tinh chỉnh (tìm kiếm xung quanh vị trí Scan – matching để chọn liệu Lidar match tốt với đồ) Nhờ có bước tinh chỉnh này, vị trí ước lượng Robot triệt tiêu sai số tích lũy bước Scan – matching gây nên Vấn đề (3): Update map sau có liệu Lidar l(t) Sau có vị trí xác Robot, ta suy vị trí xác l(t) liệu Lidar từ Update liệu Lidar lên đồ Ở sử dụng cách update liệu LiDAR vào đồ sau: - Dữ liệu thô Lidar trả hệ tọa độ cực, kết hợp với vị trí robot (x,y, theta) để chuyển hệ tọa độ Oxy, có 540 tia có 540 điểm bị chiếm dụng (tức điểm xác định có vật cản) Mỗi ô bị nghi chiểm dụng cộng thêm điểm, gọi số điểm chiếm dụng Ô có số điểm chiếm dụng cao tức xác suất có vật cản lớn Tuy nhiên số điểm chiếm dụng tối đa 200 - Vẽ đoạn thẳng nối điểm bị chiếm dụng tới tâm Lidar, có 540 đoạn thẳng Chúng ta hiểu tia Laser chiếu tới vật cản phản xạ lại, trước khơng bị chiếm dụng (free) Như ô bị trừ điểm xác suất chiếm dụng Điểm xác suất chiếm dụng tối thiểu Đó tổng quan giải pháp lựa chọn để giải vấn đề Sau vào cụ thể chi tiết vấn đề 2.1 Ưoc lượng vị trí thời điểm t Như nói mục trên, ước lượng vị trí thời điểm t thực cách đọc tốc độ bánh qua Encoder Giả sử tốc độ quay vòng/phút bánh đọc từ Encoder n1 , n2 , n3 , dựa vào hệ số gear bán kính bánh tính vận tốc dài bánh v1 , v2 , v3 theo công thức sau: k1 n1.r1 v1 60 k2 n2 r2 , k1 , k2 , k3 hệ số gear bánh 1,2 3; r1 , r2 , r3 bán v2 60 k3 n3 r3 v3 60 kính bánh 1,2 Nếu khơng có q sai lệch thiết bị phần cứng, có: k1 k2 k3 r1 r2 r3 / 15 Doc ID Từ ta tính vận tốc quay tịnh tiến vx , v y , robot theo mơ hình động học thuận sau: sin vx v y co s L sin cos 3 cos sin 3 3L sin cos 3 v sin cos v 3 v 3 3L Sau có vận tốc góc quay tịnh tiến Robot, tính độ dời mà Robot di chuyển chu kì cách nhân tốc độ với khoảng thời gian độ lớn chu kì x x vx dt y y v y dt .dt Bằng cách vậy, vấn đề (1) ước lượng vị trí thời điểm t xử lí 2.2 Chỉnh định p*(t) Hình – ICP Scan_matching / 15 Doc ID Vấn đề gặp phải, nói trên, khơng phải lúc ước lượng Odometry xác Do tác động nhiễu từ mơi trường, thân mơ hình động học khơng xác (các hệ số R,L bị sai) dẫn tới việc tạo sai số tích lũy theo thời gian Ở hình vẽ minh họa (hình 4b), thấy việc ước lượng Odometry sai dẫn tới liệu Lidar S obj bị lệch hẳn so với S ref Nhiệm vụ phải cách đưa S ref trùng khớp với S obj Và kĩ thuật sử dụng để giải vấn đề nói ICP – ScanMatching (ICP viết tắt từ tiếng Anh Iterative Closest Points) 2.2.1 ScanMatching biết trước xác điểm tương đồng Hình 7: ScanMatching biết trước xác điểm tương đồng Bài toán đặt ra: Cho trước điểm Y {y1, , yI } biết trước tương đồng C {(i, j )} X {x1 , , xJ } Hãy tìm vector tịnh tiến t ma trận quay R để cực tiểu hóa hàm mục tiêu sau: ( i , j )C yi Rx j t Lời giải Khơng tính tổng qt, giả sử x1 tương ứng với y1 , x2 tương ứng với y2 ,… xn tương ứng với yn Ta phát biểu tốn theo cách tổng quát hơn: Cho tập cặp điểm tương đồng yn , xn || n 1, , N : C tập trọng số pn || n 1, , N : C 13 / 15 Doc ID Tổng kết lại ta có cơng thức cuối để tìm R t Ma trận quay: R VU T Vector tịnh tiến: t y0 Rx0 Trong H ( xn x0 )( yn y0 )T pn svd ( H ) UDV T yn pn xn pn y0 | x0 pn pn 2.2.2 ScanMatching chưa biết trước xác điểm tương đồng Hình 8: Scan-Matching chưa biết xác điểm tương đồng Trong mục 2.2.1, có lời giải chứng minh chặt chẽ toán học cho trường hợp biết trước điểm tương đồng Nếu biết xác điểm tương đồng với điểm nào, chứng minh cần phép quay R phép tịnh tiến t đưa tới vị trí cần tìm “match” tập liệu với cách xác Tuy nhiên đáng tiếc thực tế, điểm tương đồng điểm cần Matching với Bài toán đặt ra: Cho trước điểm Y {y1, , yI } X {x1 , , xJ } Hãy tìm ma trận quay R ma trận tịnh tiến t cho qua phép biến đổi tập liệu X trùng khớp với tập liệu Y Điểm khó toán lần chưa biết trước tương đồng C {(i, j )} khơng xây dựng hàm mục tiêu để cực tiểu hóa mục 2.2.1 Bài tốn khơng có “direct and optimal solution” toán mục 2.2.1 Ở tốn này, khơng có biết trước điểm tương đồng, đành phải xây dựng phương pháp để tự ước lượng điểm tương đồng Tư tưởng phương pháp ICP 14 / 15 Doc ID “đốn” điểm tương đồng Ví dụ hai tập hợp X Y trên, đoán xem x1 trùng với điểm số điểm y1, , yI , x2 trùng với điểm số điểm y1, , yI Hình 9: ICP Scan-Matching Về bản, lần đoán đầu tiêu tập điểm cần Match cịn xa nhau, khơng thể đốn xác 100% điểm tương đồng với điểm Tuy nhiên, có cách đốn đủ hợp lí, tìm ma trận R vector t đưa tập điểm cần Match lại sát gần Nếu lặp lặp lại bước làm trên, đến lúc tập liệu điểm trùng khớp với Dựa tư tưởng đó, tổng kết lại thuật toán ICP Scan-Matching: - Với điểm tập điểm X, chọn điểm thuộc tập điểm Y gần với (“closest point”) - Xây dựng hàm mục tiêu mục 2.2.1 với cặp điểm tương đồng đốn Tính R t để cực tiểu hóa hàm mục tiêu vừa tính đó, biến đổi X theo R t vừa tính đó: xn : R.xn tn 1, , N - Lặp lại bước X Y trung khớp Nếu X Y giống đặt trùng khớp hoàn toàn, ln tính R = I t = Người ta chứng minh với thuật toán trên, X hội tụ Y X Y “đủ gần nhau” 15 / 15 Doc ID Hình 10: Minh họa phương pháp ICP Scan-matching Hình 11: Thuật toán ICP Scan-Matching 2.3 Update liệu Lidar Scan – Matching xong vào đồ 2.3.1 2D Occupancy Grid Map 2D Occupancy Grid map phương pháp xây dựng biểu diễn đồ thực tế hệ tọa độ lưới Hầu hết kĩ thuật SLAM sử dụng kiểu biểu diễn tính đơn giản hiệu Hình 12: 2D Occupancy Grid Map Ngun lí chia đồ hình chữ nhật thành ô vuông nhỏ, ô vuông có tọa độ (x,y) có địa mảng x +y*a a chiều rộng đồ hình chữ nhật Muốn truy cập gán giá trị cho phần tử mảng mà biết tọa độ (x,y) nó, ta cần dùng lệnh: 16 / 15 Doc ID M[x+y*a] Mỗi ô đồ gán số (thông thường khoảng 0-255) Dựa vào số điểm chia chúng thành ngưỡng, chẳng hạn: < 50: ô không bị chiếm dụng, biểu diễn màu trắng 50 – 60: ô không xác định, biểu diễn màu xám 60 – 255: ô bị chiếm dụng, biểu diễn màu đen 2.3.2 Chuyển liệu thô Lidar lên Occupancy – Grid map cách Update liệu Hình 13: Dữ liệu thô Lidar Dữ liệu Lidar trả cho tin scan, quan tâm đến thành phần chính: 1, scan->range[i]: mảng khoảng cách trả về, ứng với góc chạy từ -135 độ đến 135 dộ 2, scan->angle_increment: độ lớn góc tia laser Lidar (độ phân giải góc Lidar) Chúng ta có cách biến đổi liệu thơ Lidar lên Occupancy Grid Map sau: Bước 1: Từ tọa độ tâm Robot tìm tọa độ tâm Lidar: Cell_float a; a.x = robot.position.x + length_1*cos(theta_1 + robot.angle); a.y = robot.position.y + length_1*sin(theta_1 + robot.angle); Bước 2: Với phần tử thuộc mảng scan->range[i], tính góc tương ứng với Sau chuyển từ hệ tọa độ cực hệ tọa độ (x,y) 17 / 15 Doc ID Hình 14: Dữ liệu thơ Lidar chuyển lên đồ lưới for(int i=135;iranges[i]; float alpha = (theta_1 + robot.angle) + pi/2 (i-135)*scan->angle_increment; int x = Round(scan->ranges[i]*cos(alpha)*100 + a.x); //0.01 is resolution int y = Round(scan->ranges[i]*sin(alpha)*100 + a.y); if(x=1000) x=999; if(y=1000) y=999; Lidar1_obstacle[i-135].x = x; Lidar1_obstacle[i-135].y = y; } Bước 3: Scan – matching liệu để khớp với đồ có nhất, dựa phương án nêu mục 2.2 Bước 4: Update liệu Lidar - Với ô bị chiếm dụng vừa Scan-matching trên, tăng điểm bị chiếm dụng cho thêm a điểm if(uint8_t(Occupancy.data[Lidar_obstacle[i].x + Lidar_obstacle[i].y * Occupancy.info.width]) < 200){ int index = Lidar_obstacle[i].x + Lidar_obstacle[i].y * Occupancy.info.width; Occupancy.data[index] +=2; 18 / 15 Doc ID if(uint8_t(Occupancy.data[index]) >= 100){ Occupancy.data[index] = 100; } } - Từ bị chiếm dụng đó, vẽ đoạn thẳng đến tâm Lidar Giảm điểm bị chiếm dụng tất ô nằm đoạn thẳng b điểm Hình 15: Giải thuật vẽ đoạn thằng miền rời rạc for(int i = 0; i 4)&&(length < 800)){ if(i==0){ if(distance(Lidar_obstacle_float[i],Lidar_obstacle_float[i+1])pose.pose.position.x*sin(robot.angle) + 100*odom->pose.pose.position.y*cos(robot.angle); robot.angle = robot.angle - pi_2 * floor(robot.angle/pi_2); } Ngắt Lidar: - Từ liệu thô Lidar trả vị trí robot, tính tọa độ (x,y) ô vật cản Lidar trả - Dữ liệu trước sử dụng để update lên map xử lí để tương thích với map - Trong thực tế, sử dụng phương pháp Scan_matching theo tư tưởng scan – to – map scan – to – scan mục cho việc tìm điểm tương đồng để xây dựng hàm mục tiêu: (1) Với ô vật cản Lidar trả về, ta duyệt tất ô nằm hình vng (kernel) bao quanh đó, bị chiếm dụng đồ nằm hình vng mà gần với ô vật cản Lidar trả chọn ô tương đồng Nếu kernel khơng tìm bị chiếm dụng đồ, điểm bị coi điểm oclude ( điểm oclude tạm hiểu điểm môi trường robot khám phá ra, đồng nghĩa với việc đồ chưa có tương đồng với ) Vì vậy, xây dựng hàm mục tiêu để tìm giá trị R t điểm không tham gia vào (2) Xây dựng hàm mục tiêu, tìm R t để cực tiểu hóa hàm mục tiêu (3) Lặp lại bước (1) đủ số chu kì lặp định (khoảng 50 lần) Khi đủ số chu kì lặp kết thúc số lần lặp (4) Sau bước ICP Scan-Matching trên, cịn bước Resample, bước nhằm mục đích tinh chỉnh, dịch chuyển quay liệu Lidar xung quanh vị trí tìm để chọn liệu khớp với đồ (khớp với đồ định nghĩa liệu tập điểm (x,y) Lidar trả có nhiều điểm trùng với ô bị chiếm dụng đồ Tác dụng bước triệt tiêu sai số tích lũy xảy q trình ICP Scan-Matching Robot_param SICS(double scan_range[beam_number], Robot_param robot, int x_step, int y_step, int t_step, nav_msgs::OccupancyGrid Occupancy){ int mv = -1; Robot_param best; for(int i = -x_step; i1000)good = true; else good = false; ROS_INFO("Lidar diem %d", mv); return best; } (5) Định vị lại vị trí Robot (Localization) cách bù giá trí: b.x = robot.position.x; b.y = robot.position.y; double b_angle = robot.angle; 24 / 15 Doc ID robot.position.x += (temp_robot.position.x - b.x); robot.position.y += (temp_robot.position.y - b.y); robot.angle += (temp_robot.angle - b_angle); 3.1.2 Cách thức vận hành node “/myviz” Như nói phần trên, node “/myviz” hồn tồn khơng tham gia vào việc xử lí liệu hay chạy thuật toán mà để hiển thị giao diện Chi tiết bước chạy nó: Bước 1: Khởi tạo topic cần publish đến subscribe từ: + Publish liệu tới topic sau: - Publish số điều khiển giao diện tới topic “/GUI_COMMAND” để làm nhiệm vụ phân chia công việc hiển thị với node “/Qnode”, đọc từ topic “/GUI_COMMAND” số 7, giao diện “/myviz” hiển thị “/Qnode” tắt Nếu đọc từ topic “/GUI_COMMAND” số 9, giao diện “/Qnode” hiển thị “/GUI_COMMAND” tắt + Subscribe liệu để hiển thị từ topic sau: - Subscribe liệu đồ (Occupancy Grid Map) từ topic “/tutorial” - Subscribe liệu tọa độ vị trí x từ topic “/x_position” - Subscribe liệu tọa độ vị trí y từ topic “/y_position” - Subscribe liệu góc quay theta robot từ topic “/angle” + Khởi tạo signals slots nút bấm Bước 2: Vòng lặp: Nếu giá trị GUI_COMMAND 7, hiển thị giao diện lên hình (giao diện bao gồm vị trí ( x, y, ) robot đồ Occupancy Grid Map), giá trị GUI_COMMAND 9, khơng làm Ngắt GUI_COMMAND, ( x, y , ) , map 25 / 15 Doc ID Trong vòng lặp này, liên tục có ngắt liệu ( x, y , ) map node “/publisher” publish liên tục update Từ đó, thấy đồ vị trí robot thay đổi giống với đời thực 3.2 Kết thực tế thu Nhìn chung, sau khoảng tháng phát triển, nhóm thu kết đáng ghi nhận Robot có khả quét đồ tự định vị môi trường thực tế Trong tương lai code thêm chức tự mở rộng đồ cho Robot để chạy với mơ hình thực tế rộng lớn (mơ hình viện VKIST) Dưới hình ảnh kết thu được: Hình 17: Bản đồ quét mô Gazebo 26 / 15 Doc ID Hình 18: Bản đồ quét Lidar Hình 19: Bản đồ quét Lidar 27 / 15 Doc ID Tài liệu tham khảo [1] Diego Rodríguez-Losada, Javier Minguez "Improved Data Association for ICP-based Scan Matching in Noisy and Dynamic Environments." IEEE, 2007 [2] F A Donoso, K.J.Austin, P.R.McAree "How ICP variants perform when used for scan matching terrain point clouds." Robotics and Autonomous Systems, 2016 [3] Lu, Feng "Shape Registration using Optimization for Mobile Robot Navigation." 1995 [4] Sebastian Thrun, Wolfram Burgard, Dieter Fox Probabilistic Robotics Cambridge, Massachusetts: The MIT Press, 2006 [5] Silvốre Bonnabel, Martin Barczyk, Franỗois Goulette On the Covariance of ICP-based Scan-matching Techniques, 2014 [6] Stachniss, Cyrill Youtube 2021 https://www.youtube.com/watch?v=ktRqKxddjJk (accessed 2022) [7] Stachniss, Cyrill Youtube 2021 https://www.youtube.com/watch?v=Cu1f6vpEilg (accessed 2022) ... tham khảo 27 / 15 Doc ID Phát triển công nghệ SLAM cho Robot tự hành đa hướng Giới thiệu tổng quan công nghệ SLAM tư tưởng chủ đạo 1.1 Slam SLAM – Simultaneously Localization and... nghệ SLAM Omni Robo VKIST: Công nghệ SLAM nhóm xây dựng phát triển cho Omni Robot sử dụng thiết bị phần cứng cấu trúc phần mềm sau: Thiết bị phần cứng sử dụng cơng nghệ SLAM Omni Robot Để Robot. .. vực điều khiển tự động Robot tự hành, hiểu trình robot đồng thời tự xây dựng đồ định vị vị trí đồ xây dựng đó, lại sử dụng vị trí định vị cho việc xây dựng đồ tốt Trong trình SLAM, robot sử dụng