turtlesim (1)
ROS가 제공하는 기본 turtlesim 패키지로 노드를 생성해보자
Terminal 1
-
$ roscore
마스터 core 실행 터미널 (노드 정보 관리)
Terminal 2
-
$ rosrun turtlesim turtlesim_node
turtlesim_node 노드 실행 터미널
귀여운 거북이가 있는 창이 나옴
토픽을 구독하여 이에 따라 거북이가 이동시킴
Terminal 3
-
$ rosrun turtlesim turtle_teleop_key
teleop_turtle 노드 실행 터미널
키보드 입력에 따라 토픽을 발행
Terminal 4
동작 확인을 위한 터미널
$ rosnode list
: 어떤 노드가 동작 중인지 확인
jsg@jsg-ubuntu:~$ rosnode list /rosout /teleop_turtle /turtlesim
$ rostopic list
: 어떤 토픽이 오고 가는지 확인
jsg@jsg-ubuntu:~$ rostopic list /rosout /rosout_agg /turtle1/cmd_vel /turtle1/color_sensor /turtle1/pose
$ rostopic list -v
: 토픽에 대한 더 자세한 정보 출력
jsg@jsg-ubuntu:~$ rostopic list -v Published topics: * /turtle1/color_sensor [turtlesim/Color] 1 publisher * /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisher * /rosout [rosgraph_msgs/Log] 2 publishers * /rosout_agg [rosgraph_msgs/Log] 1 publisher * /turtle1/pose [turtlesim/Pose] 1 publisher Subscribed topics: * /turtle1/cmd_vel [geometry_msgs/Twist] 1 subscriber * /rosout [rosgraph_msgs/Log] 1 subscriber
$ rostopic echo topic_name
: 특정 토픽이 발행될 때 화면에 출력
jsg@jsg-ubuntu:~$ rostopic echo /turtle1/cmd_vel linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 2.0 --- linear: x: 2.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0 ---
$ rostopic type topic_name
: 특정 토픽이 담고 있는 메세지의 타입
jsg@jsg-ubuntu:~$ rostopic type /turtle1/cmd_vel geometry_msgs/Twist
$ rosmsg show msg_type
: 메시지의 구성 요소 출력
jsg@jsg-ubuntu:~$ rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linear float64 x float64 y float64 z geometry_msgs/Vector3 angular float64 x float64 y float64 z
$ rqt_graph
: 노드와 토픽 관계를 시각화
Terminal 5
토픽을 터미널에서 직접 발행
$ rostopic pub [-option] topic_name msg_type -- msg
# turtle1/cmd_vel 토픽의 geometry_msgs/Twist 메시지를 # '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'로 1초에 한번씩 발행 $ rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist -- \ '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
Author And Source
이 문제에 관하여(turtlesim (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@legendre13/turtlesim-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)