Posted in Robotics

Sơ lược(Sumary) Robot Operating System(ROS)

Vì thấy các bạn từ Việt Nam có sự quan tâm đến phần này nên hôm nay mình sẽ update nội dung tiếp về Robot operating system nhé, cảm ơn đã ủng hộ mình.

Robot operating system is a dedicated software system for programming and controlling robots, including tools for programming, visualizing, directly interacting with hardware, and connecting robot communities around the world. In general, if you want to program and control a robot, using ROS software will make the execution much faster and less painful. And you don’t need to sit and rewrite things that others have already done, but there are things that you want to rewrite are not capable. Like Lidar or Radar driver.

ROS runs on Ubuntu, so to use ROS first you must install Linux. For who do not know how to install Linux and ros, I have this link for you:

Robot operating system  là một hệ thống phần mềm chuyên dụng để lập trình và điều khiển robot, bao gồm các công cụ để lập trình, hiển thị, tương tác trực tiếp với phần cứng, và kết nối cộng đồng robot trên toàn thế giới. Nói chung là nếu bạn muốn lập trình và điều khiển một con robot, sử dụng phần mềm ROS sẽ giúp quá trình thực hiện nhanh hơn và bớt đau khổ hơn rất nhiều. Và bạn không cần ngồi viết lại những thứ mà người khác đã làm rồi, mà có những thứ muốn viết lại cũng không có khả năng. Như Lidar hoặc Radar driver chẳng hạn.

ROS chạy trên nền Ubuntu,  do đó để sử dụng ROS đầu tiền các bạn phải cài Linux. Cho bạn nào chưa biết cài Linux và ros thì mình có link này cho các bạn:

http://wiki.ros.org/kinetic/Installation/Ubuntu

Dưới đây mình sẽ trình bày về luận văn thạc sĩ của mình, phần dưới là 1 phần trích đoạn phần đầu của luận văn. Nếu bạn nào cần full không che thì pm mình bên dưới phần comment nhé:))

1.1 Đề xuất dự án – Robot tự hành di động

Hệ thống robot được sử dụng trong dự án này đã được phát triển trong quá trình nhiều trước các dự án tổng thể và chuyên môn hóa. Mục tiêu dài hạn của các dự án này là phát triển Các khái niệm robot tự động di động để hỗ trợ mọi người trong môi trường trong nhà, như đổ nước và phục vụ cho con người. Đề tài của luận văn này dựa trên đề tài do GS.TS. Nauth tại Bộ phận Công nghệ Thông tin, nơi gợi ý một số ứng dụng khả thi cho một robot như vậy:

• Robot có thể điều hướng tự động trong môi trường trong nhà, như phòng hoặc hành lang.

• Robot phải tránh chướng ngại vật khi di chuyển từ vị trí A đến B, chướng ngại vật ở đây bao gồm các chướng ngại vật tĩnh và động.

• Robot phải phân loại đối tượng, chẳng hạn như nhận dạng cốc và chai, sau khi robot đó có thể rót nước từ chai này sang cốc khác. Mục đích sử dụng trong bệnh viện và trạm xá.

• Cho phép nhân viên thực hiện kiểm tra và bảo trì từ xa thông qua điều khiển từ xa.

1.2 Tổng quan về triển khai

Quyết định Mục tiêu

Để làm cho robot tự động điều hướng trong môi trường, điều hướng dựa trên tầm nhìn là được chứng minh là một thuật toán nổi bật để lựa chọn. Robot có khả năng xây dựng bản đồ môi trường xung quanh và di dời một cách tự chủ được coi là một điểm khởi đầu tốt để tiếp tục phát triển các giải pháp dựa trên tầm nhìn.

Chọn công cụ và phần cứng

Là phần tiếp theo của dự án Volksbot, robot được trang bị máy quét Laser 2D, Cảm biến SICK LMS100 cho phạm vi đo lên đến 20 m. Để tạo bản đồ 3-D, robot đã được trang bị camera 3D, Kinect cho XBOX 360 có khả năng nhận biết hình ảnh có độ sâu ở mức cao tốc độ khung hình (30Hz). Để sử dụng Kinect, trình điều khiển Kinect cần cài đặt trong ROS, trình điều khiển có thể sử dụng có thể là Freenect hoặc openNI, tuy nhiên cái sau đã lỗi thời ngày nay nên ổ Freenect đã được chọn. Các công việc và giải pháp được trình bày trong luận văn này xoay quanh quá trình tích hợp ROS với robot di động. Cài đặt ROS trên Ubuntu Linux cho đến nay là cách dễ dàng nhất để bắt đầu bằng cách sử dụng khuôn khổ. Vì lý do này, và để tránh can thiệp vào dự án khác trên cùng một robot, người ta quyết định rằng một máy tính bổ sung chạy Linux nên được trang bị cho robot. Cấu hình nền tảng robot mới được thể hiện trong hình 1.1. Hai công cụ hỗ trợ đã được triển khai cùng với phần mềm robot: một khái niệm đơn giản về trạm điều khiển với máy tính từ xa và điều khiển từ xa cầm tay trên điện thoại thông minh hoặc máy tính bảng. Tổng quan về hệ thống hoàn chỉnh được thể hiện trong hình.

1.2. Mục tiêu của luận văn

