로봇 운영체제
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
로봇 운영체제(ROS)는 로봇 개발을 위한 유연한 소프트웨어 프레임워크이다. 2007년 스탠퍼드 대학교에서 시작되어 윌로우 개러지를 거쳐 오픈 로보틱스로 발전했다. ROS는 노드, 토픽, 서비스, 파라미터 서버 등의 디자인 요소와 계산 그래프 모델을 기반으로 하며, 3D 시각화 도구인 RViz, 동작 계획 라이브러리인 MoveIt! 등의 도구를 제공한다. ROS는 다양한 패키지를 통해 로봇의 매핑, 내비게이션, 조작, 지각, 시뮬레이션 등의 기능을 지원하며, ROS 1과 ROS 2의 두 가지 주요 버전이 존재한다. ROS는 학술 연구, 산업 현장, 교육 분야에서 널리 활용되고 있으며, 자율주행차, 휴머노이드, 산업용 로봇 등 다양한 로봇에 적용된다. 한국에서도 현대자동차, LG전자, 두산로보틱스 등 다양한 기업에서 ROS를 활용하며, 활발한 커뮤니티 활동과 ROSCon 개최를 통해 로봇 기술 발전에 기여하고 있다.
더 읽어볼만한 페이지
- 로봇 운영체제 - VxWorks
VxWorks는 윈드리버 시스템즈에서 개발한 실시간 운영체제로, VRTX를 개선하여 파일 시스템, 통합 개발 환경 등을 추가하며 발전해왔고, 다양한 프로세서 지원, 네트워킹 스택, 멀티프로세싱 지원, IoT 기능 추가 등 꾸준한 발전을 거듭하여 임베디드 시스템에 활용되고 있다. - 2007년 소프트웨어 - 윈도우 비스타
윈도우 비스타는 2007년 1월 30일에 출시된 마이크로소프트의 운영 체제이며, 윈도우 XP의 후속작으로 윈도우 에어로, 빠른 검색, 보안 강화 등을 특징으로 한다. - 2007년 소프트웨어 - 맥 OS X 레퍼드
맥 OS X 레퍼드는 2007년에 출시된 애플의 운영 체제로, Time Machine, Spaces 등의 주요 기능을 제공하며 사용자 인터페이스와 개발자 기술 측면에서 다양한 개선을 이루었다. - 자유 소프트웨어 운영체제 - MS-DOS
MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다. - 자유 소프트웨어 운영체제 - CP/M
CP/M은 게리 킬달이 개발한 8비트 마이크로컴퓨터용 운영체제로, 플로피 디스크 기반의 다양한 하드웨어 플랫폼에서 작동하며, 뛰어난 이식성과 방대한 소프트웨어 라이브러리를 바탕으로 1980년대 초반 널리 사용되었으나, MS-DOS의 부상으로 시장 점유율을 잃었지만 MS-DOS와 초기 윈도우 운영체제에 영향을 미쳤다.
로봇 운영체제 - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
장르 | 로봇 공학 스위트 OS 라이브러리 |
라이선스 | 아파치 2.0 |
웹사이트 | www.ros.org |
저장소 | https://github.com/ros2/ros2 |
프로그래밍 언어 | C++ 파이썬 Lisp |
개발 | |
개발자 | 윌로우 개러지 스탠포드 인공지능 연구소 Open Robotics |
출시일 | 2007년 |
최신 버전 | Iron Irwini |
최신 버전 출시일 | 2023년 5월 23일 |
최신 미리보기 버전 | Jazzy Jalisco (ROS 2) |
운영체제 | 리눅스 macOS (실험적) Windows 10 (실험적) |
2. 역사
ROS의 기원은 스탠퍼드 대학교 인공지능 연구소의 Stanford AI Robot (STAIR) 프로젝트에서 모건 퀴글리가 개발한 "스위치야드"(Switchyard) 시스템이다.[21][22][23][24] 스위치야드는 로봇용 소프트웨어 개발 프레임워크로, 인식, 계획, 제어 등 지능 정보 처리를 로봇 내부 및 외부에서 분산 처리할 수 있도록 피어 투 피어 네트워크에서 비동기 통신을 하는 병렬 계산을 전제로 설계되었다.
2007년, 윌로우 개러지(Willow Garage)는 PR2 로봇 개발을 시작하면서 이를 구동하기 위한 소프트웨어로 ROS를 개발했다. 20개 이상의 기관들이 ROS에 기여했는데, 핵심 소프트웨어뿐만 아니라 ROS와 함께 작동하여 더 큰 소프트웨어 생태계를 형성하는 수많은 패키지에도 기여했다.[27][28] 윌로우 개러지는 학계 연구와 기술 스타트업의 기반이 될 오픈 소스 로봇 공학 스택으로서 PR2를 학술 연구 플랫폼으로, ROS를 오픈 소스 로봇 공학 스택으로 생산하는 데 집중했다.
2008년 12월, 윌로우 개러지는 PR2가 2일 동안 파이 킬로미터 거리를 지속적으로 탐색하는 첫 번째 목표를 달성했고,[29] 곧이어 ROS의 초기 버전(0.4 Mango Tango)이 출시되었으며,[30] 2010년 1월에는 ROS 1.0이 출시되었다.[34] 이후 윌로우 개러지는 10대의 PR2 로봇을 여러 학술 기관에 기증했다.[35] 2010년 3월 2일, ROS의 첫 번째 공식 배포판인 ROS Box Turtle이 출시되었다.
2012년 4월, 윌로우 개러지는 오픈 로보틱스 재단(Open Robotics |Open Source Robotics Foundation)(OSRF)을 설립했고,[44] 2013년 8월, 수테이블 테크놀로지스(Suitable Technologies)에 흡수되었다.[51]
OSRF가 ROS의 주요 개발을 맡은 후, ROS에 대한 관심은 꾸준히 증가했으며 매년 새로운 버전이 출시되었다.[52] 2012년부터 매년 ROSCon이 개최되었으며, 여러 국가에서 ROS 개발자 모임이 조직되었고,[54][55][56] 다수의 ROS 관련 서적이 출판되었으며,[57] 많은 교육 프로그램이 시작되었다.[58][59] 2014년 9월 1일, NASA는 우주에서 ROS를 실행하는 최초의 로봇인 로보넛 2를 국제 우주 정거장에서 발표했다.[60]
2017년, OSRF는 오픈 로보틱스로 이름을 변경했다. 아마존, 마이크로소프트와 같은 기술 대기업들이 ROS에 관심을 보이기 시작했다. 마이크로소프트는 2018년 9월에 핵심 ROS를 윈도우로 포팅했고,[61] 아마존 웹 서비스는 2018년 11월에 RoboMaker를 출시했다.[62]
OSRF/오픈 로보틱스 시대의 가장 중요한 발전은 ROS 2의 제안이다.[63] ROS 2는 실시간 컴퓨팅을 지원하고 더 다양한 컴퓨팅 환경과 최신 기술을 지원하기 위해 ROS의 주요 API를 변경한 것이다. ROS 2는 ROSCon 2014에서 발표되었고,[64] 2015년 8월에 알파 릴리스가 이루어졌으며,[65] ROS 2의 첫 번째 배포 릴리스인 Ardent Apalone은 2017년 12월 8일에 출시되었다.[65]
2. 1. 초기 스탠포드 시절 (2007년 이전)
스탠포드 대학교 케네스 샐즈버리[19] 로봇 공학 연구실의 박사 과정 학생인 에릭 버거와 키난 와이로벡은 개인 로봇 프로그램(Personal Robotics Program)을 이끌었다.[20] 이들은 인간 환경에서 조작 작업을 수행하는 로봇을 개발하면서, 많은 동료들이 로봇 공학의 다양한 특성으로 인해 어려움을 겪는다는 것을 알게 되었다. 예를 들어, 훌륭한 소프트웨어 개발자는 필요한 하드웨어 지식이 없을 수 있고, 최첨단 경로 계획을 개발하는 사람은 컴퓨터 비전을 수행하는 방법을 모를 수 있었다. 이러한 상황을 해결하기 위해 에릭 버거와 키난 와이로벡은 학계의 다른 사람들이 기반으로 삼을 수 있는 기본 시스템을 만들기로 결정했다. 에릭 버거는 이를 "모든 면에서 엉망이 아닌 것"이라고 표현했다.[17]이 통합 시스템을 만들기 위한 첫 단계로, 두 사람은 하드웨어 프로토타입으로 PR1을 제작했다. 또한, 다른 초기 오픈 소스 로봇 소프트웨어 프레임워크, 특히 스탠포드 박사 과정 학생인 모건 퀴글리가 스탠포드 인공지능 연구소의 스탠포드 인공 지능 로봇(STAIR)[21][22][23][24]을 지원하기 위해 작업해 온 시스템인 스위치야드(switchyard)에서 최상의 관행을 차용하여 소프트웨어를 개발하기 시작했다. 조안나 호프만과 알랭 로스만은 5만달러의 초기 자금을 지원하여 PR1 개발을 도왔다.[25]
ROS의 기원은 스탠퍼드 대학교 인공지능 연구소의 Stanford AI Robot(STAIR) 프로젝트에 참여했던 모건 퀴글리가 개발한 "스위치야드"(Switchyard) 시스템이다. 스위치야드는 로봇용 소프트웨어 개발 프레임워크로, 인식, 계획, 제어 등 지능 정보 처리를 로봇 내부 및 외부에서 분산 처리할 수 있도록 병렬 계산을 전제로 했다. 각 계산 프로세스는 피어 투 피어 네트워크에서 비동기 통신을 하도록 설계되었다.
2. 2. 윌로우 개러지 (2007–2013)
윌로우 개러지(Willow Garage)는 PR2 로봇 개발을 시작했으며, 이를 구동하기 위한 소프트웨어로 ROS를 개발했다. 20개 이상의 기관들이 ROS에 기여했는데, 핵심 소프트웨어뿐만 아니라 ROS와 함께 작동하여 더 큰 소프트웨어 생태계를 형성하는 수많은 패키지에도 기여했다.[27][28] 윌로우 개러지 외부의 사람들(특히 스탠포드 대학교의 STAIR 프로젝트)이 ROS에 기여했다는 사실은 ROS가 처음부터 다중 로봇 플랫폼이었음을 의미한다. 윌로우 개러지는 LAMP 스택이 웹 기반 스타트업을 위해 했던 것처럼, 학계 연구와 기술 스타트업의 기반이 될 오픈 소스 로봇 공학 스택으로서 PR2를 학술 연구 플랫폼으로, ROS를 오픈 소스 로봇 공학 스택으로 생산하는 데 중점을 둔 개인 로봇 프로그램에 집중하기 위해 다른 프로젝트들을 폐기했다.2008년 12월, 윌로우 개러지는 PR2가 2일 동안 파이 킬로미터 거리를 지속적으로 탐색하는 첫 번째 목표를 달성했다.[29] 곧이어 ROS의 초기 버전(0.4 Mango Tango)[30]가 출시되었고, 그 뒤를 이어 첫 번째 RVIZ 문서와 ROS에 관한 첫 번째 논문이 발표되었다.[28] 2010년 1월에는 ROS 1.0이 출시되었다.[34]
이후 윌로우 개러지는 10대의 PR2 로봇을 가치 있는 학술 기관에 기증했다. 프라이부르크 대학교(독일), 로버트 보쉬(Robert Bosch GmbH), 조지아 공과대학교, 루뱅 가톨릭 대학교(KU Leuven)(벨기에), 매사추세츠 공과대학교(MIT), 스탠포드 대학교, 뮌헨 공과대학교(독일), 캘리포니아 대학교 버클리, 펜실베이니아 대학교, 서던캘리포니아 대학교(USC), 도쿄 대학교(일본)를 포함한 여러 기관에 11대의 PR2를 수여했다.[35]
2010년 3월 2일, ROS의 첫 번째 공식 배포판인 ROS Box Turtle이 출시되었으며, 이는 ROS가 공식적으로 공공 사용을 위해 버전 관리된 패키지 세트와 함께 배포된 첫 번째 사례였다. 이러한 개발은 ROS를 실행하는 첫 번째 드론,[37] ROS를 실행하는 첫 번째 자율 주행 자동차,[38] 및 레고 마인드스톰에 ROS를 적용하는 결과를 낳았다.[39]
2012년 4월, 윌로우 개러지는 오픈 로보틱스 재단(Open Robotics |Open Source Robotics Foundation)(OSRF)[44]를 설립했다.
2013년 8월, 윌로우 개러지는 수테이블 테크놀로지스(Suitable Technologies)에 흡수되었다.[51]
2. 3. 오픈 로보틱스와 OSRF (2013–현재)
OSRF가 ROS의 주요 개발을 맡은 후, ROS에 대한 관심은 꾸준히 증가했으며 매년 새로운 버전이 출시되었다.[52] 2012년부터 매년 ROSCon이 개최되었으며, 이는 로봇 분야의 주요 학술대회인 ICRA 또는 IROS와 함께 개최되었다. 여러 국가에서 ROS 개발자 모임이 조직되었고,[54][55][56] 다수의 ROS 관련 서적이 출판되었으며,[57] 많은 교육 프로그램이 시작되었다.[58][59] 2014년 9월 1일, NASA는 우주에서 ROS를 실행하는 최초의 로봇인 로보넛 2를 국제 우주 정거장에서 발표했다.[60]2017년, OSRF는 오픈 로보틱스로 이름을 변경했다. 이 시기에 아마존, 마이크로소프트와 같은 기술 대기업들이 ROS에 관심을 보이기 시작했다. 마이크로소프트는 2018년 9월에 핵심 ROS를 윈도우로 포팅했고,[61] 아마존 웹 서비스는 2018년 11월에 RoboMaker를 출시했다.[62]
OSRF/오픈 로보틱스 시대의 가장 중요한 발전은 ROS 2의 제안이다.[63] ROS 2는 실시간 컴퓨팅을 지원하고 더 다양한 컴퓨팅 환경과 최신 기술을 지원하기 위해 ROS의 주요 API를 변경한 것이다. ROS 2는 ROSCon 2014에서 발표되었고,[64] 2015년 8월에 알파 릴리스가 이루어졌다.[65] ROS 2의 첫 번째 배포 릴리스인 Ardent Apalone은 2017년 12월 8일에 출시되었다.[65]
3. 디자인
ROS는 서구 학술 분야를 중심으로 주목을 받아 다른 로봇용 프레임워크에 비해 빠르게 사용자 수를 늘렸다. 서비스 로봇을 대상으로 개발이 시작되었지만, 산업용 로봇에도 이용하려는 움직임이 나타났다。
아이로봇(iRobot)사의 CEO 콜린 앵글은 로봇의 주요 소프트웨어를 오픈 소스화하는 ROS의 접근 방식은 지금까지 구축해 온 중요한 지적 재산권에 다른 나라가 편승하는 것을 허용한다고 지적했다[149]。 그는 로봇 산업에 ROS는 위험한 존재이고 사업 수익화에 유해하다고 비판하며, 즉시 ROS를 독점 소프트웨어로 전환해야 한다고 주장했다。
워싱턴 대학교(워싱턴 주) 연구 그룹은 ROS를 사용한 수술 로봇 연구 플랫폼 "Raven-II"를 개발하여 다른 대학 연구자들도 이용하기 시작했다[150]。 인튜이티브 서지컬(Intuitive Surgical) 사가 개발한 수술 로봇 다빈치의 특허와 관련하여 법률상 문제가 지적되었다[151]。
위로우 개러지 측은 로봇 공학 분야에도 웹 개발에서의 LAMP와 같은 기반이 필요하며, 그것이 ROS라고 주장했다。 또한 아파치 소프트웨어 재단(Apache Software Foundation)과 같은 비영리 단체 설립을 검토하고 있다고 밝혔다。
3. 1. 철학

