- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Pixhawk源码总结
Pixhawk 源码分析
Sany_huang 阿国总结整理
目录
Pixhawk 源码一:APM 代码基本结构
Pixhawk 源码二:APM 线程
Pixhawk 源码三:串行接口 UART 和 Console
Pixhawk 源码四:学习 RC Input and Output
Pixhawk 源码五:存储与 EEPROM 管理
Pixhawk 源码六:源码预览与 APM 程序库
Pixhawk 源码七:姿态控制预览
Pixhawk 源码八:添加新的参数
Pixhawk 源码九:添加新的飞行模式
Pixhawk 源码十:代码调度,使之定时运行
Pixhawk 源码十一:增加新的 MAVLink 消息
Pixhawk 源码十二:采用 Visual Studio 编译 Mission Planner 方法与问题总结
Pixhawk 源码笔记一:代码基本结构
ArduPilot 代码分为 5 个主要部分,基本结构分类如下: (无人机控制系统 ArduPilotMega (APM) 是市面上最
强大的基于惯性导航的开源自驾仪(并且是最便宜的之一!) 特性包括: 免费开源固件)
vehicle directories
AP_HAL
libraries
tools directories
external support code
1、vehicle directories 模型类型
当前共有 4 种模型:ArduPlane, ArduCopter, APMrover2 and AntennaTracker。都是.pde
文件,就是为了兼容 arduino 平台,以后可能会放弃。
ArduPlane:固件运行在APM 自动驾驶仪上,可以给任何固定翼飞机全部自主飞行能力
ArduCopter 多旋翼机
arduino 平台一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的 Arduino 板)和软件
(Arduino IDE)
2、AP_HAL 硬件抽象层
硬件抽象层,使得在不同硬件平台上的移植变得简单。
其中 AP_HAL 目录定义了一个通用的接口。其他的目录AP_HAL_XXX 针对不同硬件平台进行
详细的定义。例如 AP_HAL_AVR 目录对于AVR 平台,AP_HAL_PX4 对应 PX4 平台,AP_HAL_Linux 对应 Linux
平台。
3、tools directories 工具目录
主要提供支持。For examples, tools/autotest provides the autotest infrastructure
behind site and tools/Replay provides our log replay utility.
4、external support code 外部支持代码
对于其他平台,需要外部支持代码。例如 Pixhawk、PX4 的支持代码如下:
PX4NuttX – 板载实时系统。the core NuttX RTOS used on PX4 boards
PX4Firmware – PX4 固件。the base PX4 middleware and drivers used on PX4 boards
uavcan – 飞行器 CAN 通信协议。the uavcan CANBUS implementation used in ArduPilot
mavlink – Mavlink 通信协议。the mavlink protocol and code generator
5、系统编译
针对不同的硬件板,编译可以采用 “make TARGET”的形式。
make apm1 – the APM1 board
make apm2 – the APM2 board
make px4-v1 – the PX4v1
make px4-v2 – the Pixh
文档评论(0)