659.106 RViz2에서의 TF 프레임 필터링

1. 개요

대규모 로봇 시스템에서는 수십 개의 TF2 프레임이 존재할 수 있으며, 모든 프레임을 동시에 표시하면 시각화가 복잡하고 가독성이 저하된다. RViz2의 TF Display는 개별 프레임의 표시/숨김을 제어하는 필터링 기능을 제공하여, 관심 프레임만을 선택적으로 시각화할 수 있다.

2. 프레임 필터링 방법

2.1 개별 프레임 선택

TF Display의 속성 패널에서 “Frames” 섹션을 확장하면 현재 TF2 트리에 존재하는 모든 프레임의 목록이 표시된다. 각 프레임 옆의 체크박스를 통하여 개별적으로 표시 여부를 제어할 수 있다.

조작효과
프레임 체크해당 프레임의 축과 이름을 표시
프레임 체크 해제해당 프레임을 숨김
“All Enabled” 체크모든 프레임 표시
“All Enabled” 해제모든 프레임 숨김

2.2 Tree 모드

“Tree” 속성을 활성화하면, 프레임 목록이 계층적 트리 구조로 표시되어 부모-자식 관계를 파악하기 쉬워진다.

3. 시각화 최적화

3.1 관심 프레임만 표시

디버깅 목적에 따라 다음과 같이 관심 프레임만 선택적으로 표시한다.

디버깅 목적표시할 프레임
위치 추정 확인map, odom, base_link
센서 정렬 확인base_link, laser_link, camera_link, camera_optical_frame
바퀴 회전 확인base_link, wheel_left_link, wheel_right_link
글로벌 좌표 확인earth, map, odom

3.2 표시 속성 조절

속성권장 설정사유
Marker Scale0.3~0.5축 표시가 로봇 모델을 가리지 않도록 축소
Show Names체크프레임 식별에 필수
Show Arrows해제다수의 프레임에서 화살표가 과밀하므로 필요시만 활성화

4. 다중 TF Display 활용

복수의 TF Display 인스턴스를 추가하여 각각 다른 프레임 그룹을 시각화할 수 있다. 예를 들어, 하나는 표준 프레임(map, odom, base_link)만 표시하고, 다른 하나는 센서 프레임만 표시하도록 설정하면 필요에 따라 각 그룹을 독립적으로 활성화/비활성화할 수 있다.

5. 요약

RViz2의 TF 프레임 필터링은 복잡한 프레임 트리에서 관심 프레임만을 선택적으로 시각화하는 기능이다. 개별 프레임의 체크박스 제어, 계층적 트리 뷰, Marker Scale 조절 등을 통하여 효과적인 시각적 디버깅 환경을 구성할 수 있다.


참고 문헌 및 출처

  • RViz2 공식 문서, https://docs.ros.org/en/humble/Tutorials/Intermediate/RViz/ (ROS2 Humble Hawksbill)
  • rviz_default_plugins TF Display, https://github.com/ros2/rviz (ROS2 Humble 브랜치)