로보틱스 미들웨어

Robotics middleware

로봇 미들웨어는 복잡한 로봇 제어 소프트웨어 시스템에 사용되는 미들웨어다.

"...하드웨어 미들웨어는 하드웨어와 애플리케이션의 복잡성과 이질성을 관리하고, 신기술의 통합을 촉진하며, 소프트웨어 설계를 단순화하고, 낮은 수준의 통신과 센서의 센서 이질성의 복잡성을 숨기고, 소프트웨어 품질을 개선하고, 멀티플에 걸쳐 로보틱 소프트웨어 인프라를 재사용하도록 설계되었다.연구 노력과 생산비 절감을 위한 노력"이라고 말했다.[1]

로봇 제작자가 특정 문제 영역에 더 쉽게 집중할 수 있도록 하기 위한 '소프트웨어 접착제'라고 표현할 수 있다.[2]

로봇 미들웨어 프로젝트

로봇 미들웨어를 위한 매우 다양한 프로젝트가 존재하지만, 이러한 프로젝트 중 어느 것도 지배적인 것은 없으며, 실제로 많은 로봇 시스템은 미들웨어를 사용하지 않는다.[3]미들웨어 제품은 그들의 사용과 상호작용을 어렵게 하는 광범위한 표준, 기술, 접근방식에 의존하고 있으며, 일부 개발자들은 그들의 시스템 자체를 통합하는 것을 선호할 수도 있다.[3]

플레이어 프로젝트

플레이어 프로젝트(구 플레이어/스테이지 프로젝트)는 로봇센서 시스템에 대한 연구를 위한 무료 소프트웨어를 만드는 프로젝트다.[4]그것의 구성요소는 Player 네트워크 서버와 스테이지 로봇 플랫폼 시뮬레이터를 포함한다.정확한 통계는 얻기 어렵지만 플레이어는 연구와 중등교육에서 가장 인기 있는 오픈소스 로봇 인터페이스 중 하나이다.[5]대부분의 주요 지능형 로봇 저널과 컨퍼런스는 정기적으로 플레이어와 스테이지를 이용한 실제와 시뮬레이션 로봇 실험을 담은 논문을 발표한다.

RT 미들웨어

RT-미들웨어는 분산 객체 기술을 기반으로 한 로봇의 공통 플랫폼 표준이다.[6]RT-미들웨어는 RT-Components라 불리는 다양한 네트워크 가능 로봇 요소들의 통합에 의해 다양한 네트워크로 연결된 로봇 시스템의 구축을 지원한다.RT 구성 요소의 규격 표준은 OMG(Object Management Group)에서 논의하고 정의한다.[7]

우르비

우르비는 로봇공학 및 복잡한 시스템용 응용프로그램을 개발하는 데 사용되는 C++의 오픈소스 크로스 플랫폼 소프트웨어 플랫폼이다.UObject 분산형 C++ 구성요소 아키텍처를 기반으로 한다.또한 병렬 및 이벤트 중심 스크립트 언어인 요추적 조정 언어를 포함한다.UObject 구성요소는 UObject 구성요소에 연결하여 상호 작용 및 데이터 교환을 지정하기 위해 스크립팅할 수 있는 네이티브 객체로 나타날 수 있다.UObjects는 irbiscript 해석기에 연결하거나, 다른 스레드, 다른 프로세스, 로컬 네트워크상의 기계 또는 원거리 네트워크의 기계에서 "원격" 모드에서 자율적인 프로세스로 실행될 수 있다.

미로

MiroCORBA(Common Object Request Broker Architecture) 기술을 기반으로 한 모바일 로봇 제어를 위한 분산 객체 지향 프레임워크다.미로 핵심 부품은 OS 독립적 상호 프로세스, 네트워크, 실시간 통신을 위한 객체 지향적 다중 플랫폼 프레임워크인 ACE(Adaptive Communications Environment)의 도움으로 개발되었다.이들은 고성능 및 실시간 애플리케이션을 위해 설계된 CORBA 구현인 OB(Object Request Broker)로 TAO(ACE OB)를 사용한다.현재 지원되는 플랫폼에는 개척자, B21, 일부 로봇 축구 로봇 및 다양한 로봇 센서가 있다.[8]

오르카

오르카는 그 목표를 다음과 같이 설명한다.

  • 일반적으로 사용되는 인터페이스 세트를 정의하여 소프트웨어 재사용 가능
  • 라이브러리에 높은 수준의 편리한 API를 제공하여 소프트웨어 재사용을 단순화한다.
  • 구성 요소의 저장소를 유지 관리하여 소프트웨어 재사용을 촉진한다.

그들은 또한 다음과 같이 말하고 있다: "성공하기 위해서, 우리는 그러한 목적을 가진 프레임워크가 일반적이고, 유연하며, 확장 가능하고, 상업적 응용에 사용할 수 있도록 충분히 견고하고, 고성능이며, 완전한 기능을 갖추어야 하지만, 대학 연구 환경에서의 실험에는 충분히 간단해야 한다고 생각한다."[9]