ROS는 사용자가 로봇과 응용 분야에 맞게 소프트웨어 스택을 변경할 수 있도록, ROS의 핵심과 상호 작용하는 도구 및 라이브러리의 구성을 선택할 수 있도록 하는 것을 목표로 오픈 소스로 설계되었다. 따라서 프로그램이 존재하고 통신해야 하는 일반적인 구조 외에는 ROS의 핵심적인 요소가 거의 없다. 어떤 의미에서 ROS는 노드와 메시지 전달 뒤에 있는 기본적인 배관이다.[142] 그러나 실제로는 ROS는 단순한 배관일 뿐만 아니라 풍부하고 성숙한 도구 세트, 패키지를 통해 제공되는 광범위한 로봇 독립적 기능 세트, 그리고 ROS에 대한 더 큰 생태계를 포함한다.
ROS의 목표는 로봇 소프트웨어 개발에서의 협업을 전 세계적으로 추진하는 것이다.[142] 특히 로봇 연구·개발에 사용되는 소스 코드의 재사용성을 최대화하는 것을 목표로 개발되었다.[142]
ROS는 하드웨어 추상화, 저수준의 장치 제어, 범용적인 기능의 구현, 프로세스 간 메시지 통신, 패키지 관리 등을 수행하는 것 외에, 복수의 컴퓨터에 걸쳐 프로그램의 취득・개발・실행 등을 수행하기 위한 툴 및 라이브러리를 제공한다.
ROS는 Robot Operating System의 약자이지만, 이 단어만으로는 ROS의 실체를 정확하게 파악하기 어렵다는 지적도 있다. ROS의 정보 발신에서의 중심 사이트인 "ROS Wiki"에서는 ROS를 "메타 운영체제" (meta-operating system) 라고 부르고 있다.[143] ROS 프로젝트의 중심 인물인 브라이언 게르키(Brian Gerkey)는 ROS란 무엇인가라는 질문에 대해 "'''ROS = plumbing(통신)+ tools(툴군)+ capabilities(기능군)+ ecosystem(에코시스템)'''"이라고 답하며, 다음과 같이 해설하고 있다.[144]
- '''plumbing(통신):''' ROS는 신속하고 용이하게 분산 컴퓨팅 시스템을 구축할 수 있도록 설계된, 발행-구독형의 메시지 통신 기반을 제공한다.
- '''tools(툴군):''' ROS는 분산 컴퓨팅 시스템의 설정・기동・감시・디버깅・가시화・로그 취득・테스트・정지를 수행하는 광범위한 툴을 제공한다.
- '''capabilities(기능군):''' ROS는 이동・매니퓰레이션・지각과 같은 기능을 로봇에 구현하는 다양한 라이브러리군을 제공한다.
- '''ecosystem(에코시스템):''' ROS는 통합과 문서화에 중점을 두고, 대규모 커뮤니티에 의해 지원되며 발전하고 있다. ROS의 커뮤니티 사이트인 ros.org는 전 세계 개발자로부터 제공된 방대한 ROS 패키지(#ROSパッケージ 참조)를 취득하고 학습할 수 있는 원스톱 서비스이다.
plumbing은 소위 미들웨어의 통신 라이브러리 기능에 상당하며, capabilities는 지능 로봇의 라이브러리 모듈에 상당한다.
ROS는 서구 학술 분야를 중심으로 주목을 받아 다른 로봇용 프레임워크에 비해 빠르게 사용자 수를 늘렸다. 서비스 로봇을 대상으로 개발이 시작된 ROS이지만 산업용 로봇에 이용하려는 움직임도 나타났다. ROS-Industrial 프로젝트가 시작되어 2012년 1월에는 ROS-Industorial의 공개 저장소가 개설되었다.
한편, 아이로봇(iRobot)사의 CEO인 콜린 앵글(Colin Angle)은 로봇의 주요 소프트웨어를 오픈화하는 ROS의 접근 방식은 지금까지 구축해 온 중요한 지적 재산권에 다른 나라가 편승하는 것을 허용해 버린다고 지적했다.[149] 그는 로봇 산업에게 ROS는 위험한 존재이고 사업의 수익화에 유해하다고 비판하며, 지금 즉시 ROS를 독점 소프트웨어로 해야 한다고 주장했다.
같은 시기, 워싱턴 대학교(워싱턴 주)의 연구 그룹이 소프트웨어에 ROS를 사용한 수술 로봇 연구 플랫폼 "Raven-II"를 개발하여 다른 대학의 연구자들의 이용도 시작되었다.[150] 이에 대해 인튜이티브 서지컬(Intuitive Surgical) 사가 개발한 수술 로봇 다빈치의 특허와 관련하여 법률상의 문제가 지적되었다.[151]
위로우 개러지 측은 로보틱스 분야에서도 웹 개발에서의 LAMP와 같은 기반이 필요하며, 그것이 ROS라고 주장했다. 또한 동사는 아파치 소프트웨어 재단(Apache Software Foundation)과 같은 비영리 단체의 설립을 검토하고 있다고 표명했다. 이 비영리 단체는 기부를 모아 개발자 커뮤니티를 조직하고 독립적으로 ROS의 관리・유지를 하려는 의도였다.
2012년 4월, Willow Garage사에서 ROS 프로젝트가 분사되어 비영리 단체인 오픈 소스 로봇 재단(Open Source Robotics Foundation; OSRF)이 설립되었다. OSRF의 핵심 임무는 "로봇 연구, 교육, 제품 개발에 오픈 소스 소프트웨어를 사용하기 위한 개발, 배포, 도입 지원"으로 정의되었다. 2013년 2월, Willow Garage사는 오픈 소스 로봇 연구 개발을 주도하는 역할을 OSRF로 완전히 이관한다고 발표했다.
같은 해 9월에는 ROS의 개발 및 관리를 OSRF가 인수한 후 첫 번째 배포판인 "Hydro Medusa"가 출시되었다. 지금까지 1년에 두 번의 배포판이 출시되었으나, Hydro Medusa 이후에는 잦은 업데이트를 원하지 않는 사용자의 의견을 반영하여 1년에 한 번의 공식 릴리스로 변경되었다. 이 기간 동안 2012년 5월에는 ROS 커뮤니티의 교류와 정보 공유를 촉진하기 위한 첫 번째 개발자 회의 "ROSCon"이 미국 미네소타주 세인트폴에서 개최되었으며, 이후 개최지를 변경하며 매년 개최되고 있다.
ROS의 활용 범위는 학술 분야를 넘어 제조, 농업, 상업 분야 등으로 확대되었으며, ROS를 탑재한 로봇이 제품화되어 시장에 투입되기에 이르렀다. ROS는 원래 학술 분야에서의 연구 이용을 주된 목적으로 개발되었기 때문에 이러한 새로운 이용 분야의 요구에 맞지 않는 부분이 눈에 띄게 되었다. 또한, 2007년 ROS 출시 이후 ROS의 요구 사항에 적합한 신기술과 소프트웨어 라이브러리 등의 개발 및 보급도 진행되었다. ROS 개발자들은 ROS의 더 나은 발전을 위해 새로운 요구 사항에 대응하거나 신기술을 도입하는 방법을 검토했다. 그 결과, 기존 ROS를 문제없이 사용하고 있는 사용자에게 미치는 영향을 최소화하면서 ROS의 진화를 도모하기 위해 차세대 버전은 기존 ROS와 분리하여 개발하기로 결정했다. 차세대 버전은 "'''ROS 2'''"로 명명되었으며, 2015년 8월부터 알파 버전의 릴리스가 시작되었고, 2016년부터 베타 버전이 단계적으로 릴리스되었다. 그리고 2017년 12월 8일, ROS 2의 첫 번째 정식 버전 "Ardent Apalone"이 출시되었고, 2018년 7월 2일에는 업데이트 버전인 "Bouncy Bolson"이 릴리스되었다.
이 기간 동안 2017년 5월에 OSRF는 명칭을 "오픈 로보틱스"(Open Robotics)로 변경했다.
3. 2. 계산 그래프 모델
ROS는 노드라고 불리는 프로세스들이 토픽이라는 엣지(edge)로 연결된 그래프 구조로 표현된다.[66] 각 노드는 독립적으로 실행되며, 서로 메시지를 전달하거나 서비스를 호출하고, 파라미터 서버라는 공유 데이터베이스를 통해 데이터를 주고받는다.이러한 모든 과정을 가능하게 하는 것은 ROS 마스터[66]라는 프로세스이다. ROS 마스터는 모든 노드를 자체에 등록하고, 노드 간 통신을 설정하며, 파라미터 서버 업데이트를 제어한다. 메시지와 서비스 호출은 마스터를 거치지 않고, 노드 간 피어 투 피어(P2P) 통신으로 이루어진다.
이러한 분산 아키텍처는 네트워크로 연결된 여러 컴퓨터로 구성된 로봇에 적합하며, 대규모 컴퓨팅이나 명령을 위해 외부 컴퓨터와 통신할 수 있도록 한다. ROS 시스템을 실행하려면 ROS 네트워크를 구축하는 호스트에서 마스터를 하나 실행해야 한다. 마스터는 하나의 ROS 네트워크를 구축, 관리하며, 동일 네트워크 내에서는 여러 개의 마스터를 실행할 수 없다.[156] 다른 네트워크 간 노드 접속이 필요한 경우에는 별도의 통신 체계를 구축해야 한다.
3. 2. 1. 노드
노드는 ROS 그래프를 실행하는 하나의 프로세스를 나타낸다. 모든 노드는 이름을 가지며, 다른 작업을 수행하기 전에 ROS 마스터에 해당 이름을 등록해야 한다. 서로 다른 이름을 가진 여러 노드는 서로 다른 네임스페이스에 존재할 수 있으며, 노드를 익명으로 정의할 수도 있다. 이 경우 주어진 이름에 추가할 식별자를 임의로 생성한다. 노드는 ROS 프로그래밍의 중심이며, 대부분의 ROS 클라이언트 코드는 다른 노드로부터 받은 정보를 기반으로 작업을 수행하거나, 다른 노드로 정보를 보내거나, 다른 노드로부터 작업 요청을 주고받는 ROS 노드 형태를 취한다.ROS는 이러한 연산을 "노드"라고 불리는 비교적 작은 프로그램으로 세분화하여 구현한다.[156] 노드는 실행 가능한 하나의 프로그램이며, ROS에서 처리 기능의 기본 단위이다.[157][156] 센서 드라이버, 장애물 회피, 모터 구동, 네비게이션 등 목적에 따라 노드를 생성한다.[156] 각 노드는 독립적으로 병렬로 동작하며, 동일 호스트에서 모두 실행하거나, 여러 호스트에 분산하여 실행하는 것도 가능하다.[158][159]
3. 2. 2. 토픽
ROS의 토픽은 메시지 전달의 일종으로, 노드 간 데이터를 주고받는 버스 역할을 한다.[67] 메시지를 보내는 쪽은 퍼블리셔(publisher; 배포자), 받는 쪽은 서브스크라이버(subscriber; 구독자)라고 부른다.퍼블리셔와 서브스크라이버는 노드 시작 시 마스터에 각각 필요한 정보를 등록한다. 마스터는 서브스크라이버에게 퍼블리셔의 주소를 알려주고, 서브스크라이버는 이 주소를 통해 퍼블리셔에 접속하여 메시지를 받는다. 토픽 통신은 연결이 확립된 후 연속적으로 메시지를 주고받기 때문에, 센서 신호처럼 자주 데이터를 주고받아야 하는 경우에 유용하다.
토픽의 이름은 해당 네임스페이스 안에서 고유해야 한다. 노드는 특정 토픽에 메시지를 게시(publish)하여 보내고, 구독(subscribe)하여 받는다. 이 게시/구독 모델은 익명으로 동작한다. 즉, 어떤 노드가 특정 토픽에 메시지를 보내거나 받는지 알 수 없고, 단지 해당 토픽에서 메시지를 주고받는다는 사실만 알 수 있다.
토픽에서 전달되는 메시지 유형은 매우 다양하며, 사용자가 직접 정의할 수 있다. 메시지 내용은 센서 데이터, 모터 제어 명령, 상태 정보, 액추에이터 명령 등 어떤 것이든 될 수 있다.
3. 2. 3. 서비스
노드는 서비스를 공표할 수 있다.[68] 서비스는 노드가 수행할 수 있으며 단일 결과를 갖는 동작을 나타낸다. 따라서 서비스는 바퀴 모터에 대한 속도 명령을 처리하거나 바퀴 인코더의 거리 측정 데이터를 처리하는 것보다 단일 프레임 이미지를 캡처하는 것과 같이 시작과 종료가 정의된 동작에 자주 사용된다. 노드는 서비스를 공표하고 서로 서비스를 호출한다.서비스 통신은 요청을 받았을 때 응답하는 서비스 서버와, 서비스 서버에 요청을 하는 서비스 클라이언트 간에 이루어진다.[68] 서비스 통신은 클라이언트가 서비스 요청을 전송한 시점에서 시작되며, 서버로부터 서비스 응답을 수신한 시점에서 종료되고, 노드 간의 접속이 끊어진다. 서비스는 요청과 응답이 끝나면 양쪽 노드의 통신이 단절되므로, 네트워크의 부하가 작다. 로봇에 정해진 동작 지시를 내릴 때나, 어떤 조건 하에서 일어나는 이벤트를 발생시키고 싶을 때 등에 서비스 통신이 이용된다.
3. 2. 4. 파라미터 서버
파라미터 서버[68]는 노드 간에 공유되는 데이터베이스로, 정적 또는 반정적 정보에 대한 공통 접근을 허용한다. 환경 내 두 고정점 사이의 거리나 로봇의 무게와 같이 자주 변경되지 않아 드물게 접근되는 데이터는 파라미터 서버에 저장하기에 적합하다.4. 도구
ROS는 개발자가 데이터를 시각화, 기록하고, ROS 패키지 구조를 쉽게 탐색하며, 복잡한 구성 및 설정 과정을 자동화하는 스크립트를 만들 수 있도록 다양한 도구를 제공한다. 이러한 도구들은 일반적인 로봇 개발 문제에 대한 솔루션을 단순화하고 제공함으로써 ROS를 사용하는 시스템의 능력을 향상시킨다. 이 도구들은 다른 알고리즘과 마찬가지로 패키지로 제공되지만, 다양한 로봇 작업에 대한 하드웨어 드라이버나 알고리즘 구현을 제공하기보다는, 대부분의 최신 ROS 설치의 핵심과 함께 제공되는 작업 및 로봇에 독립적인 도구를 제공한다.[69]
ROS는 다양한 패키지와 도구가 복합된 소프트웨어 시스템이다.[69] 각 프로그래밍 언어에 대응하는 "클라이언트 계층", 구체적인 애플리케이션을 구현한 "로봇 애플리케이션 계층", 개별 애플리케이션 프로그램 작성을 위한 "애플리케이션 프레임워크", 통신을 담당하는 "커뮤니케이션 계층", 하드웨어 제어를 위한 "하드웨어 인터페이스 계층", 개발을 지원하는 "소프트웨어 개발 도구", 그리고 "시뮬레이터"로 구성된다.[69]
주요 도구로는 GUI 유틸리티 툴인 rqt, 3차원 시각화 툴 RViz, 매니퓰레이터의 동작 제어를 위한 통합 라이브러리 MoveIt!, 3차원 동역학 시뮬레이터인 Gazebo용 플러그인 외에, 빌드 시스템이나 패키지 릴리스 도구 등이 있다.[69]
rqt는 Qt를 기반으로 하는 GUI 환경을 제공한다.[77] rqt에는 다양한 플러그인이 개발되어 있으며, ROS의 분산 프로세스의 계층 구조나 접속 관계를 그래프로 나타내거나, 로봇에 탑재된 카메라의 영상을 확인하거나, 시계열 데이터를 그래프로 표시하는 것이 가능하다.[77]
MoveIt!는 매니퓰레이터의 동작 계획을 위한 고속 순동역학 계산이나 매니퓰레이션을 위한 고도 알고리즘, 로봇 핸드 제어 등 각종 기능을 제공한다.[78] 그리고 매니퓰레이터에 대한 깊은 지식이 없더라도 동작 생성 등을 할 수 있도록 GUI 상에서 설정 및 조작을 할 수 있다.[78]
Gazebo는 물리 엔진과 3차원 그래픽스 엔진을 탑재한 3차원 공간의 동역학 시뮬레이터이다.[79] 로봇과 공간의 3차원 모델을 불러와 물리 현상과 노이즈를 포함한 센서의 거동 등을 시뮬레이션하고 3차원 영상을 표시할 수 있다.[79] Gazebo는 ROS와는 독립된 소프트웨어지만, ROS를 주도하고 있는 오픈 로보틱스(Open Robotics)가 개발하고 있기 때문에 ROS와의 친화성이 높다.[79]
ROS의 파일 시스템은 설치 폴더와 사용자 작업 폴더로 나뉜다.[80] 설치 폴더에는 ROS의 핵심 프로그램인 "roscore"를 포함한 핵심 유틸리티와 로봇 관련 라이브러리, 시각화 및 시뮬레이션을 위한 개발 지원 도구 등이 설치된다.[80] 사용자 작업 폴더는 다운로드한 패키지나 사용자가 직접 만든 패키지를 저장하고 편집하거나 실행 가능한 형식으로 빌드하는 작업 공간이다.[80]
사용자가 이용하고 싶은 기능에 따라 필요한 패키지나 도구를 추가로 설치한다.[80] 패키지는 패키지 관리 도구를 이용하여 설치하거나, 저장소에서 소스 코드를 가져와 빌드한다.[80] ROS는 분산 시스템으로 설계되어 있으며, 여러 호스트(컴퓨터)에 분산하여 패키지를 설치하는 것도 가능하다.[81]
4. 1. RViz
RViz영어 (로봇 시각화 도구)는 로봇, 로봇이 작업하는 환경 및 센서 데이터를 시각화하는 데 사용되는 3차원 시각화 도구이다. 다양한 유형의 시각화 및 플러그인을 갖춘 매우 구성 가능한 도구이다. 통합 로봇 설명 형식(URDF)은 로봇 모델 설명을 위한 XML 파일 형식이다.
RViz (ROS Visualization)는 ROS의 시각화 도구 중 하나이다.[69] 시각화 방법을 플러그인으로 준비함으로써 ROS에서 통신되는 데이터라면 종류에 관계없이 표시할 수 있다.[69] 예를 들어, 측역 센서나 3차원 심도 센서와 같은 센서 정보와 로봇의 형상 모델, 지도, 앞으로 동작할 계획 궤도 등을 3차원으로 표시할 수 있다.[69]
4. 2. Rosbag
rosbag[70]은 ROS 메시지 데이터를 기록하고 재생하는 데 사용되는 명령줄 도구이다. rosbag은 bags[71]라고 불리는 파일 형식을 사용하는데, 이는 토픽을 청취하고 메시지가 들어오는 대로 기록하여 ROS 메시지를 기록한다. bag에서 메시지를 재생하는 것은 데이터를 생성한 원래 노드를 ROS 계산 그래프에 포함하는 것과 거의 동일하므로, bag은 나중에 개발에 사용할 데이터를 기록하는 데 유용한 도구이다. rosbag은 명령줄 도구일 뿐이지만, rqt_bag[72]은 rosbag에 대한 GUI 인터페이스를 제공한다.4. 3. Catkin
catkin[73]은 ROS 빌드 시스템으로, ROS Groovy부터 rosbuild[74]를 대체했다. catkin은 CMake를 기반으로 하며, 크로스 플랫폼, 오픈 소스 및 언어 독립적인 특징을 가진다.catkin은 CMake를 수정·확장한 것으로, 패키지 빌드, 패키지 관리, 종속 관계 패키지의 자동 설치 등을 수행할 수 있다[73]. 빌드 결과를 소스 코드와 다른 디렉토리에 저장하는 아웃 소스 빌드 방식을 채택하여, 패키지의 재배포 및 크로스 컴파일을 지원함으로써 소프트웨어 이식성이 향상되었다.
"catkin"이라는 이름은 개발사인 위로우 개러지(Willow Garage)의 버드나무(Willow = 버드나무)에서 보이는 미상화서(catkin영어)에서 유래했다.
4. 4. Rosbash
rosbash(로스배시)[75] 패키지는 bash 셸의 기능을 보강하는 도구 모음을 제공한다. 이 도구에는 ls, cd, cp의 기능을 복제하는 `rosls`, `roscd`, `roscp` 등이 있다. 이 도구들의 ROS 버전은 사용자가 패키지가 위치한 파일 경로 대신 ROS 패키지 이름을 사용할 수 있도록 한다. 이 패키지는 또한 대부분의 ROS 유틸리티에 탭 자동 완성을 추가하고, 주어진 파일을 선택한 기본 텍스트 편집기로 편집하는 `rosed`와 ROS 패키지에서 실행 파일을 실행하는 `rosrun`을 포함한다. `rosbash`는 zsh와 tcsh에 대해서도 더 적은 범위에서 동일한 기능을 지원한다.4. 5. Roslaunch
roslaunch는 로컬 및 원격으로 여러 ROS 노드를 실행하고, ROS 파라미터 서버에 파라미터를 설정하는 데 사용되는 도구이다.[76] XML로 작성된 roslaunch 설정 파일은 복잡한 시작 및 구성 프로세스를 단일 명령으로 쉽게 자동화할 수 있게 해준다. roslaunch 스크립트는 다른 roslaunch 스크립트를 포함하고, 특정 머신에서 노드를 실행하며, 실행 중에 종료되는 프로세스를 다시 시작할 수도 있다.5. 주요 패키지
ROS는 로봇의 일반적인 기능과 알고리즘에 대한 다양한 오픈 소스 구현을 제공하며, 이러한 구현은 패키지 형태로 구성된다. 많은 패키지가 ROS 배포판에 포함되어 있으며, 다른 패키지는 개별적으로 개발되어 github와 같은 코드 공유 사이트를 통해 배포될 수 있다.
5. 1. 시스템 및 도구
- actionlib영어[77]는 선점 가능한 작업과 인터페이스하기 위한 표준화된 인터페이스를 제공한다.
- nodelet영어[78]은 단일 프로세스에서 여러 알고리즘을 실행하는 방법을 제공한다.
- rosbridge영어[79]는 비 ROS 프로그램에 ROS 기능을 위한 JSON API를 제공한다.
ROS의 애플리케이션 프로그램은 '패키지'라고 불리는 기본 단위로 관리된다. 패키지는 ROS 소프트웨어의 기본 단위이며, 최소 실행 단위인 '노드' (#계산 그래프 상의 구조 참조)를 하나 이상 가지거나, 다른 패키지의 노드를 실행하기 위한 설정 파일을 포함한다. 각 패키지에는 패키지 정보 관리 파일, 빌드에 사용하는 설정 파일, 노드의 소스 코드, 노드 간 통신을 위한 설정 파일 등이 포함된다. 공통의 목적을 위해 여러 패키지를 묶은 '메타패키지'라고 불리는 것도 있다.
ROS 패키지는 공식적인 것만 2,000개 이상이 있다. 로봇 본체 제어, 센서, 구동부 모터 제어 관련 패키지 등이 있다. 센서 패키지는 카메라, 깊이 카메라, 레이저 거리 센서, 힘/토크 센서, 음성 인식, RFID 등 다양한 장치에 대응하는 것이 공개되어 있다.
5. 2. 매핑 및 로컬라이제이션
- '''slam toolbox'''[80]는 완전한 2D SLAM 및 로컬라이제이션 시스템을 제공한다.
- '''gmapping'''[81]은 OpenSlam의 Gmapping 알고리즘에 대한 래퍼를 동시적 위치 추정 및 지도 작성에 제공한다.
- '''cartographer'''[82]는 구글(Google)에서 개발한 실시간 2D 및 3D SLAM 알고리즘을 제공한다.
- '''amcl'''[83]은 적응형 몬테 카를로 위치 추정법의 구현을 제공한다.
5. 3. 내비게이션
'''내비게이션'''[84]은 평면 환경에서 이동 로봇을 항해하는 기능을 제공한다.5. 4. 조작
로봇 매니퓰레이터를 위한 동작 계획 기능을 제공하는 ''무브잇!''[85]은 [https://ompl.kavrakilab.org/ Open Motion Planning Library (OMPL)]을 기본 계획 라이브러리로 사용한다.[86]5. 5. 지각
vision_opencv영어[87]는 ROS를 OpenCV와 통합하기 위한 패키지를 제공하는 메타 패키지이다. ROS의 애플리케이션 프로그램은 "패키지"라고 불리는 기본 단위로 관리된다. 패키지는 ROS 소프트웨어의 기본 단위이며, 최소 실행 단위인 "노드" (#계산 그래프 상의 구조 참조)를 하나 이상 가지거나, 다른 패키지의 노드를 실행하기 위한 설정 파일을 포함한다. 각 패키지에는 패키지 정보 관리 파일, 빌드에 사용하는 설정 파일, 노드의 소스 코드, 노드 간 통신을 위한 설정 파일 등이 포함된다. 공통의 목적을 위해 여러 패키지를 묶은 "메타패키지"라고 불리는 것도 있다.5. 6. 좌표 프레임 표현
tf는 ROS Hydro까지 좌표 프레임을 표현, 추적 및 변환하는 시스템을 제공했으며, 이후 tf2로 대체되어 사용이 중단되었다.[88] tf2는 tf 라이브러리의 두 번째 버전으로, Hydro 이후 ROS 버전에서도 동일한 기능을 제공한다.[89]5. 7. 시뮬레이션
gazebo_ros_pkgs영어[90]는 가제보 시뮬레이터를 ROS와 통합하기 위한 패키지를 제공하는 메타 패키지이다. ''stage''[91]는 2D 스테이지 시뮬레이터를 위한 인터페이스를 제공한다.6. 버전 및 릴리스
ROS의 릴리스는 다른 릴리스와 호환되지 않을 수 있으며, 버전 번호보다는 코드 이름으로 지칭되는 경우가 많다.[92] ROS는 현재 매년 5월에 우분투 LTS 버전이 출시된 후 새로운 버전을 출시한다.[92] ROS 2는 현재 6개월마다 (12월과 7월) 새로운 버전을 출시하며, 이러한 릴리스는 1년 동안 지원된다. 현재 릴리스가 진행 중인 주요 버전은 ROS 1과 ROS 2 두 가지가 있다. 이 외에도 적어도 2012년부터 ROS-Industrial 또는 ROS-I 파생 프로젝트가 존재한다.
6. 1. ROS 1
ROS는 2010년에 "ROS 1.0"이 발표된 이후 업데이트를 거듭하며, 특정 버전의 파일 묶음을 "디스트리뷰션"이라는 형태로 배포하고 있다.[159] 각 ROS 1 배포판은 코드명으로 불리며, 출시일과 지원 종료일(EOL)을 가진다.
과거 ROS의 릴리스 주기는 우분투의 릴리스 주기에 맞춰 1년에 2번(4월과 10월)이었다. 하지만 2013년에 릴리스된 "Hydro Medusa"부터는 잦은 업데이트를 원치 않는 사용자들의 의견을 수렴하여 공식 릴리스 주기가 1년에 1번으로 변경되었다.
ROS 디스트리뷰션의 지원 기간에는 장기 지원(Long Term Support; LTS)과 일반 지원 두 가지 종류가 있다. 우분투와 마찬가지로 짝수 해에 릴리스되는 디스트리뷰션은 LTS로 5년간 지원되며, 그 외에는 2년간 지원된다.
ROS의 디스트리뷰션은 두 번째인 "Box Turtle" 이후 모두 거북이에서 이름을 따왔으며, 머리글자는 알파벳 순으로 되어 있다. 각 ROS 디스트리뷰션에는 거북이 아이콘이 제작되어 있으며, ROS 로고에 있는 9개의 점도 거북이 등껍질에서 유래했다. ROS가 거북이를 상징으로 삼은 것은 거북이 위에 올라탄 코끼리가 대지를 지탱한다는 고대 우주관에서 비롯되었으며, 지능형 로봇 세계에서 ROS가 거북이와 같은 역할을 하기를 바라는 마음이 담겨 있다.
6. 2. ROS 2
ROS 2는 2015년부터 단계적으로 알파 버전, 베타 버전이 공개되었다[159]。2017년 12월에 첫 번째 릴리스 버전 "Ardent Apalone"이 공개되었고, 2018년 7월에는 신 버전 "Bouncy Bolson"이 공개되었다[159]。기존 ROS (ROS 1)에서 자체 구현했던 통신 라이브러리는 ROS 2에서 DDS로 대체되었다[159]。DDS 채택으로 보안 통신, QoS 통신, 실시간 통신, 노드 간 상호 발견 기능이 실현되어 ROS 2의 특징으로 여겨진다[159]。이에 따라 메시지 통신의 실시간성이 향상되어 하드웨어와 OS가 실시간성을 가지면 ROS의 표준 기능으로 실시간 제어를 실현할 수 있게 되었다[159]。또한 단일 장애점이 될 수 있는 "roscore" (마스터)를 필요로 하지 않는 노드 간 네트워크를 형성할 수 있게 되었다[159]。
ROS 2에서는 이러한 신기능에 대응하여 API가 신규 설계되었지만, ROS 1과의 메시지 통신을 위한 브리지 프로그램도 준비되어 있어 상호 운용도 가능하다[159]。 이 외에도 ROS 2에서는 빌드 시스템도 업그레이드되어 catkin을 기반으로 "ament"가 개발되었다[159]。
ROS 2 "Humble Hawksbil" 시점에서는 Ubuntu (22.04), RHEL 9/Fedora, macOS, Windows에서 이용할 수 있다[164]。ROS 2의 문서는 GitHub에 공개되어 있으며, 설치 방법을 설명하는 페이지도 준비되어 있다[165]
6. 3. ROS-Industrial
ROS-Industrial[108]는 제조 자동화 및 로봇 공학 분야에 ROS의 기능을 확장하는 오픈 소스 프로젝트이다(BSD(레거시)/Apache 2.0(권장) 라이선스). 산업 환경에서 로봇 프로그래밍에는 외부 전용 컨트롤러를 통해 ROS를 사용하여 구현하거나, 로봇의 기본 프로그래밍 언어를 통해 프로그래밍하는 두 가지 접근 방식이 있다. 따라서 ROS는 기존의 로봇 컨트롤러 기반 접근 방식 대신 산업용 로봇을 프로그래밍하는 소프트웨어 기반 접근 방식으로 볼 수 있다.ROS-Industrial 저장소는 일반적인 산업용 매니퓰레이터, 그리퍼, 센서 및 장치 네트워크에 대한 인터페이스를 포함한다. 또한 자동 2D/3D 센서 보정, 공정 경로/모션 계획, Scan-N-Plan과 같은 응용 프로그램, Qt Creator ROS 플러그인과 같은 개발자 도구 및 제조업체의 요구 사항에 특정한 교육 과정을 제공한다. ROS-I는 업계 및 연구 회원으로 구성된 국제 컨소시엄의 지원을 받는다. 이 프로젝트는 야스카와 모토만 로보틱스, 사우스웨스트 연구소(Southwest Research Institute), 그리고 윌로우 개러지 간의 협력으로 시작되었으며, 2012년 1월 Shaun Edwards(SwRI)에 의해 GitHub 저장소가 설립되어 제조 자동화를 위한 ROS 사용을 지원했다. 현재, 컨소시엄은 세 그룹으로 나뉜다. ROS-Industrial Consortium Americas (SwRI가 주도하고 미국 텍사스주 샌안토니오에 위치), ROS-Industrial Consortium Europe (Fraunhofer IPA가 주도하고 독일 슈투트가르트에 위치) 및 ROS-Industrial Consortium Asia Pacific (Advanced Remanufacturing and Technology Centre (ARTC)와 난양 기술 대학교(NTU)가 주도하고 싱가포르에 위치).
컨소시엄은 ROS-I 교육을 실시하고, 기술 지원을 제공하며, ROS-I의 미래 로드맵을 설정할 뿐만 아니라, 새로운 ROS-I 기능을 개발하기 위한 경쟁 전 공동 산업 프로젝트를 수행함으로써 전 세계 ROS-Industrial 커뮤니티를 지원한다.[109] ROS는 서비스 로봇 연구 분야에서 널리 사용되게 되었으며, ROS를 활용한 지능 정보 처리 기능은 산업용 로봇 분야에도 적용할 수 있다. 이를 통해 기존에는 기술적, 비용적으로 실현이 어려웠던 기능의 구현이 기대된다. 산업용 로봇이 가진 신뢰성과 오픈 커뮤니티의 유연성을 결합함으로써, ROS를 사용한 로봇 애플리케이션 개발을 추진하고, 산업용 로봇의 개발 비용 절감 및 신규 사업화, 차세대 로봇 시장에의 ROS 적용 등을 목표로 한다.
ROS-Industrial은 야스카와 전기, Willow Garage, 그리고 미국의 독립 비영리 기관인 Southwest Research Institute영어(SwRI)의 공동으로 시작된 오픈 소스 프로젝트이다. 2012년 1월, SwRI에 의해 GitHub에 ROS-Industrial 레포지토리가 개설되었다. 이후, 2013년 3월 ROS-Industrial 프로젝트에서 발전하여 ROS-Industrial Consortium(ROS 산업 컨소시엄)이 설립되었다. 컨소시엄의 중심 멤버는 미국에서는 SwRI, 유럽에서는 독일 프라운호퍼 연구소 생산 기술·오토메이션 부문(IPA), 아시아 태평양 지역에서는 싱가포르 어드밴스드 리매뉴팩처링 앤드 테크놀로지 센터 (Advanced Remanufacturing and Technology Centre; ARTC) 및 난양 이공대학이다. 2018년 10월 현재, 3M, 보잉, 에어버스, BMW, 보쉬, 지멘스, ABB, 캐터필러, 마이크로소프트, 유니버설 로봇 등의 민간 기업 외에도, ROS 본체의 개발을 주도하는 "오픈 로보틱스"도 컨소시엄 멤버이다.[162]
ROS-Industrial 연구 성과는 원칙적으로 BSD 라이선스 또는 Apache 2.0 라이선스로 공개된다. 단, ROS 산업 컨소시엄에는 Focused Technical Projects (FTP)라는 제도가 마련되어 있다. FTP는 컨소시엄 참가 기업이 특정 테마를 설정하여 구성하는 연구 그룹으로, 그룹 내에서 비용 및 설비를 분담하고 연구 성과를 공유한다. FTP의 연구 성과는 반드시 공개되는 것은 아니며, FTP 그룹 구성 멤버의 심의에 의해 공개 여부 및 릴리스 시기를 결정할 수 있다.
7. ROS 호환 로봇 및 하드웨어
ROS는 다양한 로봇 및 하드웨어와 호환된다.
2010년 윌로우 개러지(Willow Garage)는 ROS로 제어되는 로봇 "PR2"를 개발 및 발표했다. PR2는 두 개의 로봇 팔을 가진 자율 이동형 연구용 로봇이다.[146] 윌로우 개러지는 PR2를 이용한 애플리케이션 개발 콘테스트 "PR2 베타 프로그램"을 개최하여 우수한 제안에 PR2를 무상 제공했다. 2010년 9월에는 PR2를 400000USD에 판매했으며, 오픈 소스 커뮤니티 기여자에게는 120000USD 할인 혜택을 주었다.[146] PR2 베타 프로그램을 통해 2,000개 이상의 ROS 패키지가 출시되었고, ROS 연구와 다른 로봇 연구 간 협업이 진행되어 ROS의 인지도가 높아졌다.
2010년 11월, 로봇 키트 "TurtleBot"이 개발되어 ROS 보급에 기여하였다. TurtleBot은 iRobot사의 Create를 이용한 바퀴식 이동 로봇으로, 윌로우 개러지에서 판매되었고, 오픈 소스 하드웨어로 설계 데이터가 공개되었다.
ROS와 호환되는 주요 로봇 모델들은 다음과 같다.
제조사 및 모델명 | 설명 |
---|---|
ABB, 화낙(FANUC), Motoman, 유니버설 로봇(Universal Robots) | ROS-Industrial에서 지원[115] |
Baxter | Rethink Robotics에서 제작[116] |
CK-9 | Centauri Robotics의 로봇 개발 키트, ROS 지원[117] |
GoPiGo3 | 라즈베리 파이 기반 교육용 로봇, ROS 지원[118] |
HERB | 인텔 개인 로봇 프로그램, 카네기 멜론 대학교 개발[119] |
Husky A200 | Clearpath Robotics 개발 (ROS 통합)[120] |
Nao | 프라이부르크 대학교 휴머노이드 로봇 연구소에서 Nao 휴머노이드의 ROS 통합 개발 (브라운 대학교 초기 포트 기반)[121][122][123][124] |
PR1 | 스탠퍼드 대학교 켄 샐즈베리 연구소 개발 개인용 로봇[125] |
PR2 | Willow Garage 개발 개인용 로봇[126] |
Raven II | 수술 로봇 연구 플랫폼[127][128] |
ROSbot | Husarion 자율 로봇 플랫폼[129] |
Shadow Robot Hand | 완벽한 손재주를 가진 휴머노이드 손[130] |
STAIR I 및 II | 앤드루 응의 스탠퍼드 대학교 연구소 개발 로봇[131] |
Stretch | 헬로 로봇 개발, 보조 응용 분야 목표 통합 모바일 매니퓰레이터[132][133] |
SummitXL | Robotnik 개발 모바일 로봇. 모바일 로봇, 로봇 팔, ROS 아키텍처를 갖춘 산업 솔루션 전문[134] |
UBR1 | Willow Garage의 스핀오프인 Unbounded Robotics 개발[135][136] |
Webots | 완전한 ROS 프로그래밍 인터페이스를 통합한 로봇 시뮬레이터[137] |
ROS를 지원하는 SBC 및 하드웨어는 다음과 같다.
- 비글보드: 벨기에 루벤 가톨릭 대학교의 로봇 연구실에서 ROS를 포팅했다.[138]
- 라즈베리 파이: Ubiquity Robotics에서 제작한 ROS가 포함된 Ubuntu Mate 이미지;[139] 라즈비안 설치 가이드.[140]
- 시타라 ARM 프로세서는 공식 리눅스 SDK의 일부로 ROS 패키지를 지원한다.[141]
7. 1. 로봇
ROS는 다양한 로봇 모델과 호환된다. 다음은 ROS와 호환되는 주요 로봇 모델들이다.제조사 및 모델명 | 설명 |
---|---|
ABB, 화낙(FANUC), Motoman, 유니버설 로봇(Universal Robots) | ROS-Industrial에서 지원[115] |
Baxter | Rethink Robotics에서 제작[116] |
CK-9 | Centauri Robotics의 로봇 개발 키트, ROS 지원[117] |
GoPiGo3 | 라즈베리 파이 기반 교육용 로봇, ROS 지원[118] |
HERB | 인텔 개인 로봇 프로그램, 카네기 멜론 대학교 개발[119] |
Husky A200 | Clearpath Robotics 개발 (ROS 통합)[120] |
Nao | 프라이부르크 대학교 휴머노이드 로봇 연구소에서 Nao 휴머노이드의 ROS 통합 개발 (브라운 대학교 초기 포트 기반)[121][122][123][124] |
PR1 | 스탠퍼드 대학교 켄 샐즈베리 연구소 개발 개인용 로봇[125] |
PR2 | Willow Garage 개발 개인용 로봇[126] |
Raven II | 수술 로봇 연구 플랫폼[127][128] |
ROSbot | Husarion 자율 로봇 플랫폼[129] |
Shadow Robot Hand | 완벽한 손재주를 가진 휴머노이드 손[130] |
STAIR I 및 II | 앤드루 응의 스탠퍼드 대학교 연구소 개발 로봇[131] |
Stretch | 헬로 로봇 개발, 보조 응용 분야 목표 통합 모바일 매니퓰레이터[132][133] |
SummitXL | Robotnik 개발 모바일 로봇. 모바일 로봇, 로봇 팔, ROS 아키텍처를 갖춘 산업 솔루션 전문[134] |
UBR1 | Willow Garage의 스핀오프인 Unbounded Robotics 개발[135][136] |
Webots | 완전한 ROS 프로그래밍 인터페이스를 통합한 로봇 시뮬레이터[137] |
2010년, 윌로우 개러지(Willow Garage)는 ROS로 제어되는 로봇 "PR2"를 개발, 발표하였다. PR2는 두 개의 로봇 팔을 가진 자율 이동형 연구용 로봇이다.[146] 윌로우 개러지는 PR2를 이용한 애플리케이션 개발 콘테스트 "PR2 베타 프로그램"을 개최하여, 우수한 제안에 PR2를 무상 제공하였다. 2010년 9월에는 PR2를 400000USD에 판매했으며, 오픈 소스 커뮤니티 기여자에게는 120000USD 할인 혜택을 주었다.[146] PR2 베타 프로그램을 통해 2,000개 이상의 ROS 패키지가 출시되었고, ROS 연구와 다른 로봇 연구 간 협업이 진행되어 ROS의 인지도가 높아졌다.
2010년 11월, 로봇 키트 "TurtleBot"이 개발되어 ROS 보급에 기여하였다. TurtleBot은 iRobot사의 Create를 이용한 바퀴식 이동 로봇으로, 윌로우 개러지에서 판매되었고, 오픈 소스 하드웨어로 설계 데이터가 공개되었다.
7. 2. SBC 및 하드웨어
8. 관련 프로젝트
RT 미들웨어는 로봇 미들웨어 표준 및 구현이다. RT-component는 객체 관리 그룹에 의해 논의되고 정의된다.
9. ROS의 활용
ROS는 활발한 커뮤니티 활동과 다양한 라이브러리, 공유 메커니즘을 기반으로 여러 분야에서 활용되고 있다. 특히 학술 연구 및 교육 분야에서 널리 사용되며, 전 세계적으로 수많은 개발자와 연구자들이 ROS 개발에 참여하고 있다.[162][163][1][2]
ROS 개발은 오픈 로보틱스(Open Robotics)뿐만 아니라 대학, 연구 기관, 산업계, 개인 개발자 등 다양한 사람들이 참여하는 개방형으로 이루어진다.[164][165][3][4] 컴퓨터 과학, 컴퓨터 네트워크, 컴퓨터 비전 등 로봇 관련 분야 외 전문가들도 참여한다.[5]
ROS 관련 정보 공유 및 커뮤니티 활동은 다음과 같이 이루어진다.
- ROS 위키: ROS 관련 정보를 문서화하는 중심 웹사이트이다.[6][7] ROS 기본 설명, 사용법, 튜토리얼, 가이드라인, 패키지 정보 등을 제공하며, 누구나 자유롭게 계정을 생성하여 정보를 공유할 수 있다.[8][9][10][11]
- 공개 저장소: ROS 공개 패키지는 GitHub 등 저장소에서 관리되며, ROS 위키 패키지 페이지에 저장소 URL이 제공된다.[12] 사용자는 저장소에서 소스 코드를 얻을 수 있다.[13]
- ROS Answers / 메일링 리스트: ROS 관련 질문을 위한 Q&A 포럼인 "ROS Answers"가 운영되며,[161][14][15][16][17] 경험자 등 커뮤니티 참가자들이 답변을 제공하고, 과거 질문 검색도 가능하다.[18][19] ROS 업데이트 정보 배포 및 질의응답을 위한 메일링 리스트도 운영된다.[20]
- ROSCon: 개발자들이 직접 교류하는 연례 개발자 회의 "ROSCon"이 2012년부터 매년 개최되고 있다.[21] 2018년까지 북미, 유럽, 아시아 순으로 개최지가 선정되었다.[22]
이 외에도 로봇 관련 국제 회의에서 ROS 관련 워크숍 등이 개최된다.
9. 1. 학술 연구
ROS는 라이브러리 그룹과 공유 메커니즘을 지원하는 활발한 커뮤니티 활동으로 유명하다[162]。 전 세계적으로 다양한 로봇 소프트웨어 플랫폼이 있지만, ROS는 특히 커뮤니티 활동이 활발한 것으로 평가받는다[163]。 ROS 개발은 오픈 로보틱스(Open Robotics)가 단독으로 진행하지 않고, 전 세계에 공개되어 있다[164]。 대학 및 연구 기관의 연구자, 산업계 기술자, 심지어 취미로 소프트웨어와 로봇을 개발하는 사람들까지 다양한 사람들이 ROS 개발에 참여하고 기여한다[165]。 또한, 로봇 전문가뿐만 아니라, 컴퓨터 과학, 컴퓨터 네트워크, 컴퓨터 비전과 같은 분야의 전문가도 참여한다。ROS 관련 정보를 공유하고 얻을 수 있는 다양한 커뮤니티 활동은 다음과 같다.
- ROS 위키: ROS 관련 정보를 문서화하는 중심적인 장소로, 위키를 이용한 웹사이트 "ROS 위키"가 있다。 ROS 위키에서는 ROS의 기본적인 설명, 사용법, 튜토리얼, 가이드라인 등을 제공하며, 각 패키지의 정보(설명, 저장소 URL, 저작자, 라이선스 등)도 제공한다。 ROS 위키 계정은 자유롭게 생성 가능하며, ROS 관련 정보를 공유할 수 있다。
- 공개 저장소: ROS의 공개 패키지는 GitHub 등 저장소에서 공개 및 관리되며, ROS 위키의 패키지 페이지에 저장소 URL이 기재되어 있다。 사용자는 저장소에서 패키지의 소스 코드를 얻을 수 있다。
- ROS Answers / 메일링 리스트: ROS에 관한 질문을 할 수 있는 Q&A 포럼인 "ROS Answers"[161]가 웹상에서 운영된다。 질문에는 경험자 등 커뮤니티 참가자가 답변하며, 과거 질문을 검색할 수 있다。 또한, ROS 업데이트 정보를 배포하거나 질의응답 등을 하는 메일링 리스트도 운영된다。
- ROSCon: 온라인뿐만 아니라 개발자들이 직접 만나 교류하는 이벤트로, 2012년부터 매년 1회 개발자 회의 "ROSCon"이 개최된다。 2018년 현재까지 ROSCon 개최지는 북미, 유럽, 아시아 순으로 선정되었다。
그 외에도 로봇 관련 국제 회의에서 ROS 관련 워크숍 등이 개최된다。
9. 2. 교육
ROS는 라이브러리 그룹과 공유 메커니즘을 지원하는 활발한 커뮤니티 활동을 통해 로봇 교육 분야에서 널리 활용되고 있다[1]. 전 세계적으로 다양한 로봇 소프트웨어 플랫폼이 있지만, ROS는 특히 커뮤니티 활동이 활발한 것으로 평가받는다[2].ROS 개발은 오픈 로보틱스(Open Robotics)뿐만 아니라 전 세계의 다양한 사람들이 참여하고 있다[3]. 대학 및 연구 기관의 연구자, 산업계의 기술자, 그리고 취미로 소프트웨어와 로봇을 개발하는 사람들까지 ROS 개발에 기여하고 있다[4]. 또한, 로봇 전문가뿐만 아니라, 컴퓨터 과학, 컴퓨터 네트워크, 컴퓨터 비전과 같은 분야의 전문가도 참여하고 있다[5].
ROS 교육 및 자료 공유를 위한 주요 플랫폼은 다음과 같다.
- ROS 위키: ROS에 관한 정보를 문서화하는 중심적인 장소로, 위키를 이용한 웹사이트 "ROS 위키"가 운영되고 있다[6][7]. ROS 위키에서는 ROS의 기본적인 설명, 사용법, 튜토리얼, 가이드라인 등을 제공하며, 각 패키지의 정보(설명, 저장소 URL, 저작자, 라이선스 등)도 확인할 수 있다[8][9]. ROS 위키 계정은 자유롭게 생성 가능하며, ROS 관련 정보를 공유할 수 있다[10][11].
- 공개 저장소: ROS의 공개 패키지는 GitHub 등 저장소에서 공개 및 관리되며, ROS 위키의 패키지 페이지에 저장소 URL이 기재되어 있다[12]. 사용자는 저장소에서 패키지의 소스 코드를 얻을 수 있다[13].
- ROS Answers / 메일링 리스트: ROS에 관한 질문을 할 수 있는 Q&A 포럼인 "ROS Answers"가 운영되고 있다[14][15][16][17]. 경험자 등 커뮤니티 참가자가 질문에 답변하며, 과거 질문을 검색할 수도 있다[18][19]. 또한, ROS 업데이트 정보를 배포하거나 질의응답을 할 수 있는 메일링 리스트도 운영되고 있다[20].
- ROSCon: 개발자들이 직접 만나 교류하는 이벤트로, 2012년부터 매년 1회 개발자 회의 "ROSCon"이 개최되고 있다[21]. 2018년 현재까지, ROSCon은 북미, 유럽, 아시아 순으로 개최되었다[22].
연도 | 개최국 | 개최지 |
---|---|---|
2012 | 브라질|브라질pt | 상파울루|상파울루pt |
2013 | 독일|독일de | 슈투트가르트|슈투트가르트de |
2014 | 미국|미국영어 | 시카고|시카고영어 |
2015 | 독일|독일de | 함부르크|함부르크de |
2016 | 대한민국|대한민국한국어 | 서울|서울한국어 |
2017 | 캐나다|캐나다영어 | 밴쿠버|밴쿠버영어 |
2018 | 스페인|스페인es | 마드리드|마드리드es |
2019 | 중국|중국중국어 | 마카오|마카오중국어 |
2020 | 가상 개최 | |
2021 | 가상 개최 | |
2022 | 일본|일본일본어 | 교토|교토일본어 |
2023 | 미국|미국영어 | 뉴올리언스|뉴올리언스영어 |
2024 | 덴마크|덴마크da | 오덴세|오덴세da |
2025 | 싱가포르|싱가포르영어 | 싱가포르|싱가포르영어 |
10. 한국에서의 ROS
주어진 원본 소스에는 "한국에서의 ROS"에 대한 내용이 직접적으로 언급되어 있지 않으므로, 해당 섹션을 작성할 수 없다. 따라서 이전 답변과 동일하게 출력한다.
10. 1. 커뮤니티 활동
ROS는 라이브러리 그룹과 공유 메커니즘을 지원하는 활발한 커뮤니티 활동이 큰 강점으로 꼽힌다.[1] 전 세계에는 다양한 로봇 소프트웨어 플랫폼이 있지만, ROS는 커뮤니티 활동이 특히 활발하다고 평가받는다.[2] ROS 개발은 오픈 로보틱스(Open Robotics)가 단독으로 진행하는 것이 아니라, 전 세계에 공개되어 있다.[3] 대학 및 연구 기관의 연구자, 산업계의 기술자, 심지어 취미로 소프트웨어와 로봇을 개발하는 사람들까지 다양한 사람들이 ROS 개발에 참여하고 기여하고 있다.[4] 또한, 로봇 전문가뿐만 아니라, 컴퓨터 과학, 컴퓨터 네트워크, 컴퓨터 비전과 같은 분야의 전문가도 참여하고 있다.[5]; ROS 위키
ROS에 관한 정보를 문서화하는 중심적인 장소로서, 위키를 이용한 웹사이트 "ROS 위키"가 개설되어 있다.[6][7] ROS 위키에서는 ROS의 기본적인 설명 및 사용법, 튜토리얼, 가이드라인 등을 제공하고 있다.[8][9] 또한, 각 패키지의 정보도 ROS 위키에서 제공되며, 패키지 설명, 저장소 URL, 저작자, 라이선스 등이 게재되어 있다.[10][11] ROS 위키의 계정은 자유롭게 생성할 수 있으며, ROS에 관해 공개하고 싶은 정보를 공유할 수 있다.[12][13]
; 공개 저장소
ROS의 공개 패키지는 GitHub 등 저장소에서 공개·관리되고 있으며, ROS 위키의 패키지 페이지에 저장소 URL이 기재되어 있다.[14][15] 사용자는 저장소에서 패키지의 소스 코드를 얻을 수 있다.[16]
; ROS Answers / 메일링 리스트
ROS에 관한 질문을 하는 장소로서 "ROS Answers"[17]라는 Q&A 포럼도 웹상에서 운영되고 있다.[18][19][20] 질문에는 경험자 등 커뮤니티 참가자가 답변하며, 과거 질문을 검색할 수 있다.[21][22] 또한, ROS의 업데이트 정보를 배포하거나 질의응답 등을 하는 메일링 리스트도 운영되고 있다.[23]
; ROSCon
온라인뿐만 아니라, 개발자들이 직접 만나 교류하는 이벤트로서, 2012년부터 매년 1회, 개발자 회의 "ROSCon"이 개최되고 있다.[24] 2018년 현재까지, ROSCon의 개최지는 북미, 유럽, 아시아 순으로 선정되었다.[25]
연도 | 개최국 | 개최지 |
---|---|---|
2012 | Brazil|브라질영어 | São Paulo|상파울루pt |
2013 | Germany|독일de | Stuttgart|슈투트가르트de |
2014 | United States|미국영어 | Chicago|시카고영어 |
2015 | Germany|독일de | Hamburg|함부르크de |
2016 | 대한민국 | 서울 |
2017 | Canada|캐나다영어 | Vancouver|밴쿠버영어 |
2018 | Spain|스페인es | Madrid|마드리드es |
2019 | China|중국중국어 | Macau|마카오중국어 |
2020 | 가상 개최 | |
2021 | 가상 개최 | |
2022 | Japan|일본일본어 | Kyoto|교토일본어 |
2023 | United States|미국영어 | New Orleans|뉴올리언스영어 |
2024 | Denmark|덴마크da | Odense|오덴세da |
2025 | Singapore|싱가포르영어 | 싱가포르 |
참조
[1]
웹사이트
ROS 2 Iron Irwini
https://docs.ros.org[...]
Open Robotics
2023-06-04
[2]
웹사이트
ROS 2 Jazzy Jalisco
https://docs.ros.org[...]
Open Robotics
2024-05
[3]
웹사이트
ROS/Introduction – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2021-07-30
[4]
웹사이트
Proposal for Implementation of Real-time Systems in ROS 2
http://design.ros2.o[...]
Open Robotics
2016-01
[5]
웹사이트
Realtime Design Guidelines For ROS 2
http://design.ros2.o[...]
Open Robotics
2016-01
[6]
웹사이트
ROS 2 For Realtime Applications
https://discourse.ro[...]
Open Robotics
2018-10-17
[7]
웹사이트
Browsing packages for melodic
https://web.archive.[...]
Open Robotics
2016-02-21
[8]
웹사이트
Package Summary
http://wiki.ros.org/[...]
Open Robotics
2016-02-21
[9]
웹사이트
Package SUmmary
http://wiki.ros.org/[...]
Open Robotics
2016-02-21
[10]
웹사이트
Package Summary
http://wiki.ros.org/[...]
Open Robotics
2016-02-21
[11]
웹사이트
client libraries
http://wiki.ros.org/[...]
Open Robotics
2017-12-12
[12]
웹사이트
ROS/Installation – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2013-09-29
[13]
웹사이트
rosjava – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[14]
웹사이트
android – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2014-04-12
[15]
웹사이트
Robot Operating System (ROS) Support from MATLAB – Hardware Support
http://www.mathworks[...]
Mathworks.com
2014-07-12
[16]
웹사이트
roslibjs – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[17]
웹사이트
Wizards of ROS: Willow Garage and the Making of the Robot Operating System
https://spectrum.iee[...]
2019-04-29
[18]
웹사이트
The Origin Story of ROS, the Linux of Robotics
https://spectrum.iee[...]
2019-04-29
[19]
웹사이트
J. Kenneth Salisbury, Ph.D. {{!}} Salisbury Robotics Lab
https://www.stanford[...]
2019-04-29
[20]
웹사이트
Stanford Personal Robotics Program
http://personalrobot[...]
2019-04-29
[21]
웹사이트
Stanford's Robot Makers
https://news.stanfor[...]
2019-01-16
[22]
웹사이트
STAIR: The STanford Artificial Intelligence Robot project
http://stair.stanfor[...]
Snowbird Workshop
[23]
웹사이트
STAIR
http://stair.stanfor[...]
2017-12-12
[24]
간행물
STAIR: Hardware and Software Architecture
http://www.aaai.org/[...]
AAAI 2007 Robotics Workshop
[25]
웹사이트
Personal Robotics Program Fund Fundraising Deck from 2006
https://www.slidesha[...]
2017-07-03
[26]
웹사이트
Repository: code
https://sourceforge.[...]
2017-12-12
[27]
웹사이트
Repositories
http://www.ros.org/w[...]
2011-06-07
[28]
웹사이트
ROS: an open-source Robot Operating System
http://www.robotics.[...]
2010-04-03
[29]
Youtube
Milestone 1
https://www.youtube.[...]
2008-12-19
[30]
웹사이트
ROS 0.4 Release – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2019-04-29
[31]
Youtube
Milestone 2 Explained
https://www.youtube.[...]
2009-07-02
[32]
웹사이트
Welcome to ros.org – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[33]
웹사이트
ROS Tutorials and Turtles – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[34]
웹사이트
ROS 1.0 – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2019-04-29
[35]
웹사이트
The Results Are In: PR2 Beta Program Recipients!
https://web.archive.[...]
2019-04-29
[36]
웹사이트
Interns and Visiting Scholars
http://www.willowgar[...]
2019-04-29
[37]
웹사이트
Robots Using ROS: Penn Quadrotors – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[38]
웹사이트
Robots Using ROS: Marvin autonomous car (Austin Robot Technology/UT Austin) – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[39]
웹사이트
Robots Using ROS: Lego NXT – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[40]
웹사이트
PR2 Robots Available for Purchase
http://www.willowgar[...]
[41]
웹사이트
Announcing ROS Answers – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[42]
웹사이트
ROS on the Move: TurtleBots available for preorder
http://www.willowgar[...]
2017-12-12
[43]
웹사이트
100 Repositories – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[44]
웹사이트
Willow Garage Spins Out OSRF
http://www.willowgar[...]
2017-10-13
[45]
뉴스
DARPA Awards Simulation Software Contract to Open Source Robotics Foundation
https://spectrum.iee[...]
[46]
웹사이트
Thanks for a great ROSCon 2012! – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2018-11-24
[47]
웹사이트
New Book: ROS by Example – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2018-11-24
[48]
웹사이트
Rethink ROS – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2018-11-24
[49]
웹사이트
ROS: Five Years – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2018-11-24
[50]
웹사이트
Osrf – Ros @ Osrf
http://osrfoundation[...]
Osrfoundation.org
2014-07-12
[51]
웹사이트
employees join Suitable Technologies
http://www.willowgar[...]
Willow Garage
2014-07-12
[52]
웹사이트
Distributions – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[53]
웹사이트
Clearpath Welcomes PR2 to the Family
https://www.clearpat[...]
2014-01-15
[54]
웹사이트
Notes from the first Korean ROS Users Meetup – ROS robotics news
https://www.ros.org/[...]
Open Robotics
2021-07-30
[55]
웹사이트
First Danish ROS Meetup
http://www.ros.org/n[...]
[56]
웹사이트
First Ukrainian ROS Meetup
http://www.ros.org/n[...]
[57]
웹사이트
Programming Robots with ROS: A Practical Introduction to the Robot Operating System
http://shop.oreilly.[...]
2017-12-12
[58]
웹사이트
Report from first ROS Summer School in China – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2018-11-24
[59]
웹사이트
ROS Robot Ignite Academy
http://www.theconstr[...]
[60]
웹사이트
ROS running on ISS – ROS robotics news
http://www.ros.org/n[...]
Open Robotics
2017-12-12
[61]
웹사이트
Summary
https://ros-win.visu[...]
2019-04-29
[62]
웹사이트
Announcing AWS RoboMaker
https://aws.amazon.c[...]
2019-04-29
[63]
웹사이트
Why ROS 2?
http://design.ros2.o[...]
Open Robotics
2019-04-29
[64]
웹사이트
ROS 2 Overview
https://docs.ros.org[...]
Open Robotics
2021-09-21
[65]
웹사이트
ROS 2 Distributions
https://docs.ros.org[...]
Open Robotics
2021-09-21
[66]
웹사이트
ROS/Tutorials/UnderstandingNodes – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[67]
웹사이트
ROS/Tutorials/UnderstandingTopics – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[68]
웹사이트
ROS/Tutorials/UnderstandingServicesParams – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[69]
웹사이트
rviz – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[70]
웹사이트
rosbag – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[71]
웹사이트
Bags – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[72]
웹사이트
rqt_bag – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[73]
웹사이트
catkin – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[74]
웹사이트
rosbuild – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[75]
웹사이트
rosbash – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[76]
웹사이트
roslaunch – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-23
[77]
웹사이트
actionlib – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[78]
웹사이트
nodelet – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[79]
웹사이트
rosbridge_suite – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[80]
웹사이트
slam_toolbox – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2020-02-11
[81]
웹사이트
gmapping – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[82]
웹사이트
cartographer – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[83]
웹사이트
amcl – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[84]
웹사이트
navigation – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[85]
웹사이트
MoveIt Motion Planning Framework
https://moveit.ros.o[...]
[86]
웹사이트
MoveIt Documentation: Rolling
https://moveit.pickn[...]
[87]
웹사이트
vision_opencv – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[88]
웹사이트
tf – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[89]
웹사이트
tf2 – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[90]
웹사이트
gazebo_ros_pkgs – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[91]
웹사이트
stage – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
2019-04-29
[92]
웹사이트
ROS Release Schedule Changes
https://discourse.ro[...]
2018-05-09
[93]
웹사이트
REP 2000 – ROS 2 Releases and Target Platforms
https://www.ros.org/[...]
Open Robotics
2021-02-20
[94]
웹사이트
ROS 2 Rolling Ridley (codename 'rolling'; June 2020) – ROS 2 Documentation: Foxy documentation
https://docs.ros.org[...]
Open Robotics
2021-07-30
[95]
웹사이트
ROS 2 rolling distribution name brainstorming
https://discourse.ro[...]
Open Robotics
2021-07-30
[96]
웹사이트
ROS 2 Jazzy Jalisco Released!
https://discourse.ro[...]
2024-05-23
[97]
웹사이트
ROS 2 Iron Irwini Released!
https://discourse.ro[...]
2023-05-23
[98]
웹사이트
ROS 2 Humble Hawksbill Released!
https://discourse.ro[...]
2022-05-23
[99]
웹사이트
ROS Galactic Geochelone Released
https://discourse.ro[...]
2021-07-10
[100]
웹사이트
ROS Foxy Fitzroy Released
https://discourse.ro[...]
2020-06-24
[101]
웹사이트
ROS 2 design
https://github.com/r[...]
2022-01-29
[102]
웹사이트
ROS 2 alpha releases (Aug 2015 – Oct 2016) – ROS 2 Documentation: Foxy documentation
https://docs.ros.org[...]
[103]
웹사이트
ROS 2 alpha8
https://discourse.ro[...]
2016-10-05
[104]
웹사이트
Why ROS 2?
https://design.ros2.[...]
[105]
웹사이트
Is there a release date of ros 2 or more informations about it? – ROS Answers: Open Source Q&A Forum
https://answers.ros.[...]
[106]
웹사이트
"Program | ROSCon 2014"
https://roscon.ros.o[...]
[107]
웹사이트
Home · ros2-wiki
https://itfanr.gitbo[...]
[108]
웹사이트
ROS-Industrial About
https://rosindustria[...]
2017-12-12
[109]
웹사이트
Brief History
https://rosindustria[...]
2018-07-11
[110]
웹사이트
2020 NASA Announcement of Collaboration Opportunity (ACO) Selections - NASA
https://www.nasa.gov[...]
2020-11-09
[111]
AV media
RDP120: Space ROS
https://www.youtube.[...]
2023-03-13
[112]
웹사이트
Home
https://space.ros.or[...]
[113]
웹사이트
Space ROS
https://github.com/s[...]
[114]
웹사이트
"Space ROS ! Space Robotics Operating System"
https://picknik.ai/s[...]
[115]
웹사이트
Home
http://rosindustrial[...]
2017-12-12
[116]
웹사이트
"Baxter Research Robots Q&A ! Rethink Robotics"
http://www.rethinkro[...]
2014-07-24
[117]
웹사이트
"CK-9 ! Centauri Robotics"
https://centaurirobo[...]
[118]
웹사이트
Robots/gopigo3 – ROS Wiki
http://wiki.ros.org/[...]
Open Robotics
[119]
웹사이트
CMU Personal Robotics Lab
http://personalrobot[...]
2017-12-12
[120]
웹사이트
Husky UGV – Outdoor Field Research Robot by Clearpath
http://www.clearpath[...]
2017-12-12
[121]
웹사이트
nao – ROS Wiki
http://www.ros.org/w[...]
Open Robotics
2013-10-28
[122]
웹사이트
Welcome to the Humanoid Robots Lab at the University of Bonn!
https://www.hrl.uni-[...]
[123]
웹사이트
Brown University Robotics
http://brown-robotic[...]
2013-01-28
[124]
웹사이트
"[ros-users] ROS NAO Driver"
http://code.ros.org/[...]
2013-10-29
[125]
웹사이트
Stanford Personal Robotics Program
http://personalrobot[...]
2017-12-12
[126]
웹사이트
Featured
http://www.willowgar[...]
2010-06-20
[127]
논문
'Raven-II: AN Open Platform for Surgical Robotics Research'
2013-04
[128]
웹사이트
"BioRobotics Laboratory | Biorobotics Laboratory – University of Washington"
http://brl.ee.washin[...]
Brl.ee.washington.edu
[129]
웹사이트
ROSbot 2.0 & ROSbot 2.0 PRO · Husarion Docs
https://husarion.com[...]
[130]
웹사이트
Dexterous Hand Series – Shadow Robot Company
https://www.shadowro[...]
[131]
웹사이트
STAIR
http://stair.stanfor[...]
[132]
웹사이트
Hello Robot
https://hello-robot.[...]
[133]
웹사이트
This Robot Could Be The Key To Empowering People With Disabilities
https://spectrum.iee[...]
[134]
웹사이트
Summit XL – Robotnik
http://www.robotnik.[...]
Robotnik.es
[135]
웹사이트
Specification
http://unboundedrobo[...]
Unbounded Robotics
[136]
웹사이트
UBR-1 Robot From Unbounded Robotics Revolutionizes Affordable Mobile Manipulation
https://spectrum.iee[...]
IEEE Spectrum
2013-10-21
[137]
웹사이트
Using ROS with Webots
https://www.cyberbot[...]
[138]
웹사이트
Koen Buys
http://people.mech.k[...]
2013-10-29
[139]
웹사이트
Ubiquity Robotics Downloads
https://downloads.ub[...]
[140]
웹사이트
ROSberryPi/Installing ROS Kinetic on the Raspberry Pi
http://wiki.ros.org/[...]
[141]
웹사이트
5.3.6. ROS and Radar – Processor SDK Linux Documentation
http://software-dl.t[...]
2020-05-01
[142]
웹사이트
About ROS
http://www.ros.org/a[...]
2018-10-15
[143]
웹사이트
ROS/Introduction
http://wiki.ros.org/[...]
2018-10-11
[144]
웹사이트
What is ROS exactly? Middleware, Framework, Operating System?
https://answers.ros.[...]
2018-09-25
[145]
간행물
ロボット・マニピュレーションの基礎(はじめての精密工学)
公益社団法人精密工学会
[146]
웹사이트
40万ドルのパーソナルロボット「PR2」、米ベンチャーが発売
https://www.itmedia.[...]
2010-09-09
[147]
웹사이트
PR2 beta Programming
http://www.willowgar[...]
Willow Garage
2018-10-14
[148]
웹사이트
The Results Are In: PR2 Beta Program Recipients!
http://www.willowgar[...]
2018-10-21
[149]
웹사이트
ロボットの“PARC”「Willow Garage」が撒いた種
https://monoist.itme[...]
2019-09-25
[150]
간행물
Raven-II: An Open Platform for Surgical Robotics Research
[151]
웹사이트
An open-source robo-surgeon - Monitor
https://www.economis[...]
2018-09-29
[152]
문서
ROS의 이용 로봇의 소개 페이지
https://robots.ros.o[...]
[153]
웹사이트
つくばチャレンジ概要
https://tsukubachall[...]
2018-11-23
[154]
웹사이트
ロボカップ@ホーム
http://www.robocup.o[...]
2018-11-23
[155]
문서
ROS Wiki의 튜토리얼
http://wiki.ros.org/[...]
[156]
웹사이트
MS、Windows向けRobot Operating Systemの試験リリースを発表
https://japan.cnet.c[...]
2018-10-12
[157]
웹사이트
ros-win
https://ros-win.visu[...]
2018-10-12
[158]
문서
Kinetic Kame 의 대응OS는 http://wiki.ros.org/kinetic で確認, ROS의 대상 플랫폼은 http://www.ros.org/reps/rep-0003.html で 확인
[159]
웹사이트
Distributions
http://wiki.ros.org/[...]
2018-10-13
[160]
웹사이트
Distributions
http://wiki.ros.org/[...]
2018-10-11
[161]
문서
ROS Answers 의 URL
https://answers.ros.[...]
[162]
웹사이트
Current Members
https://rosindustria[...]
2018-10-06
[163]
웹사이트
ROS/Introduction
http://wiki.ros.org/[...]
2018-10-19
[164]
웹사이트
Installation
https://docs.ros.org[...]
2023-11-09
[165]
문서
GitHub의 ROS 2의 페이지
https://github.com/r[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com