본문 바로가기
  • AI 개발자가 될래요
로보틱스

[ROS2] 토픽의 frame_id 정보 알아내는 명령어 / 토픽은 잘 나오지만 rviz가 안될 때

by 꿀개 2024. 12. 24.

[ROS2] 토픽의 frame_id 정보 알아내는 명령어 / 토픽은 잘 나오지만 rviz가 안될 때

 

토픽을 rviz를 이용해 시각화하려면 "Fixed Frame" 값을 토픽의 "frame_id" 값과 일치시켜야 한다.

혹시 토픽은 잘 나오고 있는데 rviz에 안나온다면 이 부분을 점검해보자.

 

rviz의 Fixed Frame 위치

 

토픽의 "frame_id" 값을 알아내려면 어떻게 해야할까?

 

1. 우선, 시각화할 토픽을 발행한다.

토픽을 시각화하려면 발행부터 해야한다.

필자의 경우에는 bag파일을 play했다. 이 명령어는 아래와 같다.

ros2 bag play <$BAG_FILE_NAME>

 

2. 토픽 리스트를 확인하여 시각화할 토픽 이름을 알아낸다.

토픽 리스트 확인 명령어

ros2 topic list

 

3. 토픽의 frame_id 정보를 알아낸다.

토픽 echo와 grep을 활용하여 frame_id 값을 알 수 있다.

<$TOPIC_NAME> 부분에 원하는 토픽 이름을 적으면 된다.

ros2 topic echo <$TOPIC_NAME> | grep "frame"

 

해석하자면 topic echo로 값을 계속 받아오되, "frame" 문자열이 포함된 값만 받아오라는 뜻이다.

 

결과는 다음처럼 나온다. 값은 모자이크 처리했다.

ros2 topic echo <$TOPIC_NAME> ❘ grep "frame"