APM开发阅读

我阅读apm的源码有两个主要目的:一是学习,了解飞控系统和大型项目的组织结构;二是为了移植的需要,满足项目需求。近年来,少儿编程市场非常火热,许多厂商推出了相关的产品,但这些产品大多使用空心杯电机,导致动力不足,且扩展性有限。许多任务需要io或图像识别的支持。

因此,我在考虑使用APM裁剪版的飞控系统,结合空心杯电机和树莓派Zero(或其他设备),利用ROS、Mavlink等技术组装一个无人机。这只是一个初步的想法,目前还没有可供参考的现成方案,我也在进行这方面的尝试。

APM开发阅读这是一款F4的飞控,价格大约在一百元左右。

APM开发阅读这是十元的电调。

APM开发阅读这是小桨叶。

如果移植成功,实际上也可以使用更便宜的mcu,但我更希望利用现有的生态系统。我认为,一个三百多元的无刷无人机也可以用于少儿教育,将高性能引入这一领域是一件有趣的事情。

如果需要更便宜的方案,ESP8266+MPU6050+4个MOS管,总共也不到二十元。

APM可以使用make编译,也可以使用一个名为WAF的工具进行编译,实际上WAF只是一个python包,并没有引入新的编程语言。

APM的代码只有对直升机的详细解释,四轴飞行器的部分没有详细说明,但也可以参考。

APM开发阅读这是四轴飞行器相关的Copter代码。

APM开发阅读这个架构图非常清晰,帮助理解整个系统的结构。

阅读源码不仅需要关注细节,更需要对整体有一个宏观的理解。

APM开发阅读硬件部分包括PX4和linux变形板。

APM开发阅读由于任务多样性,引入了操作系统

APM开发阅读这是我们关注的飞行代码部分。

硬件抽象层共享库、传感器、EKF算法等特殊代码APM开发阅读飞控系统会通过MAVLink协议发送大量信息,如电池电量、姿态等,这些信息可以传输给高层应用、地面站以及机载计算机。

APM开发阅读这是对上述内容的一个总结。

APM开发阅读这是对上层应用的描述。

APM开发阅读目录中的这个文件列出了当前所有的依赖。

APM开发阅读这个目录中的文件是所有顶层项目共有的。

APM开发阅读这是核心库。

APM开发阅读这是传感器相关的部分。

APM开发阅读这是其他库。

APM开发阅读APM开发阅读这是编译命令的示例,首先切换到库的位置,然后编译并上传。

如果安装了MAVProxy,可以执行以下命令查看输出:

https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html#mavproxy-downloadinstallwindows

这是安装MAVProxy的位置。

mavproxy.py --setup --master /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00

这是执行MAVProxy的命令,使用 –setup 选项将MAVProxy置于原始串口模式,而不是处理后的MAVLink模式。

cd $ARDUPILOT_HOME # the top-level of an AruPilot repository./waf configure --board sitl./waf build --target examples/RCProtocolDecoder

这是用于环仿真的命令,用于RC协议解码。

./build/sitl/examples/RCProtocolDecoder -M quad -C

这是开始运行的命令。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享