
APM
文章平均质量分 94
本人apm学习之路
Allen xin
这个作者很懒,什么都没留下…
展开
-
LQR制导
LQR制导引言在ardupilot中固定翼飞机横航向位置控制(制导律)采用L1制导律,最近想将一些其他的控制理论用于ardupilot代码中,通过ardupilot论坛,看到已经有大佬曾经将L1用于固定翼制导律,并且已经向ardupilot官方github中pr了,但是由于pr的方式有误,被官方驳回了,但是我还是通过连接查到了大佬的代码,并且自己尝试了一下,已经编译通过并进行了仿真,后面我会把链接放到文章结尾。欢迎大家一起来讨论。LQR理论LQR(线性二次调节器)是一种最优控制方法,网上已经有很多关原创 2022-02-07 08:20:29 · 1279 阅读 · 0 评论 -
Quadcopter控制
1 问题描述四旋翼飞行器对角线上的两个电机旋转方向相同,另一对与之旋转方向相反。这是使推力,滚转,俯仰,偏航相互独立控制的必要条件。这可以使我们命令其中的一个动作而不影响其他动作。实际上,无人机的所有运动是耦合在一起的,但是为了方便研究,可以忽略这些细节。下面探讨一下控制问题:四个执行器(电机)将力和力矩传入系统,这样我们就想到用精确的方式控制四个电机,使之产生相应的力和力矩。首先我们利用...原创 2020-04-15 15:50:15 · 2873 阅读 · 0 评论 -
扩展卡尔曼滤波器
上一篇博文笔者整理了什么是卡尔曼滤波器,并且提出来卡尔曼滤波器和扩展卡尔曼滤波器的区别,其实就是一个将非线性系统线性化的过程,然后再进行卡尔曼滤波。这就是扩展卡尔曼滤波(EKF)的基本思想。它是一个简单的非线性近似滤波算法,指运动或观测方程不是线性的情况。为了简化计算,EKF通过一阶泰勒分解线性化运动/观测方程。KF与EKF具有相同的算法结构,都是以高斯形式描述后验概率密度的,都是通过计算贝叶斯递...原创 2020-04-06 21:54:34 · 440 阅读 · 0 评论 -
卡尔曼滤波器
卡尔曼滤波器程序步骤从当前状态计算下一步状态(估算)X^k=FkX^k−1+Bkuk+wk\hat{X}_k= F_k\hat{X}_{k-1}+B_ku_k+w_k X^k=FkX^k−1+Bkuk+wkPk=FkPK−1FkT+QP_k=F_kP_{K-1}F_k^T+QPk=FkPK−1FkT+QXpredictN(HkX^k,HkPkXkT)X_{predic...原创 2020-04-01 13:44:31 · 717 阅读 · 0 评论 -
APM飞行模式内部结构——以loiter为例
飞行模式的架构我已经在上一篇博文中提到了,本文将lotiter模式为例,详细讲解一下lotier模式的内部控制链。lotier模式即为悬停模式,也是GPS定点模式。在起飞前确保GPS是打开的。飞手控制的是飞机水平方向的加速度。控制链如下:1 主循环(fast_loop())循环是以400Hz调用的。包括以下函数:ins.update();//更新惯导数据attitude_control-...原创 2020-03-27 17:58:17 · 2182 阅读 · 0 评论 -
自定义飞行模式
添加自定义模式本文主要参考APM官网以及怒飞垂云的博客APM的代码量非常大,想要完全搞明白不太可能,快速入门的方法就是仿照着大牛们写过的程序,自己试着写一下,比如说我现在要添加一个最简单的矩形航线,我们可以先查看github上所提供的所有模式,然后比较一下,看自己想添加的模式和哪个相近,我这里添加的模式就可以仿照circle这个模式来写。1 修改飞行模式流程(以ArduCopter为例...原创 2020-03-23 21:14:32 · 1034 阅读 · 0 评论