写的东西有点多,写的也有点乱,看题目也不知道内容是什么,为了方便网友观看自己感兴趣的地方,笔者把pixhawk博客归类一下。
(由于笔者也是边学习边写的,难免有错误,还请多包涵,提出指正)
1.想学习pixhawk,免不了win下搭建编译环境,或者linux下搭建编译环境
2.学习东西,总得有个全局的认识吧,那么请看pixhawk整体架构的认识、pixhawk原生码rcS分析、pixhawk硬件构架、PX4FMU和PX4IO最底层启动过程分析和uORB中间件,看好了这几篇之后,基本上就知道pixhawk是以什么机制运行起来的,各个部分干什么的。
3.有了一个整体的概念,那么就要深入继续研究
关于位置估计的有2套代码,lpe的请看Lacal_position_estimator数据流和卡尔曼算法的理解,inav的请看position_estimator_inav.cpp思路整理及数据流和pixhawk position_estimator_inav.cpp再分析
关于位置控制的请看mc_pos_control.cpp源码解读和mc_pos_control.cpp思路整理
关于姿态的估计和控制,写的比较水,不嫌弃的可以看pixhawk姿态与控制部分的记录
关于位置估计和控制、姿态估计和控制串联起来的可以看pixhawk光流--位置估计--姿态估计--位置控制--姿态控制(这篇博客写的时候有些概念还不是很清楚,也是边分析边写的,所以看起来比较混乱,请注意前面大概1/3的位置都是APM的,后面2/3的才是px4原生固件的)
关于调试的请看为实际调试做的准备、调试记录(一)---关于参数设置的问题、调试记录(二)pixracer 进入光流模式
关于飞行模式切换请看commander.cpp的飞行模式切换解读、_control_mode如何产生的
关于任务规划请看commander--navigator--modules之间的联系(未完待续)
关于px4驱动的请看pixhawk px4 字符型设备驱动,pixhawk px4 spi设备驱动
关于commander的请看pixhawk px4 commander.cpp
以下是APM的
关于makefile,基本上是搬砖,请看pixhawk make文件分析
关于APM的启动脚本请看启动脚本分析
关于APM数据流的分析请看ArduPilot_main启动与运行分析
关于APM从main到底层的一次梳理(有错误、只作参考)请看从main开始分析传感器数据如何流动起来,以GPS为例
关于APM读取传感器请看ardupilot如何读取传感器数据
关于APM书写上层应用和驱动请看:ardupilot & px4 书写自己的app & drivers (一)、ardupilot & px4 书写自己的app & drivers (二)
如果您觉得此文对您的发展有用,请随意打赏。
您的鼓励将是笔者书写高质量文章的最大动力^_^!!