intermediate - rqt

Overview

RQt는 다양한 도구와 인터페이스를 플러그인 형태로 제공하는 GUI 프레임워크다. 기존 GUI 도구들을 도킹 가능한 창으로 RQt 한 화면에 모아 쓸 수 있다. 각 도구는 예전처럼 독립 실행도 가능하고, RQt를 쓰면 여러 창을 한 레이아웃으로 관리하기 쉬워진다.

실행

rqt

실행하면 시스템에 설치된 플러그인 목록에서 골라 쓸 수 있다. 플러그인만 단독 창으로 띄우려면 예:

ros2 run rqt_py_console rqt_py_console

사용자는 Python 또는 C++ 로 RQt 플러그인을 만들 수 있다. 사용 가능한 RQt 플러그인 패키지는 ros2 pkg list 후 이름이 rqt_로 시작하는 패키지를 보면 된다.

System setup (설치)

데브 패키지로 설치(예: Jazzy):

sudo apt install ros-jazzy-rqt*

RQt Components Structure (구성)

RQt는 두 메타패키지로 나뉜다.

메타패키지역할
rqt코어 인프라 모듈.
rqt_common_plugins자주 쓰는 디버깅 도구 모음.

Advantage of RQt framework (장점)

처음부터 GUI를 만드는 것과 비교하면

  • GUI 공통 절차 표준화(시작/종료 훅, 이전 레이아웃 복원 등).
  • 여러 위젯을 한 창에 도킹해 한 화면에서 관리.
  • 기존 Qt 위젯을 RQt 플러그인으로 전환하기 쉬움.
  • Robotics Stack Exchange 등 커뮤니티에서 도움을 받기 수월함.

시스템/아키텍처 측면

  • 다중 플랫폼(Qt와 ROS가 도는 환경), 다중 언어(Python, C++) 지원.
  • 생명주기 관리: 공통 API로 플러그인을 만들어 유지보수·재사용이 쉬움.

참고: Overview and usage of RQt — ROS 2 Jazzy