어떤 좋은 로봇 공학 소프트웨어 플랫폼 / 운영 체제가 있습니까? [닫은]


19

우리 회사는 곧 새로운 로보틱스 프로젝트를 시작할 것이며, 로보틱스 소프트웨어 플랫폼을 처음부터 설계하고 코딩해야하는지 또는 기존 플랫폼이 좋은지 결정하려고 노력하고 있습니다.

우리의 로봇 시스템이 일반적으로 다른 시스템과 호환 가능하고 사람들이 이미 익숙해 지도록 학계와 산업계에서 공통적으로 사용되는 소프트웨어 플랫폼이 있다면 매우 유용합니다.

소프트웨어 플랫폼이 다음을 수행 할 수 있기를 바랍니다.

  • 새로운 로봇 하드웨어 구성 요소를 쉽게 통합합니다.
  • 다양한 유용한 데이터 처리 및 시각화 도구가 이미 포함되어 있습니다.
  • 컴퓨팅 하드웨어를 효율적으로 사용

5
이것은 주관적인 설문 조사 질문이 아닙니까? 이는 StackExchange의 정신에 위배됩니다. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
그러나이 StackExchange의 품질을 만들 수 있습니다. 우리는 대답하고 배울 수있는 고품질의 객관적인 질문의 선례를 설정해야합니다.
Chris Mansley

2
나는 당신에 동의하지만 1) 이것은 정의에서 가장 많이 투표 된 질문이며, 2) 그러한 질문 중 일부는 사이트를 해치지 않습니다 ( 예를 들어 전자 제품 을 보십시오 ). 3) 이러한 질문은 많은 사용자에게 진정 유용한 답변을 제공합니다.
Rocketmagnet

4
우리가 이것을 설득 시키려면 최소한 커뮤니티 위키가되어야하며, 이상적으로는 모든 최고의 설명이 담긴 단일 커뮤니티 위키 답변이 있어야합니다. 이것은 다른 옵션을 설명하거나 동일한 옵션에 대한 다른 설명 / 의견을 제공하는 많은 답변보다 낫습니다.
Mark Booth

5
설문 조사 질문은 실제로 볼만한 곳을 알아내는 데 많은 시간을 절약 할 수 있기 때문에 실제로는 훌륭하다고 생각합니다. 인터넷 검색은 많은 경우에 인기있는 선택조차 모두 찾지 못할 것입니다. 커뮤니티 위키 답변으로 만드는 것이 좋은 결과라고 생각합니다.
Jon Watte

답변:


20

ROS 는 산업 및 연구 로봇 공학의 새로운 표준으로 빠르게 자리 잡고 있습니다. 내가 아는 대부분의 연구 그룹은 자신의 작업에 ROS를 채택한 다음 결과를 공개적으로 활용하여 모든 사람들이 사용하고 개선 할 수 있도록합니다. Willow Garage는 ROS를 중심으로하는 하드웨어 및 소프트웨어 플랫폼 제품군을 개발하고 있습니다. ROS는 검색을 시작하기에 좋은 장소입니다.


참고 : ROS 대부분의 운영 체제에서 작동 할 수 있지만 Linux의 Ubuntu 배포판에서 작동하도록 가장 철저하게 테스트되었습니다.
giogadi

1
또한 ROS 소개 페이지 는 ROS 플랫폼의 핵심 전제와 이상을 다루는 환상적인 작업 이라고 생각합니다 . 개발자의 관점에서 ROS 플랫폼은 기존 라이브러리 (드라이버 등) 주위의 매우 "얇은"래퍼로 사용되어 더 큰 ROS 에코 시스템에 빠르게 액세스 할 수 있습니다.
mjcarroll

5

로봇 구성 키트 는 ROS의 대안입니다. 복잡한 시스템의 모델 중심 엔지니어링 및 설계 / 관리를 지향합니다. 또한 "바위에 단단히 의존하지 않는"쪽으로 나아가고 있습니다. Rock의 알고리즘 / 드라이버는 대부분 구성 요소 계층과 무관합니다. 참조Rock과 ROS의 차이점에 대한 간략한 요약은 이 페이지 를 .

이전 답변에서 알 수 있듯이 ROS는 주로 얇은 통신 라이브러리로 사용됩니다. Rock의 컴포넌트 레이어는 더 두껍기 때문에 복잡한 시스템으로 확장하는 데 필요한 도구를 제공합니다.

