MORAI SIM: Drive for ROS
본 섹션에서는 MORAI SIM: Drive 시뮬레이터와 외부 서버 간의 ROS 통신을 사용하여 시뮬레이터 센서의 검출 데이터를 확인하는 예제를 가이드한다.
본 예제 가이드에서는 센서에서 검출한 데이터를 가상 서버에서 ROS 통신으로 수신 후 확인하는 과정을 설명한다.
Step 1: 사전 준비 사항: 테스트 환경 구성
본 예제 가이드에서는 ROS 통신을 사용한다. 따라서 예제 시작에 앞서멀티 시스템 구성 및 [ROS] 통신 환경 구성 및 테스트 을 참고하여 멀티 시스템 기반의 ROS 통신 환경을 구성한다.
Step 2: 센서 검출 데이터 예제
아래의 순서에 따라, 시뮬레이터에서 송신하는 센서 데이터를 ROS 통신으로 가상 서버에서 수신 및 각 센서의 검출 데이터를 확인한다.
1] 예제 코드 다운로드
앞에서 구성한 우분투 ROS 통신 환경에 아래 경로의 테스트 코드를 다운로드한다.
# 센서 데이터 파싱 및 Visualization 테스트 패키지 다운로드
$ git clone https://github.com/MORAI-Autonomous/MORAI-SensorExample.git
$ pip install -r requirements.txt
2] 시뮬레이터 센서 네트워크 설정
시뮬레이터의 각 센서의 네트워크를 아래와 같이 설정 후 Connect 클릭
참고: Local 환경에서 시뮬레이터를 실행시킨다면 ROS Bridge IP에 127.0.0.1 기입
3D Lidar의 경우 ROS 통신으로 전송되는 메시지가 없으므로 UDP-ROS 통신을 위한 네트워크 설정을 아래와 같이 진행한다.
2-1] 시뮬레이터의 3D Lidar의 네트워크를 UDP로 설정한다.
Model: VLP16
Sensor Network: UDP
Host Sensor IP: 192.168.56.1
Host Sensor Port: 2369
Destination IP: 192.168.56.101
Host Sensor Port: 2368
2-2] 외부서버에서 3D Lidar 센서의 검출 데이터를 ROS 통신으로 받아오는 노드 실행
roslaunch velodyne_pointcloud VLP16_points.launch
3] ROS 통신 연결 확인
시뮬레이터의 각 센서 네트워크에서 ROS 통신 설정 후 Connect 하면 ROS Bridge를 실행한 가성 서버의 터미널에서 아래와 같은 “Client Connect” 로그를 확인할 수 있다. (모든 센서 공통)
4] 센서 검출 데이터 확인
아래와 같은 순서로 시뮬레이터의 각 센서 별로 검출한 데이터를 ROS 통신으로 확인한다.
4-1] 가상 서버에서 Visualization UI 툴 실행
~/{예제코드 설치 경로}/MORAI-SensorExample$ python ./Morai_sensor_viewer.py
Visualization UI 툴로 ROS 뿐만 아니라, UDP 통신에 의한 센서 별 검출 데이터를 보다 용이하게 확인할 수 있다.
4-2] 가상 서버에서 실행한 Visualization UI 툴에서 아래와 같은 각 센서 별 설정 값을 기입 후 Connect 를 클릭한다.
Network Type: ROS
IP: 가상 서버 혹은 해당 예제 코드를 설치한 서버의 IP 주소
Port: N/A
Topic 및 Type: 각 센서 별 지원하는 토픽 및 메시지 타입