Robot tự hành sử dụng cảm biếm laser 2D

pdf 7 trang phuongnguyen 120
Bạn đang xem tài liệu "Robot tự hành sử dụng cảm biếm laser 2D", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfrobot_tu_hanh_su_dung_cam_biem_laser_2d.pdf

Nội dung text: Robot tự hành sử dụng cảm biếm laser 2D

  1. ROBOT TỰ HÀNH SỬ DỤNG CẢM BIẾM LASER 2D Ngo Van Thuyen, Chau Quang Hai Đại học sư phạm kỹ thuật TP Hồ Chí Minh chauquanghaispkt@gmai.com TÓM TẮT Bài báo này chủ yếu trình bày về thuật toán MCL (Monte Carlo Localization) sử dụng cho quá trình định vì của robot tự hành sử dụng cảm biến laser 2D. Trong quá trình vận động sẽ bị ảnh hưởng bởi nhiễu từ môi trường bên ngoài lẫn cơ cấu chấp hành, do đó 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. Vì vậy, 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ừ khóa: Monte Carlo Localization , laser range finder, localization, potential field, D*. 1. GIỚI THIỆU Bài báo này được chia ra như sau: Cảm Khi nghiên cứu robot tự hành có ba vấn đề biến laser 2D và mô hình toán học robot cơ bản cần phải được quan tâm xem xét. phần 2, Định vị và MCL phần 3, D* và Trước hết, robot phải trả lời được câu hỏi Trường thế năng phần 4, Kết quả mô phỏng “Tôi đang ở đâu?”, tức là phải xác định trên Player/Stage phần 5. được vị trí của robot trong hệ tọa độ tham chiếu; thường được gọi là định vị. Thứ hai, 2. CẢM BIẾN LASER 2D VÀ MÔ một câu hỏi khác được đặt ra cho robot là HÌNH TOÁN HỌC ROBOT “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ế 2.1 Cảm biến laser 2D hoạch tìm đường đi và tránh vật cản cho Để ước lượng vị trí chính xác như là trái robot, được gọi chung là lập kế hoạch tim của hệ thống điều hướng như định vị, đường đi. Cuối cùng, trong quá trình thực lập kế hoạch đường đi, tránh vật cản. Vấn hiện hai nhiệm vụ trên thì robot phải nhận đề được đưa ra để giải quyết sự thay đổi biết được môi trường xung quanh nó thông trong việc sử dụng các cảm biến khác nhau qua các cảm biến, gọi là quá trình nhận thức (siêu âm, hồng ngoại, laser, thị lực ). Cảm [1]. Trong đó, định vị được xem là vấn đề biến laser có rất nhiều thuận lợi so sánh với phức tạp nhất khi nghiên cứu về robot tự cảm biến khác: nó cung cấp phạm vi đo hành và hiện đang nhận được nhiều sự quan lường chính xác và dày đặc, tỉ lệ lấy mẫu tâm nhất của các nhà nghiên cứu. Đây được cao, độ phân giải góc lớn, tầm đo và độ xem là vấn đề trọng tâm trong nghiên cứu phân giải tốt. robot tự hành, là nền tảng để đạt được khả năng vận động của robot. 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 Để giải quyết các bài toán định vị nêu trên chùm laser để xác định khoảng cách đến đối thì nhiều phương pháp khác nhau đã được tượng, hoạt động trong dải sóng hồng ngoại đưa ra như định vị dùng cột mốc, bộ lọc với công suất thấp không ảnh hưởng đến Kalman và cải tiến của nó là định vị mắt người. Hình thức thông thường nhất Markov. Hiện nay, một phương pháp định của cảm biến laser đo trên nguyên lý đo vị hiệu quả và dễ thực hiện hơn đang nhận thời gian từ thời điểm một xung được nhiều sự chú ý là phương pháp định vị sáng laser hồng ngoại được phát ra Monte Carlo (MCL–Monte Carlo đến thời điểm thu được xung này khi nó Localization). Phương pháp MCL được được phản xạ từ vật cản trong môi trường. phát triển dựa trên thuật toán định vị khá Một hệ thống đo thời gian cực kỳ chính xác nổi tiếng là lọc Particle [2 3]. trong thiết bị cho các số đo được dùng để
  2. 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. Hình 3. Cấu trúc robot 2 bánh Dựa vào hình 3 ta xác định ngõ điều khiển và hình dạng robot như sau: v Hình 1. Tạo mặt phẳng cắt ngang tại laser U  bằng gương quay trong cảm biến đo laser 2D. x Bằng việc gắn một gương phản xạ quay trên P y đường đi của tia sáng như hình 1, 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 Trong đó: vòng/giây tạo nên một dải quét tia laser hình (,)xy là vị trí của robot 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  là góc định hướng cho robot 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 v là vận tốc thẳng,  là vận tốc góc hoặc 10 như mô tả trên hình 2.2. Quan hệ giữa ngõ vào điều khiển và vận tốc hai bánh xe ta được: Ở tại mọi thời điểm, bánh xe trái và phải của robot luôn quay theo quỹ đạo với cùng vận tốc gốc. L Khi đó: (R+ ) V 2 R L Và (R- ) V 2 L Trong đó: V là vận tốc thẳng của bánh xe R phải, V là vận tốc thẳng của bánh xe trái, Hình 2. Mặt phẳng tia laser với góc quét β L r là bán kính danh định của mỗi bánh xe, 2.2 Mô hình toán học robot bán kính đường cong tức thời của quỹ đạo Robot di động chuyển động bằng bánh xe robot . bao gồm một đế được hỗ trợ bởi những Từ 2 phương trình trên ta có: bánh xe lăn. Những bánh xe này cho phép VV chuyển động tương đối giữa đế và mặt đất. v RL Những robot chuyển động bánh xe có kết 2 cấu đơn giản, dễ xây dựng và có tỷ lệ tải VV trọng thuận lợi. Hơn nữa chuyển động bằng  RL L 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 Mô hình toán của Kinematic và điều kiện [1]. ràng buộc nonholonomic trong hệ tọa độ toàn cục như sau:
  3. 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ị. Phương pháp để giải quyết bài toán định vị cho robot tự hành: chia ra làm hai loại chính là định vị dựa trên các mốc định hướng và định vị theo xác suất. Hình 6. Cấu trúc robot với điều kiện ràng buộc nonholonomic trong hệ tọa độ toàn Định vị dựa trên mốc định hướng. Phương cục 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ị Biểu thức Kinematic: được liên tục và nhờ đó giảm được các sai số đo hành trình. x cos 0 v Định vị theo xác suất. Các phương pháp y sin 0 . định vị theo xác suất hầu hết đều dựa trên  01  cơ sở bộ lọc Bayes (Bayses Filters). Phương pháp này dựa trên sự trùng khớp Điều kiện rang buộc nonholonomic: 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  x  của môi trường. Theo cách này, các phương sin cos  x sin  y c os  =0  pháp định vị có thể giải quyết được bài toán y định vị toàn cục và thậm chí là cả bài toán 3. ĐỊNH VỊ VÀ MCL bắt cóc robot. 3.1 Định vị 3.2 MCL Khi robot di chuyển trong môi trường sẽ có MCL [2] thực chất là một cải tiến của rất nhiều yếu tố nhiễu khác nhau tác động phương pháp lọc Particle. Do đó, những lên hệ thống cảm biến của robot. Ví dụ như trạng thái kỳ vọng cũng được biểu diễn bởi ảnh hưởng của các tạp âm hoặc bề mặt môi một tập hợp mẫu. Những mẫu này được trường đến cảm biến laser; tác động của sinh ra dựa trên một phân bố cho trước về những nguồn sáng mạnh lên cảm biến laser vị trí của robot. Điểm khác biệt ở chỗ hoặc encoder trong cảm biến hành trình. phương pháp MCL biểu diễn các trạng thái Ngoài ra, địa hình không bằng phẳng cũng bất định bằng cách duy trì một tập hợp mẫu ảnh hưởng đến độ chính xác của bộ phận được sinh ra ngẫu nhiên từ những trạng thái điều khiển chuyển động của robot. Những này thay vì phải mô tả bằng một hàm mật sai lệch trong các số liệu cảm biến nhận độ xác suất của nó. được làm cho robot dần dần không còn Do được phát triển từ thuật toán lọc Particle nhận biết được vị trí chính xác của nó và nên phương pháp MCL cũng sử dụng một hậu quả là robot không thể đến được mục tập hợp gồm N phần tử để biểu diễn các tiêu đã định; hoặc vì một nguyên nhân nào trạng thái kỳ vọng của robot tại một thời đó mà robot không thể biết được vị trí ban điểm t là S x()()ii ,w | i 1, , N . đầu thì nó cũng không thể đến đúng mục t t t p tiêu. Do đó, vấn đề đặt ra là làm thế nào để i T Trong đó, xt xy t , t , t là vị trí của robot có thể luôn tự xác định đúng vị trí của phần tử thứ i tại thời điểm và wi 0 nó trong môi trường ngay cả khi bị ảnh t hưởng của nhiễu hoặc không biết trước vị là trọng số thể hiện xác suất của mẫu sao trí ban đầu. Đây chính là bài toán định vị
  4. N hình vận động phục vụ cho việc thực hiện cho w1i .  t lấy mẫu. Mô hình chấp nhận vị trí x i 1 t 1 trước đó của robot và dữ liệu đo hành trình Tuy nhiên, phương pháp MCL có sự khác u như là ngõ vào, ngõ ra là giá trị x biệt so với lọc Particle ở giai đoạn lấy mẫu t t và tái lấy mẫu. Thay vì phải đi tìm xác suất ngẫu nhiên phân bố theo xác suất về độ tin cậy của các trạng thái kỳ vọng như p( xt | u t , x t 1 ) . trong phương pháp lọc Particle thì MCL lại []m chia giai đoạn này thành hai quá trình điều measureme nt _ model ( ztt , x , m ) là mô khiển của robot để tính toán: quá trình di hình cảm biến, biểu diễn phân bố xác suất chuyển và quá trình đọc cảm biến. có điều kiện p(,,) ztt x m với là vị trí Quá trình di chuyển. Khi robot di chuyển của robot, zt là giá trị cảm biến đo được thuật toán MCL sẽ tạo ra N mẫu mới tại thời điểm t và m là bản đồ của môi tương ứng với các vị trí mới của robot sau trường. khi thực hiện lệnh di chuyển. Bảng 3. 2 Thuật toán mô hình vận động của Quá trình đọc cảm biến. Sau khi thực hiện robot tự hành. lệnh di chuyển robot sẽ đọc thông tin về vị trí hiện tại thông qua các cảm biến (thường 1. sample _ moti o n _ mod el ( utt , x 1 ) là khoảng cách đến vật cản gần nhất). Những thông tin này được so sánh với yytt 1 2.rot11 a tan 2 t thông tin trong bản đồ mà robot đã được xxtt 1 cung cấp trước đó để đánh giá mức độ phù hợp của vị trí được ước lượng. Mức độ phù  x x 22 y y 3. trans t t 1 t t 1 hợp càng cao thì độ tin cậy của vị trí ước lượng càng lớn. 4.rot21  t   rot Bảng 3. 1 Thuật toán MCL. ˆ 5.rot1  rot 1 sample( 1  rot 1 2  rot 2 ) 1. MCL(,,,)t 1 u t z t m ˆ  sample( 3  4   ) 6. trans tr ans tr ans rot 1 rot 2 2. tt  ˆ 7.rot2  rot 2 sample( 1  rot 2 2  rot 1 ) 3.for m 1 to M do ˆˆ 8. xt x t 1  tr ans cos()  t 1  rot 1 x[][]mm sample_ moti o n _ model ( u , x ) 4. t t t 1 ˆˆ 9. yt y t 1  tr ans sin()  t 1  rot 1 w[][]mm me asureme nt _ model ( z , x , m ) 5. t t t ˆˆ 10.t  t 1  rot 1  rot 2 [][]mm 6. t tx t,w t T 11.return xt (xy t , t , t ) 7.end for Bảng 3. 3 Thuật toán cho mô hình cảm 8.for to do biến. []i []i 9.thêm xt vào t theo xác suất wt 1. measureme nt _ mod el ( ztt , x , m ) 10. = + 2.q = 1 11.end for 3.for all k do k 12.return 4.if ztm z ax []m 5. k sample_ moti o n _ model ( u , x ) là mô xk x xk, s ens cos y k , s ens sin  z t c os(   k , s ens ) tt 1 zt
  5. 6. k 4.2 Trường thế năng yk y yk, s ens cos x k , s ens sin  z t sin(   k , s ens ) zt 22 2 Phương pháp trường thế năng (Potential 7. dis t min xkk x y y xy , zztt  field path planning) tạo ra một trường hoặc một độ chênh lệch (gradient) ngang qua ( xy, là vật cản trong ) bản đồ để hướng dẫn robot đi đến vị trí mục tiêu cho trước [4]. Trong phương pháp 22 zrand om 8. q q. zhit . p r ob ( d is t , trường thế năng, robot được xem như là z max một điểm đặt dưới tác động của trường thế 9. return năng nhân tạo. Điểm mục tiêu tác động một lực hút lên robot còn vật cản tác động một lực đẩy. Tổng hợp của các lực này sẽ tác động lên robot, lúc này được xem như một điểm trong không gian, giống như một trường thế năng nhân tạo phẳng để hướng robot về phía mục tiêu và tránh va chạm với các vật cản trong môi trường. Fatt: Thế năng hút Frep: Thế năng đẩy 5. KẾT QUẢ MÔ PHỎNG TRÊN PLAYER/STAGE Hình 7. Lưu đồ di chuyển của robot Player/Stage [6] bao gồm một chương trình Player và một giao diện mô phỏng Stage. 4. PHƯƠNG PHÁP D* VÀ TRƯỜNG Player là một mạng dịch vụ điều khiển THẾ NĂNG Robot, chạy được trên Robot thực. Player 4.1 D* cung cấp một giao diện đơn giản và rõ ràng về các cảm biến và các cơ cấu chấp hành Giải thuật tìm kiếm là những giải thuật thư- của robot dựa trên giao diện mạng. Chương ờng sử dụng nhất trong việc lập kế hoạch trình điều khiển giao tiếp với Player qua đường đi cho Robot di động nhằm mục đích giao thức TCP. Stage mô phỏng tổng thể tìm đường đi ngắn nhất qua các ô trống từ Robot di động, những cảm biến và những điểm bắt đầu đến điểm mục tiêu. đối tượng trong môi trường không gian 2 Giải thuật D* (Dynamic A*) được Anthony chiều. Stentz [5] phát triển từ A* cho các môi trường mà mục tiêu ở cách rất xa và những thông tin về bản đồ tồn tại rất ít. D* giống như A* ngoại trừ nó có tính động, có nghĩa là tham số chi phí cung đường đi thay đổi trong quá trình xử lý. Thuật toán D* lên kế hoạch đường đi một cách có hiệu quả và tối ưu theo thời gian thực cho các môi trường không biết trước, được biết trước một phần Hình8. Mô hình Client/Sever của Player hoặc các môi trường không cố định (môi trường động).
  6. Robot di chuyển ngẫu nhiên với trọng số Hình 10. Robot tự định vị được vị trí mẫu là 0.018681, tại vị trí ban đầu là (-2,-3,0). Tuy nhiên, robot không biết trước Cuối cùng robot đã đến mục tiêu đặt ra ban vị trí ban đầu này mà nó phải tự xác định đầu tại vị trí (7,7). trong quá trình di chuyển. Điểm mục tiêu mà robot cần phải di chuyển đến có tọa độ là (7,7) . Hình 11. Robot đã đến đích Hình 9 Robot di chuyển ngẫu nhiên 6. KẾT LUẬN Đề tài đã sử dụng phương pháp MCL để Sau 227 vòng lặp thì vị trí đúng của robot giải quyết bài toán định vị cho nhiều bản đồ đã được xác định và trọng số mẫu lớn hơn môi trường khác nhau đạt kết quả tốt. Tuy 0.3 và được robot chấp nhận là vị trí hiện nhiên, các bản đồ được sử dụng trong đề tài tại của nó. Lúc này Thuật toán D* & PF đều được biết trước một phần hoặc toàn bộ. được gọi ra để robot tìm đến đích. Hướng phát triển đề nghị cho các nghiên cứu sau này là sử dụng một thuật toán xây dựng bản đồ và định vị tức thời cho các môi trường không được biết trước (SLAM - Simultaneous Localization and Mapping). Khi có kết quả mô phỏng cần tiến hành thực nghiệm trên mobile robot thật để có được những nhận xét, đánh giá mang tính thuyết phục cao hơn. 7. TÀI LIỆU THAM KHẢO [1] Lâm Văn Vũ , “Hoạch định quỹ đạo cho robot di động dùng thuật toán PSO”, Luận văn thạc sỹ ngành kỹ thuật điện tử, truờng Đại Học sư phạm kỹ thuật HCM, 2012. [2] Thrun S., Fox D. and Burgard W., "Monte Carlo Localization With Mixture Proposal Distribution", American Association for Artificial Intelligence, 2000. [3] Fox D., Thrun S., Burgard W. and Dellaert F., "Particle Filters for Mobile Robot Localization", "In Sequential Monte Carlo in Practice, New York: Springer-Verlag", 2001. [4] Siegwart R., Nourbakhsh R. I., "Introduction to Autonomous Mobile Robots", The MIT Press, Cambridge, Massachusetts, London, England, 2004. [5] Anthony Stentz, “Optimal and Efficient Path Planning for Partially-Known Environments”. [6] Owen J., "How to Use Player/Stage", 2nd Edition (2010), Available from: (Accessed 23 April 2011
  7. BÀI BÁO KHOA HỌC THỰC HIỆN CÔNG BỐ THEO QUY CHẾ ĐÀO TẠO THẠC SỸ Bài báo khoa học của học viên có xác nhận và đề xuất cho đăng của Giảng viên hướng dẫn Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH và TÁC GIẢ Bản quyền tác phẩm đã được bảo hộ bởi Luật xuất bản và Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hình thức xuất bản, sao chụp, phát tán nội dung khi chưa có sự đồng ý của tác giả và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. ĐỂ CÓ BÀI BÁO KHOA HỌC TỐT, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! Thực hiện theo MTCL & KHTHMTCL Năm học 2016-2017 của Thư viện Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh.