无人机编程的第一步是原型设计和算法开发。该程序可以构造到这些关键软件组件中:
- 无人机动态模型(植物模型)由无人机的运动方程组成。
- 感知和感知生成和处理传感器数据来自传感器,如imus.,气压计,或全球定位系统用于飞行和低级控制,和相机那Lidars.或用于自主能力的超声波传感器。
- 规划和决定基于环境和检测到的障碍物生成路径。
- 飞行控制系统稳定并控制沿生成路径的无人机飞行。
无人机编程的下一步,软件仿真,有助于识别错误和验证复杂的自主飞行算法。仿真环境如凉亭®那长方体世界, 和虚幻引擎®用于在针对测试用例量身定制的虚拟环境中测试驱动器软件。
最后,在硬件实现和测试阶段,程序和模型在自动驾驶仪上实现,例如PX4.®自动驾驶仪或船上计算机等nvidia jetson.®CPU.通过自动生成代码。特派团规划软件如QgroundControl.和任务策划者用于计划任务,调调飞行控制参数,并控制无人机。这微空气车辆链路(MAVLINK)通信协议机器人操作系统(ROS)用于与自动驾驶仪或车载计算机进行通信。飞行日志分析工具有助于分析飞行日志以了解无人机的行为。