精华内容
下载资源
问答
  • 无人机算法之PID

    千次阅读 2020-02-29 18:56:41
    串级PID顾名思义就是将两个PID控制算法串起来,从而增加系统的稳定性,四轴飞行器使用角度和角速度来组成串级PID (图片参考自正点原子) 期望角度来自遥控数据,反馈角度来自传感器,二者的偏差作为外环角度...

    (未完成)

    一、PID介绍 (百度百科)

    PID 控制器(比例-积分-微分控制器)是一个在工业控制应用中常见的反馈回路部件,由比例单元 P、积分单元 I 和微分单元 D 组成。 PID 控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快大惯性系统响应速度以及减弱超调趋势。

    PID算法的控制规律为

    Kp——比例增益,Kp与比例度成倒数关系; [2] 

    Tt——积分时间常数; [2] 

    TD——微分时间常数; [2] 

    u(t)——PID控制器的输出信号; [2] 

    e(t)——给定值r(t)与测量值之差。 [2] 

    即比例单元 P、积分单元 I 和微分单元 D,、。

    比例单元:

    比例控制器的输出u(t)与输入偏差e(t)成正比,能迅速反映偏差,从而减小偏差,但不能消除静差。

    比例控制作用的大小除与偏差e(t)有关之外,还取决于比例系数Kp的大小。比例系数Kp越小,控制作用越小,系统响应越慢;反之,比例系数Kp越大,控制作用也越强,则系统响应越快。但是,Kp过大会使系统产生较大的超调和振荡,导致系统的稳定性能变差,所以Kp在不同的系统中要根据系统特性折中选取。

    (静差是指系统控制过程趋于稳定时,给定值与输出量的实测值之差。)

    积分单元:

    积分环节的作用,主要用于消除静差提高系统的无差度。积分作用的强弱,取决于积分时问常数Ti,Ti越大积分作用越弱,繁殖则越强。

    积分控制作用的存在与偏差e(t)的存在时间有关。

    Ti越小,积分速度越快,积分作用越强。积分作用太强会使系统超调加大,甚至使系统出现振荡。

    微分单元:

    微分环节的作用能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。

    微分环节有助于系统减小超调,克服振荡,加快系统的响应速度,减小调节时间,从而改善了、系统的动态性能。

    但微分时间常数过大,会使系统出现不稳定。微分控制作用一个很大的缺陷是容易引入高频噪声,所有在干扰信号比较严重的流量控制系统中不宜引入微分控制作用。

    微分作用不能消除静差,单独使用意义不大,一般需要与比例、积分控制作用配合使用,构成PD或PID控制。

     

    二、PID使用

    四轴常用的PID有两种:单级PID和串级PID。

    单机PID:

    (图片参考自正点原子)

    通过测量飞行器的角度值来调节电机。

    串级PID:

    串级PID顾名思义就是将两个PID控制算法串起来,从而增加系统的稳定性,四轴飞行器使用角度和角速度来组成串级PID

    (图片参考自正点原子)

    期望角度来自遥控数据,反馈角度来自传感器,二者的偏差作为外环角度环的输入,角
    度环 PID 输出角速度的期望值; 角速度期望值减去传感器反馈的角速度得到角速度偏差值,
    这个值作为内环角速度环的输入,角速度环 PID 输出姿态控制量, 控制量转换为 PWM 去控
    制电机,从而控制四轴。

    串级PID调试:

    内环 P: 从小到大,拉动四轴越来越困难,越来越感觉到四轴在抵抗你的拉动;到比较
    大的数值时,四轴自己会高频震动,肉眼可见,此时拉扯它,它会快速的振荡几下,过几秒
    钟后稳定;继续增大,不用加人为干扰,自己发散翻机。 特别注意:只有内环 P 的时候,四
    轴会缓慢的往一个方向下掉,这属于正常现象。这就是系统角速度静差。
    内环 I: 前述 PID 原理可以看出,积分只是用来消除静差,因此积分项系数个人觉得没
    必要弄的很大,因为这样做会降低系统稳定性。从小到大,四轴会定在一个位置不动,不再
    往下掉;继续增加 I 的值,四轴会不稳定,拉扯一下会自己发散。 特别注意:增加 I 的值,
    四轴的定角度能力很强,拉动他比较困难,似乎像是在钉钉子一样,但是一旦有强干扰,它
    就会发散。这是由于积分项太大,拉动一下积分速度快,给 的补偿非常大,因此很难拉动,
    给人一种很稳定的错觉。
    内环 D: 这里的微分项 D 为标准的 PID 原理下的微分项,即本次误差-上次误差。在角
    速度环中的微分就是角加速度,原本四轴的震动就比较强烈,引起陀螺的值变化较大,此时
    做微分就更容易引入噪声。因此一般在这里可以适当做一些滑动滤波或者 IIR 滤波。从小到
    大,飞机的性能没有多大改变,只是回中的时候更加平稳;继续增加 D 的值,可以肉眼看
    到四轴在平衡位置高频震动(或者听到电机发出滋滋的声音)。前述已经说明 D 项属于辅助性
    项,因此如果机架的震动较大, D 项可以忽略不加。
    外环 P: 当内环 PID 全部整定完成后,飞机已经可以稳定在某一位置而不动了。此时内
    环 P,从小到大,可以明显看到飞机从倾斜位置慢慢回中,用手拉扯它然后放手,它会慢速
    回中,达到平衡位置;继续增大 P 的值,用遥控器给不同的角度给定,可以看到飞机跟踪的
    速度和响应越来越快;继续增加 P 的值,飞机变得十分敏感,机动性能越来越强,有发散的
    趋势。(参考自正点原子)

    三、程序实现(未完成)

    展开全文
  • 无人机算法之姿态

    千次阅读 2020-02-29 18:55:19
    无人机前进时,即调整俯仰角,前面两个电机速度降低,无人机后退时,后面两个电机速度降低。 无人机侧飞时,即调整横滚角,左飞和右飞分别降低左面和右面的两个电机速度。 无人机斜飞时 无人机转向时,即...

    (未完成)

    姿态解算的方法比较典型的有扩展性卡尔曼滤波和互补滤波算法

    飞行姿态的表示方式有四元数,欧拉角,矩阵和轴角

    一、欧拉角(百度百科)

    欧拉角由莱昂哈德 欧拉首先提出而得名,用来确定定点转动刚体位置的3个一组独立角参量,由章动角θ、旋进角(即进动角)ψ和自转角φ组成。

    二、四元数(百度百科)

    四元数(Quaternions)是由爱尔兰数学家哈密顿(William Rowan Hamilton,1805-1865)在1843年发明的数学概念。四元数的乘法不符合交换律(commutative law)。

    明确地说,四元数是复数的不可交换延伸。如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间

    四元数是除环(除法环)的一个例子。除了没有乘法的交换律外,除法环与域是相类的。特别地,乘法的结合律仍旧存在、非零元素仍有逆元素

    四元数形成一个在实数上的四维结合代数(事实上是除法代数),并包括复数,但不与复数组成结合代数。四元数(以及实数和复数)都只是有限维的实数结合除法代数。

    四元数的不可交换性往往导致一些令人意外的结果,例如四元数的 n-阶多项式能有多于 n 个不同的根。

    三、卡尔曼滤波(百度百科)

    卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

    四、互补滤波算法

    五、无人机模式

    无人机一般有两种模式,十字模式和X模式,我选用X模式来进行开发。

    无人机前进时,即调整俯仰角,前面两个电机速度降低,无人机后退时,后面两个电机速度降低。

    无人机侧飞时,即调整横滚角,左飞和右飞分别降低左面和右面的两个电机速度。

    无人机斜飞时

    无人机转向时,即调整偏航角

    更多参考资料请看:
    秦永元《惯性导航》 袁信、郑锷的《捷联式惯性导航原理》,邓正隆的《惯性技术》

     

     

    PID算法请看下一章节

    (本博客参考了百度百科及正点原子的资料)
     

     

    展开全文
  • 专栏链接 作者 漫谈 weixin_44616080 理论 weixin_44616080 实战 weixin_44616080 PX4 手可摘星辰不敢高声语 px4 仟人斩 px4 总被蚊子叮的小旭
    展开全文
  • 无人机dubins航路规划算法,matlab m语言编写
  • 本文介绍了一种新的非线性制导算法,切已验证了其在无人机沿曲线路径制导方面有更好性能。该算法在沿直线路径跟踪时采用了PD控制器,而沿...使用两家小型无人机的测试,每架飞机控制在1.6m以内的RMS(均方根误差)。
  • 基于深度学习的无人机识别算法研究.pdf
  • 针对大量在空中无秩序飞行的无人机有可能会闯入飞机场等禁飞区的情况,为了避免发生空中交通安全事故,提出了一种无人机禁飞区预警算法。首先,该算法经过坐标变换将描述无人机位置点的GPS坐标转换成对应的平面坐标...
  • 无人机 一个模拟无人机避让算法的简单程序。
  • L1导航算法是非常经典的非线性无人机路径跟随算法,最早由MIT于2004年提出,论文为《A New Nonlinear Guidance Logic for Trajectory Tracking》,其导航算法中是先选点,生成一段为L1的路径,最近学习了一下算法和...

    L1导航算法是非常经典的非线性无人机路径跟随算法,最早由MIT于2004年提出,论文为《A New Nonlinear Guidance Logic for Trajectory Tracking》,其导航算法中是先选点,生成一段为L1的路径,最近学习了一下算法和代码,做一下总结,图源论文。

    一、直线路径跟踪

    在这里插入图片描述

    L1路径跟随算法的基本思想就是在期望轨迹上选择一个参考点,并且用这个产生一个横向的加速度,加速度表示为,
    a s c m d = 2 V 2 L 1 sin ⁡ η {{a}_{{{s}_{cmd}}}}=2\frac{{{V}^{2}}}{{{L}_{1}}}\sin \eta ascmd=2L1V2sinη
    固定翼无人机在横向加速度作用下飞圆弧接近期望轨迹,公式很容易推导,可以看出,加速度与当前空速、空速与L1期望点夹角,以及无人机与L1期望点之间的距离有关。空速可以观测,故横向加速度的求解主要是要确定L1长度,求解 η \eta η角。
    对于直线期望路径,如下图所示,所求夹角可以表示为,
    在这里插入图片描述
    sin ⁡ η = η 1 + η 2 η 1 ≈ d L 1 η 2 ≈ d ˙ V a s c m d = 2 V 2 L 1 sin ⁡ η ≈ 2 V L 1 ( d ˙ + V L 1 d ) \sin \eta ={{\eta }_{1}}+{{\eta }_{2}} \\ {{\eta }_{1}}\approx \frac{d}{{{L}_{1}}} \\ {{\eta }_{2}}\approx \frac{{\dot{d}}}{V} \\ {{a}_{{{s}_{cmd}}}}=2\frac{{{V}^{2}}}{{{L}_{1}}}\sin \eta \approx 2\frac{V}{{{L}_{1}}}\left( \dot{d}+\frac{V}{{{L}_{1}}}d \right) sinη=η1+η2η1L1dη2Vd˙ascmd=2L1V2sinη2L1V(d˙+L1Vd)

    二、圆弧路径跟踪

    sin ⁡ η 3 ≈ L 1 2 R c ≡ cos ⁡ η 3 ≈ 1 − ( L 1 2 R ) 2 η 1 ≈ d L 1 cos ⁡ η 3 η 2 ≈ d ˙ V \sin {{\eta }_{3}}\approx \frac{{{L}_{1}}}{2R} \\ c\equiv \cos {{\eta }_{3}}\approx \sqrt{1-{{\left( \frac{{{L}_{1}}}{2R} \right)}^{2}}} \\ {{\eta }_{1}}\approx \frac{d}{{{L}_{1}}}\cos {{\eta }_{3}} \\ {{\eta }_{2}}\approx \frac{{\dot{d}}}{V} sinη32RL1ccosη31(2RL1)2 η1L1dcosη3η2Vd˙
    圆弧期望加速度求解主要是几何上的一些推导,具体可以看论文中的推导,主要涉及三个角度空速与该点切线的夹角 η 2 \eta_{2} η2,该点到L1连线与L1对应弦的夹角 η 1 \eta_{1} η1 2 η 3 2\eta_{3} 2η3相当于是L1所对应于的圆心角。
    在这里插入图片描述
    a s c m d = 2 V 2 L 1 sin ⁡ η = 2 V 2 L 1 sin ⁡ ( η 1 + η 2 + η 3 ) = 2 V 2 L 1 sin ⁡ ( η 1 + η 2 + η 3 ) ≈ 2 V 2 L 1 ( η 1 cos ⁡ η 3 + η 2 cos ⁡ η 3 + sin ⁡ η 3 ) ≈ 2 V 2 L 1 2 c 2 d + 2 V L 1 c d ˙ + V 2 R {{a}_{{{s}_{cmd}}}}=2\frac{{{V}^{2}}}{{{L}_{1}}}\sin \eta =2\frac{{{V}^{2}}}{{{L}_{1}}}\sin \left( {{\eta }_{1}}+{{\eta }_{2}}+{{\eta }_{3}} \right) \\ =2\frac{{{V}^{2}}}{{{L}_{1}}}\sin \left( {{\eta }_{1}}+{{\eta }_{2}}+{{\eta }_{3}} \right) \\ \approx 2\frac{{{V}^{2}}}{{{L}_{1}}}\left( {{\eta }_{1}}\cos {{\eta }_{3}}+{{\eta }_{2}}\cos {{\eta }_{3}}+\sin {{\eta }_{3}} \right) \\ \approx 2\frac{{{V}^{2}}}{{{L}_{1}}^{2}}{{c}^{2}}d+2\frac{V}{{{L}_{1}}}c\dot{d}+\frac{{{V}^{2}}}{R} ascmd=2L1V2sinη=2L1V2sin(η1+η2+η3)=2L1V2sin(η1+η2+η3)2L1V2(η1cosη3+η2cosη3+sinη3)2L12V2c2d+2L1Vcd˙+RV2

    三、个人对算法的理解

    (1)L1轨迹跟踪是非线性的导航算法,在实际的使用中,主要就是要解决L1的取值问题和 sin ⁡ η \sin \eta sinη的求解,因为是基于角度正弦的,所以相比于基于偏距的线性算法,在初始偏差比较大的时候,不会出现过激调节,可以比较平滑的向期望路径过渡,而在进入期望路径后,其控制效果较偏距控制更好,尤其是在圆形轨迹跟踪。
    (2)L1轨迹跟踪相当于在跟踪一个L1点,这个点的轨迹就是期望路径,点按一定频率刷新,按一定频率计算角度,刷新侧向加速度输出。
    (3)对 sin ⁡ η \sin \eta sinη进行小角度线性化,可以得到在期望路径附近的加速度线性化的形式,以跟踪直线为例,实际上就是一个二阶系统, a s c m d ≈ d ¨ {{a}_{{{s}_{cmd}}}}\approx \ddot{d} ascmdd¨
    d ¨ + 2 ζ ω n d ˙ + ω n 2 d = 0 ζ = 0.707 ω n = 2 V L 1 \ddot{d}+2\zeta {{\omega }_{n}}\dot{d}+{{\omega }_{n}}^{2}d=0 \\ \zeta =0.707 \\ {{\omega }_{n}}=\frac{\sqrt{2}V}{{{L}_{1}}} d¨+2ζωnd˙+ωn2d=0ζ=0.707ωn=L12 V
    这个二阶系统固有频率和速度以及L1长度有关,阻尼实际上是与那个增益就是那个2倍有关,在论文中,L1取了固定值150m,而V也只测试了25m/s的速度。对于圆的跟踪和直线差不多,只是固有频率也与盘旋半径有关。

    四、开源飞控中对算法的改进

    L1 Control for Straight and Curved Path Following
    (1)改进了L1航点更新,在原论文中L1是定值,改进后L1长度是动态计算的,可以指定一个恒定的跟踪回路周期,并使导航回路增益可以自动调整以适应速度的变化,并增加了两个参数。在ArduPilot中给出的L1更新公式为:L1_dist = 1/π * damping * period * speed ,这样固有频率就变成了1/π/period。
    (2)改进了阻尼,在原论文中,近似的二阶系统阻尼是固定的,在ArduPilot中通过修改了加速度的增益,latAccDem = 4 * damping² * speed² * sin(Nu) / L1_dist ,阻尼为1/damping。
    关于ArduPilot源码的解读参考了以下两篇博客:
    https://blog.csdn.net/u012814946/article/details/79817719
    https://blog.csdn.net/u012814946/article/details/81451769

    展开全文
  • 无GPS导航下基于光流的小型无人机导航算法.pdf
  • 无人机航路规划算法,matlab m语言
  • 针对无人机航迹规划问题,提出了一种融合简化稀疏A*算法与模拟退火算法(Fusion of Simplified Sparse A* Algorithm and Simulated Annealing algorithm,简称FSSA-SA)的航迹规划方法.首先,在对威胁环境进行建模...
  • 无人机定高算法

    千次阅读 2020-05-20 12:11:29
    算法有了,剩下的问题是速度和高度怎么测量,用什么传感器了。 typedef struct { float kp; float ki; float kd; float max; float min; float error; float integral; float differential; float ...
  • 文章目录无人机集群复现算法模型对比1 参数1.1 原论文包含的参数1.2 优化论文包含参数2 模型2.1 原论文模型受到的作用力2.2 优化模型中受到的力3 评估指标3.1 原论文中评估指标3.2 优化论文中的评估指标3.2.1 适应度...
  • 无人机部署算法——贪心

    千次阅读 2019-05-18 19:58:30
    %用贪心算法确定剩下的无人机 for i=1:5 [loc,num,dat0]=greedy(data,r,R,loc2,xmin,xmax,ymin,ymax,dis); loc_array=[loc,loc_array]; num_array=[num,num_array]; loc2=[loc;loc2]; data=dat0; end num_array...
  • 无人机边界识别算法

    2019-08-28 21:42:52
    在农业部门,喷洒无人驾驶飞行器(UAV)的一项重要任务是在达到农田边界后立即返回。最初,他们需要手动控制,这是一项繁琐的工作。本文介绍了一种有效的图像处理算法,可根据从机载摄像头接收的图像自动检测农田...
  • 无人机飞控算法-姿态估计-欧拉角-旋转矩阵-四元数

    千次阅读 多人点赞 2020-12-06 19:39:43
    无人机飞控算法-姿态估计(EKF卡尔曼滤波) 此系列记录了我理解的卡尔曼滤波从0到1的过程,从姿态估计到位置估计,我们从核心点一个个出发,并结合实际模块的应用来一一揭开卡尔曼滤波的神秘面纱。 提示:在系列文章...
  • 无人机飞控三大算法

    千次阅读 多人点赞 2018-11-16 15:37:16
    无人机飞控三大算法:捷联式惯性导航系统、卡尔曼滤波算法、飞行控制PID算法。   一、捷联式惯性导航系统 说到导航,不得不说GPS,他是接受卫星发送的信号计算出自身位置的,但是当GPS设备上方被遮挡后,GPS设备...
  • 无人机深度学习去雾算法.pdf
  • 随着我国低空空域开放步伐的加快以及传感器、自动控制、计算机等技术领域的发展,近几年微小型无人机得到了快速的发展。旋翼无人机作为无人机家族中的重要成员,由于其具有空中悬停、垂直起降、贴地飞行等独特的飞行...
  • 无人机姿态控制算法

    千次阅读 2021-01-09 14:39:35
    利用载体上的加速度计、陀螺仪这两种惯性远见,去分别测出飞行器的角运动信息和线运动信息,与初始姿态、初始航向、初始位置一起交给计算模块,由计算模块推算出飞机的姿态、速度、航向、位置等导航参数的自主式导航...
  • 无人机航迹规划算法的初步研究,介绍常用算法以及其特点
  • 关注+星标公众号,不错过精彩内容来源|开课吧近年来,无人机的智能化程度不断提高,越来越多的智能算法被应用到无人机上,在这种背景下,良好的无人机通用仿真平台的重要性越发凸显。但是,相较于...
  • 无人机制导控制算法的设计开题报告.doc
  • 基于深度学习的无人机声音识别算法.pdf
  • Hungarian算法实现无人机编队切换,主要为matlab代码,F队形到Z队形的切换,可以动态实时查看切换过程。
  • 复杂场景下深度表示的无人机目标检测算法
  • 具有输入时延的分布式多无人机编队协同算法
  • 算法适用研究机器人与无人机

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,901
精华内容 5,960
关键字:

无人机算法