토픽 확인하기

실습 - Package 및 Node 생성 에서 노드를 실행하면 토픽이 출력되는 것을 확인할 수 있었습니다. 하지만, 이는 토픽을 보내는 Publisher에서 단순히 데이터를 출력한 것이기에 실제 토픽 메시지를 수신한 것은 아닙니다. 토픽을 확인하는 방법에는 여러 방법이 있고 각 방법에 따른 장단점이 있습니다. 이번 시간에는 이전 실습 시간에 작성한 패키지를 사용해 다양한 방법으로 토픽을 확인해 보겠습니다.

1. ROS 2 기본 내장 명령어 사용하기

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/2ccf8125-610b-4b57-b7a3-33cdeb0f73a8/01f32a78-103a-439f-9bca-0026b835b4c2/노션_1.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/2ccf8125-610b-4b57-b7a3-33cdeb0f73a8/01f32a78-103a-439f-9bca-0026b835b4c2/노션_1.png" width="40px" /> ROS 2 기본 내장 명령어

터미널 아이콘 또는 VSCode에서 Ctrl + ``(물결 표시 아래 따옴표)` 키를 눌러 터미널 창을 열어줍니다.

스크린샷, 2023-04-13 14-33-14.png

Publisher 노드를 실행합니다. 이전 실습 시간에 작성한 Python 패키지(py_pubsub)와 C++ 패키지(cpp_pubsub) 모두 코드 작성 방법의 차이만 있을 뿐, 토픽은 동일하니 원하는 타입의 패키지로 실행해 주시면 됩니다.

스크린샷, 2023-04-13 14-33-24.png

스크린샷, 2023-04-13 14-33-45.png

# Python talker 실행
$ ros2 run py_pubsub talker

# C++ talker 실행
$ ros2 run cpp_pubsub talker

새로운 터미널 창을 열어 아래의 명령어를 순서대로 입력합니다. VSCode 기준으로 Ctrl + Shift + **5**를 입력하면 이미지와 같이 분할 터미널 창을 열 수 있습니다.

ros2 topic list 명령어로 현재 Publish 중인 토픽 목록을 확인할 수 있으며, ros2 topic info 명령어로 해당 토픽에 대한 정보를 확인할 수 있습니다.

$ ros2 topic list
# ros2 topic info [토픽 이름]
$ ros2 topic info /topic

스크린샷, 2023-04-13 14-35-00.png

해당 토픽의 실시간 데이터를 확인하고 싶을 경우 아래 명령어로 토픽을 계속 받아올 수 있습니다.

# ros2 topic echo [토픽 이름]
$ ros2 topic echo /topic