Những nền tảng / hệ điều hành robot tốt nào có sẵn? [đóng cửa]


19

Công ty của tôi sẽ sớm bắt đầu một dự án robot hoàn toàn mới và chúng tôi vẫn đang cố gắng quyết định xem chúng tôi có nên thiết kế và mã hóa nền tảng phần mềm robot từ đầu hay không, nếu có bất kỳ dự án tốt nào hiện có.

Sẽ rất hữu ích nếu có một nền tảng phần mềm thường được sử dụng giữa cả học giả và công nghiệp để hệ thống robot của chúng ta thường tương thích với những người khác và vì vậy mọi người đã quen thuộc với nó.

Chúng tôi muốn nền tảng phần mềm có thể:

  • Tích hợp các thành phần phần cứng robot mới dễ dàng.
  • Đã chứa một loạt các công cụ xử lý và hiển thị dữ liệu hữu ích
  • Sử dụng hiệu quả phần cứng máy tính

5
Đây không phải là một câu hỏi khảo sát là chủ quan? Điều này trái với tinh thần của StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
Nhưng, chúng ta có thể tạo ra chất lượng của StackExchange này. Chúng ta nên đặt ra một tiền lệ về chất lượng cao, các câu hỏi khách quan có thể được trả lời và học hỏi từ đó.
Chris Mansley

2
Tôi đồng ý với bạn nhưng 1) Đây là câu hỏi được bình chọn hàng đầu trong định nghĩa và 2) một số ít câu hỏi như vậy không làm tổn thương trang web ( ví dụ nhìn vào thiết bị điện tử ). 3) Những câu hỏi như vậy tạo ra câu trả lời thực sự hữu ích cho nhiều người dùng.
Rocketmagnet

4
Nếu chúng ta sẽ để điều này đứng vững thì ít nhất nó nên được tạo ra wiki cộng đồng, lý tưởng nhất là với một câu trả lời wiki cộng đồng duy nhất với tất cả các mô tả tốt nhất. Điều này sẽ tốt hơn nhiều câu trả lời tất cả mô tả các tùy chọn khác nhau và / hoặc cung cấp các mô tả / ý kiến ​​khác nhau của cùng một tùy chọn.
Gian hàng Mark

5
Tôi nghĩ rằng các câu hỏi khảo sát thực sự tuyệt vời, bởi vì chúng có thể tiết kiệm rất nhiều thời gian cho ai đó tìm ra nơi để tìm. Googling sẽ không tìm thấy ngay cả tất cả các lựa chọn phổ biến trong nhiều trường hợp. Tôi nghĩ làm cho nó trở thành một câu trả lời Wiki cộng đồng là một kết quả tốt.
Jon Watte

Câu trả lời:


20

ROS đang nhanh chóng trở thành tiêu chuẩn mới cho cả robot công nghiệp và nghiên cứu. Hầu hết các nhóm nghiên cứu mà tôi biết đang áp dụng ROS cho công việc của họ và sau đó đẩy kết quả của họ trở lại mở cho mọi người sử dụng và cải thiện. Willow Garage đang phát triển một bộ các nền tảng phần cứng và phần mềm, tất cả tập trung xung quanh ROS ở cốt lõi của họ. ROS là một nơi tốt để bắt đầu tìm kiếm của bạn.


Lưu ý: mặc dù ROS có thể hoạt động trên hầu hết các hệ điều hành, nhưng nó được thử nghiệm kỹ lưỡng nhất để hoạt động trên bản phân phối Ubuntu của Linux.
giogadi

1
Ngoài ra, tôi nghĩ rằng Trang Giới thiệu ROS thực hiện công việc tuyệt vời bao gồm các tiền đề và lý tưởng cốt lõi của nền tảng ROS. Từ quan điểm của một nhà phát triển, nền tảng ROS có thể được sử dụng như một trình bao bọc rất "mỏng" xung quanh các thư viện hiện có (như trình điều khiển), để nhanh chóng truy cập vào hệ sinh thái ROS lớn hơn.
mjcarroll

5

Bộ công cụ xây dựng Robot là một thay thế cho ROS. Nó được hướng tới kỹ thuật theo mô hình và thiết kế / quản lý các hệ thống phức tạp. Nó cũng được hướng tới "không phụ thuộc chặt chẽ vào Rock". Hầu hết các thuật toán / trình điều khiển trong Rock là độc lập với lớp thành phần. Xem thêm trang này để biết tóm tắt nhanh về sự khác biệt giữa Rock và ROS.

Như một câu trả lời trước đã chỉ ra, ROS chủ yếu được sử dụng như một thư viện truyền thông mỏng. Lớp thành phần của Rock dày hơn, để cung cấp các công cụ cần thiết để mở rộng quy mô cho các hệ thống phức tạp.

