- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 Pixhawk学习10.2——多旋翼位置控制
10.1中介绍了目标位置点的计算逻辑,知道下一时刻的目标位置后,飞控需要根据当前位置进行计算,依次得到期望速度,期望拉力矢量,期望姿态。至此就完成了多旋翼的位置控制。1、期望速度计算上篇计算得到期望位置之后,根据飞机当前位置,可知道位置差矢量。在位置速度串级PID中,位置环只采用了比例,速度环采用了PID。 /* run position & altitude controllers...
2020-04-26 17:35:58
1167
1
原创 Pixhawk学习10.1——多旋翼位置控制
1.整体流程位置控制部分主要以control_auto为主进行学习。因为自动控制部分也包含了手动控制的内容。多旋翼位置控制主要分为几个步骤:根据航线计算期望位置 ==> 根据期望位置计算期望速度 ==> 根据期望速度计算期望推力矢量 ==> 根据期望推力矢量计算期望姿态。因此,多旋翼位置控制部分也根据上述步骤进行学习,由于该部分的内容比较多,可能会分几期进行。2.多旋翼位...
2020-03-18 16:09:23
1927
原创 Pixhawk学习9——固定翼位置控制(L1控制+TECS总能量控制)
本篇博客本来没有在之前的计划中。但由于最近项目上遇到了固定翼轨迹控制的一些问题,所以就结合pix的程序学习总结了一下。不同于旋翼,固定翼要实现位置变化必须得有一个轨迹变化过程,因为它不像旋翼那样可以直接调整力的矢量,也不能旋翼那样悬停和直上直下。Pixhawk中的固定翼位置控制分为两部分:横航向的L1控制和纵向的TECS控制(总能量)。作为普通固定翼的执行机构,分为横滚(副翼)、偏航(方向舵)...
2020-03-02 16:08:53
9880
3
原创 Pixhawk学习8——多旋翼姿态控制
姿态控制学习部分主要以多旋翼姿态控制为例。1.整体流程姿态控制主要分为几个部分:姿态误差角计算=>目标角速度计算=>角速度PID而这部分的重点在姿态误差角计算。2.姿态误差角计算姿态角误差的计算目的是要知道无人机从该状态转动多少角度才能到目标状态。从字面意思理解,姿态误差角不就是当前姿态和目标姿态的差值吗(如下公式)?并且很多飞控就是这么做的(匿名,烈火等等这些玩具级飞...
2020-02-26 16:08:21
1640
原创 Pixhawk学习7——位置解算
Pixhawk的位置解算分为两部分,第一部分主要为传感器的数据获取,而该部分最主要的就是GPS数据的提取。第二部分为与惯性器件之间的组合导航。组合导航的好处我就不用多说了。Pixhawk代码中目前主要有两处组合导航的代码:1)Firmware/src/examples/ekf_att_pos_estimator2)Firmware/src/modules/ekf2 + Firmware/s...
2020-02-21 15:15:25
1094
原创 Pixhawk学习6.2——姿态解算
在PX4中,采用三轴陀螺,三轴加计,三轴磁力计采用EKF进行姿态解算。(现在在examples/attitude_estimator_ekf里面,在cmake里面并没有打开,nuttx_px4fmu-v2_default里面用的是ekf2)该算法中估计的是机体系下的量。定义机体坐标系(前右下),导航坐标系(北东地)。一、 概念定义卡尔曼滤波,可以简单理解为先通过运动状态方程求得先验状态...
2020-02-21 11:53:56
1658
原创 Pixhawk学习6.1——姿态解算
19年12月份写完传感器标定之后停了得有两个半月了,主要是因为年底试验事情比较多,个人也比较心烦,所以就停滞了。过完年疫情严重,在家里隔离办公,整好有心思整理和学习了一些pix的内容,今天一并发出来。Pixhawk的姿态解算主要有几种方法。互补滤波、基于mahony算法的DCM和扩展卡尔曼滤波(EKF)。互补滤波的内容实在是太多了,而且玩具级的小飞控基本都采用这种简单的方式,主要思路就是将陀螺和...
2020-02-21 11:36:58
3076
2
原创 Pixhawk学习5.2——传感器标定之陀螺仪
相对于加速度计,Pixhawk中陀螺仪的校准比较简单。陀螺仪的主要量测量为角速度,其安装在飞控中之后的量测模型如下:Wm = K * Mi * Wb + delta + n其中:Wm[3] 为陀螺仪实际测到的角速度;K[3][3] 为陀螺仪的刻度系数;Mi[3][3] 为陀螺仪的安装矩阵,即陀螺仪与机体之间的旋转矩阵;delta[3] 为陀螺仪零偏;n[3] 为噪声。由于Pixh...
2019-12-06 16:58:29
2459
原创 Pixhawk学习5.1——传感器标定之加速度计
加速度计作为飞控系统的核心传感器,在Pixhawk中主要充当姿态解算、加速度敏感等任务。由于Pixhawk中采用的为MEMS加速度计,其使用过程中存在着零偏、刻度系数、安装偏角等误差,如果直接使用,即加速度计的输出并非飞机本体的加速度,因此需要提前标定这些误差,在使用时提前补偿掉。Pixhawk中给出了加速度计的标定模型,在这里稍作总结并提出自己的一些想法。加速度计标定的程序主要涉及到以下文件...
2019-12-04 13:19:27
1440
原创 Pixhawk学习4——Commander相关分析
Commander文件夹中的内容的作用主要为Pixhawk飞行模式的切换。该段程序会根据遥控器上的开关状态以及飞机飞行状态和各传感器性能状态进行判断,最终实现飞行模式的切换。飞行模式切换主要涉及到以下几个文件:src/modules/sensors/sensors.cppsrc/modules/commander/state_machine_helper.cppsrc/modules/co...
2019-12-03 18:53:15
1113
原创 Pixhawk学习#——学习计划目录
之前写过几篇关于Pixhawk学习的博客,但都是根据自己感兴趣的点、或者整好碰到的一些资料进行学习而总结的。思来想去还是觉得这么往下进行不能系统的学习,因此查阅了大量资料和学习课程之后,现将需要学习的Pixhawk内容目录总结如下,之后会根据该目录进行学习并记录。1、Commander和摇杆控制主要是飞行模式切换的相关内容2、传感器校准主要为各传感器的使用前校准方法3...
2019-12-03 17:11:32
338
原创 Pixhawk学习3——Mixer函数分析
Pixhawk是一个通用型飞控,支持了各种多旋翼、固定翼、复合翼、尾座式、倾转式等等机型。对于这么多类型的飞机,其执行机构都各不相同。但从飞行控制原理上来讲,任何刚体的运动都可以描述成为六自由度模型(三个姿态运动和三个位置运动),而飞机的水平位置往往都要通过姿态调整来实现,也就是说,对于飞机来讲,所要控制的变量都是横滚、俯仰、偏航和油门这几个量。因此,Pixhawk中根据不同的飞机类型定义了一系...
2019-11-29 11:53:08
973
原创 Pixhawk学习2——uORB微对象请求代理及规则
在Pixhawk中,所有的功能被独立以进程模块为单位进行实现并工作。而每个进程模块都有一个(或多个?)主题信息topic(topic可以在Firmware/msg里查看到所有的可使用的)。所有的进程进行数据交互,其实就是将这些topic扔在一个市场上供大家选取。而uORB(Micro Object Request Broker,微对象请求代理器)就是这个市场。uORB在Pixhawk系统中肩负了整...
2019-11-28 11:49:28
387
原创 Pixhawk学习1——CMakeList.txt的解析
在PX4的工程文件中,src/modules下是具体的飞控代码。里面主要包含了传感器采集、姿态结算、姿态控制,位置结算、位置控制等程序模块。在进行二次开发时,需要添加的模块也是在这个文件夹里。每个文件夹里都有cmakelist.txt配置文件,目的是让系统识别到编写的程序。cmakelist.txt可以模仿别的文件夹下的。这里根据自己的经验,对CMakeLists.txt下的程序进行注释,以便清...
2019-11-20 21:21:30
456
PixHawk源码笔记-各种飞控开发.pdf
2020-03-02
基于APM飞控制作的MAVLink通信协议分析.pdf
2020-03-02
Pixhawk源码分析WalkAnt.pdf
2020-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人