ROS 시스템 - RViz, Parameter Server

김성빈·2024년 7월 14일
0

ROS

목록 보기
9/12

RViz는 ROS Visualization의 약자로

여러 플러그인을 제공해 ROS의 메시지를 시각화한다.

예를 들어 로봇이 이동하고 내비게이션을 할 수 있는 건물 지도를 시각화 할 수 있다.

parameter server

파라미터 서버는 ROS 애플리케이션의 노드들 간 대체 통신 프로토콜을 제공한다.

그림 설명

+---------------------+
|      ROS Master     |
|  +---------------+  |
|  |  Parameter    |  |
|  |    Server     |  |
|  +---------------+  |
+---------------------+
         |  |
         |  |
    +----+  +----+
    |           |
+---v---+   +---v---+
| Node1 |   | Node2 |
+-------+   +-------+

그림 설명 + RViz

위에 설명한 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가 다른 노드들과 통신할 수 있음을 나타내며 이들은 서로 토픽을 통해 이루어진다.

이 구조에서 RViz의 역할

  • RViz는 다른 노드들이 발행하는 데이터를 구독하여 시각화
  • Parameter Server에서 설정을 읽어와 시각화 구성에 사용
  • 사용자가 RViz에서 변경한 설정을 Parameter Server에 저장
  • ROS Master를 통해 시스템의 다른 부분과 통신하고 필요한 토픽을 찾음

Node 예시

  1. 설명: ROS의 기본 연산 단위, 특정 작업을 수행하는 실행 가능한 프로그램

  2. 역할: 센서 데이터 처리, 모터 제어, 알고리즘 실행 등

  3. 실제 사용:
    센서 드라이버 노드: 카메라, 라이다, IMU 등의 센서 데이터 발행
    모터 제어 노드: 로봇의 모터를 제어하여 움직임 생성
    SLAM 노드: 동시적 위치추정 및 지도 작성 알고리즘 실행
    내비게이션 노드: 경로 계획 및 장애물 회피 알고리즘 실행
    이미지 처리 노드: 컴퓨터 비전 알고리즘을 사용한 이미지 분석

parameter server 추가 설명

  1. 설명: 키-값 쌍으로 구성된 공유 딕셔너리로, 노드 간에 설정을 공유
  2. 역할: 전역 설정 저장, 노드 간 설정 공유
  3. 실제 사용:
    로봇의 물리적 특성 저장 (무게, 크기 등)
    센서 설정 저장 (카메라 해상도, 레이저 스캐너 범위 등)
    알고리즘 파라미터 저장 (PID 제어기 게인, 경로 계획 파라미터 등)

ROS Master

  1. 설명: ROS 시스템의 중추로, 노드 간 통신을 관리하고 조정합니다.
  2. 역할: 노드 등록, 노드 간 연결 설정, 파라미터 서버 호스팅
  3. 실제 사용: 모든 ROS 시스템에서 기본적으로 사용됩니다. 'roscore' 명령어로 실행
profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글