드론 프로그래밍

드론 프로그래밍이란?

드론 프로그래밍은 드론이 자기 인식 및 상황 인식을 통해 자율적으로 비행할 수 있도록 돕는 소프트웨어를 개발하는 일입니다. 드론 프로그래밍을 통해 드론은 사람의 개입 없이 직접 결정을 내리고 라스트 마일 배송과 같은 작업을 수행할 수도 있습니다.

드론 프로그래밍은 일반적으로 알고리즘 개발과 프로토타이핑, 소프트웨어 시뮬레이션, 하드웨어 구현 및 테스트를 포함합니다. MATLAB®Simulink®는 드론 프로그래밍의 다양한 측면을 지원하는 툴과 참조 응용 사례를 제공합니다.

드론 프로그래밍 워크플로.

드론 프로그래밍 워크플로.

드론 프로그래밍의 첫 단계는 프로토타이핑과 알고리즘 개발입니다. 프로그램은 다음과 같은 주요 소프트웨어 구성요소로 이뤄질 수 있습니다.

드론 프로그래밍의 다음 단계인 소프트웨어 시뮬레이션에서는 버그를 식별하고 복잡한 자율 비행 알고리즘을 검증할 수 있습니다. Gazebo®Cuboid WorldUnreal Engine® 같은 시뮬레이션 환경은 테스트 케이스에 맞게 제작된 가상 환경에서 드론 소프트웨어를 테스트하는 데 사용됩니다.

마지막으로, 하드웨어 구현 및 테스트 단계에서는 자동 코드 생성을 통해 PX4® Autopilots 같은 다양한 오토파일럿이나 NVIDIA Jetson® CPU 같은 온보드 컴퓨터에 프로그램과 모델이 구현됩니다. QGroundControlMission 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