Do đó vấn đề định vị đựơc đưa ra, trong quá trình hoạt động, các cảm biến của robot sẽ bị ảnh hưởng bởi nhiễu từ môi trường bên ngoài lẫn bên trong cơ cấu chấp hành của nó.. Do đó, robot
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ CHÂU QUANG HẢI
ROBOT TỰ HÀNH SỬ DỤNG CẢM BIẾN LASER 2D
NGÀNH: CÔNG NGHỆ CHẾ TẠO MÁY - 605204
S KC 0 0 4 1 8 0
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ CHÂU QUANG HẢI
ROBOT TỰ HÀNH SỬ DỤNG CẢM BIẾN
LASER 2D
NGÀNH: KỸ THUẬT ĐIỆN TỬ
MÃ NGÀNH: 60 52 70 Hướng dẫn khoa học: TS NGÔ VĂN THUYÊN
TP Hồ Chí Minh, 04/2014
Trang 3LÝ LỊCH KHOA HỌC
I LÝ LỊCH SƠ LƯỢC
Họ & tên: CHÂU QUANG HẢI Giới tính: Nam
Ngày, tháng, năm sinh: 23/04/1986 Nơi sinh: Quảng Ngãi Quê quán: Thị xã Quảng Ngãi-Quãng Ngãi Dân tộc: Kinh
Chức vụ, đơn vị công tác trước khi học tập, nghiên cứu: Kỹ sư quy trình sản xuất tại công ty trách nhiệm hữu hạn Jabil VietNam
Chỗ ở riêng hoặc địa chỉ liên lạc: Thôn 1, xã Nghĩa Dũng, Thành Phố Quãng Ngãi, Tỉnh Quãng Ngãi
Điện thoại cơ quan: 0837332030 Điện thoại riêng: 0976404628
II QUÁ TRÌNH ĐÀO TẠO
Hệ đào tạo: chính quy Thời gian đào tạo từ 08/2011 đến 04/2014
Nơi học (trường, thành phố): Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh
Ngành học: Kỹ Thuật Điện Tử
Tên luận văn: Robot Tự Hành Sử Dụng Cảm Biến Laser 2D
Trang 4Ngày & nơi bảo vệ luận văn: Tháng 04 năm 2014, Đại Học Sư Phạm Kỹ Thuật Tp
Hồ Chí Minh
Người hướng dẫn: Ts Ngô Văn Thuyên
3 Trình độ ngoại ngữ: tiếng Anh - Trình độ: B
III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC
03/2010 đến nay Công ty trách nhiệm hữu hạn Jabil
VietNam
Kỹ sư quy trình sản xuất
Trang 5LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của tôi
Các số liệu, kết quả nêu trong luận văn phản ánh trung thực nội dung và quá trình nghiên cứu của luận văn
Tp Hồ Chí Minh, ngày 28 tháng 02 năm 2014
Châu Quang Hải
Trang 6LỜI CẢM TẠ
Trong suốt quá trình thực hiện đề tài, người thực hiện đã được sự hướng dẫn tận tình của TS Ngô Văn Thuyên – Phó Hiệu Trưởng Trường Đại Học Sư Phạm Kỹ Thuật TP HCM, giảng viên trường Đại Học Sư Phạm Kỹ Thuật tp Hồ Chí Minh Dưới sự hướng dẫn của Thầy, đề tài đã được nghiên cứu và hoàn thành đúng thời hạn cũng như mục tiêu đề ra ban đầu Người thực hiện xin gửi lòng tri ân sâu sắc đến TS Ngô Văn Thuyên vì những kiến thức quý báu và các phương pháp nghiên cứu mà thầy đã truyền dạy
Người thực hiện gửi lòng tri ân đến quý thầy cô trường Đại Học Sư Phạm Kỹ Thuật
tp Hồ Chí Minh, quý thầy cô trường Đại Học Bách Khoa tp Hồ Chí Minh đã tận tình hướng dẫn và truyền đạt những kiến thức, phương pháp nghiên cứu và các kinh nghiệm trong suốt hai năm học Những kiến thức và kinh nghiệm này chính là nền tảng giúp người thực hiện hoàn thành tốt luận văn này
Người thực hiện chân thành cảm ơn quý anh chị, chân thành cảm ơn bạn bè và người thân đã tận tình giúp đỡ trong suốt khóa học cũng như trong quá trình thực hiện luận văn
Tp Hồ Chí Minh, ngày 28 tháng 02 năm 2014
Người thực hiện
Châu Quang Hải
Trang 7NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tp HCM, ngày tháng năm 2014
TS NGÔ VĂN THUYÊN
Trang 8NHẬN XÉT CỦA CHỦ NHIỆM NGÀNH
Tp HCM, ngày tháng năm 2014
TRẦN THU HÀ
Trang 9NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
TP HCM, ngày tháng năm 2014
Trang 10NHẬN XÉT CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN
TP HCM, ngày tháng năm 2014
Trang 11TÓM TẮT
Robot tự hành là một trong những bài toán quan trọng về việc robot tìm ra một đường đi từ điểm bắt đầu đến điểm kết thúc mà không va chạm với vật cản thông qua dữ liệu từ cảm biến Có rất nhiều phương pháp hoạch định đường đi cho robot
tự hành đã được triển khai như: phương pháp trường thế năng (Potential Field), phương pháp bản đồ đường (Road Map), phương pháp thuật toán di truyền (Genetic Algorithms),…nhưng có khuyết điểm các phương pháp trên là bị bẫy cực tiểu cục
bộ (phương pháp trường thế năng), do đó đề tài sử dụng phương pháp hoạch trường thế năng kết hợp giữa thuật toán tìm đường đi D* cho kết quả tránh được bẫy cực tiểu cục bộ Trong các phương pháp trên thì robot cần biết truớc vị trí ban đầu, vậy vấn đề đặt ra là rôbot chưa biết vị trí thì làm thế nào ?
Với đề tài của Ths Lâm Văn Vũ đã nghiên cứu được robot tự hành sử dụng cảm biến sonar [1], nhưng robot tự hành thì chúng ta phải khai báo tọa độ ban đầu, vậy làm thế nào robot đến đích nếu không biết tọa độ ban đầu ? Do đó vấn đề định vị đựơc đưa ra, trong quá trình hoạt động, các cảm biến của robot sẽ bị ảnh hưởng bởi nhiễu từ môi trường bên ngoài lẫn bên trong cơ cấu chấp hành của nó Điều này có nghĩa là thông tin nhận được từ cảm biến không còn chính xác và có thể làm cho robot không đến được mục tiêu đã đề ra Do đó, robot phải thực hiện việc định vị liên tục trong quá trình di chuyển để xác định đúng vị trí của nó trong môi trường và đưa ra sự điều chỉnh hợp lý nhằm đạt kết quả mong muốn Đề tài chọn phương pháp định vị Monte Carlo (MCL – Monte Carlo Localization) bởi tính đơn giản và hiệu quả của nó khi thực hiện MCL có khả năng định vị tốt ngay cả khi robot không được cho biết trước vị trí ban đầu Khi thực hiện, robot cần được trang bị một hệ thống cảm biến (thường là cảm biến đo khoảng cách và hành trình) Các thuật toán trong đề tài được viết bằng ngôn ngữ C++ và mô phỏng trên phần mềm Player/Stage Kết quả mô phỏng cho thấy các thuật toán hoạt động rất tốt Robot có thể đến được điểm mục tiêu cho trước ngay cả khi không được cho biết trước vị trí ban đầu
Trang 12algorithm for results to avoid local minima traps In the above methods, the robot need to know the initial coordinate, so the question is how is the robotic location unknown?
With the thesis of Van Vu Lam MA has studied the autonomous robot using sonar sensors [ 1 ], but autonomous robot, we must declare the original coordinates, so how robots going to the goal without knowing the initial coordinate? Therefore the localization problem is made, in the course of operation; the sensor of the robot will
be affected by noise from the outside and inside environment of actuator This means that the information received from the sensor is no longer accurate and can make the robot does not reach the set goals Therefore, the localization of robot must perform continuous in the process of moving to define its place in the environment and make reasonable adjustments to achieve the desired results This thesis chosen for the Monte Carlo method (MCL - Monte Carlo Localization) for its simplicity and its effectiveness when implemented MCL has a good ability to localize even when the robot is not known in advance to its initial position When performing, the robot should be equipped with a sensor system (usually sensors measure the distance and journey) The algorithm in this thesis is written in C++ and Player/Stage simulation software The simulation results show that the algorithm works very well Robots can reach a given target point even it didn’t know the initial coordinate
Trang 13MỤC LỤC
LÝ LỊCH KHOA HỌC i
LỜI CAM ĐOAN iii
LỜI CẢM TẠ iv
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN v
NHẬN XÉT CỦA CHỦ NHIỆM NGÀNH vi
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN vii
NHẬN XÉT CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN viii
TÓM TẮT ix
DANH SÁCH CÁC HÌNH xiii
DANH SÁCH CÁC BẢNG xv
Chương 1 Giới Thiệu 1
1.1 Tổng quan 1
1.2 Mục tiêu và giới hạn đề tài 4
1.3 Nội dung đề tài 4
Chương 2 Cơ Sở Lý Thuyết 6
2.1 Cảm biến laser đo khoảng cách 6
2.2 Mô tả mô hình toán học của một số robot di động 9
2.3 Vấn đề định vị cho robot tự hành 12
2.3.1 Bài toán định vị 12
2.3.2 Phân bố Gauss và Bộ lọc Bayes 14
2.3.3 Các mô hình của bộ lọc Bayes 18
2.3.4 Các phương pháp đinh vị xác suất 23
Chương 3 Lặp kế hoạch đường đi và Ứng dụng của MCL trong robot tự hành33
Trang 143.1 Lập kế hoạch đường đi 33
3.1.1 Giải thuật A* 33
3.1.2 Giải thuật D* 36
3.1.3 Phương Pháp Tránh vật cản bằng Trường Thế Năng (Potential Field) 40
3.2 Ứng dụng của MCL trong robot tự hành 43
3.2.1 Thuật toán MCL 43
3.2.2 Mô hình vận động của robot 45
3.2.3 Mô hình cảm biến của robot 48
3.2.4 Ứng dụng phương pháp MCL trong điều khiển robot tự hành 50
Chương 4 Xây dựng mô hình và phân tích mô phỏng thiết kế 53
4.1 Phần mềm mô phỏng robot Player/Stage 53
4.1.1 Giới thiệu 53
4.1.2 Đặc điểm của Player 54
4.1.3 Đặc điểm của Stage 55
4.2 Kết quả mô phỏng trên phần mềm Player/Stage 56
4.2.1 Mô phỏng đường đi của robot dùng phương pháp PF (Potential field) 57
4.2.2 Mô phỏng đường đi của robot dùng phương pháp PF kết hợp với D* 59
4.2.3 Mô phỏng đường đi của robot dùng phương pháp MCL kết hợp PF & D*60 Chương 5 64
5.1 Kết quả đã nghiên cứu 64
5.2 Kết luận và hướng phát triển của đề tài 64
5.2.1 Kết luận 64
5.2.2 Hướng phát triển của đề tài 65
Tài Liệu Tham Khảo 66
Trang 15DANH SÁCH CÁC HÌNH
Hình 1.1 Một số loại robot tự hành 3
Hình 2 1 Tạo mặt phẳng cắt ngang tại laser bằng gương quay trong cảm biến đo laser 2D 7
Hình 2 2 Mặt phẳng tia laser với góc quét β 7
Hình 2 3 Dữ liệu được thu thập của laser 9
Hình 2 4 Cấu trúc robot 2 bánh 10
Hình 2 5 Cấu trúc robot với điều kiện ràng buộc nonholonomic trong hệ tọa độ toàn cục 11
Hình 2 6 Định vị dùng các cột mốc và một bộ quét laser onboard 14
Hình 2 7 Phân bố Gauss 15
Hình 2 8 Các phân bố mật độ trong mô hình cảm biến 21
Hình 2 9 Mô hình mật độ đặc trưng của phân bố k| , t t p z x m 23
Hình 2 10 Sơ đồ phương pháp định vị lọc Kalman 26
Hình 2 11 Minh họa kết quả thuật toán định vị lọc Particle 30
Hình 3 1 Mô tả bản đồ và đường đi của thuật toánt A* 33
Hình 3 2 Khoảng cách giữa các ô lưới 34
Hình 3 3 Mô tả bản đồ và đường đi của thuật toán D* 36
Hình 3 4 Phương pháp tránh vật cản trường thế năng 43
Hình 3 5 Mô hình một bước di chuyển của robot 45
Hình 3 6 Lấy mẫu từ mô hình vận động 49
Hình 3 7 Lưu đồ thuật toán điều khiển robot với vị trí ban đầu không biết trước 52 Hình 4 1 Mô hình Client/Sever của Player 54
Hình 4 2 Kết nối giữa Player/Stage và Robot 56
Hình 4 3 Mô hình robot và vật cản trên phần mềm Player/Stage 57
Hình 4 4 Đường đi của robot sử dụng phương pháp PF đến được mục tiêu 58
Hình 4 5 Robot tiếp cận mục tiêu với môi trường phức tạp hơn 58
Hình 4 6 Robot không thể đến đích vì vật cản phức tạp 59
Trang 16Hình 4 7 Robot đã đến đích với vật cản phức tạp 60
Hình 4 8 Robot di chuyển ngẫu nhiên trong môi trường 62
Hình 4 9 Robot di chuyển bằng phương pháp D* & trường thế năng 62
Hình 4 10 Robot đã đến đúng điểm mục tiêu đặt ra ban đầu 63
Trang 17DANH SÁCH CÁC BẢNG
Bảng 3 1 Thuật toán MCL 44
Bảng 3 2 Thuật toán mô hình vận động của robot tự hành 47
Bảng 3 3 Thuật toán cho hàm sample b 48( )
Bảng 3 4 Thuật toán cho mô hình cảm biến 50
Trang 18Cùng với sự phát triển của ngành cơ điện tử robot tự hành ngày càng được hoàn thiện hơn, được ứng dụng nhiều trong các ngành công nghiệp, thương mại, y tế, khoa học, …và mang lại nhiều lợi ích cho đời sống xã hội, thay thế dần sức lao động của con người trong những điều kiện môi trường độc hại nguy hiểm, tăng nhanh năng suất lao động…đặc biệt nó góp phần tích cực vào quá trình công nghiệp hóa hiện đại hóa nước ta nói riêng và thế giới nói chung
Khi nghiên cứu robot tự hành có ba vấn đề cơ bản cần phải được quan tâm xem xét Trước hết, robot phải trả lời được câu hỏi “Tôi đang ở đâu?”, tức là phải xác định được vị trí của robot trong hệ tọa độ tham chiếu; thường được gọi là định vị Thứ hai, một câu hỏi khác được đặt ra cho robot là “Tôi phải đi đến mục tiêu như thế nào?”, vấn đề này liên quan đến việc lập một kế hoạch tìm đường đi và tránh vật cản cho robot, được gọi chung là lập kế hoạch đường đi Cuối cùng, trong quá trình thực hiện hai nhiệm vụ trên thì robot phải nhận biết được môi trường xung quanh nó thông qua các cảm biến, gọi là quá trình nhận thức [1] Trong đó, định vị được xem là vấn đề phức tạp nhất khi nghiên cứu về robot tự hành và hiện đang nhận được nhiều sự quan tâm nhất của các nhà nghiên cứu Đây được xem là vấn đề trọng tâm trong nghiên cứu robot tự hành, là nền tảng để đạt được khả năng vận động của robot
Trang 19nhận từ các cảm biến và một giải thuật tính toán hợp lý Trong quá trình di chuyển, robot tự hành có thể không đến được điểm đích hoặc không thực hiện được các nhiệm vụ như đã được lập trình Điều này là do thông tin nhận được từ hệ thống cảm biến không đầy đủ hoặc bị nhiễu, cũng có thể là do sai số của cơ cấu chấp hành trong quá trình điều khiển Để khắc phục vấn đề này, robot phải thực hiện công việc định vị liên tục để biết được vị trí hiện tại của nó trong môi trường và đưa ra sự điều chỉnh hợp lý để đạt được kết quả mong muốn Trong một hệ thống điều khiển robot thành công không thể thiếu sự thành công của vấn đề định vị
Trên thế giới, vấn đề định vị đã được tiến hành nghiên cứu từ lâu và đóng vai trò quan trọng trong sự thành công của các hệ thống robot tự hành Với sự tham gia của rất nhiều nhà nghiên cứu với nhiều phương pháp định vị khác nhau [2 3] Theo đó,
có thể chia vấn đề định vị ra thành ba cấp độ khó khác nhau Cấp độ đầu tiên và cũng đơn giản nhất là dò tìm vị trí (Position tracking) Ở đây, vị trí ban đầu của robot đã được biết và nhiệm vụ của bài toán là điều chỉnh các sai số tích lũy trong encorder Thuật toán dò tìm vị trí thường dựa trên sự giả định giới hạn độ lớn của sai số và sự không chắc chắn về vị trí của robot Cấp độ phức tạp hơn là bài toán định vị toàn cục (Global Localization) [4] Trong bài toán này robot không biết vị trí ban đầu của nó nên sai số trong việc đánh giá vị trí của robot không thể cho là nhỏ Do đó, robot phải có khả năng xử lý dữ liệu phức tạp Cấp độ cuối cùng và phức tạp nhất trong nghiên cứu bài toán định vị là vấn đề bắt cóc robot (Kidnapped robot problem) Khi đó, robot phải được định vị thật tốt để có thể di chuyển tức thời đến một số vị trí chưa biết trong môi trường Bài toán bắt cóc thường được sử dụng
để kiểm tra khả năng của robot trong việc sửa lại các sự cố định vị nghiêm trọng
Để giải quyết các bài toán định vị nêu trên thì nhiều phương pháp khác nhau đã được đưa ra như định vị dùng cột mốc, bộ lọc Kalman và cải tiến của nó là định vị Markov Hiện nay, một phương pháp định vị hiệu quả và dễ thực hiện hơn đang nhận được nhiều sự chú ý là phương pháp định vị Monte Carlo (MCL–Monte Carlo Localization) Phương pháp MCL được phát triển dựa trên thuật toán định vị khá nổi tiếng là lọc Particle [3 4 5]
Trang 20Tuy nhiên, robot tự hành vẫn là một đề tài nghiên cứu còn khá mới ở Việt Nam hiện nay và hiện vẫn chưa có nhiều công trình nghiên cứu trong lĩnh vực này được ứng dụng trong thực tế Gần đây, tuy đã có một số công trình về robot tự hành được thực hiện nhưng chủ yếu là trong lĩnh vực nghiên cứu phục vụ công tác giáo dục và chỉ được thực hiện hạn chế tại một số trường đại học lớn
a Robot-nurse dùng trong lĩnh vực y tế b Robot phục vụ Twendy-One (Nguồn: www.thedailybeast.com ) (Nguồn: www.vitinfo.vn )
c Robot lau nhà irobot-dirtdog d Robot thám hiểm sao hỏa (Nguồn: www.vacbots.com ) (Nguồn: rover.nssdc.gsfc.nasa.gov)
Hình 1.1 Một số loại robot tự hành
Từ thực trạng trên cho thấy, lĩnh vực nghiên cứu robot tự hành ở Việt Nam hiện nay còn nhiều hạn chế Nhưng, đây lại là xu thuế phát triển chung của các nước có nền khoa học kỹ thuật tiên tiến trên thế giới với nguồn lợi kinh tế thu được rất cao và dự báo còn rất nhiều tiềm năng phát triển Chắc chắn trong thời gian tới Việt Nam cũng không nằm ngoài xu hướng này Ngoài ra, để không bị các nước khác bỏ quá xa về trình độ thì công tác nghiên cứu robot tự hành phải được tiến hành ngay từ bây giờ
Trang 21Do đó, đề tài này chọn vấn đề cơ bản và quan trọng bậc nhất trong lĩnh vực robot tự hành là giải quyết bài toán định vị cho robot để làm mục tiêu nghiên cứu
1.2 Mục tiêu và giới hạn đề tài
Mục tiêu của đề tài là tập trung giải quyết mô phỏng robot tự hành sử dụng cảm biến laser 2D với môi trường trong nhà bằng phần mềm Player/Stage Lĩnh vực nghiên cứu robot tự hành tương đối rộng rãi, cho nên phạm vi đề tài giới hạn trong các vấn đề sau:
- Phương pháp trường thế năng để tránh vật cản trong quá trình di chuyển đến đích
- Kết hợp phương pháp PF và thuật toán D* để robot tìm đường đến đích
- Robot phải tự xác định vị trí của mình trong khi di chuyển bằng thuật toán MCL dựa trên hệ thống cảm biến và một bản đồ tĩnh cho trước của môi trường
- Kết quả nghiên cứu được mô phỏng trên phần mềm Player/Stage chạy trên
hệ điều hành Linux
Đề tài giới hạn nghiên cứu mô phỏng robot tự hành trong môi trường 2D
1.3 Nội dung đề tài
Chương 2: Cơ sở lý thuyết
Chương này chủ yếu nghiên cứu về các bài toán định vị cho robot tự hành Phân tích các thuật toán định vị phổ biến như: định vị Markov, Lọc Kalman, lọc Particle, MCL, v.v Đầu tiên, chương này trình bày vấn đề khó khăn trong định vị là do nhiễu từ hệ thống cảm biến, sai số lấy mẫu cảm biến cũng như nhiễu từ cơ cấu chấp
hành Mô hình sai số khi robot di chuyển dựa trên cảm biến hành trình (Odometry)
cũng được trình bày trong chương này
Chương 3: Lập kế hoạch đường đi và ứng dụng MCL trong robot tự hành
Chương này trình bày những đặc trưng của thuật toán MCL và phương pháp thực hiện thuật toán Các mô hình vận động và cảm biến được xây dựng để mô phỏng
Trang 22những ảnh hưởng của nhiễu lên hệ thống cảm biến và vận động của robot trong quá trình di chuyển Phương pháp MCL kết hợp các mô hình này với một thuật toán tái lấy mẫu nhằm tính toán và tìm ra vị trí phù hợp nhất của robot trong môi trường Bằng cách kết hợp phương pháp định vị MCL với thuật toán tìm đường đi tối ưu D*
và phương pháp tránh vật cản trường thế năng thì robot có khả năng tự lập kế hoạch đường đi và di chuyển đến mục tiêu cho trước mà không cần phải khai báo trước vị trí ban đầu cho nó Tức là robot có khả năng giải quyết bài toán định vị và lập kế hoạch đường đi toàn cục Phương pháp giải quyết bài toán được trình bày trong phần cuối của chương
Chương 4: Xây dựng mô hình và phân tích mô phỏng thiết kế
Chương 4 giới thiệu phần mềm mô phỏng robot Player/Stage và trình bày kết quả nghiên cứu được mô phỏng trên phần mềm này Trong nghiên cứu, robot sẽ di chuyển trong một môi trường được biết trước một phần Việc định vị cho robot được thực hiện thường xuyên trong suốt quá trình di chuyển Hiệu quả của việc định
vị dựa trên thuật toán MCL được thể hiện rõ qua từng bước lặp Việc phân tích kết quả mô phỏng và so sánh với các phương pháp khác cũng được thực hiện trong chương này
Chương 5: Kết luận và hướng phát triển
Chương 5 tóm tắt các nội dung nghiên cứu và kết quả đạt được về lý thuyết cũng như kết quả mô phỏng trên bộ phần mềm Player/Stage Các điểm hạn chế và hướng phát triển của đề tài được trình bày ở cuối chương
Trang 23Chương 2
Cơ Sở Lý Thuyết
2.1 Cảm biến laser đo khoảng cách
Để ước lượng vị trí chính xác như là trái tim của hệ thống điều hướng như định vị, lập kế hoạch đường đi, tránh vật cản Vấn đề được đưa ra để giải quyết sự thay đổi trong việc sử dụng các cảm biến khác nhau (siêu âm, hồng ngoại, laser, thị lực…) Một trong những sự lựa chọn có thể là sử dụng cảm biến laser 2D bởi vì nó trở nên phổ biến trong robot tự hành Cảm biến laser có rất nhiều thuận lợi so sánh với cảm biến khác: nó cung cấp phạm vi đo lường chính xác và dày đặc, tỉ lệ lấy mẫu cao,
độ phân giải góc lớn, tầm đo và độ phân giải tốt [7]
Cảm biến laser đo khoảng cách gọi tắt là LRF (laser range finder) là thiết bị sử dụng chùm laser để xác định khoảng cách đến đối tượng, hoạt động trong dải sóng hồng ngoại với công suất thấp không ảnh hưởng đến mắt người Hình thức thông thường nhất của cảm biến laser đo trên nguyên lý đo thời gian từ thời điểm một xung sáng laser hồng ngoại được phát ra đến thời điểm thu được xung này khi nó được phản xạ từ vật cản trong môi trường Một hệ thống đo thời gian cực kỳ chính xác trong thiết bị cho các số đo được dùng để tính khoảng cách đến vật khi biết vận tốc của ánh sáng trong môi trường quanh robot Bằng việc gắn một gương phản xạ quay trên đường đi của tia sáng như hình 2.1 [17], các xung laser này được làm chệch hướng khi gương quay Gương phản xạ quay với tốc độ 75 vòng/giây tạo nên một dải quét tia laser hình rẻ quạt ở phía trước cảm biến với một trường nhìn 2D Trong mỗi lần quét như vậy, các xung laser được phát đi chệch hướng với trục x một góc β với độ phân giải 0,250; 0,50 hoặc 10 như mô tả trên hình 2.2 [18,20]
Trang 24Hình 2 1 Tạo mặt phẳng cắt ngang tại laser bằng gương quay trong cảm biến đo
laser 2D
Kết quả này cho phép nhận được một số trường dữ liệu 2 chiều từ phía trước cảm biến và vì vậy thiết bị này có tên là máy quét laser 2D
Hình 2 2 Mặt phẳng tia laser với góc quét β
Phương trình tính toán, ví dụ khoảng cách giữa 2 điểm A và B được cho:
φ là trễ pha bởi di chuyển ánh sáng, ω là tần số góc
Thay thế các giá trị trong phương trình ta được
(http://en.wikipedia.org/wiki/Laser_rangefinder ):
Trang 252𝑐𝑡 = 𝑐𝜑2𝜔 =4𝜋𝑓𝑐 𝑁𝜋 + ∆𝜑 = 𝜆4(𝑁 + ∆𝑁) (2.1)
λ là bước sóng c/f, ∆φ là phần trễ pha không hoàn toàn là π (=φ mod π), N là số nữa chu kỳ sóng của một vòng, ∆N là phần phân đoạn còn lại
Dữ liệu đo lường đọc từ cảm biến:
Cảm biến laser được môi trường của nó bằng cách sử dụng đo lường khoảng cách rời rạc Nó chia khoảng cách góc tối đa thành các bước số cố định và tiến hành trên mỗi bước đo lường khoảng cách bởi chùm laser Phạm vi lớn nhất của nó được chỉ định chính xác là 180o Trong trường hợp chúng ta thì bộ chia của laser là 0.50
vì thế laser của chúng ta bắt đầu chính xác tại góc 900 qua bên phải của đường thẳng
và cung cấp đo lường lần là 0.50 qua bên trái Vì thế nó cung cấp 361 giá trị khoảng cách liên tục Nếu chúng ta định nghĩa hệ thống tọa độ với điểm gốc chính xác trên laser và hướng thẳng của nó như trục x dương chúng ta sẽ có góc đến đường thẳng laser [18]
Trang 26Hình 2 3 Dữ liệu được thu thập của laser
2.2 Mô tả mô hình toán học của một số robot tự hành
Robot di động chuyển động bằng bánh xe bao gồm một đế được hỗ trợ bởi những bánh xe lăn Những bánh xe này cho phép chuyển động tương đối giữa đế và mặt đất Những robot chuyển động bánh xe có kết cấu đơn giản, dễ xây dựng và có tỷ lệ tải trọng thuận lợi Hơn nữa chuyển động bằng bánh thì dễ điều khiển, sử dụng ít năng lượng và có thể di chuyển với tốc độ cao [1]
Khả năng di chuyển và điều khiển của robot di động chuyển động bằng bánh xe phụ thuộc phần lớn vào những bánh xe gắn liền Sự lựa chọn thông dụng nhất cho những phương tiện bằng bánh xe là bánh xe dạng đĩa, kết cấu hình học của nó cho phép: dễ lắp vào đế, dễ điều khiển, cấu trúc vật lý mạnh mẽ và dễ hoạt động trong
sự có mặt của chấn động, những chỗ nứt hay sự không đều của mặt đất
Với một đế gồm nhiều bánh xe cho phép phân phối tải trọng và lực kéo giữa những bánh xe rất tốt, như vậy robot loại này có một lợi thế để thực hiện nhiệm vụ mà những robot di động loại khác khó có thể thực hiện được Tuy nhiên, mặc dù có tính đa năng
do sự hoạt động tự nhiên của bánh xe, nhưng phải chấp nhận những ràng buộc để đưa
ra yêu cầu cho mỗi bánh xe là: không trượt ngang và quay mà không trượt
Trang 27Dựa vào hình 2.3 ta xác định ngõ điều khiển và hình dạng robot như sau:
v U
2 V L
Trong đó: V R là vận tốc thẳng của bánh xe phải, V L là vận tốc thẳng của bánh xe trái, r là bán kính danh định của mỗi bánh xe, bán kính đường cong tức thời của quỹ đạo robot
Trang 28v y
Trang 292.3 Vấn đề định vị cho robot tự hành
2.3.1 Bài toán định vị
Khi robot di chuyển trong môi trường sẽ có rất nhiều yếu tố nhiễu khác nhau tác động lên hệ thống cảm biến của robot Ví dụ như ảnh hưởng của các tạp âm hoặc bề mặt môi trường đến cảm biến laser; tác động của những nguồn sáng mạnh lên cảm biến laser hoặc encoder trong cảm biến hành trình Ngoài ra, địa hình không bằng phẳng cũng ảnh hưởng đến độ chính xác của bộ phận điều khiển chuyển động của robot Những sai lệch trong các số liệu cảm biến nhận được làm cho robot dần dần không còn nhận biết được vị trí chính xác của nó và hậu quả là robot không thể đến được mục tiêu đã định; hoặc vì một nguyên nhân nào đó mà robot không thể biết được vị trí ban đầu thì nó cũng không thể đến đúng mục tiêu Do đó, vấn đề đặt ra là làm thế nào để robot có thể luôn tự xác định đúng vị trí của nó trong môi trường ngay cả khi bị ảnh hưởng của nhiễu hoặc không biết trước vị trí ban đầu Đây chính
là bài toán định vị cho robot tự hành
Như vậy, định vị được hiểu là robot phải tự xác định được vị trí (bao gồm tọa độ và hướng di chuyển) của mình trong hệ tọa độ tham chiếu tương ứng (môi trường), do
đó còn gọi là bài toán tự định vị Trong khoảng hai thập niên trở lại đây thì định vị
cho robot tự hành là vấn đề thu hút rất nhiều sự quan tâm của các nhà nghiên cứu về robot Việc tự định vị được thực hiện dựa trên dữ liệu thu được từ cảm biến khi robot di chuyển trong môi trường thực Tự định vị đã được xem như là một trong những bài toán cơ sở trong lĩnh vực robot tự hành, là nền tảng cho khả năng hoạt động độc lập của một robot tự hành
Hiện nay, có nhiều phương pháp để giải quyết bài toán định vị cho robot tự hành nhưng có thể chia ra làm hai loại chính là định vị dựa trên các mốc định hướng
(landmark-based) hoặc định vị theo xác suất dựa trên bản đồ (probabilistic
map-based) (gọi ngắn gọn là định vị theo xác suất)
Định vị dựa trên mốc định hướng Phương pháp này sử dụng các mốc định hướng
trong môi trường giúp cho việc định vị được liên tục và nhờ đó giảm được các sai
Trang 30số đo hành trình Cách làm phổ biến là chọn một tập hợp các mốc định hướng tại những vị trí cho trước để hướng dẫn robot đi đến mục tiêu [9] Đây là phương pháp tương đối dễ thực hiện và hiệu quả Tuy nhiên, các mốc dẫn hướng phải được bố trí sẵn trong môi trường tại những vị trí cố định cho trước Do đó độ linh hoạt và mức
độ tổng quát cho nhiều môi trường khác nhau của phương pháp này hầu như là không có Hơn nữa, hầu hết các phương pháp định vị này mới chỉ giải quyết được
vấn đề dò tìm vị trí
Hình 2.6 trình bày một hệ thống định vị dùng các cột mốc và một bộ quét laser Bộ quét laser được đặt ở đỉnh robot và có thể quét toàn bộ khu vực 3600 xung quanh robot Các cột mốc được đánh số từ B1 đến B6 và bố trí tại những vị trí cố định đã biết trước trong môi trường Bộ quét laser sẽ thu thập các số liệu về khoảng cách và góc lệch so với từng cột mốc Dựa trên những số liệu này robot có thể xác định được vị trí của nó trong bản đồ [10]
Định vị theo xác suất Các phương pháp định vị theo xác suất hầu hết đều dựa trên
cơ sở bộ lọc Bayes (Bayses Filters) Phương pháp này dựa trên sự trùng khớp giữa
dữ liệu cảm biến thu thập được tại một vị trí tức thời với một mô hình đã cho trước của môi trường Theo cách này, các phương pháp định vị có thể giải quyết được bài
toán định vị toàn cục và thậm chí là cả bài toán bắt cóc robot Các kỹ thuật định vị
phổ biến dựa trên phương pháp xác suất như lọc Kalman [11], định vị Markov và MCL [7,16]
Trang 31Hình 2 6 Định vị dùng các cột mốc và một bộ quét laser onboard
2.3.2 Phân bố Gauss và Bộ lọc Bayes
2.3.2.1 Phân bố Gauss
Phân bố Gauss (còn gọi là phân bố chuẩn) là một trong những phân bố xác suất đƣợc sử dụng nhiều nhất trong lĩnh vực khoa học Hàm phân bố xác suất có dạng nhƣ sau:
2 2
( ) 21( )
Trang 32Hình 2 7 Phân bố Gauss
2.3.2.2 Bộ lọc Bayes
Bộ lọc Bayes được dùng để ước lượng trạng thái của x trong một hệ thống động dựa trên các giá trị đo được từ cảm biến Cụ thể, trong định vị cho robot di động thì
hệ thống động là robot và môi trường mà nó di chuyển trong đó có trạng thái x
chính là vị trí của robot (thường là x y trong hệ tọa độ Đề-các và góc định hướng
) Các dữ liệu từ cảm biến có thể là số đo khoảng cách, hình ảnh từ camera hoặc
dữ liệu đo hành trình Bộ lọc Bayes chấp nhận rằng mỗi một vị trí x là độc lập và mỗi vị trí trước đó đều chứa đầy đủ thông tin cần thiết để dự đoán một vị trí mới
Ý tưởng của phương pháp này là ước lượng mật độ xác suất của không gian vị trí dựa trên tập dữ liệu điều kiện Một phân bố có điều kiện hay một mẫu thu được sau
đó được gọi là độ tin cậy ( belief ) và được thể hiện như sau:
)
|()(x t) p x t) d(0 t)
trong đó x là vị trí, x t là vị trí tại thời điểm t , d(0 )t là dữ liệu bắt đầu tại thời điểm 0 đến thời điểm t và p x( ( )t |d(0 )t ) là xác suất đạt được x t dựa trên các dữ liệu d(0 )t Đối với robot tự hành dữ liệu được phân ra hai kiểu là dữ liệu nhận thức (như các giá trị đo khoảng cách từ laser hay sonar) và dữ liệu điều khiển (như dữ liệu đo hành trình, vận tốc) mang các thông tin về sự vận động của robot Gọi z là
dữ liệu nhận thức quan sát được và u là dữ liệu điều khiển thì:
( )
P x
Trang 33( ) ( ) ( ) ( 1) ( 1) ( 2) (0)( t ) ( t | t , t , t , t , , )
Bel x p x z u z u z (2.13) Các dữ liệu quan sát và điều khiển được chấp nhận như là một chuỗi liên tiếp nhau
Bộ lọc Bayes ước lượng độ tin cậy một cách đệ quy Mẫu tin cậy ban đầu đặc trưng
cho hiểu biết ban đầu về vị trí hệ thống Trong trường hợp không có nó được khởi tạo bởi phân bố đồng dạng dựa trên không gian vị trí Trong lĩnh vực robot tự hành thì sự ước lượng vị trí mà không có sự hiểu biết ban đầu gọi là bài toán định vị toàn cục
Để có được một phương trình đệ quy thì phương trình (2.13) có thể được biến đổi bởi luật Bayes thành:
( ) ( ) ( 1) (0) ( ) ( 1) (0) ( )
( ) ( 1) (0)
( | , , , ) ( | , , )( )
p z u z
Lưu ý rằng mẫu số vẫn là một hằng số khi kiểm tra độ tin cậyBel(x (t)) cho các giá trị
vị trí 𝒙(𝒕), vì vậy phương trình (2.14) có thể viết lại như sau:
Nếu chấp nhận giả thuyết Markov [13] thì p z x u( |t t, t1, ,z0) có thể được rút gọn lại
là p z x( |t t) Khi đó vị trí tiếp theo sau được xem như không phụ thuộc vào vị trí trước đó nếu vị trí hiện tại được biết rõ Từ phương trình (2.15) ta được:
Trang 34Như vậy, tất cả các vị trí tại thời điểm t1 đã được hợp nhất với nhau Nếu một lần nữa giả thuyết Markov được chấp nhận thì số hạng đầu tiên của phương trình (2.19) được đơn giản như sau:
xem như là mật độ trạng thái tiếp theo hay gọi đơn giản là mô hình vận động, còn
Trang 35dàng hơn theo thứ tự p x x t| t1 ,u t1, p z x( |t t)
2.3.3 Các mô hình của bộ lọc Bayes
Bản chất của các mô hình p x x( t| t1,u t1) và p z x( |t t) phụ thuộc vào từng bài toán ước lượng riêng biệt Trong định vị cho robot tự hành thì cả hai mô hình đều tương đối đơn giản và có thể thực hiện một cách dễ dàng
2.3.3.1 Mô hình vận động
Mô hình vận động p x x( t | t1,u t1) là xác suất tổng quát về động học của robot Nói một cách cụ thể hơn thì xt và xt1 là các vị trí của robot Để robot hoạt động trong mặt phẳng, một vị trí của nó là một biến ba chiều gồm tọa độ Đề-các 2 chiều trong
hệ tọa độ tham chiếu và hướng di chuyển của robot Giá trị u có thể là dữ liệu đọc
từ cảm biến đo hành trình hoặc lệnh điều khiển robot hoạt động và đây đều là những giá trị đặc trưng cho sự thay đổi vị trí của robot Trong lĩnh vực robot, những phương trình mô tả sự thay đổi vị trí của robot do các biến điều khiển hoặc không điều khiển được gọi là phương trình động học Các phương trình động học lý tưởng
mô tả vị trí xsẽ đạt được sau khi robot xuất phát tại xt1 và di chuyển bởi lệnh u
trong điều kiện không nhiễu Tuy nhiên, sự vận động vật lý của robot có tính xác suất vì có rất nhiều lý do làm cho x trở nên không đáng tin cậy như sự trượt của bánh xe và motor, độ chính xác của các giá trị đo, Khi xét đến độ bất định từ bên trong mô hình vận động p x x( t | t1,u t1) mô tả xác suất có thể đạt được xtnhư là nghiệm Nhiễu được mô hình hóa bởi hàm phân bố chuẩn có trị trung bình là 0, nhiễu Gauss được thêm vào thành phần di chuyển và góc quay trong giá trị đo hành trình Vì vậy, p x x( t| t1,u t1) sẽ tổng quát hóa một cách chính xác các phương trình động học của robot
Trang 362.3.3.2 Mô hình cảm biến
+ Mô hình cảm biến tổng quát p z x( | )i
Robot tự hành thường được trang bị các cảm biến như cảm biến đo khoảng cách (như sonar hoặc laser), camera, cảm biến hành trình, Đối với cảm biến khoảng cách thì nhiệm vụ tính toán có thể được phân ra như sau:
+ Tính toán giá trị cảm biến trong điều kiện không có ảnh hưởng của nhiễu
+ Tính toán mô hình nhiễu ảnh hưởng lên giá trị cảm biến
+ Tổng hợp ảnh hưởng của mỗi cảm biến độc lập thành giá trị mật độ duy nhất Gọi vị trí của robot là x và z i là mỗi tia cảm biến độc lập của robot có góc định vị tương ứng với robot là i Đặt g x( ,i) là giá trị đo lý tưởng (không bị ảnh hưởng của nhiễu) tương ứng với cảm biến có góc định vị i Nếu robot đã được cho trước một bản đồ của môi trường thì g x( ,i) có thể được tính dựa trên các tia cảm biến Những kết quả thực nghiệm đã chỉ ra rằng khoảng cách kỳ vọng g x( ,i) là sự thống
kê đầy đủ cho xác suất p z x( | )i :
đo tối đa thường xảy ra khi cảm biến không phát hiện được đối tượng
Cuối cùng, các giá trị mật độ độc lập p z x( | )i được tổng hợp theo cấp số nhân, giả thuyết rằng giữa các giá trị đo độc lập là không có sự ràng buộc lẫn nhau:
( | ) i ( | )i
Trang 37+ Mô hình cảm biến đo khoảng cách
Cảm biến đo khoảng cách là một trong những những thiết bị được dùng phổ biến nhất trong lĩnh vực robot Do đó, trong phần này sẽ trình bày mô hình ước lượng của các cảm biến đo khoảng cách Trong đó, các thiết bị đo khoảng cách có thể là laser, cảm biến siêu âm,
Trong cảm biến đo khoảng cách có bốn loại nhiễu cơ bản ảnh hưởng đến chất lượng
đo cần phải được xem xét là: nhiễu làm thay đổi giá trị đo và sai số do các đối tượng xuất hiện bất ngờ, do không xác định được đối tượng và sai số ngẫu nhiên Do đó,
mô hình cảm biến p z x( |t t) là sự kết hợp của bốn mật độ xác suất đại diện cho bốn kiểu sai số đặc trưng đã nói
Thứ nhất là sai số tác động lên giá trị đo làm cho phép đo không chính xác Gọi *
t
z và độ lệch chuẩn là hit Trong thực tế, giá trị được đo bởi cảm biến bị giới hạn trong một khoảng 0,z max (zmax là khoảng cách đo tối đa của cảm biến) Khi đó, xác suất đo đúng được cho bởi:
t
z và độ lệch chuẩn là hit
Trang 38
a Phân bố Gaus 𝒑𝒉𝒊𝒕 b Phân bố hàm mũ 𝒑𝒔𝒉𝒐𝒓𝒕
c Phân bố đơn vị 𝒑𝒎𝒂𝒙 d Phân bố đều 𝒑𝒓𝒂𝒏𝒅
Hình 2 8 Các phân bố mật độ trong mô hình cảm biến
* 2 2
1 2
* 2
2
1( ; , )
2
k k
t t hit
Biến hit là tham số nhiễu nội của mô hình cảm biến
Sai số thứ hai trong quá trình đo của cảm biến là do các đối tượng xuất hiện bất ngờ gây ra Đó là trong trường hợp robot di chuyển trong một môi trường động trong khi bản đồ m cung cấp cho robot là tĩnh Khi một vật cản không có trong bản đồ
Trang 39khoảng cách đo được với bản đồ Xác suất đo trong tình huống này được mô tả bằng một phân bố hàm mũ và được xác định bởi phương trình sau với sh tor là một tham số nội của mô hình:
or or
1
or 0
11
đo Sai số này có thể thường xảy ra nên cần phải có mô ̣t mô hình đo giá tri ̣ tối đa trong mô hình nhâ ̣n thức Đây là một mô hình phân bố điểm ta ̣i zmax và được tạo như sau:
Hàm I là một hàm chỉ thị, có giá trị 1 nếu đối số của nó là đúng và bằng 0 nếu đối
số sai Trong kỹ thuật thì p max không có một hàm mật độ xác suất vì đây là một phân bố rời rạc
Cuối cùng là sai số do các giá trị đo xuất hiện một cách ngẫu nhiên Cảm biến khoảng cách đôi khi tạo ra những giá trị đo hoàn toàn không chính xác và vô căn
cứ Ví dụ, cảm biến siêu âm thường tạo ra các giá trị đo ảo khi nó bị dội lại từ các bức tường hoặc khi nó xen ngang các cảm biến khác Để đơn giản thì sai số này sẽ được mô hình hóa bởi một phân bố trải đều trên toàn bộ khoảng đo 0;z max của cảm
Trang 40biến:
ax d
10
Mật độ của phân bố sai số ngẫu nhiên p rand được trình bày trong hình 2.7d
Bây giờ, các sai số này sẽ được kết hợp lại bởi một trọng số trung bình, được xác định bởi các tham số z hit,z sh tor,z max,z rand với z hit z sh tor z maxz rand 1
k ran
p z x m z
Hình 2 9 Mô hình mật độ đặc trưng của phân bố p z t k |x m t,
2.3.4 Các phương pháp đinh vị xác suất