# 사용 가능한 package list 출력
$ ros2 pkg list
# 지정 package의 실행 파일 목록 출력
$ ros2 pkg excutables <패키지명>
# build type은 C++의 경우 ament_cmake, python인 경우 ament_python
# --dependencies [dependency1] [dependency n]
$ ros2 pkg create <package name> --build-type <build type>
$ ros2 pkg prefix <package name>
$ ros2 pkg xml <package name>
$ ros2 run <package name> <node name>
$ ros2 node list
$ ros2 node info <node name>
$ ros2 topic list
# message의 type까지 출력
$ ros2 topic list -t
$ ros2 topic info <topic name>
$ ros2 topic echo <topic name>
송수신 받는 topic message 크기(초당 대역폭) 확인
$ ros2 topic bw <topic name>
$ ros2 topic hz <topic name>
$ ros2 topic delay <topic name>
topic name, topic message, message 내용 기술
$ ros2 topic pub <topic name> <message type> "<args>"
# --once option을 사용하여 한 번의 publish만 수행하도록 설정
$ ros2 topic pub --once <topic name> <message type> "<args>"
# --rate 1 option을 사용하여 지속적인 publish를 수행하도록 설정(주기 1Hz)
$ ros2 topic pub --rate 1 <topic name> <message type> "<args>"
$ ros2 topic type <topic name>
publish되는 topic을 파일 형태로 저장
$ ros2 bag record <topic name1>
$ ros2 bag record <topic name1> <topic name2> <topic name3>
# -o (output) option을 이용하여 원하는 이름으로 지정할 수 있음
$ ros2 bag record -o <특정 이름> <topic name1>
저장된 rosbag 파일의 정보 확인
$ ros2 bag info <bag file name>
$ ros2 bag play <bag file name>
$ ros2 service list
# service의 type까지 출력
$ ros2 service list -t
$ ros2 service find <service type>
$ ros2 service type <service name>
$ ros2 service list -t
service name, service type, service 요청 내용 입력
# 지정 service의 service 요청 전달
$ ros2 service call <service name> <service type> "<arguments>"
# 사용 가능한 action list 출력
$ ros2 action list
# action의 type까지 출력
$ ros2 action list -t
$ ros2 action info <action name>
지정 action의 action target 전송
action name, action type, action goal 입력
$ ros2 action send_goal <action name> <action type> "<values>"
# feedback을 출력하기 위해서 --feedback option 사용 가능
$ ros2 action send_goal <action name> <action type> "<values>" --feedback
$ rqt_graph
지정 interface의 data type 출력
$ ros2 interface show <interface type>
사용 가능한 모든 interface list 출력
$ ros2 interface list
package - 특정 package에서 사용 가능한 interface list 출력
packages - interface package들의 list 출력
$ ros2 interface packages
# package option에 package name을 입력하면 지정한 package에 포함된 interface들을 보여줌
$ ros2 interface package <package name>
지정 package의 proto type 출력
$ ros2 interface proto <interface type>
$ ros2 param list
$ ros2 param describe <node name> <parameter name>
$ ros2 param get <node name> <parameter name>
node name, parameter name, 변경할 parameter value 지정
$ ros2 param set <node name> <parameter name> <value>
$ ros2 param dump <node name>
명령어 뒤에 --ros-args --params-file option을 사용하여 만들어놓은 yaml 파일의 위치 입력
$ ros2 param delete <node name> <parameter name>