드론 프로그래밍이란?
드론 프로그래밍의 첫 단계는 프로토타이핑과 알고리즘 개발입니다. 프로그램은 다음과 같은 주요 소프트웨어 구성요소로 이뤄질 수 있습니다.
- 드론 동역학 모델(플랜트 모델)은 드론의 운동 방정식으로 구성됩니다.
- 감지 및 인식에서는 비행 및 하위 제어의 IMU, 기압계 또는 GPS와 같은 센서와 자율 기능의 카메라, 라이다 또는 초음파 센서에서 센서 데이터를 생성하고 처리합니다.
- 계획 및 결정에서는 환경과 감지된 장애물을 기반으로 경로를 생성합니다.
- 비행 제어 시스템은 생성된 경로를 따라 드론 비행을 안정화하고 제어합니다.
드론 프로그래밍의 다음 단계인 소프트웨어 시뮬레이션에서는 버그를 식별하고 복잡한 자율 비행 알고리즘을 검증할 수 있습니다. Gazebo®, Cuboid World 및 Unreal Engine® 같은 시뮬레이션 환경은 테스트 케이스에 맞게 제작된 가상 환경에서 드론 소프트웨어를 테스트하는 데 사용됩니다.
마지막으로, 하드웨어 구현 및 테스트 단계에서는 자동 코드 생성을 통해 PX4® Autopilots 같은 다양한 오토파일럿이나 NVIDIA Jetson® CPU 같은 온보드 컴퓨터에 프로그램과 모델이 구현됩니다. QGroundControl 및 Mission Planner 같은 임무 계획 소프트웨어는 임무를 계획하고 비행 조종 파라미터를 조정하고 드론을 제어하는 데 사용됩니다. MAVLink(Micro Air Vehicle Link) 통신 프로토콜 또는 ROS(Robot Operating System)는 오토파일럿 또는 온보드 컴퓨터와 통신하는 데 사용됩니다. 비행 로그 분석 툴을 통해 비행 로그를 분석하여 드론의 동작을 이해할 수 있습니다.
더 자세한 내용은 UAV Toolbox에서 드론 프로그래밍 시작을 위해 제공하는 예제를 통해 알아볼 수 있습니다.
예제 및 방법
소프트웨어 참조
참조: UAV Toolbox, drone programming videos, Computer Vision Toolbox, Lidar Toolbox, ROS Toolbox, Navigation Toolbox, MATLAB and Simulink for Robotics, robot programming, What is SLAM, Inertial Navigation System, PX4 Autopilot Support from UAV Toolbox