Robot vẽ bản đồ địa hình

60 1.2K 6
Robot vẽ bản đồ địa hình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VIỆT NAM ROBOT VẼ BẢN ĐỒ ĐỊA HÌNH LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VIỆT NAM ROBOT VẼ BẢN ĐỒ ĐỊA HÌNH Ngành: Công nghệ thông tin Mã số: 60.48.01.03 Chuyên ngành: Kỹ thuật phần mềm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS PHẠM BẢO SƠN Hà Nội – 2015 Lời cam đoan Tôi xin cam đoan: (i) Luận văn sản phẩm nghiên cứu tôi, (ii) Số liệu luận văn điều tra trung thực, (iii) Tôi xin chịu trách nhiệm nghiên cứu Học viên Lê Việt Nam LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy hướng dẫn tôi, Phó Giáo sư-Tiến sĩ Phạm Bảo Sơn Thầy cho hội quý giá để theo đuổi nghiên cứu lĩnh vực yêu thích Trong suốt trình thực luận văn, thầy tận tình hướng dẫn cho tôi, đồng thời thầy cung cấp tài liệu thiết bị cần thiết để hoàn thành luận văn Đó vinh dự cho nhận Thạc sĩ Tiếp đến, xin chân thành cảm ơn thầy cô giáo Khoa Công nghệ Thông tin, Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức kinh nghiệm vô quí báu trình học tập nghiên cứu Tôi muốn cảm ơn bạn lớp đồng nghiệp cho lời động viên, hỗ trợ góp ý chuyên môn quý báu Cuối cùng, xin cảm ơn gia đình, bạn bè, người bên cạnh ủng hộ động viên MỤC LỤC Lời cam đoan Danh mục ký hiệu, viết tắt Danh mục hình vẽ CHƯƠNG 1: MỞ ĐẦU 1.1 Giới thiệu toán lập đồ 1.3 Một số thuậtngữ 10 1.2 1.4 Lịch sử SLAM 10 Bài toán SLAM 11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 18 2.1 Lọc Kalman 18 2.1.1 Ý tưởng Kalman 18 2.1.2 Lọc Kalman SLAM 19 2.1.3 Nhiều trắng, đường cong Gausian, trình tuyến tính 19 2.1.4 Phát triển lọc đơn giản 20 2.1.5 Phát triển lọc Kalman cho robot chuyển động 25 2.1.6 Phát triển lọc Kalman với môi trường thực tế cho SLAM 28 2.1.7 Bộ lọc Kalman mở rộng 32 2.1.8 Hạn chế kĩ thuật lọc Kalman 33 2.2 FastSLAM 35 2.2.1 Cách tiếp cận SLAM Bayes 35 2.2.2 Thuật toán FastSLAM 38 2.2.3 Fast SLAM particle 39 2.2.4 Ước lượng Pose 39 2.2.5 Ước lượng feature 40 2.2.6 Vòng lặp đóng với FastSLAM 41 2.3 DP-SLAM 43 2.3.1 Mô tảthuật toán DP-SLAM 43 2.3.2 Bản đồ phân bố Particle 44 2.3.3 DP-SLAM thực tế 45 CHƯƠNG 3: THỰC NGHIỆM 47 3.1 3.2 Mô hình thực nghiệm 47 Robot Lego NXT 48 3.2.1 Giới thiệu 48 3.2.3 Chương trình điều khiển 50 3.2.2 3.3 3.4 Lắp ráp robot 49 Chương trình Smartphone 51 Chương trình giám sát PC 54 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO 59 Danh mục ký hiệu, viết tắt STT Từ viết tắt SLAM DP-SLAM KF Ý nghĩa Simultaneous Localization And Mapping – Đồng thời định vị lập đồ Distributed Particle for Simultaneous Localization And Mapping – Phân phối particle cho Đồng thời định vị lập đồ Kalman Filter – Bộ lọc Kalman EKF Extended Kalman filter – Bộ lọc Kalman mở rộng US sensor Ultrasonic sensor API PC IR sensor OS Infrared sensor – Cảm biến hồng ngoại Application Programming Interface – Giao diện lập trình ứng dụng Personal Computer – Máy tính cá nhân Operating System - Hệ điều hành Danh mục hình vẽ Hình 1.1 Tìm kiếm feature mô hình định vị 13 Hình 1.2 Cập nhật vị trí ước lượng mô hình định vị 14 Hình 1.3 Mô hình lập đồ 15 Hình 1.4 Sơ đồ thuật toán SLAM 17 Hình 2.1 Mô robot không gian chiều 20 Hình 2.2 Phân bố xác suất giá trị cảm biến không gian chiều 21 Hình 2.3 Phân bố xác suất kết hợp từ nhiều cảm biến 23 Hình 2.3 Ảnh hưởng chuyển động đến ước lượng trạng thái 27 Hình 2.4 Một ví dụ đóng vòng lặp 34 Hình 2.5 Mạng Bayesian đơn giản dùng cho SLAM 35 Hình 2.6 Minh họa d-khả ly 36 Hình 2.7 Mạng Bayesian liên quan đến vị trí robot 37 Hình 2.8 Lựa chọn particle tạm thời theo mật độ xác suất 40 Hình 2.9 Cây particle 44 Hình 2.10 Bản đồ phân bố particle 45 Hình 2.11 Bản đồ DP-SLAM với 9000 particle (Nguồn Eliazar Parr) 46 Hình 3.1 Các thành phần hệ thống 47 Hình 3.2 Các thành phần robot Lego 48 Hình 3.3 Sơ đồ lắp ráp Robot Lego 49 Hình 3.4 Robot sau lắp ráp 50 Hình 3.5 Cách bố trí Smartphone 52 Hình 3.6 Giao diện chương trình chạy mobile 54 Hình 3.7 Giao diện chương trình máy PC 55 Hình 3.8 Robot vẽ đồ phòng 56 1.1 CHƯƠNG 1: MỞ ĐẦU Giới thiệu toán lập đồ Bài toán lập đồ vấn đề nghiên cứu chủ yếu ngành Robot học Xét robot đơn giản sử dụng bánh xe có gắn động với thiết bị vật lý để kiểm soát tốc độ, hướng di chuyển cảm biến để thu thập thông tin môi trường Nhiệm vụ robot nàylà di chuyển để lập đồ nơi người không muốn tiếp cận, đồng thời robot tự xác định vị trí so với đối tượng xung quanh Kỹ thuật để robot thực nhiệm vụ gọi SLAM Một ví dụ đơn giản robot lập đồ sử dụng robot có điều khiển người Thông qua camera gắn robot, người điều khiển tiếp nhận thông tin để lập đồ nơi tiếp cận Trong trường hợp khác, lĩnh vực nghiên cứu SLAM ngành robot học cố gắng tìm phương pháp để robot hoạt động tự động mà không cần trợ giúp người Việc giải toán robot lập đồ giúp người nắm thông tin nơi có địa hình phức tạp có cấu trúc không ổn định Kỹ thuật SLAM giúp cho robot hoạt động nơi có địa hình thường xuyên thay đổi cập nhật lại thông tin đồ khu vực Robot vẽ đồ sử dụng để thăm dò nơi người tiếp cận lòng biển sâu, vùng bị thiên tai thảm họa, nơi có chiến sự, hành tinh khác,… Mục tiêu luận văn nghiên cứu kỹ thuật đưa số cải tiến để tăng hiệu cho toán SLAM tự động Luận văn đề cập đến lọc Kalman, xương sống thuật toán SLAM Tiếp đến luận văn trình bày phương pháp mở rộng Fast SLAM DP SLAM Cuối phần thực nghiệm robot Lego NXT kết đạt 10 1.2 Lịch sử SLAM SLAM lĩnh vực tương đối robot học Mãi đến năm 1980, Smith Durant –Whyte phát triển thể không chắn định vị Đây bước tiến lớn, quan trọng việc tìm kiếm giải pháp thực tế lý thuyết cho định vị robot Bài báo Smith Durrant-Whyte cung cấp tảng cho việc tìm kiếm cách hàn gắn lỗi Ngay sau báo Cheesman, Chatila, Crowley chứng minh tồn mối tương quan lỗi vị trí feature sai sót chuyển độngảnh hưởng đến tất định vị Đây bước cuối toán SLAM biết ngày 1.3 Một số thuậtngữ Trong mục này, đưa giải thích ngắn cho nhữngthuật ngữđược sử dụng nhiều luận văn - Thuật ngữ “feature” dùng để điểm cụ thể môi trường mà phát robot di động - Thuật ngữ “map” dùng để vector vị trí feature Trong thực tế feature vật thểnằm rải rác môi trường xung quanh robot, feature tường góc cạnh địa hình Khi feature tìm thấy, không tồn bền vững, robot thay đổi vị trí, theo dõi tất feature phát sẽcần phải tìm thấy chúng lần Một điều kiện cần để thực toán lập đồlà robot phải ước lượng khoảng cách từ đến feature tìm Khoảng cách ước lượng nhiều cách khác Nếu feature kích thước vật lý biết, kích cỡ ước lượng feature khoảng cách Một phương pháp khác sử dụng nhiều camera kĩ thuật ảnh để đo khoảng cách đường chéo [15] Ngoài ra, đo khoảng cách cảm biến hồng ngoại (IR sensor) cảm biến siêu âm (Ultrasonic 46 Hình 2.11 Bản đồ DP-SLAM với 9000 particle (Nguồn Eliazar Parr) Trong hình vẽ trên, DP-SLAM có khả lập đồ vùng lớn với độ xác cao Không giống FastSLam, DP-SLAM hoạt động mà không cần giả định hàng chục nghìn feature có sẵn dễ theo dõi Robot tạo vòng lặp hoàn chỉnh qua hành lang (corridor) lập lại đồ khu vực sau khoảng 60 m mà không cần liên hệ với khu vực Mặc dù vậy, thấy đường khác gặp tường Đây thể thực tế DP-SLAM, nói chung thực công việc tốt với vòng lặp đóng mà KF xử lý Rõ ràng, DP-SLAM phương pháp tốt cho toán SLAM số môi trường, đặc biệt lập đồ môi trường hai chiều chấp nhận số lượng feature có sẵn không đủ cho phương pháp khác 47 CHƯƠNG 3: THỰC NGHIỆM 3.1 Mô hình thực nghiệm ROBOT LEGO NXT SMART PHONE PC Hệ điều hành: LEJOS Hệ điều hành: Android Hệ điều hành: Windows Nhiệm vụ: Nhiệm vụ: Nhiệm vụ: - Đo góc (Cảm biến từ trường) - Thực thi thuật toán SLAM - Điều khiển LEGONXT - Http server Giao tiếp: Bluetooth, - Client giám sát - Remote - Chuyển động - Đo khoảng cách (Cảm biến Utrasonic) Giao tiếp: Bluetooth Giao tiếp: Wifi Wifi Hình 3.1 Các thành phần hệ thống Cấu trúc hệ thống gồm thành phần cài đặt tảng phần cứng khác nhau: - RobotLego NXT: Đóng vai trò điều khiển chuyển động bản: Tiến, lùi, quay Robot trang bị thêm sensor Ultrasonic để đo khoảng cách đến vật cản 48 - Smart phone: Được gắn robot để điều khiển hoạt động robot, thực thuật toán SLAM Cảm biến từ trường tích hợp smartphone sử dụng la bàn để đo góc xoay robot Ngoài smartphone đóng vai trò server để gửi nhận trạng thái robot cho máy trạm - Client PC: Chương trình phía client nhận liệu đồ từ robot hiển thị lên giao diện người dùng, người sử dụng máy client điều khiển robot lệnh đơn giản Ngôn ngữ sử dụng: Java, C# Chương trình chạy Lego Smartphone viết ngôn ngữ Java Phần mềm giám sát chạy tảng Windows viết C#.NET để tận dụng ưu xử lý giao diện, vẽ đồ họa 3.2 Robot Lego NXT 3.2.1 Giới thiệu Lego Mindstorms NXT robot lập trình phát hành Lego vào cuối tháng năm 2006 Trong NXT đóng vai trò não robot Mindstorms máy tính thông minh kiểm soát mảnh ghép Lego cho phép robot Mindstorms trở nên sống động thực hoạt động khác Hình 3.2 Các thành phần robot Lego 49 Các thành phần robot Lego mô tả hình 3.2 bao gồm: Khối NXT (1), Cảm biến chạm (2), Cảm biến âm (3), Cảm biến màu (4), Cảm biến siêu âm (5), Động (6) Ngoài ra, lego có nhiều mảnh ghép khác để lắp ráp thành phần robot 3.2.2 Lắp ráp robot Chức khối Lego điều khiển chuyển động đo khoảng cách Vì vậy, phần thực nghiệm Robot lắp ráp hình 5.3 Ultrasonic Sensor Khối NXT Động + Bánh xe phải Động cơ+ Bánh xe trái Hình 3.3 Sơ đồ lắp ráp Robot Lego Trong đó: - - Bộ chuyển động: động trái phải có gắn bánh xe kết nối vào cổng A,B khối NXT Nhờ nguyên lý chuyển động vector robot thực chuyển động tiến, lùi, quay trái, phải Cảm biến: Sử dụng cảm biến siêu âm (Ultrasonic Sensor) Dùng để quan sát môi trường xung quanh việc đo khoảng cách từ robot đến chướng ngại vật Cảm biến kết nối vào cổng số khối NXT 50 - Khối NXT: Dùng để thực thi chương trình SLAM, trao đổi liệu với smartphone Hình 3.4 Robot sau lắp ráp 3.2.3 Chương trình điều khiển Chương trình điều khiển khối Lego viết Java, chạy hệ điều hành LEJOS So với ngôn ngữ mặc định Lego viết theo kiểu “brick”, ngôn ngữ Java linh hoạt nhiều với đầy đủ sức mạnh ngôn ngữ hướng đối tượng packet, lớp, kế thừa,…Thêm vào đó, API cung cấp LeJOS không hỗ trợ cho việc lập trình robot Lego mà hỗ trợ cho thiết bị khác PC, Smartphone,… 51 Vì thuật toán cài đặt smartphone (được trình bày phần 3.1.2 luận văn) nên chương trình viết khối NXT có nhiệm vụ thông báo trạng thái sensor cho Chương trình smartphone xử lý: while(!Button.ESCAPE.isDown()){ sensors[0]= (byte)us.getDistance(); try { //Gửi trạng thái sensor dataOutputStream.write((byte)us.getDistance()); dataOutputStream.flush(); } catch(Exception ex) { throwex; } Để giao tiếp với smart phone, thực thi chương trình, khối LegoNXT phải mở kết nối Bluetooth Thông qua kết nối này, smart phone gửi tín hiệu điều khiển cách dùng API LEJOS 3.3 Chương trình Smartphone Trong phần thực nghiệm, smartphone gắn vào Robot Lego để xử lý thuật toán vẽ đồ Thiết bị thực nghiệm điện thoại Fujitsu A202F, cấu sau: - CPU: Snapdragon™ 600 APQ8064T quad-core CPU, 1.7 GHz - Batery: 3000 mAh - RAM: 2G OS: Android Chương trình điều khiển chạy smartphone viết ngôn ngữ Java, chạy tảng Adroid.Các chức phần mềm: - Trao đổi thông tin với khối Lego qua giao tiếp bluetooth - Hosting dịch vụ truyền thông tin tới máy giám sát - Xử lý thuật toán SLAM 52 Thông qua giao tiếp bluetooth, smart phone gửi lệnh điều khiển tới chuyện động tới khối NXT Việc điều khiển chuyển động chất điều khiển motor có gắn bánh xe Vector chuyển động robot tổng hợp vector chuyển động bánh xe Do motor Lego động bước, điều khiển góc quay nên có thểtính vector chuyển động biết đường kính bánh xe góc quay động Để xác định vị trí feature (bao gồm tường bao, vật cản…), smartphone đọc giá trị Ultrasonic sensor Ngoài việc điều khiển chuyển động đo khoảng cách, việc đo hướng robot đóng vai trò quan trọng toán lập đồ Trong phần thực nghiệm, Smartphone gắn cố định robot theo phương nằm ngang có hướng trùng với hướng robot Hình 3.5 Cách bố trí Smartphone 53 Theo cách bố trí smartphone hình 3.6 Hướng đo smartphone hướng robot Việc đo hướng thực sau: public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) mGravity = event.values; if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) mGeomagnetic = event.values; if (mGravity != null &&mGeomagnetic != null) { float R[] = new float[9]; float I[] = new float[9]; boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic); if (success) { float orientation[] = new float[3]; SensorManager.getOrientation(R, orientation); azimut = orientation[0]; //cập nhật lại azimut } } } Để truyền thông tin robot đồ đến máy giám sát, phần mềm phía smartphone có thêm module hosting dịch vụ Chiếc smartphone lúc sử dụng HTTP Server Từ client gửi request đến smartphone thông qua môi trường wifi Để giảm thời gian hồi đáp từ server đến client, câu lệnh request đánh mã Việc trả thông tin feature để tái đồ thực chế thêm dần feature Theo đó, trừ lần request đầu tiên, lần request có thêm tham số: s, t (skip, take) Ví dụ: http://192.168.1.5:5000?c=2&s=200&t=50 Trong đó:  Tham số c=2 tương ứng với lệnh đọc feature  Tham số s=200 có nghĩa lấy từ phần tử thứ 200 trở mảng features 54  Tham số t=50 nghĩa lấy gói tin chứa tối đa 50 phần tử Hình 3.6 Giao diện chương trình chạy mobile Hình 3.6 giao diện chương trình chạy mobile Giao diện chứa thông tin kết nối (địa IP, cổng, trạng thái kết nối…) Và thao tác bật tắt web services 3.4 Chương trình giám sát PC Chương trình máy PC giám sát hoạt động vẽ đồ Robot thời gian thực Ngoài phần mềm cho phép người dùng truyền lệnh đơn giản để điều khiển Robot trường hợp cần thiết Kết việc vẽ đồ hiển thị trực quan lưu lại Ứng dụng viết ngôn ngữ C#, hệ điều hành Windows Cấu hình PC thực nghiệm: 55 - CPU: Core i3, 2.2GHz RAM: GB OS: Windows Hình 3.7 Giao diện chương trình máy PC Giao diện trương trình giám sát gồm thành phần sau: - Ô nhập địa IP, cổng dịch vụ: Cho phép người dùng nhập địa IP, cổng - Các “Chạy”, “Dừng” dùng để tạm ngừng/tiếp tục việc việc theo dõi robot - robot Các ô thông tin cập nhật pose robot: Vị trí tại, hướng robot trạng thái sensor Hình ảnh hiển thị trình vẽ đồ: Dựa vào thông tin gửi từ robot, chương trình giám sát tái lại hình ảnh robot đồ Trong hình 3.7, robot 56 ký hiệu biểu tượng hình tròn, hướng mũi tên hướng robot, chấm nhỏ thể feature đồ Hình 3.8 Robot vẽ đồ phòng Kết vẽ đồ sau so sánh với hình ảnh thực tế mô tả hình 3.8 Các feature mà robot tìm trùng khớp với vật cản đường bao đồ thực tế 57 KẾT LUẬN Trong lọc Kalman tìm thấy giải pháp mà tận dụng lợi tất liệu có sẵn thống kê giảm thiểu tổng bình phương lỗi dự báo trạng thái KF hoàn thành nhiệm vụ cách trì dự đoán trạng thái ma trận hiệp biến chứa giá trị tin cậy cho tất mối quan hệ nhị phân môi trường Chúng ta nhận thấy cách KF quy định quan sát sử dụng để cập nhật tất dự đoán feature, tất giá trị ma trận phương sai Ngoài ra, chúng tacũng thấy dự đoán trạng thái ma trận hiệp biến có kích thước cố định không phụ thuộc vào số lần lặp lại lọc Do đó, KF cho phép robot lập đồ muốn mà không làm tăng thời gian chạy lần lặp Có thể nói có khoảng 200 featurechúng ta mong muốn đồ, lọc Kalman phương pháp để sử dụng Trong lọc Kalman tối ưu, tạo dự đoán thời gian thực Để trì ma trận hiệp phương sai bậc hai có kích thước liên quan đến số lượng feature Vấn đề xử lý FastSLAM FastSLAM tiếp cận SLAM từ Bayesian rút từ quan sát độc lập có điều kiện cho pose robot Lỗi pose robot tính việc trì tập pose gọi Particle FastSLAM sử dụng lọc Kalman đơn giản để cập nhật dự đoán feture cho particle Điều cho phép ước lượng xấp xỉ tối ưu lúc làm cho có nhiều feature FastSLAM thường nhanh so với phương pháp tiếp cận dựa KF không tối ưu nhiều feature sử dụng khoảng thời gian định Nếu xem xét tình hình ngược lại mà số feature đủ để có hiệu sử dụng phương pháp tiếp cận dựa lọc FastSLAM Kalman DP-SLAM sử dụng cách khác để thể đồ Phạm vi laser dò tìm sử dụng tạo ô lưới vectơ feature FastSLAM loại bỏ việc quan sát liên quan đến Việc trì nhiều particle làm giảm thiểu ảnh hưởng lỗi 58 pose robot particle có đồ tương ứng Điều thực việc giữ tổ tiên lưu trữ chênh lệch cha Chúng ta cải thiện hiệu để nhận thông tin occupancy tương ứng với ô lưới cụ thể việc phân bố thông tin từ tất particle đồ particle đơn Bản đồ phân bố particle lưu trữ tất thông tin liên quan đến ô vuông cân để tìm kiếm nhanh chóng Tóm lại, môi trường có vài trăm feature có sẵn ước lượng tốt thực cho feature, cách tiếp cận KF tốt Trong môi trường có hàng chục nghìn feature có sẵn FastSLAM giải pháp tốt hai phương pháp lại DP-SLAM lại có lợi môi trường feature Cả ba phương pháp thể cho cách giải toán thực tế SLAM môi trường có lượng feature 59 TÀI LIỆU THAM KHẢO [1] Austin Eliazar and Ronald Parr.“DP-SLAM: Fast, Robust Simultaneous Localization and Mapping Without Predetermined Landmarks” IJCAI'03 Proceedings of the 18th international joint conference on Artificial intelligence Pages 1135-1142 Morgan Kaufmann Publishers Inc San Francisco, CA, USA ©2003 [2] Castellanos, J.A., Neira, J., and Tardos, J.D “Limits to the consistencyof the EKF-based SLAM In Intelligent Autonomous Vehicles (IAV-2004) (Lisboa, PT, July 2004), IFAC/Elsevier M.I.Ribeiro and J.Santos-Victor, Eds., IFAC/EURON, [3] Castellanos, J.A., Neira, J., and Tardós, J.D “Multisensor fusion for simultaneous localization and map building” IEEE Transactions on Robotics and Automation 17, (December 2001), 908-914 [4] Durrant-Whyte, Hugh “Localization, Mapping, and the Simultaneous Localization and Mapping Problem.” AustralianCenter for Field Robotics Sydney 2002 [5] Durrant-Whyte, H and Bailey, T (2006) “Simultaneous localisation and mapping (slam): Part i the essential algorithms robotics and automation magazine”, IEEE Robotics and Automation Magazine, 2:2006 [6] Durrant-Whyte, “Uncertain geometry in robotics,” IEEE Trans Robot Automat., vol 4, pp 23–31, 1988 [7] Gerardo Oliveira, Ricardo Silva, Tiago Lira, Luis Paulo Reis “Environment Mapping using the Lego Mindstorms NXT and leJOS NXJ" the 14th Portuguese Conference on Artificial Intelligence, EPIA'2009 [8] Kalman, R.-E “A New Approach to Linear Filtering and Prediction Problems”, Transactions of the ASME - Journal of Basic Engineering 1960 82(D): p 35-45 60 [9] Li, J., Cheng, L., Wu, H., Xiong, L., and Wang, D., “An Overview of the Simultaneous Localization and Mapping on Mobile Robot”, Proceedings of 2012 International Conference on Modeling, Identification and Control, Wuhan, China, June 24‐26, 2012, pp 358‐364 [10] M Montemerlo, S Thrun, D Koller, and B Wegbreit “FastSLAM: A factored solution to the simultaneous localization and mapping problem” In AAAI-02, Edmonton, Canada, 2002 AAAI [11] MWMG Dissanayake, P Newman, S Clark, HF Durrant-Whyte, M Csorba.” A solution to the simultaneous localization and map building (SLAM) problem” Robotics and Automation, IEEE Transactions, 229-241 [12] Montemerlo, M and Thrun “Simultaneous localization and mapping with unknown data association using fastslam”.Trucco., and Alessandro Verri “Introductory Techniques for 3-D Computer Vision” Prentice Hall, 1998 [13] Stachniss, C., and Burgard, W “Exploration with active loop-closing for fastslam” In IROS (Sendai (Japan), Sep 2004), IEEE/RSJ [14] SB Williams, G Dissanayake, H Durrant-Whyte “An efficient approach to the simultaneous localisation and mapping problem” Robotics and Automation, 2002 Proceedings ICRA'02 IEEE International [15] Scharstein, Daniel “Computer Vision.” MiddleburyCollege Middlebury 2006 [16] Simon, D “Optimal State Estimation” New York: Wiley, 2006 [17] Tuna, G., Gulez, K., Gungor, V C., and Mumcu, T V “Evaluations of Different Simultaneous Localization and Mapping (SLAM) Algorithms” 38th Annual Conference on IEEE Industrial Electronics Society, Montreal, Canada, Oct 25‐28, 2012, pp 2693‐ 2698 [18] Trucco., and Alessandro Verri “Introductory Techniques for 3-D Computer Vision” Prentice Hall, 1998 [...]... 1.2 Cập nhật vị trí ước lượng trong mô hình định vị 1.4.2 Mô hình lập bản đồ Quá trình lập bản đồ, trong một nghĩa nào đótrái ngược mô hình định vị được đề cập ở phần 1.4.1 Trong lập bản đồ, chúng ta giả định các robot biết chính xác nó mọi lúc, có nghĩa là, giả sử hệ thống chuyển động là hoàn hảo và không có một lỗi GPS Những gì robot thiếu trong khi lập bản đồ là cách biết được vị trí tuyệt đối của... ra một bản đồ mới bằng cách kết hợp với bản đồ gốc như được mô tả trong phần 1.4.2 Bằng cách lặp lại quá trình này, ta cung cấp một bản đồ cho đầu vào đối với chức năng định vịvà một vị trí cho đầu vào đối với các chức năng lập bản đồ Đây là một giải pháp khả thi cho bài toán SLAM Sơ đồ hình 1.4cho thấy ý tưởng SLAM cơ bản, chú ý đến thứ tự mà quá trình này được thực hiện 17 1: Khởi tạo bản đồ z0 2:... của robot luôn tính được bằng việc sử dụng vị trí chính xác của feature Tương tự như vậy, chúng ta giả sử các thuật toán lập bản đồ sẽ chỉ hội tụ khi các pose của robot luôn biết chính xác Trong phương pháp này cần hai bước là định vị và lập bản đồ Theo mô tả ở trên, robot di chuyển đồng thời cập nhật pose và cuối cùng là lập bản đồ Điều này cho phép các robot sử dụng pose của xe để tạo ra bản đồ mới... Cập nhật bản đồ thành z, sử dụngx, z0 3: Tạobản đồ z1 4: Cập nhật vị trí thành x, sử dụng bản đồ z1 Chuyển động dự đoán Quan sát Cập nhật pose hoặc feature Vị trí thực của feature Vị trí mong muốn của feature Hình 1.4 Sơ đồ thuật toán SLAM cơ bản Ngoài ra, chúng ta cũng cần chú ý tới việc định vị kết hợp với thuật toán lập bản đồ có đầu vào không hoàn toàn chính xác Trong phần 1.4.1 - Mô hình Định... nơi mà robot sẽ tìm thấy chúng Mỗi lần điều này được thực hiện các robot sẽ xây dựng một bản đồ mớiz1, bao gồm các ví trí mới của các feature trong z0 Z01 Z00 X0 P1 X1 Z11 P0 Z10 Chuyển động Quan sát Vị trí thực của feature Vị trí dự đoán của feature Hình 1.3 Mô hình lập bản đồ Để tạo ra bản đồ mới z2, có kết hợp các thông tin của z0 và z1 nhưng chỉ chứa một trường hợp của mỗi feature, các robot có... sẽ có hi vọng cho Robot chuyển hướngmà không cần bản đồ trướcđó hoặc độ chính xác của GPS/ odometry Chúng ta xem xét giải pháp sau đây Giả sử một robot bắt đầu từ một số vị trí đã biết Nó sử dụng tiến trình được mô tả trong phần 1.4.2 – Mô hình lập bản đồ để xây dựng một bản đồ ban đầu Sau đó nó di chuyển đến một vị trí mới và cập nhật vị trí mong muốn như được mô tả trong 1.4.1 – Mô hình định vị Cuối... cho phép các robot sử dụng pose của xe để tạo ra bản đồ mới tốt hơn Nếu robot thay vì di chuyển, lập bản đồ rồi mới định vị thì nó có thể sử dụng bản đồ mới để tạo ra một định vị tốt hơn Ta thấy rằng thông tin mới luôn có giá trị được bỏ qua trong bước thứ hai Pose của xe được tính toán và lập bản đồ gần đúng làm ảnh hưởng đến bản đồ khác Điều này dẫn đến một phương pháp toán học chặt chẽ đầu tiên cho... định vị feature và vị trí robot là vấn đề cốt lõi của việc nghiên cứu về SLAM, nó là động lực chính đằng sau việc giải quyết cả định vị và lập bản đồ Trong chương này sẽ xem xét tách riêng 2 vấn đề định vị và lập bản đồ riêng để phát triển sâu bài toán SLAM và tiếp tục làm rõ động lực sau việc tìm kiếm một giải pháp đồng thời 12 1.4.1 Mô hình định vị Giả sử chúng ta có một robot di động trong môi trường... trường đã được robot biết trước Becon được robot sử dụng cho việc định vị hoặc hiệu chỉnh sai số - Các thuật ngữ “pose” và robot pose” được sử dụng đồng nghĩa để chỉ cách robot định vị Điều này bao gồm bất kì các biến liên quan đến chính robot Trong trường hợp đơn giản, pose là một vector 3 thành phần (x,y, ɵ) trong đó x,y là tọa độ của robot trong không gian 2 chiều và ɵ là hướng của robot Trong thực... được mô tả ở các mục trên đều yêu cầu đầu vào không có trong thực tế Bài toán định vị trả về kết quả là pose của robot nhưng yêu cầu vị trí của những feature(tức là một bản đồ) lại cần phải chính xác như là đầu vào ở mỗi bước lặp của thuật toán Ngược lại, thuật toán lập bản đồ tạo ra một bản đồ nhưng cần một poseđể làm đầu vào Thực tế thường không có đầu vào như vậy Đầu vào của mỗi quá trình là đầu ra ... hành Danh mục hình vẽ Hình 1.1 Tìm kiếm feature mô hình định vị 13 Hình 1.2 Cập nhật vị trí ước lượng mô hình định vị 14 Hình 1.3 Mô hình lập đồ 15 Hình 1.4 Sơ đồ thuật toán... giải vấn đề cách phát triển đồ phân bố particle Bản đồ lưới với cân lưu trữ nút Thông tin ô lưới từ tất particle lưu trữ Bản đồ hình dung hình 2.10 45 Hình 2.10 Bản đồ phân bố particle Một particle... Parr) 46 Hình 3.1 Các thành phần hệ thống 47 Hình 3.2 Các thành phần robot Lego 48 Hình 3.3 Sơ đồ lắp ráp Robot Lego 49 Hình 3.4 Robot sau lắp ráp 50 Hình 3.5

Ngày đăng: 05/04/2016, 21:16

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan