Quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính

99 445 0
Quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tí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

iv LI CM T Đầu tiên, tôi xin gửi lời cám ơn chân thành đến TS. Ngô Văn Thuyên – người đã trực tiếp hướng dẫn tôi một cách tận tình và chu đáo từ khi xây dựng cho đến lúc thực hiện và hoàn thành đề tài ny. Trong quá trình làm đề tài, thầy luôn theo sát tiến trình thực hiện của tôi và có những gợi ý giúp tôi định hướng gii quyết những vấn đề khó khăn gặp phi. Bên cnh đó, gia đình luôn là chỗ dựa và là nguồn động viên vô cùng to lớn tiếp sức cho tôi trong suốt quá trình nghiên cứu đề tài. Cuối cùng tôi xin gửi lời cm ơn đến anh Nguyễn Hừng Đông và anh Nguyễn Hoàng Anh là những người hỗ trợ tôi trong quá trình xây dựng đề tài. Những ý kiến đóng góp của các anh đã giúp tôi hoàn thiện tốt hơn đề tài của mình. Xin chân thành cm ơn! Biên Hòa, ngày 10 tháng 10 nằm 2011 Học Viên Nguyễn Hữu Nam v TÓM TT CameraăngƠyăcƠngăđợcăsửădụngănhiềuătrongăcácăứngădụngătrênărobotădiăđộngădoă khănĕngăcungăcấpăthôngătinăvềămôiătrngăchínhăxácăhnăcácăloiăcmăbiếnănhă siêuăơm,ălaser.ăCameraăcóăthểăcungăcấpăcácăthôngătinăvềămƠuăsắc,ăhìnhădángăcủaăṿtă thể,ăkhongăcáchătớiăṿtăthểătrongăkhiăcácăcmăbiếnănhăsiêuăơm,ălaserăchỉăcungăcấpă thôngătinăvềăkhongăcách.ăĐềătƠiăxơyădựngăthụtătoánăquyăhochăqũăđoăchoărobotă diăđộngăsửădụngăthịăgiácămáyătính. Robotăcóăkhănĕngădiăchuyểnătrongămộtămôiătrngăđịnhăsẵn,ătrongăđóăbnăđồăcủaă môiătrngăđợcăcungăcấpăchoărobot. Trongăquáătrìnhădiăchuyểnărobotăđịnhăhớngă dựaătrênăbnăđồ.ăViệcăxácăđịnhăvịătríăcủaărobotătrongămôiătrngădiăchuyểnădựaătrênă k̃ăthụtădeadăreckoningămƠăchủăyếuălƠădựaăvƠoăencoderăcủaăbánhăxeăchoăsaiăsốălớnă vƠăcóătínhăchấtăcộngădồn.ăRobotăđợcătrangăbịăcameraăchoăphépăxácăđịnhăvịătríăcácă cácăđiểmămốcăđợcăthêmăvƠoătrênăđngădiăchuyểnăđểăxácăđịnhăliăvịătríăcủaărobot.ă ViệcăxácăđịnhăđiểmămốcădựaătrênăthụtătoánănḥnădngămƠuăsắc,ăđiểmămốcăcóămƠuă đồngănhấtăvƠăđợcăđịnhătrớc.ăCácăṿtăcnăsẽăxuấtăhiệnăngẫuănhiênătrênăđngădiă chuyển,ărobotăphiăcóăkhănĕngănḥnăbiếtăvƠădiăchuyểnăquaăṿtăcn.ăĐểătránhăṿtăcnă robotăsửădụngăthôngătinăđộăsơuătừăcmăbiếnăđểăxơyădựngăbiểuăđồăhistogramăvềămôiă trngătừăđóăxácăđịnhăvùngăanătoƠnăcóăthểădiăchuyểnăqua.ăBnăđồăchỉăchoăbiếtăvùngă điểmăđíchăsẽăđợcăđặtămƠăkhôngăchoăbiếtăvịătríăchínhăxácăvìăthếărobotăsẽăphiăsửă dụngăthụtătoánănḥnădngăđểătìmăkiếmăṿtăthểăđích. MôăhìnhărobotădiăđộngăsửădụngălƠăloiăbaăbánhăxeăkiểuăláiăviăsai.ăCmăbiếnăđợcăsửă dụngăchoărobotălƠăcameraăKinect.ăKinectăgồmăhaiăcameraăvƠămộtăcmăbiếnăchiếuăIRă cungăcấpăchoărobotăhaiădữăliệuăchínhălƠănhăvƠădữăliệuăđộăsơu.ăMáyătínhăthuătḥpădữă liệuătừăcamera,ăthựcăhiệnăcácăthụtătoánădựaătrênăcácăthăviệnăcủaăOpenCV.ăChngă trìnhăxửălýăvƠăđiềuăkhiểnărobotăđợcăviết trênănềnăphầnă mềmămƣănguồnă măđiềuă khiểnărobotăthôngădụngăPlayer. vi ABSTRACT Cameras have been widely used on mobile robots due to the ability to provide more accurate information of the working environment compared to ultrasonic and laser sensor. Cameras can provide information about color, shapes of and distance to objects whereas ultrasonic and laser sensors can only give information on distance. This thesis presented a motion planning method for mobile robots using computer vision. The robot can move in a known environment with a map being provided. On moving, the robot will localize its self based on the provided map. The position of robot provides by dead reckoning method which is based on the encoders attached with the robot wheels is inaccurate and accumulative in error. The robot is equipped with a camera that allows it to determine its position at a certain point with beacons. The recognition of beacons is based on their colors. The robot can also recognize the obstacle on its course to avoid them. To avoid the obstacles, the robot constructs an obstacle histogram of the environment from which it can determine the safe path. The robot is not given the exact position of the goal object but only its area and color. The robot moves to the goal using object recognition algorithm. The mobile robot platform is equipped with 2 differential drive wheels and a caster one. Kinect Camera is used in this thesis. The Kinect is equipped with two cameras, and IR to provide the image and depth of each pixel. A computer is used collect the data from the camera and perform motion planning algorithms using available library of OpenCV. Control commands are sent to the robot based on the protocol in Player, a popular open source code to link with robot. vii MC LC LI CAM ĐOAN iii LI CM T iv TÓM TT v MC LC vii DANH SÁCH CÁC CH VIT TT x DANH SÁCH CÁC BNG xi DANH SÁCH CÁC HÌNH xii Chng 1 Gii Thiu 1 1.1 Tổng quan chung về lƿnh vc nghiên cứu 1 1.2 Mc tiêu nghiên cứu 4 1.3 Phm vi nghiên cứu 4 1.4 Phng pháp nghiên cứu 4 Chng 2. Th Giác Máy Tính vƠ Th Vin OpenCV 5 2.1 Gii thiu 5 2.2 S phát trin của th giác máy tính 7 2.3 Lƿnh vc ứng dng 9 2.4 H thng th giác máy tính 11 2.5 Th vin mã ngun mở OpenCV 12 Chng 3 Các Phng Pháp Quy Hoch Qu Đo Cho Robot 19 viii 3.1 Phng pháp đnh hng 19 3.1.1 Phng pháp đnh hng da trên bn đ 20 3.1.2 Đnh hng da trên xây dng bn đ 24 3.1.3 Đnh hng không da trên bn đ 25 3.2 Phng pháp tránh vt cn 28 3.2.1 Phng pháp Bug 28 3.2.2 Phng pháp Potential Field 29 3.2.3 Phng pháp Vecto Field Histogram (VFH) 32 3.3 Phng pháp nhn dng vt th 37 3.3.1 Phng pháp so khp đặc đim hình hc 38 3.3.2 Phng pháp nhn dng da trên din mo 39 3.3.3 Phng pháp nhn dng da trên đặc đim cc b 41 Chng 4 Thut Toán Quy Hoch Qu Đo 44 4.1 Quy hoch qu đo 44 4.1.1 Bn đ môi trng 44 4.1.2 Gii thut quy hoch qu do chuyn đng 46 4.2 Thut toán tránh vt cn 47 4.2.1 Xây dng biu đ histogram 47 4.2.2 Tính góc lái 49 4.3 Thut toán đnh v trí bằng đim mc 49 4.3.1 Tìm đim mc trên nh 50 4.3.2 Thut Toán Meanshift 52 ix 4.3.3 Đnh v trí bằng đim mc 55 4.4 Phát hin ca 56 4.4.1 Đặc đim ca 56 4.4.2 Thut toán phát hin ca 57 4.5 Tìm vt th đích 58 4.5.1 Thut toán nhn dng vt th đích 59 4.5.2 Phng pháp nhn dng SURF 59 Chng 5 Mô Hình Robot Di Đng VƠ Kt Qu Thc Nghim 64 5.1 Mô hình robot di đng 64 5.1.1 Mô hình h thng 64 5.1.2 Cm bin camera Kinect 66 5.2 Kt qu thc nghim 70 5.2.1 Bn đ môi trng 70 5.2.2 Kt qu thc nghim các thut toán 71 5.2.3 Kt qu thc nghim thut toán quy đo hoch cho robot 78 Chng 6 Kt Lun 83 6.1 Kt qu đt đc 83 6.2 Hn ch của đề tài 83 6.3 Hng phát trin của đề tài 84 TÀI LIU THAM KHO 85 x DANH SÁCH CÁC CH VIT TT ADC – Analog to Digital Converter AGV – Autonomous Guided Vehicles API – Application Programming Interface AUV – Autonomous Underwater Vehicles FPS – Frames Per Second HighGUI – High level Graphical User Interface KDE – Kernel Density Estimation MCU – Micro Controler Unit OpenCV – Open Source Computer Vision PCA – Principal Component Analysis PCM – Pulse Code Modulation POD – Polar Obstacle Density QVGA – Video Graphics Array SDK – Software development kit SURF – Speeded Up Robust Features UAV – Unmanned Arial Vehicles VCP – Vehicle Center Point VGA – Video Graphics Array VHF – Vecto Field Histogram xi DANH SÁCH CÁC BNG BNG TRANG Bng 2.1: MôătămộtăsốăthụtătoánăriêngăbiệtăcủaăthƠnhăphầnăCvAux Bng 2.2: Mô t chngătrìnhătìmăđng thẳng sử dụng biếnăđổi Hough Bng 5.1: Mô t thông số k̃ thụt của camera Kinect 15 16 68 xii DANH SÁCH CÁC HÌNH HÌNH Hình 1.1. Một số loi robot đã và đang được nghiên cứu. Hình 2.1. Mối tương quan giữa thị giác máy tính và các lĩnh vực khác (nguồn: http://en.wikipedia.org/wiki/File:CVoverview2.svg, truy c̣p ngày 1/10/2011). Hình 2.2. Một số thuật toán của thị giác máy tính . Hình 2.3. Một số ứng dụng của thị giác máy tính. (a) xe tự hành thám hiểm sao Hỏa. (b) nh y sinh. (c) kiểm tra lỗi của sn phẩm. (d) Kiểm soát lưu lượng xe. Hình 2.4. Cấu trúc hệ thống thị giác máy tính. Hình 2.5. Cấu trúc cơ bn của OpenCV. Hình 2.6. nh trước và sau khi sử dụng biến đổi Hough. Hình 2.7. Thuật toán tìm đường tròn sử dụng biến đổi ảough. Hình 2.8. Thuật toán nhận dng khuôn mặt. Hình 2.9. Thuật toán tìm màu áo. Hình 3.1. Bn đồ môi trường với những điểm mốc bằng hình tròn. Hình 3.2. Vị trí ban đầu và vị trí sau khi di chuyển của robot. (a) Di chuyển tịnh tiến. (b) Di chuyển quay. Hình 3.3. Mô hình robot di chuyển theo đường dẫn. Hình 3.4. Điểm mốc dng mã vch. Hình 3.5. Bn đồ môi trường. (a) bn đồ lý tưởng. (b) bn đồ do robot xây dựng. Hình 3.6. Mô t phương pháp định hướng dựa trên chuyển động quang TRANG 2 6 8 10 11 13 17 17 18 18 22 22 23 24 25 26 xiii học. Hình 3.7. Định hướng dựa trên nhận dng diện mo. Hình 3.8. Phương pháp tránh vật cn Bug. Hình 3.9. Trường lực hút biểu diễn dưới dng biểu đồ điềm và vecto lực. Hình 3.10. Trường lực đẩy biểu diễn dưới dng biểu đồ điềm. Hình 3.11. Tổng hợp lực o tác động lên robot. Hình 3.12. Bn đồ ô mắt lưới hai chiều Hình 3.13. Bn đồ ô luới vùng cửa sổ tích cực. Hình 3.14. ảướng và biên độ của một vecto cn. Hình 3.15. Biểu đồ cực một chiều. Hình 3.16. Mức ngưỡng trên sơ đồ cực để chọn hướng di chuyển. Hình 3.17. Mức ngưỡng và góc . Hình 3.18. Cấu trúc hình học của vật thể. (a) nh ban đầu. (b) nh đo hàm.(c) Kết nối đường thẳng. (d) nh vật thể ở một góc nhìn khác. (nguồn: http://www.packet.cc/files/mach-per-3D-solids.html, truy cập ngày 1/10/2011 ). Hình 3.19. Biểuă diễnă ṿtă thểă trongă khôngă giană đaă điểmă (nguồn:ă http://www.cs.columbia.edu/CAVE/projects/app_match,ă truyă c̣pă ngƠyă 1/10/2011). Hình 3.20. nh và biểu đồ màu không gian ba chiều của vật mẫu. Hình 3.21. So sánh vật thể trong hai hình sử dụng đặc điểm cục bộ. Hình 4.1. Bn đồ môi trường cung cấp cho robot. Hình 4.2. Gii thuật quy hoch quỹ đo của robot. Hình 4.3. Mối tương quan về góc giữa robot và vật cn. 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 45 46 48 [...]... ng dựa trên thị giác đ ợcă chiaă lƠmă 2ă h ớngă khácă nhauă đóă lƠă địnhăh ớng dựa trên thị giác cho những ứng dụng trong nhà (Indoor) và những ứng dụng ngoài tr i (Outdoor) [4].ăNh ăđƣăđề c̣p trên trongăh ớngăđề tài này chỉ đề c̣pă đếnă địnhă h ớng dựa trên thị giác cho những ứng dụng trong nhà Việcă định 19 3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot h ớng dựa trên thị giác đƣăđ ợc nghiên cứu trên. .. là xây dựng thụt toán quy ho ch qũ đ o cho robot dựa trên thị giác máy tính Thụtătoánăđ ợc thực nghiệm trên mô hình robot thựcăđiều khiển trên Player và OpenCV Khi di chuyển từ điểmăbanăđầuăđếnăđích, robot ph i có kh nĕngă tránh ṿt c n.ăĐể di chuyển, robot dựa trên vị trí cho b i encoder kết hợp vớiăđịnh vị dựa trên cácăđiểm mốc sử dụng thị giác máy tính Robot có kh nĕngăxácăđịnh ṿt đíchăqua thụt... lo i một số lo i robot đƣăvƠăđangăđ ợc nghiên cứuănh tay máy robot (Robot Manipulators),ă robot di động (Mobile Robots), robot phỏng sinh học (Bio Inspired Robots) và robot cá nhân (Personal Robots) [2] Tay máy robot bao gồm các lo i robot công nghiệp (Industrial Robot) nh ă hìnhă 1.1a, robot y tế (Medical Robot) và robot trợ giúpă ng i tàn ṭtă (Rehabilitation robot) .ă Robot di động đ ợc nghiên... triểnăđángăchúăýălƠăsự t ngătácăgiữa thị giác máy tính vƠăđồ họa máy tính nghiên cứu b iăSeitzăvƠăSzeliskiă(1999),ăđặc biệt trong phối c nh và mô mình hóa dựa trên nh Đến tḥp niên 2000, có thể thấyăđ ợc sự nhăh ng lẫn nhau giữa thị giác máy tính vƠă đồ họa máy tính ngày càng tr nên sâu rộngă h n,ărất nhiều chủ đề đề c̣pă đến việc phối c nh dựa trên nhănh ăghépănối nh, mô hình hóa dựa trên nh của Mann và Picard... đềuă đ tă đ ợc một kết qu nhấtă định cho nhữngă tr ng hợp cụ thể trong các ứng dụng khác nhau Hình 2.1 Mối tương quan giữa thị giác máy tính và các lĩnh vực khác(nguồn: http://en.wikipedia.org/wiki/File:CVoverview2.svg, truy cập ngày 1/10/2011) 6 2 Thị Giác Máy Tính Và Thư Viện OpenCV 2.2 S phát tri n của th giác máy tính Những khái niệmăđầu tiên về thị giác máy tính đ ợcăhìnhăthƠnhăvƠoăđầu nhữngănĕmă... sốă nhữngă ứngă dụngătiêuăbiểuătrongănhữngălĩnhăvựcăkể trên đ ợcăminhăhọaătrongăhìnhă2.4 Hình 2.3 Một số ứng dụng của thị giác máy tính (a) xe tự hành thám hiểm sao ảỏa (b) nh y sinh (c) kiểm tra lỗi của s n phẩm (d) Kiểm soát lưu lượng xe 10 2 Thị Giác Máy Tính Và Thư Viện OpenCV 2.4 H th ng th giác máy tính Cấuătrúcăcủaămộtăhệăthống thị giác máy tính phụăthuộcănhiềuăvƠoăứngădụngăcụăthểă củaăhệăthốngăđó,ăvìăthếămỗiămộtăhệăthốngăl... thuyếtă đểă xơyă dựngă thụtătoán quy ho chăqũăđ o cho robot  Ph ngăphápăkh oăsát:ăkh oăsátănhữngămôăhình robot tựăhƠnhăhiệnăcó  Ph ngăphápăthựcănghiệm:ăápădụngănhữngăthụtătoánăđƣăxơyădựngăvƠoămôă hình robot 4 2 Thị Giác Máy Tính Và Thư Viện OpenCV Chương 2 Th Giác Máy Tính vƠ Th Vi n OpenCV Phầnă đầuă ch ngă 2ă giớiă thiệuă tổngă quană vềă lĩnhă vựcă thị giác máy tính vớiă nhữngă h ớngăphátătriểnăkhácănhauăvƠănhữngăứngădụng,ălợiăíchămangăl... trong khi di chuyển lớn iii) Định vị trí theo phương pháp theo vết đường dẫn Robot di chuyểnătrongămôiătr ng dựa vƠoăđ ng dẫn trên đ nƠyă đ ợc thiết ḷp sẵn và nhiệm vụ của robot sẽ dòătheoă đ ngăđi,ăcácăđ ng dẫn ng dẫnăđể di chuyển nh ătrongăhìnhă3.3 Động c Bộ phát hiện sai lệch Khuếchăăđ i Sensor Hình 3.3 Mô hình robot di chuyển theo đường dẫn 23 3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot Để có... ớc trong việcăđịnh vị trí của robot đ ợcăchiaănh ăsau:  Lấy thông tin từ c m biến:ăđốiăvớiăđịnhăh ớng dựa trên thị giác thìăb ớcănƠyă lƠăthuătḥpăvƠăxửălýă nhătừăcamera  Phát hiện điểm mốc:ăviệcăphátăhiệnăđiểmămốcăthôngăqua thị giác máy tính, ă ṿtămốcăcóăthểăđ ợcăphátăhiệnănh ănḥnăd ngăvềăhìnhădáng,ăkíchăth ớcăhoặcă mƠuăsắc 20 3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot  So sánh giữa điểm mốc... động quayăđể tính toán vị trí mới củaănóănh ăminhăhọa trong hình 3.2 Hình 3.2 Vị trí ban đầu và vị trí sau khi di chuyển của robot (a) Di chuyển tịnh tiến (b) Di chuyển quay 22 3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot ( ’, ’, ∅’).ă ă Ph Vị tríă bană đầu của robot là ngă trìnhă thể hiện mối quan hệ giữa tịnh tiến ′ ′ Ph = ( , , ∅ ) và vị trí sau khi di chuyển ’ = ∅′ = ∅ + − và ’ khi robot di chuyển . cứuănh tay máy robot (Robot Manipulators), robot di động (Mobile Robots), robot phỏng sinh học (Bio Inspired Robots) và robot cá nhân (Personal Robots) [2]. Tay máy robot bao gồm các loi robot. CameraăngƠyăcƠngăđợcăsửădụngănhiềuătrongăcácăứngădụng trên robot di động doă khănĕngăcungăcấpăthôngătinăvềămôiătrngăchínhăxácăhnăcácăloiăcmăbiếnănhă siêuăơm,ălaser.ăCameraăcóăthểăcungăcấpăcácăthôngătinăvềămƠuăsắc,ăhìnhădángăcủaăṿtă thể,ăkhongăcáchătớiăṿtăthểătrongăkhiăcácăcmăbiếnănhăsiêuăơm,ălaserăchỉăcungăcấpă thôngătinăvềăkhongăcách.ăĐềătƠiăxơyădựngăthụtătoán quy hochăqũăđo cho robot di động sửădụng thị giác máy tính. Robot cóăkhănĕng di chuyểnătrongămộtămôiătrngăđịnhăsẵn,ătrongăđóăbnăđồăcủaă môiătrngăđợcăcungăcấp cho robot. Trongăquáătrình di chuyển robot địnhăhớngă dựa trên bnăđồ.ăViệcăxácăđịnhăvịătríăcủa robot trongămôiătrng di chuyển dựa trên k̃ăthụtădeadăreckoningămƠăchủăyếuălƠ dựa vƠoăencoderăcủaăbánhăxe cho saiăsốălớnă vƠăcó tính chấtăcộngădồn. Robot đợcătrangăbịăcamera cho phépăxácăđịnhăvịătríăcácă cácăđiểmămốcăđợcăthêmăvƠo trên đng di chuyểnăđểăxácăđịnhăliăvịătríăcủa robot. ă Việcăxácăđịnhăđiểmămốc dựa trên thụtătoánănḥnădngămƠuăsắc,ăđiểmămốcăcóămƠuă đồngănhấtăvƠăđợcăđịnhătrớc.ăCácăṿtăcnăsẽăxuấtăhiệnăngẫuănhiên trên đng di chuyển, robot phiăcóăkhănĕngănḥnăbiếtăvƠ di chuyểnăquaăṿtăcn.ăĐểătránhăṿtăcnă robot sửădụngăthôngătinăđộăsơuătừăcmăbiếnăđểăxơyădựngăbiểuăđồăhistogramăvềămôiă trngătừăđóăxácăđịnhăvùngăanătoƠnăcóăthể di chuyểnăqua.ăBnăđồăchỉ cho biếtăvùngă điểmăđíchăsẽăđợcăđặtămƠăkhông cho biếtăvịătríăchínhăxácăvìăthế robot sẽăphiăsửă dụngăthụtătoánănḥnădngăđểătìmăkiếmăṿtăthểăđích điểmăbanăđầuăđếnăđích, robot phi có kh nĕngă tránh ṿt cn.ăĐể di chuyển, robot dựa trên vị trí cho bi encoder kết hợp vớiăđịnh vị dựa trên cácăđiểm mốc sử dụng thị giác máy tính. Robot có kh nĕngăxácăđịnh ṿt đíchăqua

Ngày đăng: 22/08/2015, 19:20

Từ khóa liên quan

Mục lục

  • 3 BIA SAU.pdf

    • Page 1

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

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

Tài liệu liên quan