(1) 오픈 프로젝트 osrf/vrx을 이용한 환경 모델링, 동력학 모델링, 및 센서 구성 및 변경
osrf/vrx프로젝트에서 Gazebo 시뮬레이터로 구현된 환경은 무인 수상정의 다양한 기술을 시험할 수 있는 일반적인 해상 및 항해 조건을 제공하는 가상의 장소이고 Marine Advanced Rotics사의 16’WAM-V라는 무인 수상정에 대한 동력학 모델은 urdf 포맷으로 정의되어 있다. 본 기술 이전에서는 world에서 파도, 바람, 조류에 대한 변화를 주거나 보트에 부착된 센서의 종류와 배치를 변경 그리고 모터의 추친력에 대한 소프트웨어적인 변경에 대한 내용은 포함하지만 물리적 구조 변경은 포함하지 않는다.
(2) ROS2를 이용한 센서 데이터 전달 및 제어 방법
ROS2 (Robot Operating System 2)는 로봇 애플리케이션 개발을 위한 오픈소스 소프트웨어 프레임워크이며 로봇이나 무인체계 개발에 널리 활용되고 있다. 본 기술에서는 시뮬레이터에 부착된 센서와 제어 모터를 ROS2 노드로 구현하고 있다. 각각의 노드들은 데이터를 획득하고 이를 필요한 다른 노드로 전송하거나 보트를 제어하는 기능을 수행한다.
(3) 모니터링앱을 통한 USV 상태 모니터링, 궤적추적 및 임무 수행
주요 기능은 카메라, IMU, GPS, 환경 정보(풍속, 바람 방향, 파고)를 수신하고 처리하여 시각화하는 것이다. 이 기능은 자율운항 알고리즘 개발이나 경유점에 대한 자율 임무 수행 관리 프로그램 개발에 필수적이다. 모니터링앱은 IMU 센서 데이터 처리를 통해 추정된 위치와 속도를 실시간으로 차팅하고, 차팅된 위치를 위도와 경도로 변환해 지도상에 표시한다. 이렇게 표시된 정보는 GPS 궤적과 비교해 정확성을 직관적으로 확인할 수 있다. 또한 IMU에서 획득한 Roll, Pitch, Yaw 값을 게이지에 표시해 배의 자세를 확인할 수 있다. 운항 임무 하달을 위한 경유점을 지도에 표시하고 경유점으로의 이동 명령을 내리는 기능도 제공한다. 모니터링앱은 가상 조이스틱을 이용한 수동 조작 기능도 제공하는데, 이는 사용자 제어 신호가 배의 움직임에 어떻게 반영될지 보정값을 설정하는 데 필수적이다.
(1) 본 기술은 Gazebo와 ROS2를 이용한 시뮬레이션 구동에 한함
본 기술 이전에는 환경이나 보트의 기구학적 범용성을 제공하는 기능은 없다. 기술 이전에 제공받는 기업에 맞는 환경 모델링과 보트의 기구학적 설계는 기업의 요구에 맞게 정의해야 한다. 또한, OSRF/VRX가 사용하는 환경 모델링 도구와 보트의 기구학은 Gazebo world 파일과 URDF 형식으로 정의되어 있으므로, 이전받는 기업들은 이러한 포맷을 사용하여 자체적인 커스터마이징이 가능하다. 이는 기업이 자신들의 특정 운영 조건이나 요구 사항에 맞추어 시뮬레이션 환경을 구축하고자 할 때 world 파일 및 urdf는 기업이 직접 정의해야 한다. 이렇게 정의된 파일을 적용한 시뮬레이션 대한 기술 지원은 가능하다.
(2) ROS2 패키지
ROS2 패키지를 구성 하는 센서 및 제어 모터 노드들의 소스 코드, 데이터 통신 및 노드 간 상호작용을 구현한 소스코드, 그리고 시각화 도구 및 모니터링 도구와의 데이터 송수신을 위한 인터페이스 코드가 포함된다. 이전을 받는 기업이나 기관은 이 코드들을 기반으로 자체적인 커스터마이징과 추가 개발을 할 수 있어야 하며, 설치, 설정, 실행 방법에 대한 자세한 문서와 필요한 기술 지원을 한다.
(3) 운항 모니터리잉앱
운항 모니터링에 포함된 ROS2 패키지 통신 모듈, IMU 데이터 처리 및 시각화, 지도상의 GPS 궤적 추적, 운항 계획 및 시뮬레이션 및 수동 제어등의 기능을 수행하는 소스코드가 포함된다.