#ROS 용어 정리
1. 노드 (Node) - 최소 단위의 실행 가능한 프로세서
2. 패키지 (Package) - 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것.
3. 메시지 (Message) - 노드 간의 데이터
4. 토픽 (Topic) - 이야깃거리
5. 퍼블리시 (Publishe) - 토픽 내용에 해당하는 메시지 형태의 데이터 송신
6. 서브스크라이브 (subscribe) - 토픽 내용에 해당하는 메시지 형태의 데이터를 수신하는 것
// Topic에 대해 1:1의 Publisher, subscriber통신도 가능하며, 목적에 따라서 1:N, N:1, N:N 통신도 가능하다.
7. 서비스 (Service) - 서비스를 요청하는 서비스 클라이언트와 서비스 응답을 담당하는 서비스 서버 간의 동기적 양뱡향 서비스 메시지 통신, 다자간 송수신 불가
8. 서비스 서버 (Service server) - 요청을 입력으로 받고, 응답을 출력으로 하는 서비스 메시지 통신의 서버 역할
10. 액션 (Action) - 비동기식+동기식 양방향 메시지 송수신, 다자간 송수신 불가
종류 | |||
topic | 단방향 | 비동깅 | 연속적인 데이터 송수신 |
service | 양방향 | 동기 | 요청 처리가 순간적인 현재 상태의 요청 |
action | 양방향 | 비동기 | 요청처리 후 응답까지 오래 걸리거나 중간 피드백이 필요한 경우 |
"rqt_graph"를 통하여 node와 topic이 어떻게 작동하고 있는지 그래프를 확인할 수 있다.
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key
$ rosrun rqt_graph rqt_graph
#명령어
ROS 명령어는 아래의 홈페이지에서 잘 나와있다
http://wiki.ros.org/ROS/CommandLineTools
#RViz
RViz(ROS Visvualiztion Tool)는 ROS 도구 중 하나이다. 센서 데이터의 시각화되어 있다.
(레이저 거리 센서(LDS) 센서의 거리 데이터, Depth Camera의 포인트 클라우드 데이터, 카메라의 영상 데이터, IMU 센서의 관성 데이터 등..)
Rviz를 이용하면 센서 및 로봇 관련 데이터 시각화가 매우 간단하다. 아래의 명령어를 누르면 쉽게 들어갈 수 있다.
$ roscore
$ rviz
ADD를 누르면 센서와 장치정보들을 사용가능하다.
#rqt
다음 알아볼 ROS도구 중 하나는 로봇으로부터 얻을 수 있는 데이터를 쉽게 확인하고 관리할 수 있도록 하는 rqt이다. GUI개발에 있어서 공통으로 필요한 부분들을 API형태로 제공을 한다.
Plugin에 들어가서 선택적으로 골라서 실행이 가능하다
#rqt_image_view
$ roscore
$ rosrun usb_cam usb_cam_node
$ rqt_image_view
#rqt_plot
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key
$ rqt_plot /turtle/pose/
#rqt_bag
$ roscore
$ rosrun usb_cam usb_cam_node
$ rqt_bag
#Gazebo
- 로봇 개발에 필요한 3차원 시뮬레이션을 위한 로봇, 센서, 환경 모델 등을 지원하고 물리엔진을 탑재하여 실제와 근사한 결과를 얻을 수 있는 3차원 시뮬레이터이다.
- DAPPA Robotics Challenge의 공식 시뮬레이터
- ROS와의 호환성이 매우 좋다
앞으로 시뮬레이션이 필요하다면 ROS와 연동하기 쉬운 Gazebo를 사용하자
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2023 ROS 스터디] 오준호 #2주차 - ROS 용어 및 도구 (1) | 2023.01.25 |
---|---|
[2023 ROS 스터디] 이현규 #1주차 - ROS 입문(에러의 바다 속에서) (0) | 2023.01.23 |
[2023 ROS 스터디] 윤준영 #2주차 - ROS 용어 및 도구 (0) | 2023.01.23 |
[2023 ROS 스터디] 김예진 #2주차 - ROS 용어 및 도구 (0) | 2023.01.23 |
[2023 ROS 스터디] 정혁제 #2주차 - ROS 용어 및 기초 (3) | 2023.01.22 |