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 Scale | 0.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_pluginsTF Display, https://github.com/ros2/rviz (ROS2 Humble 브랜치)