ROS2-004. Turtlesim 02 - 토픽

[그림] Topic
Topic: 토픽의 이름과 데이터(메시지)의 구조만 알고 있으면 누구나 구독 가능
1
2
ros2 run turtlesim turtlesim_node
ros2 topic list
1
2
3
4
5
/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
Topic 역시 type조회 가능
1
ros2 topic type /turtle1/pose
1
turtlesim/msg/Pose
귀찮을 경우
1
ros2 topic list -t
1
2
3
4
5
6
ros2 topic list -t
/parameter_events [rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]
/turtle1/cmd_vel [geometry_msgs/msg/Twist]
/turtle1/color_sensor [turtlesim/msg/Color]
/turtle1/pose [turtlesim/msg/Pose]
토픽은 publisher랑 subscriber가 있는데 구분해서 볼 수 있으면 좋다.
1
ros2 topic info /turtle1/pose
/turtle1/cmd_vel 토픽의 메세지 type은 geometry_msgs/msg/Twist이고 interface show 명령어로 보면 linear, angular 2개의 벡터를 인자로 받는다.
1
ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

–once 옵션을 사용했으므로 거북이가 x축으로 2만큼 이동한다.
만약 –rate 옵션을 사용하면 rate 주기로 토픽을 발행한다.
1
ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.0, y: 1.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.0}}"
rate가 1이므로 1Hz주기로 토픽을 발행한다.

Reference
https://docs.ros.org/en/jazzy/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Topics/Understanding-ROS2-Topics.html
댓글남기기