카테고리 없음

[Core ROS Tutorials-Beginner Level] 6. Understanding ROS Topics

숑지(shhy01) 2023. 7. 28. 10:08

1. Setup

1.1 roscore

 

새 터미널에서 roscore이 running중인지 확인해보자!

roscore cannot run as another roscore/master is already running.

지난 튜토리얼에서 실행 중인 roscore을 그대로 두면, 이와 같은 오류가 난다.

이땐 하나의 roscore만 실행하면 된다 :)

 

1.2 turtlesim

귀여운 터틀심 사용해보자!

새 터미널에서 rosrun turtlesim turtlesim_node를 하면, TurtleSim창이 나타난다.

거북이 모양은 다양하므로, 모양이 다른 것에 걱정하지 않아도 됨!

 

1.3 거북이 키보드 teleoperation(원격 조작)

 

 

거북이가 arrow key(방향키)에 따라 조작이 되지 않는다면,

Turtle_teleop_key의 터미널 창을 선택하고 방향키를 조작해본다.

좌/우 방향키는 45도씩 회전하고, 앞/뒤 방향키는 일정 블록 이동하게끔 되어 있다.

 

2. ROS topics

turtlesim_node와 turtle_teleop_key nodes는 ROS topics을 통해 통신한다.

turtle_teleop_key는 topic에 대한 key strokes를 publishing을 한다. 반면, turtlesim은 key strokes를 수신하기 위해 같은 topic을 subscribe한다.

 

현재 실행 중인 node와 topic을 알려주는 rqt_graph를 사용해보자.

 

2.1 rqt_graph

시스템에서 일어나는 일에 대한 동적 그래프를 생성한다. rqt_graph는 rqt package의 일부이다.

처음 실행한다면, 아래와 같이 설치해야 한다!

$ sudo apt-get install ros-<distro>-rqt
$ sudo apt-get install ros-<distro>-rqt-common-plugins

 

새 터미널을 만들고

위와 같이 작성하면,

위와 같이 turtlesim이라는 ROS nodes를 원으로 나타낸 graph형태를 볼 수 있었다.

 

ROS tutorial의 예제 그림의 경우는 아래와 같다.

마우스를 갖다대면 색이 나타나는데,

아래와 같이, 원 형태의 ROS nodes는 파란색, 녹색 / topic은 빨간색으로 강조된다.

 

 

2.2 Introducing rostopic

rostopic 툴을 사용하면 ROS topics에 대한 정보를 얻을 수 있다.