ROS란 Robot Operating System의 약자로 , 로봇 운영 시스템 ? 이라는 뜻이다.
ROS는 메타운영체제로 , 메타운영체제란 애플리케이션과 분산 컴퓨팅자원간의 가상화 레이어로
분산 컴퓨팅 자원을 활용하여 , 스케줄링 , 로드 , 감시, 에러처리등을 실행하는 시스템이다.
ROS는 기존의 윈도우나 리눅스 같은 운영체제가 아니며 , 기존 운영체제에 추가적인 설치를 동반하는
미들웨어이다.
ROS의 데이터통신은 서로 다른 운영체제 , 하드웨어 시스템에서도 데이터를 주고 받을 수 있기 때문에
로봇개발에 적합하다.
ROS는 OS위에 설치하지만, OS에서 제공하는
- 하드웨어 추상화
- 저수준 기기 제어
- 프로세스간 메세지 전달
- 패키지 관리 기능
등이 구현되고 , 관련한 패키지들을 제공한다.
ROS의 목적으로는 로봇 소프트웨어 공동 개발 생태계를 만드는 것이다. 또한 로봇의 연구 개발에 있어서 코드 재
사용을 편리하게 하는 목적, ROS는 앞서 말했듯이 다른 OS 위에 설치할 수 있는 미들웨어이며, 다양한 패키
지 기능들을 제공하고 있고, 유저가 작은 프로그램을 만들어 복잡한 프로그램에 정보를 전달할 수 있기 때문이다.
ROS의 장점으로는
먼저 무료이고,
ROS를 사용하여 공통적으로 OS 위에 올라갈 수 있고,
서로 다른 로봇 센서에 맞는 메세지들을 ROS에서 사용할 수도 있고,
유저가 메세지를 만들어서 사용할 수 있고, 이러한 메세지를 만들고 ROS의 구성요소 중 하나인 노드로 메세지 정보를
교환할 수 있어 여러 유저들과 협업 개발을 하여 복잡한 프로그램을 만들 수 있다.
ROS이외에도 여러가지 로봇소프트웨어 플랫폼이 존재한다.
OPROS(Open Platform for Robotic Service)
-다양한 기존 로봇용 알고리즘(네비게이션, 비전, 음성인식 등)을 활용할 수 있도록 만든 로봇 S/W
-국내오픈소스 , 컴포넌트 기반의 플랫폼
OROCOS(Open Robot Control Software)
-real time 위주의 플랫폼
-C++클래스구조만 제공, 개발도구나 컴포넌트 제공하지 않음
-멀티미디어같은 비 실시간 서비스에 적합하지 않음
등이 있다.
'IT 프로그래밍 관련 > ROS' 카테고리의 다른 글
ROS 패키지 디렉토리 (0) | 2021.06.08 |
---|---|
ROS 관련 기본 용어 (0) | 2021.06.07 |
생활속의 로봇 (0) | 2021.06.02 |
ROS 설치 방법!!! (0) | 2021.06.01 |
ROS를 위한 Ubuntu 듀얼부팅 환경설정 (windows환경) (0) | 2021.06.01 |
댓글