ROS2 명령어 (2)

SSW·2022년 12월 23일
0

ROS

목록 보기
3/4

설치된 package 및 작성한 package list 확인

# 사용 가능한 package list 출력
$ ros2 pkg list

package에 포함되어 있는 node 확인

# 지정 package의 실행 파일 목록 출력
$ ros2 pkg excutables <패키지명>

새로운 ROS2 package 생성

# build type은 C++의 경우 ament_cmake, python인 경우 ament_python
# --dependencies [dependency1] [dependency n]
$ ros2 pkg create <package name> --build-type <build type>

지정 package의 저장 위치 출력(수정)

$ ros2 pkg prefix <package name>

지정 package의 package 정보 파일(xml) 출력(수정)

$ ros2 pkg xml <package name>

특정 package의 node 실행

$ ros2 run <package name> <node name>

동작 중인 node list

$ ros2 node list

node 정보 확인

$ ros2 node info <node name>

동작 중인 topic list

$ ros2 topic list
# message의 type까지 출력
$ ros2 topic list -t

topic 정보 확인

$ ros2 topic info <topic name>

topic 내용 확인

$ ros2 topic echo <topic name>

topic 대역폭 확인

송수신 받는 topic message 크기(초당 대역폭) 확인

$ ros2 topic bw <topic name>

topic 주기 확인

$ ros2 topic hz <topic name>

topic 지연시간 확인

$ ros2 topic delay <topic name>

topic publish

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>"

지정 topic의 topic type 출력

$ ros2 topic type <topic name>

bag record

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>

bag 정보 확인

저장된 rosbag 파일의 정보 확인

$ ros2 bag info <bag file name>

bag play

$ ros2 bag play <bag file name>

동작 중인 service list 확인

$ ros2 service list
# service의 type까지 출력
$ ros2 service list -t

지정 service 찾기

$ ros2 service find <service type>

지정 service type 확인

$ ros2 service type <service name>
$ ros2 service list -t

지정 service 요청

service name, service type, service 요청 내용 입력

# 지정 service의 service 요청 전달
$ ros2 service call <service name> <service type> "<arguments>"

동작 중인 action list 확인

# 사용 가능한 action list 출력
$ ros2 action list
# action의 type까지 출력
$ ros2 action list -t

지정 action 정보 확인

$ ros2 action info <action name>

action goal 전달

지정 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

node, topic, action을 GUI로 보기

$ rqt_graph

각 message type 및 message name 확인

지정 interface의 data type 출력

$ ros2 interface show <interface type>

현재 개발환경 msg, srv, action message 보기

사용 가능한 모든 interface list 출력

$ ros2 interface list

msg, srv, action interface를 담고 있는 package list 보기

package - 특정 package에서 사용 가능한 interface list 출력
packages - interface package들의 list 출력

$ ros2 interface packages
# package option에 package name을 입력하면 지정한 package에 포함된 interface들을 보여줌
$ ros2 interface package <package name>

특정 interface의 기본 type 확인

지정 package의 proto type 출력

$ ros2 interface proto <interface type>

parameter list 확인

$ ros2 param list

지정 parameter 내용 확인

$ ros2 param describe <node name> <parameter name>

지정 parameter 읽기

$ ros2 param get <node name> <parameter name>

지정 parameter 쓰기

node name, parameter name, 변경할 parameter value 지정

$ ros2 param set <node name> <parameter name> <value>

지정 parameter 저장

$ ros2 param dump <node name>

node 실행 시 저장된 parameter value 사용

명령어 뒤에 --ros-args --params-file option을 사용하여 만들어놓은 yaml 파일의 위치 입력

지정 parameter 삭제

$ ros2 param delete <node name> <parameter name>
profile
ssw

0개의 댓글