RViz는 ROS Visualization의 약자로
여러 플러그인을 제공해 ROS의 메시지를 시각화한다.
예를 들어 로봇이 이동하고 내비게이션을 할 수 있는 건물 지도를 시각화 할 수 있다.
파라미터 서버는 ROS 애플리케이션의 노드들 간 대체 통신 프로토콜을 제공한다.
+---------------------+
| ROS Master |
| +---------------+ |
| | Parameter | |
| | Server | |
| +---------------+ |
+---------------------+
| |
| |
+----+ +----+
| |
+---v---+ +---v---+
| Node1 | | Node2 |
+-------+ +-------+
위에 설명한 RViz는 Node와 같은 선상에 있어 그림으로 나타내면 아래와 같다.
+---------------------+
| ROS Master |
| +---------------+ |
| | Parameter | |
| | Server | |
| +---------------+ |
+---------------------+
| |
| |
+----+ +----+
| |
+---v---+ +---v---+ +-------+
| Node1 | | Node2 | | RViz |
+-------+ +-------+ +-------+
| | ^
| | |
+-----------+-----------+
RViz도 하나의 ROS 노드로 작동하며,
RViz는 ROS Master 및 Parameter Server와 연결돼있고, RViz가 ROS Master를 통해 시스템에 등록되고, Parameter Server에서 설정을 읽거나 쓸 수 있음을 의미한다.
RViz와 다른 노드들 사이의 선은 RViz가 다른 노드들과 통신할 수 있음을 나타내며 이들은 서로 토픽을 통해 이루어진다.
설명: ROS의 기본 연산 단위, 특정 작업을 수행하는 실행 가능한 프로그램
역할: 센서 데이터 처리, 모터 제어, 알고리즘 실행 등
실제 사용:
센서 드라이버 노드: 카메라, 라이다, IMU 등의 센서 데이터 발행
모터 제어 노드: 로봇의 모터를 제어하여 움직임 생성
SLAM 노드: 동시적 위치추정 및 지도 작성 알고리즘 실행
내비게이션 노드: 경로 계획 및 장애물 회피 알고리즘 실행
이미지 처리 노드: 컴퓨터 비전 알고리즘을 사용한 이미지 분석