ardupilot无人机飞控学习笔记
一、什么是ardupilot!ArduPilot是一个可信的,多用途的,开源的自动驾驶系统。该系统支持了非常多的交通工具类型,包括多旋翼无人机,传统直升机,固定翼飞行器,船,潜艇,巡逻车等。源码由大型开发者社区的专家和爱好者共同开发和维护。也欢迎更多的开发者加入源码的迭代演进,最好的“打开”方式就是加入开发者团队论坛。该论坛对所有人开放,在这里可以深入感受到开发者们对ArduPilot的热爱。
二、一套Autopilot即可搞定海陆空
ArduPilot能够创建和使用可信的、自主的,无人驾驶的飞机(或车,船)驾驶系统以造福所有人。ArduPilot可以任何类型车辆任何应用程序提供了一套综合的工具套件。作为一个开源项目,它通过社区用户和开发者的持续、快速的反馈不断发展壮大。开发者团队通过与社区和商业合作伙伴协同工作为ArduPilot开发更多有意义的功能。
三、名字由来
ArduPilot部分‘Ardu’是来自Arduio。APM1和APM2开发板是基于Arduio的开发环境和AVR CPUs。项目已经更新了这些开发板,所以建议用户使用的Autopilot硬件选项页面上的许多功能更强大的板之一,包括Pixhawk。
四,Ardupilot支持的开发板
Ardupilot支持的硬件飞控板包括 Pixhawk, The Cube, Pixracer, NAVIO2, Bebop2, 等。
五、Arduplot包括的开源项目
Plane:无人机的开源代码;
Copter:多旋翼和传统直升机的开源代码;资料
Rover:地面无人小车的开源代码;
Sub:水下无人机的开源代码;
Antenna Tracker:车辆天线自动对准的开源代码;
六、任务规划
任务规划的开源代码,最常用的地面站是用C# for windows编写的Mission Planner,但也可以通过mono在Linux和MacOS上运行
此外还有:
APM planner2;
MAVProxy、Drone Kit-用于在车辆、移动设备和/或云中运行的应用程序的APM SDK、MinimOSD-飞行数据的屏幕显示塔(维基,代码,谷歌游戏);
Tower-安卓地面站;QualTealM-是使用Qt库在C++中编写的另一个地面站;
七、单机模拟器 SILT
SITL模拟器(循环中的软件)
SITL(循环中的软件)模拟器允许您在没有任何硬件的情况下运行Plane,Copter或Rover。 它是使用普通C ++编译器构建的自动驾驶仪代码,为您提供了一个本机可执行文件,允许您在没有硬件的情况下测试代码的行为。
SITL允许您直接在PC上运行ArduPilot,无需任何特殊硬件。 它利用了ArduPilot是一个可以在各种平台上运行的便携式自动驾驶仪。 PC只是ArduPilot可以构建和运行的另一个平台。
在SITL中运行时,传感器数据来自飞行模拟器中的飞行动力学模型。 ArduPilot拥有多种内置的飞行器模拟器,可以连接到几个外部模拟器。 这使得ArduPilot可以在各种类型的模型上进行测试。 例如,SITL可以模拟:
[*]多旋翼飞机
[*]固定翼飞机
[*]地面车辆
[*]相机的万向节
[*]天线跟踪器
[*]各种可选的传感器,如激光雷达和光学流量传感器
添加新的模拟飞行器类型或传感器类型很简单。
ArduPilot在SITL上的一大优势是它可以让您访问桌面C ++开发所需的各种开发工具,如交互式调试器,静态分析器和动态分析工具。 这使得开发和测试ArduPilot的新功能变得更加简单。
SITL架构
注意在下面的图像端口号仅供参考,可能会有所不同。 例如,ArduPilot和图像上的模拟器之间的端口是5501/5502,但根据您的环境,它们可能会变成5504/5505或其他端口号。
页:
[1]