Luận văn Quy hoạch qũy đạo cho robot di động dựa trên thị giác máy tính (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Quy hoạch qũy đạo cho robot di động dựa trên thị giác máy tính (Phần 1)", để 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:
luan_van_quy_hoach_quy_dao_cho_robot_di_dong_dua_tren_thi_gi.pdf
Nội dung text: Luận văn Quy hoạch qũy đạo cho robot di động dựa trên thị giác máy tính (Phần 1)
- BỘ 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Ĩ NGUYỄN HỮU NAM QUY HOẠCH QŨY ĐẠO CHO ROBOT DI ĐỘNG DỰA TRÊN THỊ GIÁC MÁY TÍNH S K C 0 0 3 9 5 9 NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S KC 0 0 3 4 6 4 Tp. Hồ Chí Minh, 2011
- BỘ 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Ĩ NGUYỄN HỮU NAM QUY HOẠCH QŨY ĐẠO CHO ROBOT DI ĐỘNG DỰA TRÊN THỊ GIÁC MÁY TÍNH NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 Hƣớng dẫn khoa học: TS NGÔ VĂN THUYÊN TP. Hồ Chí Minh, tháng 10/2011
- LÝ LỊCH KHOA HỌC I. LÝ LỊCH SƠ LƢỢC: Họ & tên: Nguyễn Hữu Nam Giới tính: Nam Ngày, tháng, năm sinh: 30/04/1986 Nơi sinh: Đồng Nai Quê quán: Nghệ An Dân tộc: Kinh Chỗ ở riêng hoặc địa chỉ liên lạc: 34/81 khu phố 13 phƣờng Hố Nai thành phố Biên Hòa tỉnh Đồng Nai. Điện thoại cơ quan: Điện thoại nhà riêng: 0982.941.136 E-mail:nguyenhuunam86@gmail.com II. QUÁ TRÌNH ĐÀO TẠO: 1. Trung học chuyên nghiệp: Hệ đào tạo: Thời gian đào tạo từ / đến / Nơi học (trƣờng, thành phố): Ngành học: 2. Đại học: Hệ đào tạo: Thời gian đào tạo từ 10/2004 đến 07/ 2009 Nơi học (trƣờng, thành phố): Đaị Hoc̣ Sƣ Phaṃ Kỹ Thuâṭ TP.HCM Ngành học: Kỹ Thuật Điện – Điêṇ Tƣ̉ Tên đồ án, luận án hoặc môn thi tốt nghiệp: Điều Khiển Quá Trình, Truyền Hình Số, Chuyên Đề Tốt Nghiệp. Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Đaị Hoc̣ Sƣ Phaṃ Kỹ Thuâṭ TP.HCM i
- Ngƣời hƣớng dẫn: III. QUÁ TRÌNH CÔNG TÁ C CHUYÊN MÔN KỂ TƢ̀ KHI TỐ T NGHIÊP̣ ĐAỊ HOC̣ : Thời gian Nơi công tác Công việc đảm nhiệm 2009-2011 Đai Học Sƣ Phạm Kỹ Thuật Học viên ii
- LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của tôi với sự hƣớng dẫn của TS. Ngô Văn Thuyên. Các kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào. Tp. Hồ Chí Minh, ngày 10 tháng 11 năm 2011 (Ký tên và ghi rõ họ tên) iii
- 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 iv
- 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 vật thể, khoảng cách tới vậ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 thuật toán quy hoạch quỹ đạ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ỹ thuậ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 thuật toán nhận dạng màu sắc, điểm mốc có màu đồng nhất và đƣợc định trƣớc. Các vậ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 nhận biết và di chuyển qua vật cản. Để tránh vậ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 thuật toán nhận dạng để tìm kiếm vậ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 thập dữ liệu từ camera, thực hiện các thuậ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. v
- 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. vi
- 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 vii
- 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 viii
- 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 ix
- 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 x
- DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 2.1: Mô tả một số thuật toán riêng biệt của thành phần CvAux 15 Bảng 2.2: Mô tả chƣơng trình tìm đƣờng thẳng sử dụng biến đổi Hough 16 Bảng 5.1: Mô tả thông số kỹ thuật của camera Kinect 68 xi
- DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 1.1. Một số loại robot đã và đang được nghiên cứu. 2 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 6 (nguồn: 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 . 8 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 10 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. 11 Hình 2.5. Cấu trúc cơ bản của OpenCV. 13 Hình 2.6. Ảnh trước và sau khi sử dụng biến đổi Hough. 17 Hình 2.7. Thuật toán tìm đường tròn sử dụng biến đổi Hough. 17 Hình 2.8. Thuật toán nhận dạng khuôn mặt. 18 Hình 2.9. Thuật toán tìm màu áo. 18 Hình 3.1. Bản đồ môi trường với những điểm mốc bằng hình tròn. 22 Hình 3.2. Vị trí ban đầu và vị trí sau khi di chuyển của robot. 22 (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. 23 Hình 3.4. Điểm mốc dạng mã vạch. 24 Hình 3.5. Bản đồ môi trường. (a) bản đồ lý tưởng. (b) bản đồ do robot 25 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 26 xii
- học. Hình 3.7. Định hướng dựa trên nhận dạng diện mạo. 27 Hình 3.8. Phương pháp tránh vật cản Bug. 28 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. 29 Hình 3.10. Trường lực đẩy biểu diễn dưới dạng biểu đồ điềm. 30 Hình 3.11. Tổng hợp lực ảo tác động lên robot. 31 Hình 3.12. Bản đồ ô mắt lưới hai chiều 32 Hình 3.13. Bản đồ ô luới vùng cửa sổ tích cực. 33 Hình 3.14. Hướng và biên độ của một vecto cản. 34 Hình 3.15. Biểu đồ cực một chiều. 35 Hình 3.16. Mức ngưỡng trên sơ đồ cực để chọn hướng di chuyển. 36 Hình 3.17. Mức ngưỡng và góc 휃. 37 Hình 3.18. Cấu trúc hình học của vật thể. (a) ảnh ban đầu. (b) Ảnh đạo 39 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: truy cập ngày 1/10/2011 ). Hình 3.19. Biểu diễn vật thể trong không gian đa điểm (nguồn: 40 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. 41 Hình 3.21. So sánh vật thể trong hai hình sử dụng đặc điểm cục bộ. 42 Hình 4.1. Bản đồ môi trường cung cấp cho robot. 45 Hình 4.2. Giải thuật quy hoạch quỹ đạo của robot. 46 Hình 4.3. Mối tương quan về góc giữa robot và vật cản. 48 xiii
- Hình 4.4. Biểu đồ histogram. 48 Hình 4.5. Góc lái 휃 của robot. 49 Hình 4.6. Các bước định vị trí bằng điểm mốc. 50 Hình 4.7. Xây dựng biểu đồ histogram màu mẫu. 51 (a) Màu mẫu so sánh. (b) Biểu đồ màu. Hình 4.8. Quá trình so sánh màu. 52 (a) Ảnh camera (b)Ảnh so sánh màu. Hình 4.9. Biểu đồ hàm phân bố vùng điểm dữ liệu. 52 Hình 4.10. Thuật toán Meanshift. 53 Hình 4.11. Mô tả hình học của công thức Meanshift. 54 Hình 4.12. Cơ chế hoạt động của thuật toán MeanShift. 55 Hình 4.13. Xác định vị trí robot sử dụng điểm mốc. 56 Hình 4.14. Hình dáng đặc trưng của khung cửa. (a) dạng U ngược (b) 57 dạng hai cạnh bên song song. Hình 4.15. Thuật toán phát hiện cửa. 58 Hình 4.16. Thuật toán nhận dạng vật thể đích. 59 Hình 4.17. Thuật toán nhận dạng SURF. 60 Hình 4.18. Vùng điểm lân cận xung quanh điểm nổi bật (a) Vùng điềm 61 lân cận tròn có bán kính 6s. (b) Cửa sồ trượt. Hinh 4.19. Vùng điểm lân cận vuông xung quanh điểm nổi bật. 62 Hình 4.20. Bốn thành phần trong vecto mô tả. 63 Hình 5.1. Mô hình hệ thống robot di động. 65 Hình 5.2. Cấu tạo hệ thống robot di động thực nghiệm 65 xiv
- Hình 5.3. Ảnh chụp robot thực nghiệm. 66 Hình 5.4. Cảm biến camera Kinect. 67 Hình 5.5. Tương tác phần mềm và phần cứng. 68 Hình 5.6. Cấu trúc SDK của Kinect. 69 Hình 5.7. Bản đồ môi trường thực nghiệm. 70 Hình 5.8. Ảnh môi trường thực nghiệm. 71 Hình 5.9. Ảnh camera tránh vật cản. 72 Hình 5.10. Ảnh độ sâu. 72 Hình 5.11. Biểu đồ histogram. 73 Hình 5.12. Ảnh so sánh màu điềm mốc với màu mẫu. 74 Hình 5.13. Phát hiện hai điềm mốc được gắn hai bên tường. 74 Hình 5.14. Ảnh camera nhận dạng cửa 75 Hình 5.15. Phát hiện cạnh trong ảnh sử dụng thuật toán Canny 76 Hình 5.16. Tìm đường thẳng sử dụng thuật toán biến đổi Hough 76 Hình 5.17. Phát hiện cửa 77 Hình 5.18. Vật thể đích được nhận dạng đúng. 77 Hình 5.19. Kết quả snapshot từ 0s đến 28s 78 Hình 5.20. Kết quả snapshot từ 32s đến 60s 79 Hình 5.21. Kết quả snapshot từ 64s đến 92s 80 Hình 5.22. Kết quả snapshot từ 96s đến 124s 81 Hình 5.23. Hướng di chuyển của robot 82 xv
- 1. Giới Thiệu Chương 1. Giới Thiệu 1.1 Tổng quan chung về lĩnh vực nghiên cứu Trong hơn nửa thế kỷ hình thành và phát triển, lĩnh vực nghiên cứu, chế tạo robot đã có nhiều những bƣớc tiến đáng kể. Robot đầu tiên đƣợc ứng dụng trong công nghiệp vào thập niên 60 để thay thế con ngƣời làm các công việc nặng nhọc, nguy hiểm trong môi trƣờng độc hại [1]. Ban đầu, robot chủ yếu đƣợc ứng dụng trong các nhà máy xí nghiệp nhƣng đến nay robot đã có những ứng dụng khác nhƣ trong y tế, nông nghiệp, xây dựng, an ninh quốc phòng, thám hiểm không gian và trong gia đình [2]. Từ nhu cầu ngày càng lớn và đa dạng nhƣ vậy đã tạo ra sự thúc đẩy lớn cho lĩnh vực nghiên cứu robot phát triển. Xu hƣớng nghiên cứu của thế giới hiện nay là hƣớng về dịch vụ và hoạt động của robot trong môi trƣờng tự nhiên. Có thể phân 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ật (Rehabilitation robot). Robot di động đƣợc nghiên cứu nhiều nhƣ xe tự hành trên mặt đất AGV (Autonomous Guided Vehicles), robot tự hành dƣới nƣớc AUV (Autonomous Underwater Vehicles) nhƣ hình 1.1b, robot tự hành trên không UAV (Unmanned Arial Vehicles) và robot vũ trụ (Space robots). Với robot phỏng sinh học, các nghiên cứu tập trung vào 2 loại 1
- 1. Giới Thiệu chính là robot đi (Walking robots) 1.1c và robot dáng ngƣời (Humanoid Robots) nhƣ hình 1.1d. Tại Việt Nam, lĩnh vực nghiên cứu, chế tạo robot đƣợc chậm so với thế giới song cũng đã đạt đƣợc những bƣớc tiến đáng khích lệ. Đã có nhiều nghiên cứu cơ bản và nghiên cứu ứng dụng về robot đƣợc thực hiện khá đa dạng và theo sát đƣợc các hƣớng nghiên cứu thế giới [2]. Trong những năm gần đây có một hƣớng nghiên cứu đƣợc nhiều ngƣời quan tâm đó là sử dụng thị giác máy tính cho robot đặc biệt đối với robot tự hành. Việc sử dụng thị giác máy tính cho robot là sử dụng các camera để chụp lại những hình ảnh từ môi trƣờng xung quanh sau đó những hình ảnh này đƣợc chuyển tới máy tính để xử lý trích xuất ra những thông tin đặc điểm từ môi trƣờng, quá trình này giống nhƣ quá trình tổng hợp hình ảnh của thị giác con ngƣời. Hình 1.1. Một số loại robot đã và đang được nghiên cứu. 2
- 1. Giới Thiệu Kỹ thuật này mang nhiều đặc điểm nổi bật hơn so với những kỹ thuật cảm biến truyền thống vì nó có thể xây dựng đƣợc bản đồ 2D, 3D về môi trƣờng xung quanh với độ chính xác cao trong khi với những cảm biến thông thƣờng đƣợc sử dụng nhƣ cảm biến quang, siêu âm hay lade chỉ dừng ở mức phát hiện vật thể và khoảng cách giữa robot với vật thể. Kỹ thuật thị giác cũng giúp robot có thể nhận dạng đƣợc vật thể về hình dáng, kích thƣớc, màu sắc. Để đạt đƣợc hiệu quả trong việc xây dựng những hệ thống robot dựa trên kỹ thuật thị giác, thì cần phải kết hợp sử dụng với các chƣơng trình và thƣ viện xử lý thông tin cho robot bởi vì việc xây dựng phần mềm cho robot là rất phức tạp. Các chƣơng trình thông dụng trên thế giới có thể kể đến nhƣ Webots, Microsoft Robot Development Studio, ARIA, Player/Stage. Mỗi chƣơng trình có những đặt điểm và ƣu khuyết điểm riêng. Tuy nhiên, trong các phần mềm điều khiển robot trên thì Player đƣợc sử dụng rộng rãi trong nghiên cứu và giảng dạy robot do tính mở của nó. Player là một network server điều khiển robot. Player chạy trên robot và cung cấp giao tiếp với các cảm biến và bộ truyền động qua mạng IP. Chƣơng trình client giao tiếp với Player qua TCP socket và đọc dữ liệu từ các cảm biến, truyền lệnh xuống bộ điều khiển chuyển động và cấu hình thiết bị. Player hỗ trợ hầu hết các phần cứng của các robot thƣơng mại và chạy trên nền Linux (PC và hệ thống nhúng). Stage là giao diện mô phỏng liên kết với Player. Stage cho phép thử nghiệm các thuật toán điều khiển trƣớc khi thực hiện trên robot thực với Player. Có cùng tính mở nhƣ chƣơng trình Player, thƣ viện OpenCV cũng đƣợc sử dụng phổ biến nhƣ là một công cụ hỗ trợ đắc lực cho ngƣời nghiên cứu trong việc xử lý thông tin ảnh cho robot. OpenCV bao gồm những thuật toán đã đƣợc tối ƣu hóa dành cho việc xử lý ảnh. Với những đặc điểm nổi bật và tính mới mẻ của hƣớng nghiên cứu này tại Việt Nam nên kỹ thuật thị giác máy tính sử đƣợc sử dụng là hƣớng nghiên cứu trong đề tài này. 3
- 1. Giới Thiệu 1.2 Mục tiêu nghiên cứu Mục tiêu đề tài là xây dựng thuật toán quy hoạch quỹ đạo cho robot dựa trên thị giác máy tính. Thuậ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 vậ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 vật đích qua thuật toán nhận dạng màu sắc và các đặc điểm cục bộ của ảnh vật thể. 1.3 Phạm vi nghiên cứu Phạm vi nghiên cứu của đề tài giới hạn trong những ứng dụng trong nhà. Robot sẽ di chuyển trong bản đồ môi trƣờng đã đƣợc xây dựng trƣớc. Trong quá trình di chuyển robot sẽ định vị trí bằng thông tin encoder kết hợp với điểm mốc với màu sắc đơn giản và từ đó định hƣớng di chuyển đến đích. Robot sử dụng thông tin độ sâu để xây dựng biểu đồ histogram cho việc tránh vật cản và sử dụng thuật toán nhận dạng để phát hiện vật thể đích. 1.4 Phƣơng pháp nghiên cứu Các phƣơng pháp nghiên cứu đƣợc sử dụng trong đề tài là: Phƣơng pháp nghiên cứu tài liệu: thu thập thông tin tài liệu, sách báo điện tử liên quan đến lĩnh vực nghiên cứu. Nghiên cứu lý thuyết để xây dựng thuật toán quy hoạch quỹ đạ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 thuật toán đã xây dựng vào mô hình robot. 4