Điều bạn phải hiểu là đây: trong thời đại ngày nay, phần mềm robot nguồn mở duy nhất đáng xem là độc lập với khung (OpenCV, PCL, OpenRave, Gazebo, ...). Ngay cả Willow Garage cuối cùng cũng hiểu điều này. Do đó, nó có thể được tích hợp với một lượng công việc tối thiểu trong bất kỳ khuôn khổ nào.

Bây giờ: lựa chọn tốt nhất của bạn cũng phụ thuộc vào mục tiêu của bạn. Nếu những gì bạn muốn là bán phần cứng, thì có thể có nút ROS là lựa chọn tốt nhất của bạn (mặc dù có một thư viện trình điều khiển tốt sau đó được tích hợp vào nút ROS thậm chí còn tốt hơn).


Có lẽ để thêm vào câu trả lời này, Rock dựa trên Orocos được liệt kê trong một câu trả lời khác và do đó giúp các hệ thống dựa trên nó có khả năng thời gian thực dễ dàng hơn nhiều.
Jakob

5

Orocos

Đây là một trong những khung mã nguồn mở lâu đời nhất về robot, được phát triển từ năm 2001, và với các ứng dụng và sản phẩm công nghiệp chuyên nghiệp sử dụng nó từ khoảng năm 2005. Trọng tâm của Orocos luôn là cung cấp một khung thành phần có khả năng thời gian thực cứng - vì vậy Bộ công cụ thời gian thực (RTT) được triển khai trong C ++ - và độc lập nhất có thể với bất kỳ phần mềm trung gian truyền thông và hệ điều hành nào.

Như @BarretAmes cho biết có những tích hợp cho phép thực hiện các hệ thống kết hợp, trong đó Orocos và Khung phần mềm khác hoạt động cùng nhau.


Cũng có nhiều cách để ghép Orocos với các khung khác. Ví dụ, tận dụng ROS với Orocos.
Barrett Ames

1
FYI, Rock đang sử dụng Orocos / RTT làm triển khai thành phần của nó - chỉ cần thêm rất nhiều công cụ và thư viện xung quanh nó
sylvain.joyeux

orocos có thể tốt, nhưng bây giờ trang web và diễn đàn chính thức của họ không còn cập nhật gì nữa và không có người dùng mới nào có thể đăng nhập vào diễn đàn của họ để orocos hút ngay bây giờ.

3

Nền tảng ưa thích của tôi là ROS. Tuy nhiên, có một ứng cử viên mạnh mẽ khác từ ... tôi dám nói là ... Microsoft. Nó được gọi là Studio Nhà phát triển Robotics (RDS). Bắt đầu tìm kiếm của bạn ở đây: http://www.microsoft.com/robotics/

Họ có nhiều video về các ứng dụng ấn tượng. Đối với tôi, lợi ích lớn nhất là sự hỗ trợ tích hợp cho Kinect thông qua SDK Kinect của Microsoft. Về mặt kỹ thuật, cái mà ROS sử dụng từ OpenNI có cùng khả năng nhưng có vẻ thoải mái khi biết SDK mà RDS sử dụng được viết bởi cùng một công ty sản xuất phần cứng.


2

Người chơi / Giai đoạn vẫn là một trong những dự án robot nguồn mở phổ biến nhất hiện có. Nó đã xuất hiện từ lâu và một số nhà phát triển của nó đã chuyển sang khởi động ROS, nhưng điều đó không làm mất đi tính hữu dụng của Berkeley. Thật vậy, cả ba thành phần chính, Trình phát (khung), Giai đoạn (trình giả lập 2D) và Gazebo (trình giả lập 3D), đã được tạo ra để tương thích với ROS .



1

OpenRTM

OpenRTM-aist được phát triển bởi Viện Khoa học và Công nghệ Công nghiệp Tiên tiến Quốc gia Nhật Bản, cũng góp phần định nghĩa về tiêu chuẩn RT-middleware.

Nó là một khung dựa trên thành phần nguồn mở, cung cấp các khả năng thời gian thực. Bên cạnh khuôn khổ, một số công cụ có sẵn:

  • RTC Builder: một công cụ để tạo mã khung xương. Nó được phóng trong môi trường phát triển nhật thực. OpenRTM-aist cũng hỗ trợ RTC-template là công cụ tạo mã bộ xương kiểu dòng lệnh.
  • RT System Editor: một chuỗi công cụ dựa trên Eclipse để thiết kế các thành phần và hệ thống dựa trên thành phần.
  • rtshell là một công cụ dòng lệnh cung cấp các dịch vụ sau
  • Trình gỡ lỗi RTC: một công cụ gỡ lỗi cho RTC. Trình gỡ lỗi RTC là một trình cắm thêm Eclipse.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.