Đăng ký Đăng nhập
Trang chủ Nghiên cứu ứng dụng opencv và kinect hỗ trợ dò đường đi cho robot...

Tài liệu Nghiên cứu ứng dụng opencv và kinect hỗ trợ dò đường đi cho robot

.PDF
48
899
126

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: NGHIÊN CỨU, ỨNG DỤNG OPENCV VÀ KINECT HỖ TRỢ DÒ ĐƯỜNG ĐI CHO ROBOT THỰC HIỆN: ThS. NGUYỄN PHÁT NHỰT KS. TRƯƠNG THỊ QUỲNH HƯƠNG Đồng Nai, Năm 2012 1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: NGHIÊN CỨU, ỨNG DỤNG OPENCV VÀ KINECT HỖ TRỢ DÒ ĐƯỜNG ĐI CHO ROBOT THỰC HIỆN: ThS. NGUYỄN PHÁT NHỰT KS. TRƯƠNG THỊ QUỲNH HƯƠNG Đồng Nai, Năm 2012 2 Mục lục: Trang MỞ ĐẦU................................................................................................................ 1 Chương 1: Giới thiệu tổng quan đề tài .................................................................... 3 1.1 Tổng quan sự phát triển robot trên thế giới.................................................3 1.2 Robot dịch vụ ..............................................................................................4 1.3 Các nền tảng phần mềm cho robot .............................................................7 1.4 Hệ điều hành robot......................................................................................9 1.4.1 ROS (www.ros.org)...............................................................................9 1.4.2 Microsoft Robotics Developer Studio ..................................................10 1.4.3 URBI (www.urbiforge.com) .................................................................12 1.4.4 OROCOS ............................................................................................13 1.4.5 Skilligent (skilligent.com).....................................................................14 1.4.6 Robotics ERSP ...................................................................................14 1.4.7 LabVIEW Robotics..............................................................................15 1.5 Giới thiệu thiết bị Kinect ............................................................................16 1.5.1 Giới thiệu chung..................................................................................16 1.5.2 Các thành phần của Kinect.................................................................17 1.5.3 Tiêu cự, góc mở IR camera và RGB camera:.....................................20 1.5.4 Nguồn cung cấp và công suất tiêu thụ:...............................................20 1.5.5 Công suất tiêu thụ đo bằng thực nghiệm:...........................................21 1.5.6 Môi trường hoạt động .........................................................................21 1.6 Thư viện OpenCV .....................................................................................21 1.6.1 Tổng quan về thư viện OpenCV .........................................................21 1.6.2 Những khả năng của OpenCV............................................................21 1.6.3 Cấu tạo của OpenCV..........................................................................22 1.7 Thư viện hỗ trợ Kinect...............................................................................23 1.7.1 Libfreenect: .........................................................................................23 1.7.2 Code Laboratories Kinect: ..................................................................23 1.7.3 OpenNI:...............................................................................................23 1.7.4 Kinect SDK beta:.................................................................................23 1.7.5 Point Cloud Library .............................................................................24 Chương 2: Nội dung nghiên cứu........................................................................... 25 2.1 Tổng quan về SIFT....................................................................................25 2.2 Nội dung giải thuật ....................................................................................26 2.2.1 Dò tìm cực trị cục bộ...........................................................................26 2.2.2 Trích xuất keypoint..............................................................................29 2.2.3 Gắn hướng cho các keypoint..............................................................30 3 2.2.4 2.3 Tạo bộ mô tả cục bộ .............................................................................. 31 Mô tả xây dựng chương trình xác định vị trí đối tượng ................................ 32 2.3.1 Phương pháp thực hiện......................................................................... 32 2.3.2 Mã chương trình nhận dạng đối tượng.................................................. 32 Chương 3 Kết quả thử nghiệm và định hướng ứng dụng ...................................... 41 Tài liệu tham khảo ................................................................................................ 42 Danh mục hình ảnh Hình 1.1. - robot dịch vụ cá nhân ............................................................................3 Hình 1.2. - Hệ thống robot phẫu thuật DaVinci .......................................................4 Hình 1.3. – Robot chăm sóc sức khỏe từ xa...........................................................4 Hình 1.4. - Robot di động trong nhà........................................................................5 Hình 1.5. - Kho hàng robot......................................................................................5 Hình 1.6. - Xe không người lái ................................................................................6 Hình 1.7. - Dexter Robot .........................................................................................6 Hình 1.8. - Dịch vụ đào tạo Robot...........................................................................6 Hình1.9. - Một robot dịch vụ được đào tạo tự làm công việc của mình ..................7 Hình 1.10. - Một hoạt động cá nhân Robot tele lấy một ly bia ................................7 Hình 1.11: Thiết bị Kinect......................................................................................16 Hình 1.12 Cấu trúc các thành phần của Kinect.....................................................17 Hình 1.13 Động cơ điều khiển góc ngẩng Kinect..................................................17 Hình 1.14: Bên trong Kinect: RGB, IR camera và IR projector .............................17 Hình 1.15: Quá trình thu về bản đồ độ sâu ảnh ....................................................18 Hình 1.16: Mẫu hình được chiếu bởi projector và chụp lại bằng IR camera.........18 Hinh 1.17: Tính toán khoảng cách tới một điểm chiếu từ Projector ......................19 Hình 1.18: Kinect adapter .....................................................................................21 Hình 1.19: Point cloud library logo ........................................................................24 Hình 2.1: Minh họa các bước chính trong giải thuật SIFT ....................................26 Hình 2.2. Quá trình tính không gian đo (L) và hàm sai khác D .............................27 Hình 2.3 Quá trình tìm điểm cực trị trong các hàm sai khác DoG ........................28 Hình 2.4: Mô phỏng sử dụng công thức mở rộng của Taylor cho hàm DoG ........29 Hình 2.5. Minh họa các bước của quá trình lựa chọn các điểm keypoints. ..........30 Hình 2.6: Mô tả tạo bộ mô tả cục bộ .....................................................................31 Hình 2.7. Mô tả việc chia màn hình ra làm 9 phần để định vị vị trí đối tượng ......32 4 Danh mục bảng: Trang Bảng 1.1 So sánh tính năng các loại hệ điều robot ....................................................7 Bảng 1.2: Góc mở và tiêu cự của RGB và IR camera ..............................................20 Bảng 1.3: Công suất tiêu thụ trên Kinect ..................................................................21 Danh mục từ viết tắc: SIFT: MRDS: RTT: OCL: Scale-Invarian Feature Transform. Microsoft Robotics Developer Studio Orocos Real-Time Toolkit Library Orocos Components 5 MỞ ĐẦU Xử lí ảnh số (DIP - Digital Image Processing) nói chung và nhận dạng đối tượng (Object Recognition) nói riêng, đã và đang được ứng dụng rất nhiều. Nó trải rộng trên mọi mặt trong cuộc sống từ xử lí các bản in ấn, báo, bìa tạp chí đến vấn đề về năng lực nhìn trong máy học, đôi khi nó rất gần gũi trong cuộc sống hàng ngày mà nhiều người không nhận ra như chức năng nhận dạng khuôn mặt, đối tượng chuyển động trong các máy ảnh, máy quay phim hay đơn giản là chức năng camera của điện thoại đi động cũng được tích hợp các công cụ xử lí ảnh và nhận dạng đối tượng. Đề cập sâu hơn vào vấn đề nhận dạng đối tượng là các bài toán cụ thể như nhận dạng dấu vân tay, nhận dạng khuôn mặt, nhận dạng chữ viết. Các bài toán này được ứng dụng rất nhiều trong nhận dạng đối tượng hình sự, phục vụ điều tra, kiểm chứng. Từ những ứng dụng rộng rãi như vậy mà tại các tổ chức, các trung tâm nghiên cứu của các trường đại học trên thế giới, các đề tài về xử lí ảnh luôn được đầu tư nhiều về vật chất lẫn thời gian. Tuy trong nước, ở các năm gần đây mặc dù các nghiên cứu về xử lí ảnh và nhận dạng đối tượng phát triển mạnh nhưng thông qua các cuộc hội thảo quốc gia thì vấn đề này chưa nhận được nhiều kết quả như mong đợi và cần đầu tư nhiều hơn nữa. Trong vấn đề cụ thể nhận dạng đối tượng thì ngày nay hướng nghiên cứu phổ biến trên thế giới là việc sử dụng các điểm bất biến (Invarian Feature) trong ảnh làm đặc trưng (Keypoint) để nhận dạng. Tiêu biểu nhất trong các thuật toán đối sánh sử dụng keypoint dạng này là thuật toán SIFT (Scale-Invarian Feature Transform, David Lowe 1999 và 2004), SIFT có thể coi là thuật toán tiền đề cho các ứng dụng cũng như giải thuật khác về biến đổi đặc trưng bất biến trong ảnh. Các giải thuật đang ứng dụng trong thực tế khác đều dựa trên hay phát triển theo các nhánh riêng của SIFT. Các đặc trưng trong SIFT không phụ thuộc vào các phép biến đổi ảnh cơ bản như xoay, thu phóng, thay đổi độ sáng... nên có thể xem tập các đặc trưng của một ảnh là thể hiện cho nội dung của ảnh đó. Vì vậy kết quả của việc nhận dạng sẽ có độ chính xác rất cao và thậm chí có thể khôi phục được đối tượng bị che khuất trong ảnh. Tuy nhiên giải thuật SIFT rất phức tạp trong cài đặt, đòi hỏi thời gian nghiên cứu và am hiểu nhiều thuật toán thành phần. Sự cần thiết của đề tài Theo dự đoán trong vòng 20 năm nữa mỗi người sẽ có nhu cầu sử dụng một robot cá nhân như nhu cầu một máy tính PC hiện nay và robot sẽ là tâm điểm của một cuộc cách mạng lớn sau Internet. Với xu hướng này, cùng các ứng dụng truyền thống khác của robot trong công nghiệp, y tế, giáo dục đào tạo, giải trí và đặc biệt là trong an ninh quốc phòng thì thị trường robot sẽ vô cùng to lớn. Trước sự phát triển đầy triển vọng của lĩnh vực robot hiện tại cũng như trong tương lai. Nhóm tác giả tập chuyên ngành công nghệ thông tin, tập trung nghiên cứu lĩnh vực Computer Vision chuyên về lĩnh vực xử lý ảnh để gắn “mắt” cho robot. Đây là lĩnh vực rất thú vị, robot sẽ còn là một khối kim loại chỉ biết dò đường bằng các công 1 nghệ điện tử không qua “xúc giác” chính mà nhìn thế giới xung quanh bằng “đôi mắt” giống như con người. Mục tiêu nghiên cứu Nghiên cứu xây dựng chương trình hỗ trợ dò đường đi cho robot bằng kĩ thuật xử lý ảnh với các chức năng: Nhận dạng đối tượng cho robot bằng công nghệ xử lý ảnh (dựa vào đặc trưng của đối tượng): SIFT (Scale-Invarian Feature Transform, David Lowe 1999 và 2004), OpenCV (Computer Vision) Xác định vật cản phía trước robot bằng cách sử dụng thiết bị Kinect kết hợp OpenNI, PCL (Point Cloud Library) và cvBlobs Ý nghĩa khoa học, tính thực triễn và khả năng ứng dụng Robot đã có những bước tiến đáng kể trong hơn nửa thế kỷ qua. Robot đầu tiên được ứng dụng trong công nghiệp vào những năm 60 để thay thế con người làm những công việc nặng nhọc, nguy hiểm trong môi trường độc hại. Do nhu cầu sử dụng ngày càng nhiều trong quá trình sản xuất phức tạp nên robot công nghiệp cần có những khả năng thích ứng linh hoạt và thông minh hơn. Ngày nay, ngoài ứng dụng sơ khai ban đầu của robot trong chế tạo máy thì các ứng dụng khác như trong y tế, chăm sóc sức khỏe, nông nghiệp, đóng tàu, xây dựng, an ninh quốc phòng đang là động lực cho sự phát triển của ngành công nghiệp robot. Có thể kể đến những loại robot được quan tâm hiều trong thời gian qua là: tay máy robot (Robot anipulators), robot di động (Mobile Robots), robot phỏng sinh học (Bio Inspired Robots) và robot cá nhân (Personal Robots). 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), 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 trong thời gian qua tập trung vào hai loại chính là robot đi bộ (Walking robot) và robot dáng người (Humanoid robot). Bên cạnh đó các loại robot phỏng sinh học như cá dưới nước, các cấu trúc chuyển động phỏng theo sinh vật biển cũng được nhiều nhóm nghiên cứu, phát triển. 2 Chương 1: Giới thiệu tổng quan đề tài 1.1 Tổng quan sự phát triển robot trên thế giới Thị trường robot non trẻ ngày nay với gần hai dự án phần mềm, hầu hết đều phát triển trên hệ điều hành Linux. Bài viết này mô tả một trong số những phần mềm đó, phân tích và chọn phần mềm có nền tảng là tốt nhất để sử dụng. Điều gì là khác biệt giữa robot dịch vụ với robot công nghiệp? Đối với hầu hết các robot công nghiệp, được thiết kế để làm việc trong công nghiệp được cài đạt và kiểm soát rất chặt chẽ. Hệ thống computer vision sử dụng trong công nghiệp không thể để đối phó với những thay đổi trong chiếu sáng mà không cần cấu hình lại hoặc lập trình lại. Mặt khác, giao tiếp với thế giới bên ngoài luôn năng động và luôn thay đổi là một yêu cầu sống còn cho hầu hết các robot dịch vụ. 1 Hình1.1. - robot dịch vụ cá nhân Các yếu tố ảnh hưởng và yêu cầu robot dịch vụ phải hoạt động tốt như: các thiết bị nội thất mới, người đi bộ, các đối tượng bị thiếu hoặc robot không nhận biết, người dùng không chuyên nghiệp, trẻ em, vật nuôi, xe ô tô trên đường. Bên cạnh đó, hầu hết các robot dịch vụ điện thoại di động và làm việc gần với mọi người. Do yêu cầu đặt biệt của robot dịch vụ nên đã tạo ra một ngành công nghiệp mới được thiết kế đặc biệt cho các ứng dụng robot dịch vụ. Xây dựng một robot làm việc cho phòng khách sạn, dọn dẹp nhà cửa, hoặc phục vụ bữa ăn sáng là mơ ước của tất cả các robot dịch vụ. Một công ty cung cấp sản phẩm ở một mức giá hợp lý có thể sẽ làm cho doanh số bán hàng của công ty là rất lớn. Quân đội đang tìm kiếm cho robot có thể được sử dụng để chống lại cuộc chiến tranh, người nông dân rất thích robot để phát triển cây trồng. 3 Hình 1.2. - Hệ thống robot phẫu thuật DaVinci Gần như mọi ngành công nghiệp có sử dụng các robot dịch vụ như:  Robot chăm sóc người cao tuổi.  Máy quét tự động và giám sát sức khỏe (chăm sóc sức khỏe)  Robot phẫu thuật (chăm sóc sức khỏe)  Robot giao hàng (khách sạn, bệnh viện, nhà hàng, văn phòng)  Robot hái cây trồng (nông nghiệp)  Xe không người lái (phòng thủ)  Xử lý bom (phòng thủ)  An ninh, tuần tra  Giải trí (nhà, bảo tàng, công viên)  Làm sạch vệ sinh  Khai thác mỏ  Sự chửa cháy 1.2 Robot dịch vụ Mặc dù robot dịch vụ là một ngành công nghiệp tương đối trẻ, nó đã trải qua một quá trình cải tiến liên tục trong công nghệ. Nhiều robot dịch vụ hiện nay được triển khai vẫn còn điều khiển từ xa bởi một nhà điều hành là con người.Mỗi chuyển động của những robot được khởi động và điều khiển bởi con người. Hình 1.3. –Robot chăm sóc sức khỏe từ xa Các robot phẫu thuậthoàn chỉnh, và telepresence robot chăm sóc y tế là những ví dụ tốt của dịch vụ robot điều khiển từ xa. Robot dịch vụ tự chuyển hướng và tránh chướng ngại vật trong nhà chuyển, robot tự lái xe ngoài trời. Nội thất trong nhà, tránh chướng ngại vật, và định hướng đi đã được học viện nghiên cứutrong nhiều năm, và đã phát triển thành một công nghệ ngày một phát triển. Số lượng robot trên thị trường 4 ngày càng tăngthể hiện sự thành công trong lĩnh vực robot dịch vụ được sử dụng trong các văn phòng hoặc thiết lập sử dụng trong nhà. Hình 1.4. - Robot di động trong nhà Công nghệ robot tự chuyển động và định hướng đi trong nhà phụ thuộc rất nhiều vào phạm vi laser dò tìm, tia hồng ngoại siêu âm để phát hiện chướng ngại vật, cảm biến cảm ứng, các thuật toán computer vision, và lập bản đồ trong phòng. Hình 1.5. - Kho hàng robot Ngày nay, một số công ty cung cấp robot tự hành trong nhà và ngoài trời, xe không người lái (UV), robot tự hút bụi,robot kho, robot cắt cỏ, robot giao hàng tận nơi, phương tiện robot đi lại nông nghiệp. Tùy thuộc vào các nhiệm vụ, phương tiện xe đi lại không người lái, robotphát hiện xâm nhập, robot phát hiện đám cháy, robot phát hiện Sniper, hoặc các thẻ RFID kiểm soát, robot tự hành, điện thoại di động có thể lập trình để làm việc cùng với các robot 5 Hình 1.6. - Xe không người lái Các robot dịch vụ công nghệđã phải di chuyển vượt ra ngoài chuyển hướng tự hành bằng robot tự học tập và robot dịch vụ xã hội,là sự phát triển tiếp theo của công nghệ. Hình 1.7. - Dexter Robot Học công nghệ là chìa khóa cho phép các robot thông minh và tự chủ trong các thao tác của cánh tay robot trong các môi trường khác nhau. Các phiên bản mới nhất của hệ thống điều khiển học có thể khám phá ra thuộc tính đối tượng, tương tác với con người, và thậm chí đoán ý định của con người. Hình 1.8. - Dịch vụ đào tạo Robot 6 Các phần mềm hướng dẫn học tập và robot xã hội được dựa trên một nguyên tắc mới cải thiện đáng kể từ phương pháp tiếp cận truyền thống, vì nó cho phép các robot tự tìm hiểu nhiệm vụ mới, hành vi trực tiếp từ con người mà không cầnlập trình lại. Thay vì xác định "những gì robot cần phải làm", phần mềm xác định "làm thế nào các robot sẽ tìm hiểu những gì nó cần phải làm." Hình1.9. - Một robot dịch vụ được đào tạo tự làm công việc của mình Hãy tưởng tượng chúng ta là Guy Lucky chỉ có một Robot dịch vụ. Chúng ta muốn robot dọn dẹp cho căn phònghàng ngày, hái cam trong khu vườn. Chúng ta sẽ mong đợi robot tự học hỏi từ tất cả những điều muốn nó làm. Hình 1.10. - Một hoạt động cá nhân Robot tele lấy một ly bia 1.3 Các nền tảng phần mềm cho robot Ngày nay thị trường robot dịch vụ được so sánh với thị trường máy tính. Như vậy, một số công ty đang cố gắng để trở thành "Next Microsoft Robotics” và xây dựng một nền tảng phần mềm tiêu chuẩn robot, thường được gọi là hệ điều hành robot. Microsoft cũng có phần mềm nền tảng cho robot, được gọi là Microsoft Robotics Developer Studio. Thị trường robot đang phát triên sôi nổi như hiện nay đã xuất hiện một số nền tảng phần mềm robotcạnh tranh và không tương thích với nhau. Bảng thống kê dưới đây tóm tắt đầy đủ các tính năng liên quan của phần mềm robot đang nổi bật trên thị trường hiện nay. Bảng 1.1 So sánh tính năng các loại hệ điều robot 7 Microsof t Robotics Studio 1.5 Điện thoại di động Robot s Skilligen t iRobot 2.0 Gosta i Urbi Tiến hóa Robotic s ERSP 3,1 OROCO S Mã nguồn mở Miễn phí Không Không Không Không Một phần Không Có Máy nghe nhạc, sân khấu, Gazeb o Có Edu/hby Không Không Không Không Có Có Giao diện cửa sổ Linux Phân phối dịch vụ kiến trúc Fault-ring Có Có Có ? Lựa chọn nền tảng Có Có Không Có Không Có Có Không Có Có Có Có Có Có Có Không Có Không Có Có (giới hạn) Không Không Có Có Không Không Không JAUS Complian t Đồ họa OCU Đồ họa plug-nDrop IDE Được xây dựng trong điều khiển cánh tay robot Được xây dựng Không Không Có Có (?) Khôn g Khôn g Không Không Không (Web) Có Có Có Có Có Không Không Có Không Không Không Có Có Không Không Không Có Có Có Khôn g Không Có Không Không Không Có Không Khôn g Có Không Không 8 trong xác nhận Visual đối tượng Được xây dựng trong hệ thống nội địa hóa Robot học tập và sự tương tác xã hội Mô phỏng môi trường Tái sử dụng dịch vụ Xây dựng RealTime Không Có Có Không có (miếng ) Khôn g Có Không Không Không Không Có Không Khôn g Không Không Không Có Có Không Có Có Không Không Có Có Có Có Có Có Có Có Không Không Không Không có (kế hoạch) Không Khôn g Không Có Không 1.4 Hệ điều hành robot 1.4.1 ROS (www.ros.org) ROS (Hệ điều hành Robot) - Đây là phần mềm mã nguồn mở (BSD giấy phép đó là có thể sử dụng và sửa đổi chương trình để phù hợp với mục tiêu của bạn, bao gồm cả cho mục đích thương mại). ROS - là kết quả của Willow Garage nghiên cứu trong phòng thí nghiệm phối hợp với Đại học Stanford. Dự án thực hiện kiểm soát hệ thống ROS của một robot, và trên cơ sở phát triển các gói phần mềm: thư viện Computer vision, OpenCV, Hệ thống lập kế hoạch, hệ thống quản lý máy chủ và các công 9 nghệ khác được sử dụng trong hàng chục dự án khoa học và áp dụng trên toàn thế giới. Nhiệm vụ chính của ROS - là khả năng tái sử dụng mã nguồn trong nghiên cứu và phát triển robot. ROS tích hợp các trình điều khiển khác nhau, các thuật toán, và mở thư viện phổ biến robot. ROS cung cấp một loại chức năng Hệ thống Robot điều hành: Phần cứng kiểm soát ở mức độ thấp của thiết bị, thực hiện chức năng, tin nhắn qua giữa các quá trình, phần mềm quản lý. ROS không phải là một hệ thống thời gian thực, mặc dù nó có thể sử dụng hệ thống thời gian thực (ví dụ, OROCOS-Bộ công cụ thời gian thực). ROS - một hệ thống phân phối của các quá trình (các nút). Những quá trình này có thể được đóng lại thành các package và stack được phổ biến một cách dễ dàng. ROS dễ dàng tích hợp với các phần mềm khác (hiện đang tích hợp với OpenRAVE, OROCOS và player). ROS cố gắng không phụ thuộc vào các ngôn ngữ lập trình, tại thời điểm này được triển khai thực hiện phiên bản của C + + và Python (có thử nghiệm Thư viện cho LISP Octave Java). ROS có một gói phần mềm xây dựng để thử nghiệm - rostest, tạo điều kiện cho việc thử nghiệm các ứng dụng. ROS hỗ trợ khả năng mở rộng. ROS có hai phần: phần hệ thống điều hành của ROS và Ros-pkg package, mà thực hiện tất cả các chức năng nội địa hoá, lập bản đồ, lập kế hoạch, nhận thức, mô hình hóa, vv Hiện nay chỉ có hoạt động trong hệ thống ROS UNIX như Ubuntu Linux. Đến nay, phiên bản mới nhất - ROS C Turtle. Hỗ trợ các robot: Lego NXT - STAIR 1 - Đại học Stanford - Aldebaran Nao - i-Sobot Của Kawada HPR2-V - TUM-Rosie - Marvin - Herb - Penn Quadrotors - Robotino - Meka Robots - Skybotix Các robot nổi tiếng nhất được chạy ROS như robot PR2 Willow Garage. 1.4.2 Microsoft Robotics Developer Studio Microsoft Robotics Developer Studio (Microsoft RDS, 10 MRDS.)(www.microsoft.com/robotics/) - Windows theo định hướng phát triển ứng dụng môi trường cho các nền tảng robot. Phiên bản đầu tiên của Robotics Studio được phát hành vào năm 2006 và là phiên bản hiện đangcósẵnMicrosoft Robotics Developer Studio 2008 R3. Trong Robotics studio công cụ lập trình trực quan có sẵn, cũng như môi trường ảo ba chiều mô phỏng vật lý của robot - PhysX. Các thành phần của Robotics Studio: - Thời gian chạy môi trường - một môi trường mà trong đó các ứng dụng cho robot là theo dõi và tương tác với các ứng dụng khác cho robot. Các cơ sở môi trường Thời gian chạy là CLR 2.0, mà làm cho nó có thể viết các ứng dụng bằng cách sử dụng bất kỳ ngôn ngữ lập trình nền tảng Microsoft. NET. - Thời gian chạy môi trường bao gồm hai yếu tố: CCR (cập đồng thời và phối hợp Thời gian chạy, Thư viện song song và phối hợp) - thư viện cho các dòng dữ liệu song song và không đồng bộ. - DSS (Dịch vụ phần mềm được phân cấp, phân cấp dịch vụ phần mềm) - Một công cụ cho các ứng dụng phân tán dựa trên dịch vụ (đối với công việc và giao thức tương tác được sử dụng phi tập trung hóa hệ thống Dịch vụ Nghị định thư (DSSP), mà là dựa trên giao thức SOAP - Trao đổi tin nhắn bất kỳ định dạng XML). - VPL (Visual) - ngôn ngữ lập trình trực quan để viết các ứng dụng cho robot (sơ đồ VPL được lưu trữ như XML-Schema) - Mô phỏng môi trường mô phỏng môi trường cho các ứng dụng robot trong điều kiện mô phỏng (Tuy nhiên, các mô hình vật lý trong Microsoft Robotics Studio, cho rõ ràng, chứ không phải đơn giản, và giả lập này sẽ không làm việc mà tính toán chính xác là cần thiết.). - Trong Robotics Studio, một ứng dụng - là thành phần của các thành phần đồng thời lỏng. Đồng thời - tất cả các thành phần trong các Studio Robotics - bất cứ điều gì nó là dịch vụ thực thi, có nghĩa là, ví dụ như các nhà phát triển của chương trình đó là không có động cơ vật lý và có 1 giao diện dịch vụ để áp dụng làm việc với động cơ của các chương trình bằng văn bản. - RDS cho phép các gói phần mềm để phát triển các chương trình cho một loạt các nền tảng phần cứng. Hỗ trợ các robot: - Pioneer 3DX - Lego Mindstorms NXT - iRobot Create 11 Aldebaran Nao Parallax Boe-Bot Segway RMP RoombaDevTools Parallax Boe-Bot CoroWare CoroBot Lynxmotion Lynx 6 Robotic Arm - Tại thời điểm này, các gói phần mềm Microsoft Robotics Developer Studio 2008 R3 (RDS) phân phối miễn phí và sẵn sàng tự do cho mọi người đều. Vấn đề duy nhất là không ai có thể chắc chắn rằng cách kéo trên một số các nhà phát triển robot một lần nữa Microsoft không muốn được trả tiền cho sản phẩm của bạn. - RDS tiêu cực nghiêm trọng - là phụ thuộc trên cả Windows và mã nguồn đóng. Ngoài ra, cần lưu ý rằng Robotics Developer Studio đã xây dựng trong hệ thống AI - hệ thống Computer Vision, Danh mục và học máy. Một giao thức để sử dụng SOAP, cho sự tương tác của các dịch vụ phân phối, mặc dù không được thiết kế cho các ứng dụng làm việc trong thời gian thực. 1.4.3 URBI (www.urbiforge.com) URBI hệ thống từ công ty Pháp Gostai, Chúng tôi có mặt ở đây để biết thêm chitiết đã viết. URBI - một nền tảng phần mềm nền tảng mở cho C + +, được sử dụng để phát triển các ứng dụng cho các robot và các hệ thống phức tạp. URBI được dựa trên một kiến trúc thành phần phân tán UObject. Nó cũng bao gồm urbiScript - Song song và hướng sự kiện ngôn ngữ kịch bản. Kiến trúc URBI - URBI thực hiện một lớp trừu tượng bằng cách tách biệt các chương trình kiểm soát trên các urbiScript từ sự tương tác với hệ điều hành. với lớp UObject-trình điều khiển. - Đó là, làm bạn với một URBI Robot cần phải tạo ra trung gian UObject trình điều khiển cho phần cứng của bạn. - URBI lớn, cộng với một hệ thống nền tảng - nó chạy trên Windows, Linux, và Mac OS. - URBI có một tập hợp các công cụ phát triển đồ họa - Gostai Studiovà Gostai Lab. - 12 URBI mô phỏng của ông có không, nhưng bạn có thể sử dụng Webots. Bắt đầu với phiên bản thứ hai của Urbi ROS có thể tương tác với các công ty Willow Garage. Và cuối cùng nhưng không kém - Gostai mở mã nguồn URBI SDKđược cấp phép theo AGPL GNU v3. - Hệ thống này cũng là tài liệu và hỗ trợ các mô hình phổ biến nhất của robot: - Segway - Aibo ERS7/ERS2XX - IRobot Create - Lego Mindstorms NXT - HRP-2 (hạn chế phát hành cho các thành viên của JRL) - Nao từ Aldebaran - Robotis Bioloid - Điện thoại di động Robots Pioneer 1.4.4 OROCOS OROCOS (Open Robot điều khiển dự án phần mềm) -(orocos.org)- phần mềm mã nguồn mở để điều khiển robot. Dự án hỗ trợ các hướng dẫn sau đây OROCOS 4 C + + thư viện: Bộ công cụ thời gian thực, Hai. Kinematics và Thư viện Dynamics,Thư viện lọc Bayesian Hợp phần Orocos Thư viện. Kể từ khi OROCOS - nó chỉ đơn giản là một tập hợp các thư viện, như một hệ quả không có công cụ phát triển mới lạ OROCOS đồ họa và mô phỏng riêng của mình. - Orocos Real-Time Toolkit (RTT) không tồn tại của chính nó, nhưng cung cấp cơ sở hạ tầng và chức năng của các ứng dụng khác. Thư viện tập trung vào các ứng dụng thời gian thực cho phép các mô-đun điều khiển hệ thống tương tác. - Thư viện Orocos Components (OCL) cung cấp sẵn sàng để sử dụng các tính năng quản lý, cũng như các thành phần để kiểm soát và truy cập vào phần cứng. - Kinematics Orocos và Dynamics Thư viện (KDL) là một phần của một chương trình phát triển trong C + +, trong đó, lần lượt, cho phép chúng tôi tính toán các chuyển động cho phép thời gian thực - Thư viện Orocos Bayesian Filtering Thư viện (BFL) 1 cấu trúc độc lập (khuôn khổ) cho mạng Bayesian động, đó là, đệ quy xử lý thông tin phù hợp với đánh giá của các thuật toán được sử dụng trong quy tắc Bayes ', như các (mở rộng) Kalman Bộ lọc, bộ lọc hạt (Sequential Monte phương pháp). - Máy nghe nhạc, cung cấp một giao diện mạng cho một loạt các phần cứng của - 13 robot và cảm biến. Mô hình Client-server và các cầu thủ cho phép chương trình kiểm soát các robot phải được viết bằng bất kỳ ngôn ngữ lập trình, và chạy trên bất kỳ máy tính nào kết nối vào mạng, cùng với robot. - Các thành phần của dự án làm việc trên hệ điều hành tương thích POSIX, bao gồm cả Linux, Mac OS X, Solaris, và BSD, kế hoạch porting Microsoft Windows. Dự án được thành lập năm 2000 Brian Gerkey, Richard Vaughan và Andrew Howard tại Đại học Nam California ở Los Angeles và được sử dụng rộng rãi trong giáo dục và nghiên cứu robot. - Các phần mềm được cấp giấy phép theo GNU General Public License tài liệu theo Giấy phép Tài liệu Tự do GNU. 1.4.5 Skilligent (skilligent.com) Các sản phẩm chính Robot Hoc tậpvà Hệ thống kiểm soát hành vi, Trong đóbao gồm: Các hệ thống thị giác máy Robot Tầm nhìnhệ thống (phát hiện và theo dõi các đối tượngmà mô tả được chứa trong một cơ sở dữ liệu đặc biệt) Danh mục hệ thống - Visual hệthống địaphương hoá (xác định định hướng của các cơ sở sau khi buổi tập). Các yếu tố của hệ thống chịu lỗi kiểm soátlỗi, chịu kiểm soát khung (-JAUSHệ thống quản lý phù hợp để phối hợp các công việc chung của tất cả các mô- đun). Sản phẩm triết học là để tạo ra một hệ thống quản lý học tập đầy đủ. Sau khi cài đặt phần mềm trong robot, người sử dụng bắt đầu tương tác với robot, dạy hành vi mới, sử dụng ưu đãi mới cho việc học tập một robot. Ý tưởng là để chứng minh các trình tự cần thiết của hành động (cử chỉ một robot phải nhận ra những huấn luyện viên và thực hiện một bước của công việc). Việc lặp đi lặp lại quá trình học tập tiếp tụ c cho đến khi robot cho đến khi các robot không thể làm công việc của họ một cách độc lập. 1.4.6 Robotics ERSP ERSP từ công ty Robotics(www.evolution.com/products/ersp/)- Một khuôn khổ cho phát triển phần mềm robot. Nó bao gồm ba phần chính: - ViPR (Visual Pattern Recognition) module là một sự công nhận thị giác. - VSLAM - mô-đun định hướng dựa trên dữ liệu từ một máy ảnh duy nhất và bộ mã hóa quang học, cho phép nội địa hoá và lập bản đồ các khu vực lên đến 10 cm - Ersa - hoạt động robot hệ thống cung cấp tất cả các cơ sở hạ tầng và chức 14
- Xem thêm -

Tài liệu liên quan