Mục tiêu của luận án này là thực hiện một nghiên cứu về SLAM và cố gắng tạo ra một bản đồ Khuôn viên Đại học đồng thời xác định vị trí của robot trong bản đồ. Đầu tiên, Một máy ảnh Kinect và máy quét laser 2D SICK sẽ được sử dụng để vẽ bản đồ của ba phòng và hành lang trong tòa nhà 8, Đại học Khoa học Ứng dụng Frankfurt. Toàn bộ hệ thống sẽ được đưa vào rô bốt có bánh xe, bộ mã hóa bánh xe sẽ được sử dụng để cung cấp tính năng đo đường của rô bốt. Đây là một cụ thể ứng dụng dựa trên ROS (Hệ điều hành Robot) để trình diễn chế độ hoạt động của ROS. Lý do chọn bản đồ RTAB để thử nghiệm trên robot bao gồm: Thứ nhất, đây là một cách tiếp cận khá mới trong SLAM, phương pháp này cung cấp bản đồ 3D thay vì bản đồ 2D như các phương pháp khác, vì vậy rất nhiều cơ hội nghiên cứu vẫn còn. Thứ hai, thuật toán RTAB nhằm mục đích tìm ra các đường dẫn tối ưu giữa một số mẫu, vì vậy nó cho phép lưu bộ nhớ dài hạn khi robot thực hiện đa ánh xạ.

Chức năng

1.3. CẤU TRÚC LUẬN VĂN

• 1. Bản địa hóa và ánh xạ đồng thời dựa trên thị giác máy tính.

• 2. Lập bản đồ qua nhiều phiên.

• 3. Điều hướng tự động đến một mục tiêu đơn giản.

• 4. Tránh chướng ngại vật 3D và 2D trong chế độ điều hướng.

• 5. Có thể điều khiển robot từ bàn phím trên bo mạch.

• 6. Robot có thể được điều khiển bằng Điều khiển từ xa.

• 8. Robot có thể nhận lệnh vận tốc qua WiFi.

Above is my project with RTAB, HECTOR-SLAM and ROS to program to Volksbot and NAO humanoid robot, all code of the robot in the video above was full describe in the github link:

Feel free to use these code for your project. And I wish you very success!

Trên đây là dự án của tôi với RTAB, HECTOR-SLAM và ROS để lập trình cho Volksbot và rô bốt hình người NAO, tất cả mã của rô bốt trong video trên đều được mô tả đầy đủ trong liên kết github.

Có thể tải sử dụng code này cho dự án của bạn. Chúc bạn rất thành công!

Bạn nào nếu muốn tham khảo luận văn thì mình có chia sẻ dưới dạng file pdf đính kèm cùng code của mình ở link github phía dưới nha:D

https://github.com/thanh118/RBGD-Mapping-

Authors:

Truong Thanh Nguyen/ Github: thanh118

Software Developer/ DevOps (Autonomous Driving and Machine Learning)Follow 100 follower · 16 following · 

Author:

My name is Truong Thanh, graduated Master of Information Technology and Artificial Intelligent in Frankfurt University,Germany. I create this Blog to share my experience about life, study, travel...with friend who have the same hobbies.

15 thoughts on “Sơ lược(Sumary) Robot Operating System(ROS)

  1. Em chào ad!
    Ad có thể cho em hỏi là hiện tại ROS có được hỗ trợ trên hệ điều hành Mac OS không ạ?
    Hi vọng nhận được câu trả lời từ ad ạ, em xin cảm ơn và chúc ad nhiều sức khoẻ!

    Like

    1. Em chào anh ạ. Em cũng đang nghiên cứu AGV mà luận văn của anh em thấy có AGV vậy anh cho em tham khảo bản full ko che được ko ạ. Em xin cảm ơn!

      Liked by 1 person

  2. Chào anh Thanh,
    Anh có tài liệu về ROS2 không? Liệu anh có thể viết 1 bài về sự khác nhau giữa ROS và ROS2 được không ạ?
    Cảm ơn anh nhiều.

    Like

    1. Chào anh ạ em cũng mới tìm hiểu AGV ros anh có thể cho em tham khảo bản full được không ạ?

      Like

  3. em chào anh ạ. Hiện tại em đang nghiên cứu và làm về AGV. Anh có thể cho em xin bản full để tham khoả được không ạ. Em cảm ơn

    Like

  4. em chào anh ạ. Em đang nghiên cứu về AGV . A có thể cho em tham khảo bản không che không ạ?Em cảm ơn. Mong anh phản hồi sớm ạ.

    Like

  5. Hi, mình ccó thể liên hệ với anh qua email hoặc số điện thoại nào được vậy? Có vấn đề về Ros cần hợp tác ah

    Like

  6. Chào a! E cũng đang tìm hiểu về ROS và AGV. A có thể cho e thảm khảo luận văn của a được k ạ. Em cảm ơn!

    Like

  7. chào bạn mình mún giao tiếp phần mềm ros với con robot denso bạn cho mình xin tài liệu với nhé

    Like

  8. Em chào anh, hiện tại em đang nghiên cứu về xe tự hành và ROS mà còn bỡ ngỡ nhiều phần. Anh cho em tham khảo luận văn của anh được không ạ? Em cảm ơn ạ!

    Like

Leave a comment