赞
踩
https://zhuanlan.zhihu.com/p/222542590
动态规划算法是解决多级决策最优化问题的常见算法。将一个复杂问题拆解成若干子问题:f(n)=f(n-1)+f(n-2)。
采用导数相关法,主要有最速下降法、牛顿法、共轭梯度法、拟牛顿法、信赖域方法和最小二乘法,其中最速下降法目前使用比较多。
>最速下降法: 无约束优化问题 — 最速下降法 - 知乎
最速下降法(Steepest descent)是梯度下降法的一种更具体实现形式,其理念为在每次迭代中选择合适的步长 αk ,使得目标函数值能够得到最大程度的减少。
1)直接方法
该方法将轨迹优化问题转化为一个非线性规划问题(NLP)或者一个多项式优化问题,这个过程常称为transcription。通过对目标函数和约束条件进行适当的转化,然后使用标准的数值优化算法来求解问题。
直接方法常见的有以下几种:
2)间接方法
该方法则将轨迹优化问题转化为一个边值问题(两个端点状态已知),然后通过使用变分法将该问题转化为一个微分方程组,最后使用数值方法求解微分方程组得到最优轨迹。与直接方法相比,间接方法的优点是能够保证全局最优解,同时对于特定的系统动力学模型,该方法能够得到系统的解析解。缺点是该方法求解速度比直接方法慢,同时需要较高的数学功底和计算能力。
常见的间接方法有以下几种:
启发式搜索是在状态空间中的搜索,对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标,省略大量的搜索路径,提高效率。
A*算法是一种经典的启发式搜索算法:六分钟!带你掌握A星算法的原理!!_哔哩哔哩_bilibili
A星算法是一种求解最短路径问题的有效算法,通过计算节点的代价值和启发函数来确定最佳路径。启发函数常用的有曼哈顿距离和欧几里得距离,它们用于估计节点到终点的距离。
F=G+H
其中F是起点到终点的总代价
G是从某一节点到开始节点的移动距离(确定)
H是从某一节点到终点的估计移动距离(不确定)
计算H的代价函数 称为 启发函数
【数之道14】六分钟时间,带你走近遗传算法_哔哩哔哩_bilibili
五分钟秒懂神经网络原理,机器学习入门教程_哔哩哔哩_bilibili
>蚁群算法 【数之道 04】解决最优路径问题的妙招-蚁群ACO算法_哔哩哔哩_bilibili
(4)数值优化算法
姿态控制算法用于控制四旋翼飞行器的姿态,包括俯仰、横滚和偏航三个方向。姿态控制算法通常采用PID控制算法,通过调节电机转速来控制姿态。
传统的姿态控制方法主要是基于PID控制器,通过对无人机的姿态误差进行测量和反馈,调节无人机的电机输出,从而实现姿态的稳定。然而,PID控制器在应对复杂环境和外部干扰时存在一定的局限性。
(1)基于模型预测控制(Model Predictive Control,MPC)的方法
该算法通过建立无人机的动力学模型,预测未来一段时间内的无人机状态,并根据期望的姿态和当前状态之间的误差,优化控制输入,使得无人机能够实现稳定的姿态控制。相比于PID控制器,MPC算法具有更好的鲁棒性和适应性,能够更好地应对不确定性和干扰。
(2)基于自适应控制的方法
该算法通过对无人机的动力学特性进行建模和辨识,自适应地调整控制器的参数,以提高控制器的性能和适应性。自适应控制算法能够自动调整控制器的参数,适应不同的工况和环境变化,提高无人机的姿态控制精度和稳定性。
位置控制算法用于控制四旋翼飞行器的位置,通常采用PID控制算法,通过调节电机转速来控制位置。
速度控制算法用于控制四旋翼飞行器的速度,包括起飞速度和巡航速度等。速度控制算法通常采用PID控制算法,通过调节电机转速来控制速度。
高度控制算法用于控制四旋翼飞行器的高度,通常采用PID控制算法,通过调节电机转速来控制高度。
什么是惯性导航呢?他就是利用载体上的加速度计、陀螺仪这两种惯性远见,去分别测出飞行器的角运动信息和线运动信息,与初始姿态、初始航向、初始位置一起交给计算模块,由计算模块推算出飞机的姿态、速度、航向、位置等导航参数的自主式导航方法。
Kalman Filter 算法,是一种递推预测滤波算法,算法中涉及到滤波,也涉及到对下一时刻数据的预测。Kalman Filter 由一系列递归数学公式描述。它提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波器应用广泛且功能强大:它可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质。
(1)适用系统:线性高斯系统(噪声满足正态分布)
(2)宏观意义:滤波就是加权(理想状态:信号*1+噪声*0)。对于卡尔曼滤波来讲,就是估计值和观测值之间权重问题,由权重实现修正
(3)卡尔曼直观图解
xk-1^是上一时刻的最优估计值,xk是当前估计值,,xk- ^是当前最优估计值(他的方差比xk-1^小是因为修正后方差要小的缘故,而且他是由xk-^和yk最终决定的),yk是观测值。
(4)卡尔曼公式理解
实现过程:使用上一次的最优结果预测当前的值(先验估计),同时使用观测值修正当前值,得到最优结果(最优估计值)
xt-^为先验估计,pt-为先验估计协方差
测量方程:zt=
无人机的飞行姿态控制,我们的控制对象是无人机的三个角度。每个角度都考虑用一个PID环去控制,最终作用到执行机构上的还是四路电机的PWM信号。
四轴单级PID姿态控制
同理,三个角度。(三个角度的控制,最终作用到四路电机的PWM控制效果是线性叠加)
串级PID控制
主要是在角度控制的基础上,增加了角速度控制。期望姿态角与姿态结算出来的角度进行角度PID控制,输出的角度值,是离散型数据。又因为w(角速度)=a(角度)/t(时间)。所以可以认为输入的也是角速度。于是就实现了外环PID值作为内环PID的期望值目的。再结合陀螺仪比较精准的采集角速度的原理。内环的角速度控制可以保证飞行器测量值迅速的达到期望值。
这样一来就大大缓解了单角度环控制,由于飞机的电机转速与升力不成正比而出现的失衡(比如说在目标位置前后,左右偏移),跟随滞后等等问题。
四旋翼算法可以分为飞行控制算法、导航算法、路径规划算法和图像处理/视觉算法。下面是这些分类中的一些具体算法:
1.飞行控制算法:
PID控制器:使用比例、积分和微分控制器来调整无人机的姿态、高度和位置。
LQR控制器:线性二次调节控制器,可用于设计稳定的飞行控制系统。
MPC控制器:模型预测控制器,通过对未来状态的预测来计算最优控制指令。
2.导航算法:
GPS导航:使用全球定位系统(GPS)来确定无人机的位置和速度。
惯性导航:使用加速度计、陀螺仪和磁力计等传感器来测量无人机的加速度、角速度和方向。
扩展卡尔曼滤波(EKF):用于融合不同传感器的数据,实现更准确的位置和姿态估计。
3.路径规划算法:
A*算法:基于图搜索的算法,用于在离散的地图/环境中找到最短路径。
Dijkstra算法:用于计算无权图中的最短路径。
RRT(Rapidly-exploring Random Tree)算法:用于快速生成无人机的可行路径。
4.图像处理/视觉算法:
特征提取和匹配:例如使用SIFT(尺度不变特征变换)或ORB(Oriented FAST and Rotated BRIEF)算法来提取和匹配图像特征,用于目标检测和跟踪。
视觉SLAM(Simultaneous Localization and Mapping):使用相机图像和运动信息进行实时定位和地图构建。
光流算法:通过分析连续图像帧之间的光流模式,估计无人机的运动速度和方向。
5.目标检测与跟踪算法:
(1) Haar特征级联分类器:用于检测人脸等对象。
(2)HOG(方向梯度直方图)特征与SVM(支持向量机):用于行人检测。卷积神经网络
(3)(CNN):用于实现高精度的目标检测和跟踪。
这些算法只是四旋翼无人机领域中的一部分,具体的算法选择取决于无人机的应用需求和硬件配置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。