본문 바로가기

Robot/ROS

ROS란?

728x90

로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크

- 노드간 메시지 교환방법으로 복잡한 프로그램을 잘게 나눠 공동 개발 가능

- 명령어 도구, 시각화 도구 Rviz, GUI 도구 모음 rqt, 3차원 시뮬레이터 Gazebo 지원

 

 

ROS의 진정한 목적

- 로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것

 

 

ROS를 사용 가능한 운영체제

- 기본적으로 Ubuntu, OS X 에서 구동하는 것을 추천

- OS를 탑재할 수 없는 MCU의 경우, 시리얼 통신, 블루투스, LAN 경유로 통신할 수 있는 라이브러리 제공

 

ROS 특징

통신 인프라

- 노드 간 데이터 통신 제공

통상적 미들웨어로 지칭되는 메시지 전달 인터페이스 지원

메시지 파싱 기능

메시지의 기록 및 재생

메시지 사용으로 인한 다양한 프로그래밍 언어 사용 가능

분산 매개 변수 시스템

 

2. 로봇 관련 다양한 기능

로봇에 대한 표준 메시지 정의

로봇 기하학 라이브러리

로봇 기술 언어

진단 시스템

센싱/인식

내비게이션

- 로봇에서 많이 사용되는 로봇의 포즈(위치/자세) 추정, 지도내의 자기 위치 추정 제공

- 지도 작성에 필요한 SLAM, 작성된 지도 내에서 목적지를 찾아가는 Navigation 라이브러리를 제공

매니퓰레이션

 

3. 다양한 개발 도구

로봇 개발에 필요한 다양한 개발 도구 제공

로봇 개발의 효율성 향상

ex)

Command-Line Tools

RViz (알비즈) : 3D 시각화툴 / 레이저, 카메라 등의 센서 데이터 시각화

RQT

Gazebo (가지보)

 

 

728x90