본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2023 ROS 스터디] 변준형 #2주차 - ROS의 컨셉, 명령어, 도구

반응형

Node

최소 단위의 실행가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프로그램.

각 노드는 메시지 통신으로 데이터를 주고 받는다.

 

Package

하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것.

 

Message

메시지를 통해 노드간의 데이터를 주고받게 된다.

메시지는 integer, floating point, boolean 과 같은 변수형태이다.

메시지는 간단한 데이터 구조 및 메시지들의 배열과 같은 구조도 사용할 수 있다.

 

 

Topic

* 단뱡향의 연속성 통신

 

Service

* 양방향의 일회성 통신

 

Action

* Service와 유사하지만, 중간의 피드백이 있다는 차이가 존재

 

ROS 핵심 명령어

 

* roscd : 지정한 ROS 패키지의 디렉토리로 이동

* roscore : master, rosout, parameter server

* rosrun : 노드 실행

* roslaunch : 노드를 여러 개 실행 및 실행 옵션 설정

* rostopic : ROS 토픽 정보확인

* rosbag : ROS메시지 기록, 재생

* catkin_create_pkg : 패키지 자동 생성

* catkin_make : 캐킨 빌드 시스템에 기반을 둔 빌드

 

ROS 대표적인 도구들

 

* RViz

- ROS의 3D 시각화툴

- 로봇 외형의 표시와 계획된 동작을 표현

- 내비게이션

- 매니퓰레이션

- 원격제어

 

<RViz 실행화면>

 

* RQT

ROS의 종합 GUI 툴

 

<RQT 실행화면>

 

* Gazebo

로봇 개발에 필요한 3차원 시뮬레이션을 위한 로봇, 센서, 환경 모델 등을 지원하고 물리 엔진을 탑재하여 실제와 근사한 결과를 얻을 수 있는 3차원 시뮬레이터.

반응형