노드1, Publisher (turtle_teleop_key)
↓ 토픽전송 (/turtle1/cmd_vel)
노드2, Subscriber (turtlesim_node)
터미널 4개
1. roscore
2. turtlesim_node
3. teleop_turtle_key
4. rosnode 실행, rostopic 실행 , ...
터미널 1에서 roscore 실행
이때 다른 터미널에서
rosnode list
하면
여기서 turtlesim_node 를 실행하면
rosrun turtlesim turtlesim_node
거북이가 멈춰 있는 창이 뜨게된다.
거북이를 움직이게 하기 위해 다른 터미널에서
rosrun turtlesim turtle_teleop_key
을 실행한다. 이것을 실행하면 이 터미널에서 방향키를 움직이면 거북이를 움직일 수 있다.
이 때, 다시 list 확인해보면
rqt_graph를 확인해보면
터미널4에서
rostopic list
을 실행하면 어떤 토픽이 날아다니는지 확인 가능
이때, 하나를 선택해서 echo하면 어떤 값인지 내용을 볼 수 있다.
rostopic list -v
하면 Published topics과 Subscribed topics을 좀 더 자세하게 볼 수 있다.
+) roswiki
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]'
-1 ==> 한번만
/turtle1/cmd_vel -> 토픽
geometry_msgs/Twist -> 메시지 타입 (rostopic type /turtle1/cmd_vel )으로 알 수 있다.
뒤에는 메시지 내용
-r : 발행 주기 Hz ex)
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0,0.0,0.0]' '[0.0,0.0,1.8]'
==> 발행 주기 1Hz -> 1초에 한 번
계속 돈다