티스토리 뷰

터미널 4개 사용

아래처럼 터미널을 띄우고 싶다면 <CTRL-ALT-T>로 터미널을 하나 띄운 뒤,

나머지 3개의 터미널은 <CTRL-SHIFT-T>로 띄우면 된다.

1. roscore 실행 및 확인

터미널#1에서

roscore

터미널#4에서

rosnode list

 

2. turtlesim 노드 실행 및 확인

터미널#1 (roscore)가 실행중인 상태에서 아래 실습을 진행한다.

터미널#2에서

rosrun turtlesim turtlesim_node

터미널#4에서 확인

rosnode list

 

3. turtle_teleop_key 실행 및 확인

터미널#1 (roscore) 와 터미널#2 (turtlesim node)가 실행중인 상태에서 아래 실습을 진행한다.

터미널#3에서

rosrun turtlesim turtle_teleop_key

여기서 상하좌우 화살표키를 누르면 거북이가 그에 따라 움직인다.

 

터미널#4에서 아래 명령어들 쭉 실행.

1) 노드 리스트

rosnode list

2) 토픽 리스트

rostopic

토픽과 관련한 명령어들을 확인할 수 있는 명령어이다.

현재 활성화된 토픽 리스트를 받고 싶으면 rostopic list 명령을 실행하면 된다.

rostopic list

어떤 토픽이 날아다니는지 살펴볼 수 있는 명령어이다.

rostopic list -v

-v옵션은 더 자세하게 알 수 있다.

publish되는 토픽과 subscribe되는 토픽을 알 수 있다.

또 각 토픽에 대해 publisher와 subscriber 개수도 알 수 있다.

3) 토픽 메세지 확인

rostopic echo /turtle1/cmd_vel

해당 토픽에 담긴 메세지의 내용을 볼 수 있다.

/turtle1/cmd_vel 자리에 원하는 토픽 이름을 쓰면 된다.

여기서 터미널#4에서 cmd_vel값을 확인하기 위해서는 터미널#3에서 화살표키를 이용해 거북이를 움직여야 한다.

이 명령어를 중지하고 싶다면 <CTRL-C>를 눌러서 종료하면 된다.

4) 노드와 토픽 관계 시각화

rqt_graph

노드와 토픽 관계를 시각화하는 명령어이다.

파란색 노드는 publisher node이고, 초록색 노드는 subsriber node이다.

빨간색은 전달되는 토픽의 이름이 적혀있다.

5) 메시지의 타입과 구성

rostopic type /turtle1/cmd_vel

이 토픽에서 발행하는 메시지의 type을 확인하는 명령어.

rosmsg show geometry_msgs/Twist

이 타입의 메시지는 어떻게 구성되어 있는지 확인하는 명령어.

6) 토픽 직접 발행

rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]'

-1 : 발행을 1번만

/turtle1/cmd_vel : 토픽 이름

geometry_msgs/Twist : 메시지 타입

-- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]' : 메시지 내용

주의할 점은 -- 뒤에 띄어쓰기 한 칸 있다.

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]'

/turtle1/cmd_vel : 토픽 이름

geometry_msgs/Twist : 메시지 타입

-r 1 : 발행 주기는 1Hz (1초에 1번씩)

-- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]' : 메시지 내용.

주의할 점은 -- 뒤에 띄어쓰기 한 칸 있다.

그만 발행하고 싶으면 <CTRL-C>로 위 명령어를 종료한다.

 

참고 : wiki.ros.org/

 

Documentation - ROS Wiki

ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under

wiki.ros.org

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함