ROS 간단 예제

Jaewon·2021년 5월 10일
0

ROS

목록 보기
5/9

실습 내용

노드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초에 한 번

계속 돈다

0개의 댓글