당신이 이해해야 할 것은 이것입니다. 오늘날과 같이 볼만한 가치가있는 유일한 오픈 소스 로봇 소프트웨어는 프레임 워크 독립적입니다 (OpenCV, PCL, OpenRave, Gazebo, ...). Willow Garage조차도 마침내 이것을 이해했습니다. 따라서 모든 프레임 워크에서 최소한의 작업으로 통합 될 수 있습니다.

지금 : 최선의 선택은 당신의 목표에 달려 있습니다. 하드웨어 판매가 원하는 경우 ROS 노드에 통합 된 우수한 드라이버 라이브러리를 사용 하는 것이 더 나을지라도 ROS 노드를 사용하는 것이 가장 좋습니다.


이 답변에 덧붙여 Rock은 다른 답변에 나열된 Orocos를 기반으로하므로이를 기반으로 한 시스템의 실시간 기능을 훨씬 쉽게 만듭니다.
Jakob

5

오로 코스

2001 년부터 개발중인 로봇 공학 분야에서 가장 오래된 오픈 소스 프레임 워크 중 하나이며 2005 년 무렵부터이를 사용하는 전문 산업 응용 프로그램 및 제품을 보유하고 있습니다. C ++로 구현 된 RTT (Real-Time Toolkit)라고하며 통신 미들웨어 및 운영 체제와 가능한 한 독립적입니다.

@BarretAmes가 말했듯이 Orocos와 다른 소프트웨어 프레임 워크가 함께 작동하는 하이브리드 시스템을 구현할 수있는 통합이 있습니다.

  • ROS 및 Orocos 통합을위한 ROS Orocos 통합
  • Java 및 ROS 통합을위한 JOrocos

Orocos를 다른 프레임 워크와 페어링하는 방법도 있습니다. 예를 들어, ROS를 Orocos와 함께 활용합니다.
Barrett Ames

1
그냥 주위에 도구 및 라이브러리를 많이 추가 - 참고로, 락의 구성 요소 구현으로 Orocos / RTT를 사용
sylvain.joyeux

orocos는 좋을지 모르지만 이제는 공식 웹 사이트 및 포럼에서 더 이상 아무것도 업데이트하지 않으며 새로운 사용자가 자신의 포럼에 로그인 할 수 없으므로 orocos는 지금 짜증납니다.

3

내가 선호하는 플랫폼은 ROS입니다. 그러나 또 다른 강력한 경쟁자가 있습니다 ... 감히 ... 마이크로 소프트. 이를 Robotics Developer Studio (RDS)라고합니다. 여기에서 검색을 시작하십시오. http://www.microsoft.com/robotics/

그들은 인상적인 응용 프로그램에 대한 많은 비디오를 가지고 있습니다. 나에게 가장 큰 장점은 Microsoft의 Kinect SDK를 통해 Kinect를 기본적으로 지원한다는 것입니다. 기술적으로 ROS가 OpenNI에서 사용하는 것과 동일한 기능을 가지고 있지만 RDS가 사용하는 SDK가 하드웨어를 생산 한 동일한 회사에서 작성했다는 것을 알면 편안해 보입니다.


2

Player / Stage 는 여전히 가장 인기있는 오픈 소스 로봇 프로젝트 중 하나입니다. 오랫동안 사용되어 왔으며 일부 개발자는 ROS를 시작했지만 플레이어의 유용성을 떨어 뜨리지 않습니다. 실제로 Player (프레임 워크), Stage (2D 시뮬레이터) 및 Gazebo (3D 시뮬레이터)의 세 가지 주요 구성 요소 는 ROS와 다소 호환 되도록 만들어졌습니다 .



1

OpenRTM

OpenRTM-aist는 RT- 미들웨어 표준의 정의에 기여하는 일본 첨단 산업 과학 기술 연구소에서 개발했습니다.

실시간 기능을 제공하는 오픈 소스 구성 요소 기반 프레임 워크입니다. 프레임 워크 외에도 몇 가지 도구를 사용할 수 있습니다.

  • RTC Builder : 스켈레톤 코드 생성 도구입니다. 그것은 일식 개발 환경에서 시작됩니다. OpenRTM-aist는 명령 행 유형의 스켈레톤 코드 생성 도구 인 RTC- 템플릿도 지원합니다.
  • RT System Editor : 컴포넌트 및 컴포넌트 기반 시스템 설계를위한 Eclipse 기반 툴체인.
  • rtshell은 다음과 같은 서비스를 제공하는 명령 줄 도구입니다
  • RTC 디버거 : RTC를위한 디버깅 도구입니다. RTC 디버거는 Eclipse 플러그인입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.