그들은 자신들의 접근법을 다음과 같이 설명한다.

  • 추가적인 구조적 제약 없이 구성요소 기반 소프트웨어 엔지니어링 접근 방식을 채택한다.
  • 통신 및 인터페이스 정의에 상용 오픈 소스 라이브러리 사용
  • 구성요소 개발을 단순화할 수 있는 도구를 제공하지만, 기본 통신 엔진 및 서비스에 대한 완전한 액세스를 유지하기 위해 엄밀히 선택적으로 만든다.
  • 교차 플랫폼 개발 도구[9] 사용

오르카 소프트웨어는 LGPL과 GPL 라이선스로 출시된다.

오픈RDK

OpenRDK는 느슨하게 연결된 모듈을 개발하기 위한 로봇공학용 오픈소스 소프트웨어 프레임워크다.투명한 동시성 관리, (소켓을 통한) 프로세스 간, (공유 메모리를 통한) 프로세스 간 통신, 입출력 데이터 포트 개념 시스템 설계가 가능한 링크 기법을 제공한다.시뮬레이터 및 일반 로봇 드라이버에 연결하기 위한 모듈이 제공된다.

(Robot Construction Kit)은 로봇 시스템 개발을 위한 소프트웨어 프레임워크다.기본 구성요소 모델은 오로코스 RTT(Real Time Toolkit)를 기반으로 한다.Rock은 연구와 산업의 다양한 응용 분야를 위한 고성능의 신뢰할 수 있는 로봇 시스템을 설치하고 운영하는 데 필요한 모든 도구를 제공한다.자체 시스템에서 사용할 수 있도록 준비된 드라이버와 모듈을 풍부하게 수집하여 포함하고 있으며, 새로운 구성요소를 추가하면 쉽게 확장할 수 있다.

아이작 SDK / 시뮬레이션

아이작, NVIDIA® 아이작 소프트웨어 개발 키트(SDK)는 인공지능(AI) 기반 로봇의 개발 및 배치를 가속화하는 개발자 도구상자다.SDK는 Isaac Robot Engine, 고성능 로봇 알고리즘(지각과 항법 수행), 하드웨어 참조 애플리케이션을 포함하고 있다.Isaac Sim은 가상의 로봇 연구실이며 3D 세계 시뮬레이터다.비용과 위험을 줄임으로써 로봇공학 분야의 연구, 설계, 개발을 가속화한다.개발자들은 매우 현실적이고 세부적인 시나리오에서 빠르고 쉽게 로봇을 훈련하고 테스트할 수 있다.GitHub에서 지원되는 하드웨어 플랫폼에 BOM 세부 정보가 포함된 오픈 소스 커뮤니티 버전이 제공됨, 참조 Kaya-robot

로즈

ROS(Robot Operating System)는 이기종 컴퓨터 클러스터로봇 소프트웨어 개발을 위한 소프트웨어 프레임워크 모음입니다.ROS는 하드웨어 추상화, 로우 레벨 기기 제어, 공통적으로 사용되는 기능 구현, 프로세스메시지 전달, 패키지 관리 등의 표준 운영 체제 서비스를 제공한다.

야프

YARP는 로봇의 센서, 프로세서, 액추에이터를 상호 연결하기 위해 C++로 작성된 오픈소스 소프트웨어 패키지다.

참고 항목

  • RoSta: 로봇 미들웨어와 아키텍처에 대한 보다 명확한 통찰력을 얻기 위해 로봇 사회에 손을 뻗치는 유럽의 프로젝트.
  • BRICs: 로봇 개발의 모범 사례를 확립하기 위한 유럽 프로젝트

참조

  1. ^ Elkady, Ayssam (29 January 2012). "Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography". Journal of Robotics. 2012: 1–15. doi:10.1155/2012/959013.
  2. ^ "What is Middleware?". Middleware.org. Defining Technology. 2008. Archived from the original on June 29, 2012. Retrieved 2013-08-11.{{cite web}}: CS1 maint : 부적합한 URL(링크)
  3. ^ a b "Tools, Standards, and Platforms for Commercial Robotics Development: An Adoption Profile". roboticsbusinessreview.com. October 2009. Retrieved 8 May 2017.
  4. ^ Gerkey, B, Vaughan, R, Howard, A.(2003) The Player/Stage Project:멀티 로봇 및 분산 센서 시스템용 도구.첨단로봇 국제회의 317-323
  5. ^ 콜렛, T. H. J., 맥도날드, B. A. 그리고 게키, B. (2005) 플레이어 2.0: 실용적인 로봇 프로그래밍 프레임워크를 향하여.오스트레일리아 로봇 자동화 회의(ACRA)의 개최 절차
  6. ^ 안도 노리아키, 수히로 타카시, 기타가키 고세이, 코토쿠 데쓰오, 윤우근, "RT-미들웨어:RT(Robot Technology), 2005 IEEE/RSJ 지능형 로봇 및 시스템에 관한 국제 컨퍼런스(IROS2005), 페이지 3555-3560, 2005.08, 캐나다 에드먼턴
  7. ^ Robotics Technology Component Specification 버전 1.0, OMG(Object Management Group)
  8. ^ Enderle, Stefan; Utz, Hans; Sablatnög, Stefan; Simon, Steffen; Kraetzschmar, Gerhard; Palm, Günther (2001), "Miro: Middleware for Autonomous Mobile Robots", IFAC Proceedings Volumes, 34 (9): 297–302, doi:10.1016/S1474-6670(17)41721-6
  9. ^ a b "Orca Overview". Retrieved 7 May 2017.