[DRONE] Gazebo 시물레이터와 ROS 인터페이스 연결하기
드론 비행을 위해서는 여러가지 방법들이 있다. 드론의 비행 제어 알고리즘, 센서 제어 등 모든 것을 직접 프로그래밍 하는 방법이 있고, 비행은 비행 제어 알고리즘이 내장된 HW을 이용하고, 센서 또는 비전 처리를 통해 더 효율적인 비행을 할 수 있는 방법도 있다. 다양한 하드웨어 및 소프트웨어 드론 프로젝트 중에 리눅스 재단이 공식 지원하는 Dronecode 프로젝트가 있는데, 다양한 기업들이 이 프로젝트에 참여하고 있다. Dronecode 프로젝트 기반으로 만든 레퍼런스 보드들 중 유명한 것이 Pixhawk이다. 그리고 드론의 펌웨어와 미들웨어를 개발하는 프로젝트가 PX4 프로젝트이다. PX4는 MAVLink 프로토콜을 사용하여 제어할 수 있는데, 만일 ROS을 사용하여 PX4을 제어한다면 MAVROS을 사용하면 된다. 하지만 드론을 직접 만들어 비행 시험을 하기에는 장소와 안전 문제가 중요한 문제로 대두된다. 따라서 충분한 시물레이션 시험이 필요한데, 이 때 사용할 수 있는 3D 시물레이터 중 하나가 Gazebo이다. Gazebo를 사용하는 이유는 ROS와 연동이 보다 쉽다. 따라서 ROS와 MAVROS을 사용하여 PX4 미들웨어을 사용한다면 Gazebo을 사용하여 시물레이션이 가능하다. PX4을 이용한 드론의 개발 가이드는 다음 주소를 참고한다. PX4 Development Guide Subak.io (한글 사이트) 1. Gazebo7 설치 및 실행 Gazebo7은 PX4 Development Guide을 참고하여(Gazebo Simulation) 설치한다. 하지만 ROS와 연동된 드론을 시물레이터와 연동하기 위해서는 PX4 Firmware을 GitHub에서 Clone 또는 다운로드 받아 설치 후 Firmware을 실행하여 Gazebo 시물레이터와 연동을 시켜야 한다. 실행 방법은 다음과 같다. (Running the Simulation) $ cd ~/src/Firmware $ make posix_sit...