自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咸鱼漫谈的博客

BLDC矢量控制

  • 博客(71)
  • 资源 (10)
  • 收藏
  • 关注

原创 【EKF】EKF原理

卡尔曼滤波可以在线性模型,误差为高斯模型的情况下,对目标状态得出很好的估计效果,但如果系统存在非线性的因素,其效果就没有那么好了。其中,f 是非线性状态函数,h 是非线性量测函数,w 与 v 分别是高斯噪声,协方差矩阵为 Q 与 R,在上式中省略了。对于非线性系统的问题,比较常用的方法是将非线性的部分进行线性化处理,其中,EKF 就是对非线性系统进行线性化,即,将非线性函数,在上次估计值 x_hat(k-1) 处进行泰勒展开,其中,结合上面的非线性方程,之后将线性化的泰勒展开式代入上面的非线性方程。

2023-09-10 02:08:58 804

原创 【Matlab】根据伯德图计算pid参数方法原理

在控制器的前面,再增加一个系数 k,用于调整幅频响应的增益,就可以调整穿越频率到指定的值上,系数 k 的计算原理也比较简单,求出不加 k 时,整个控制器加系统在期望穿越频率下的幅值,记作 g,然后求倒数赋给 k 即可。求解参数时,可以根据自己看重系统的哪些性能来联立方程,例如,给定系统的滤波系数T2,期望的系统截止频率 wn_ref,期望的系统穿越频率 wc_ref,期望的系统相位裕度 PM。证明计算是无误的,有一点点的误差关系不大,matlab画图与计算的精度有一些区别,不完全一样关系不大。

2023-06-27 21:46:38 2570

原创 【传感器】一种鲁棒的imu比例系数与偏移的校准算法

以上的代价函数是有加法的,运用最小二乘法来估计参数比较困难,因此使用 LM 算法来进行非线性估计,具体 LM 算法的原理与实现,参考主页中的上一篇文章《LM迭代估计法》,其与标准正交坐标系有一定的偏移,将各轴的偏移记作 β,之后建立误差模型,建立代价函数,进而求解估计参数。其中,T 为旋转矩阵,W(O) 表示陀螺仪的正交标准轴,与 AOF 重合,W(S) 是当前的陀螺仪轴。此方程中,含有 9 个未知量,三轴的轴偏移,三轴的比例系数,三轴的零偏。,理想的三轴坐标系,加速度计的理想坐标系可以记作 AOF,

2023-06-24 02:02:10 642

原创 【Matlab】LM迭代估计法

其中 y(i) 为第 i 组数据的真实值或理论真实值,fi(θ) 为第 i 组数据的预测值,目的就是找到一组 θ,使得代价函数达到最小值。7.更改估计参数之后,再次使用 n 组采样数据,重复 6 步骤,如果代价函数值变化小于设定的迭代精度,或达到最大迭代次数,则停止迭代,返回跌代后的参数向量 θ。6.迭代更新参数向量,雅可比矩阵(有一些简单的情况雅可比矩阵只与采样值有关,就可以只计算一次),这里将收敛补偿设置为1,即α = 1。迭代次数为 1000 次,采样 100 组 x,y 数据。

2023-06-18 22:13:19 1598 1

原创 【传感器】最小二乘法实现磁力计椭球校准

磁力计的数据在实际中是椭球的形状,在此之前使用了球体拟合进行校准,也就是简化为正球体的模型,得出的结果比较差,航向计算不准,还是需要用椭球的模型来估计偏移量,先使用标准的椭球方程,进行化简与变形,得到最小二乘法可以进行估计的标准形式,之后对原始数据进行最小二乘法矩阵的赋值,求解方程,最终观察拟合效果。但使用此方程会有问题,可以求出多个解,使用matlab求解的话,很容易就会求出异常的解,也就是Rx,Ry,Rz很大的时候,也是会满足方程的,但这个解肯定是不对的。实际输出为:y = φT * θ。

2023-06-02 15:15:40 1310

原创 【EKF】卡尔曼滤波的二维应用实例

在上期,使用一个简单的一维应用实例来加深了卡尔曼滤波的印象后,使用一个二维的例子来看一下卡尔曼的效果。将上式写作状态方程的形式,定义 x1 代表位移,x2 代表速度,x1_dot = x2 (x1的微分就是x2),将x1,x2合并为一个二维的状态矩阵 x。其中,r 为测量噪声,传感器只能观测位移,不能观测速度。

2023-05-09 18:48:14 1430 2

原创 【EKF】卡尔曼滤波的一维应用实例

在实际中,测量噪声 v 的方差是比较容易得到的,因为是传感器的方差,可以预先测量 n 组数据来计算出来,计算出的方差 R 与真实方差也是接近的,但过程噪声方差 Q 是比较难确定的,它是由建模引起的,需要实际判断与调试。推导了卡尔曼滤波的原理之后,使用一个简单的一维应用实例来训练一下,加深印象。对于此一维的系统,矩阵 A = 1,H = 1,B = 0。其中 w 为过程噪声,方差为Q, v 为测量噪声,方差为R。温度计的测量噪声 v 的方差为 R,假设为1.0^2。绿色为测量值,红色为估计值,蓝色为实际值。

2023-05-09 15:47:48 1021 2

原创 【EKF】卡尔曼滤波原理

1)当估计误差远大于测量误差时,k>>1,此时 x_hat(k) = x_hat(k-1) + z(k) - x_hat(k-1) = z(k),此时就完全信任测量值。在上一小节中求解出了卡尔曼增益的表达式,但在表达式中的先验误差的协方差矩阵 P-(k) 的未知的,因此接下来就需要求解先验误差的协方差矩阵 P-(k)。结合上面的两个公式,对 w,v 来说,期望值都为0 ,也就是 E(w) = 0,E(v) = 0,则。其中 e(k) 表示估计误差,x(k) 表示真实值,x_hat(k) 表示后验估计值。

2023-05-08 18:05:40 1314

原创 【云台】开源版本SimpleBGC的传感器校准与姿态融合

在云台中,陀螺仪的角速度是短期可靠的,加速度计容易受到振动的影响,在长期是可靠的,互补滤波就是给陀螺仪积分得到的角度与加速度计得到的角度分别给权重,利用测量值(加速度计测量得到的角度)校正预测值(陀螺仪积分得到的角度)。陀螺仪直接测量到的角速度是机体角速度,在转换为欧拉角速度后,乘以时间间隔,再加上上次的估计值,就得到一个陀螺仪积分计算的角度,作为预测值。俄版云台也是同样,在采集了多轴旋转的数据之后,通过最小二乘法拟合出数据形成的球体,计算球心,就是磁力计校准需要记录的数据。

2023-05-08 10:51:38 1113

原创 【云台】开源版本SimpleBGC的电机驱动与控制方式

上面的图是单相的 SPWM 信号,电机中的三相线一般是用 U,V,W 或 A,B,C 来表示。最近想学习一下云台,发现资料确实还不太好找,比较有参考价值的是俄版的开源版本的云台代码,后面就不开源了,开源版本的是比较原始的算法,差不多是玩具级别的,不过还是决定学习一下,了解一下基础。云台的功能是要通过调整电机的机械角度来达到相应的姿态角,如果说通过校准,得到电角度与机械角度的偏移量,或者电角度与姿态角度的偏移量,会非常的麻烦,而且容易出错,的方式来控制三相无刷电机,并且为节省成本,直接使用的。

2023-05-01 11:36:55 1994 4

原创 【路径规划】Dubins路径

Dubins路径

2023-04-18 11:44:51 1196

原创 【路径规划】VFH

vfh局部路径规划绕障

2023-03-13 15:15:15 1549

原创 【自校正控制】自校正PID

自校正PID是自校正控制的一种,其核心思想是使用在线辨识来辨识系统参数的变化,之后使用极点配置的思想来计算PID参数,达到自动调节的目的。

2022-07-24 16:28:04 1607 1

原创 【自校正控制】递推最小二乘法

上节介绍了批处理最小二乘法,它比较适合数据的预处理,也即离线辨识,在实时性方面就不如递推最小二乘法,递推最小二乘法也就适合在线辨识。

2022-07-19 00:38:43 1449

原创 【路径规划】使用垂距限值法与贝塞尔优化A星路径

在之前使用通用的A*算法来规划出路径之后,可以发现路径上其实是有许多的冗余点的,如下图所示:上图中可以明显看出有一些折弯点是冗余的,因此本节内容就介绍使用垂距限值法来优化冗余点。垂距限值法的思想也是比较简单的,概括一下就是:计算当前节点到上节点与下节点连线的距离,超过一定的阈值就从总集合中删除当前点。总体思想就如它的名字一样。这里我写成了一个函数Vertical_distance_limit:正在上传…重新上传取消当然,此函数中我又封装了一个函数,即计算垂距的函数compute_vertical_dista

2022-07-05 18:31:12 1047 2

原创 【路径规划】RRT增加动力模型进行轨迹规划

在上篇增加了一个运动对象之后,就可以考虑给这个运动对象增加动力模型,之后按照动力模型来进行轨迹规划。这个动力模型我的思路是参照开源飞控中使用向量法指定速度方向,使用S曲线来规划速度轨迹的方式,最终做出来的效果看起来还是可以的。这里可以补习一下开源飞控中的速度S曲线规划的知识,总体思想为:保证加速度,速度连续,以固定加加速度来改变速度。总体的效果就是:先以恒加加速度将加速度a加到最大加速度a_max,时间为T1,之后以恒加速度运行T2时间,之后以恒加加速度将加速度从a_max减到0。这里PIX4的源码中也给出

2022-07-03 17:55:17 423

原创 【路径规划】如何给路径增加运动对象

在上一篇的路径规划文章中,使用多段五阶贝塞尔曲线优化RRT搜索后的路径,虽然视频上看起来还好,但还是不够好玩,为了让其有趣一些,突然想增加一个运动对象(例如一个三角形),在生成平滑曲线后,沿着平滑曲线运动,这个是本期想要实现的目标,在实现之后,后面可以考虑再增加一些运动模型来使得这个运动对象符合生活中的一些运动对象。首先我们使用一个三角形来表示一个运动对象的话,需要找到一个画三角形的方法,这个需要借助 matlab 的 fill 函数,这个函数的作用大致是这样:给出几个点的横纵坐标,然后使用 fill 函数

2022-06-23 02:25:49 322

原创 【路径规划】辅助点与多段贝塞尔平滑RRT

在上一篇关于贝塞尔曲线平滑路径的文章中,只是大致的介绍了一下贝塞尔曲线的原理,并且初步测试了一下,最终平滑的效果,还是不尽人意的,最开始是使用了简易的多段二阶贝塞尔,得到的曲线有很多的尖锐:然后使用了全局的贝塞尔,也就是所有的点全一次用上,得到一个N阶贝塞尔,但是这样就会有一个缺点,那就是当转弯很多的时候,它的效果就并不那么好了,就像这样:有时就会出现上述的情况,比较容易压到障碍,并且与原路径差别较大。那么在实际的贝塞尔优化路径的使用中,经常使用的方法可以直接告诉大家:使用多段五阶贝塞尔 + 插辅助点的方法

2022-06-21 12:47:18 1264 3

原创 【自校正控制】批处理最小二乘法

想要学习自适应控制的话,需要先学习系统辨识,系统辨识中比较常见的是最小二乘法,因此后续会先介绍最小二乘法,再去完成自适应控制假设一个单输入单输出的系统如下:其离散传递函数为:将传递函数写成差分方程:则:上式是一组输入与输出的关系,扩展到N组输入输出,则矩阵变为:小知识:矩阵的转置乘以矩阵本身即为最小二乘法最小二乘法归根结底是时域的辨识方法,当输入信号频率增高时,在高频段,最小二乘法的辨识结果往往是错误的,但在低频段,辨识结果还是可靠的。根据理论实际进行Matlab编程:假定我们的传递函数Z变换之后为:

2022-06-18 12:06:50 1222

原创 【控制原理】使用C语言模拟simulink算法仿真

在上几篇文章中建立了ADRC算法的仿真,后续肯定是要在实物上进行验证,在编写C代码的过程中突发奇想,如果我可以用C语言来模拟simulink的传递函数,不就可以验证代码的准确性了,相当于不用在实物上实际测试就可以检查算法代码的正确性。说干就干,直接开撸验证。首先必然是需要先将算法代码给编写好,之后就可以模拟simulink中的积分环节。假设我们的控制对象为:G = 1 / (s + 0.5),那么我们就可以根据此传递函数转化为微分方程来进行C代码的编写。G = 1 / (s + 0.5) ==&gt

2022-05-25 00:43:16 1500 4

原创 【ADRC】自抗扰控制

在根据前面四篇文章的自抗扰控制各个功能部分的分解介绍以及对于PID算法原理的分析之后,具体可以查看我的主页。之后我们可以画出自抗扰控制的框图,并作出自抗扰的仿真了。自抗扰的组成部分ADRC说得更直白一些,就是PID算法的改进版本,它的许多模块都是针对PID算法的一些缺点来进行的改进。1.对于阶跃响应,或者说初始误差较大时,PID容易难以兼顾快速性与超调之间的矛盾,或者说调试参数需要耗费非常多的时间,因此ADRC引入了跟踪微分器来输出一个过渡信号来跟踪目标信号,避免初始误差大的情况;2.对

2022-05-17 11:34:16 7916 7

原创 【ADRC】根据ADRC的思想改进PID

根据前面两篇关于ADRC的文章以及PID原理的文章,我们可以利用ADRC的思想来对PID算法做一些改进来看看效果,可以将改进的PID称之为非线性PID。主要可以利用跟踪微分器,针对PID的两个缺陷来进行改进:即当初始误差较大时,PID算法容易产生超调与快速性之间的矛盾,可以使用跟踪微分器来对目标阶跃信号进行缓冲过渡;另外微分信号在实际中难以获得可靠的信号,因此也可以通过跟踪微分器产生目标信号与实际状态的微分信号来对PID算法进行改进。改进的话,可以按照跟踪微分器的思想,去给初步的误差信号一个过渡

2022-05-15 13:24:28 1914 5

原创 【ADRC】扩张状态观测器(ESO)

扩展状态观测器是自抗扰控制中非常重要的一个环节,在我学习这部分内容后,在写本篇文章时,大致可以按照三个步骤来做实验,推导,由这三个步骤来由浅入深地去理解扩张状态观测器(ESO),即:线性状态观测器,非线性状态观测器,扩张状态观测器。前面这两个名称是我为了区分自己起的,不一定是专业术语,不过可以跟着步骤一起来看一下。线性状态观测器这类状态观测器可以称之为最基本的状态观测器,推导过程可以不用赘述,可以查看我之前的相关文章。大致的含义就是我们知道系统的模型是怎样的,系统状态的各个参数我们都可以获取,这种情

2022-05-12 23:46:59 11880 16

原创 【ADRC】跟踪微分器

在上一篇文章中,分析了PID算法的基本数学原理,从PID算法的原理与实际应用,是可以看出其PID的优点与缺点的,ADRC算法(自抗扰控制)也可以说是针对PID算法的一些缺点,或者说工程中难以实现的点做的一个改进的算法。因此后续我会将ADRC的各个部分分别介绍与分析,本节即从最先出现的比较重要的环节---跟踪微分器开始。PID的缺点在开始学习跟踪微分器之前,有必要简要的介绍一下PID算法的主要缺点:1.从PID的原理可以看出PID的稳定裕度是不小的,但其动态性能的裕度并不大。也就是说,如果被控对象

2022-05-08 22:44:45 7310 11

原创 【控制原理】解析PID如何使系统稳定,PID为何应用广泛

最近在学习自抗扰控制,学习自抗扰的时候,就不得不先复习一下PID,并进行对比,在重新学习PID的时候,就不能仅仅停留于PID是如何调试的,PID各个参数怎么用。应该更深一层,深入到控制理论中,确实对我帮助较大,大致能够解释PID如何使系统稳定,并且从算法原理的角度解释PID为何应用广泛。下面是我个人的一些理解与笔记:比例环节假设被控对象是一个一阶惯性系统,其传递函数可以表示为:G = 1 / (s + a)转换为状态方程为:假设我们的控制目标记作v,则纯比例环节的话,框图可以简化为以

2022-04-24 19:28:09 3809 1

原创 【MPC】模型预测控制原理推导与实验

模型预测控制在实际的应用中还是非常广泛的,因此后续想要多花一些时间去学习这个算法,在实际学习,找资料的过程中,也是重点学习了DR_CAN的视频,这个博主我也是经常关注的,大部分的视频都看了几遍,可以推荐一下:https://space.bilibili.com/230105574/?spm_id_from=333.999.0.0MPC了解在我的理解看来,MPC大概的思想就是在最优控制的基础上叠加了一下预测控制,也可以叫做滚动优化的过程,即预测未来几步的系统状态,根据未来的预测状态来进行最优控制量

2022-04-14 15:16:00 1710 1

原创 【Matlab】使用反步法设计控制器

反步法的核心思想是使用李雅普诺夫稳定性以及李雅普诺夫方程来设计控制率。在开始反步法的推导之前,可以先熟悉一下李雅普诺夫稳定。李雅普诺夫函数李雅普诺夫稳定简要介绍的话,就是状态x能够一直维持在某一个范围内不发散,便满足李雅普诺夫稳定,如果随着时间t增大,最终状态x能够收敛到0,便是渐进稳定:那么这个控制器的设计,如果要利用李雅普诺夫稳定性的话,就需要自己找到一个控制率,能够使得状态x(或状态误差e),满足李雅普诺夫稳定,找到的这个控制率,就是李雅普诺夫函数。这里,我们常见的李雅普诺夫函数是如下

2022-04-07 09:38:53 2000

原创 【Matlab】前馈控制

对于一些控制精度没有什么要求,但是要求实际的状态量的变化趋势要跟随给定量的趋势的场景,可以考虑一下采用前馈控制。例如需要控制机器人的位置跟随某个曲线的变化趋势。假设给定位置与给定速度的关系如下表示:即,速度经过一个惯性环节,再经过积分环节,便得到位置,那么倒推回来,我们知道期望位置Xd,便可以倒推回期望速度Vd。之后便可以得到期望速度Vd的表达式。那么便可以建立以上公式的模型:经过上面的环节,就得到给定速度Vd,考虑到实际控制肯定会有滞后,所以我们再给定速度Vd后加入一个惯性环节,来模拟

2022-03-28 20:36:40 2594

原创 【自校正控制】使用极点配置的方式计算PID

PID应该都比较熟悉,调试PID大家应该也都得心应手,近期在学习PX4开源飞控的时候,已经看到开源飞控已经更新了自适应算法了。自适应算法之前也了解过一些,其中的核心思想也是根据自学习的传递函数模型,使用特定的规则(极点配置就是其中的一种),计算出想要的响应对应的PID参数。想起之前也有过一段时间学习自适应算法,但是一直没怎么实际做过,因此近期学习了一波这方面的知识,复习了一下极点配置,本章就记录一些学习到的笔记,使用极点配置的方式计算PID参数,然后验证。求解假设控制对象是一个一阶惯性系统,其传递函

2022-03-24 21:04:44 3120

原创 【路径规划】贝塞尔曲线平滑路径

贝塞尔曲线一般是用于二维图形的一种数学曲线,一般是用于一些矢量图的设计,不过在路径规划中,也可以应用上,例如之前的RRT随机搜索算法,因为是随机搜索,因此得到的路径点的曲折度是很大的,除了RRT,在其他的搜索算法得到路径点之后,依然也可以使用贝塞尔曲线来优化路径,使其更加平滑。一阶贝塞尔与二阶贝塞尔对于一阶贝塞尔的话,最终得到的曲线还是一条直线,不过还是可以列一下通式方便后续推导:对上图,B1为一阶贝塞尔的点,则B1点随时间 t 的坐标为:B1(t) = P1 + t * (

2022-03-16 23:13:29 4376 20

原创 【路径规划】A*

A*算法,A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。从上章节的RRT算法的效果来看,A*算法相较于RRT的效果是要好许多的。如果说有个地图的缝隙很小,对于RRT算法来说,是比较难找到出口的,就像下面这个地图:因为RRT是一种随机搜索,但A*的话,遇到这种地图,虽然也要迭代许多次,但是是可以最终找到出口的,而且最终搜索出来的路径就会好许多。原理与实现A*算法的原理,如果是

2022-03-16 09:53:24 1028 1

原创 【路径规划】RRT

快速扩展随机数(RRT)算法,是近十几年应用比较广泛的一种运动规划算法。它的大致原理为:原始的RRT算法通过一个初始点作为根节点,通过随机采样,增加叶子节点的方式,生成一个随机扩展数,当随机树中的叶子节点包含了目标点或进入了目标区域,边可以在随机树中通过回溯的方式,找到这条从初始点到目标点的路径。RRT总体是一种基于概率采样的搜索方法,通过状态空间的随机采样点,把搜索导向空白区域,从而孕照到一条从起始点到目标点的规划路径,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,当然它也有自身的缺点

2022-03-16 09:51:48 1727 1

原创 【Matlab】线性二次型最优控制问题(LQR控制)

前面介绍了变分法与极小值原理的基础思想,之后有一个非常重要的应用就是线性二次型的最优控制问题。假如系统是线性的,性能泛函是状态变量与控制变量的二次型函数的积分,那么这样的问题称之为线性二次型最优控制问题。形如:上式中,Q1为状态加权矩阵,Q2为控制加权矩阵,Q0为终端加权矩阵。(有些书中把Q2矩阵写作R矩阵)在实际应用中,Q1,Q2是对称矩阵并且常取对角阵。在实际的应用中,第一项为 Lx = 1/2 * xT * Q1 * x,其中x表示状态误差,x越大,代价函数Lx越大,Q1的对角线上的元

2022-03-15 00:22:35 6148 2

原创 【Matlab】极小值原理

极小值原理是由苏联学者提出的,由变分法引申而来,与变分法比较相似。用古典变分法来求解最优控制问题的前提,都是假定控制变量u是不受限制的,从而得到的最优控制u需要满足方程 偏导∂H/∂u = 0。假如控制量u满足一个约束条件:g[x(t),u(t),t] ≥ 0 ,在这种情况下 ∂H/∂u = 0 不成立,就可以用极小值原理来处理这个问题。极小值原理的实际意义在于放宽了控制条件,解决了当控制为有界闭集时,容许控制的求解问题。极小值原理内容假定系统的状态方程为:一些约束条件如下:则要

2022-03-14 21:05:38 1508 1

原创 【Matlab】变分法求控制器(有约束)

在上篇文章中的例子是属于没有约束条件的泛函极值问题,但是在实际的最优控制问题中,泛函J所依赖的函数往往会受到系统状态方程的约束。那么如果碰到这种问题的话,使用变分法是如何处理呢?思路应该是这样的:应用拉格朗日乘子法,之后就可以将这种有约束条件的泛函极值问题转化为无约束条件的泛函极值问题。拉格朗日问题假如有一个系统,并列出其性能泛函如下:首先,我们需要将其写成约束方程的形式:引入一个拉格朗日乘子,构造一个增广泛函:之后,可以将此增广泛函单独再定义为H函数,此H函数称作哈密尔

2022-03-14 21:04:16 981 2

原创 【Matlab】变分法求控制器(无约束)

在动态最优控制中,目标函数是一个泛函数,求解动态最优化问题可以看做是求泛函极值的问题,求解泛函极值有一个方法,即变分法,本文章便介绍有关变分法的一些自己的学习理解。变分法的基本概念泛函如果一个因变量的宗量不是独立自变量,而是另一些独立自变量的函数,则称该因变量为这个宗量的泛函。当然,单纯的从这个概念上可能不太好理解,其实可以对比函数的概念:例如上述从P1点到P2点有不同的路径可以到达,每一个路径对应一个函数y,y的宗量是x,即y是x的函数,所有的路径y构成一个集合,即为泛函J泛函

2022-03-14 21:02:41 1751

原创 【Matlab】设计状态观测器

关于控制理论的学习是长期的,时常就得拿出来复习一下,不然就忘记了,在去年的学习工作中发现了自身理论知识的匮乏,因此在今年会重新拿出来复习一下控制理论,巩固自己的知识储备。总体步骤:关于状态观测器的设计,可以按照一下几个基本步骤来设计:1)引入反馈矩阵G,列出状态观测器的状态方程2)求出状态方程的特征多项式3)写出观测器期望极点的特征多项式4)求解出反馈矩阵G的系数例子:例如一个系统的状态方程:设计状态观测器,使其极点为-10,101.引入反馈矩阵G

2022-03-14 21:01:51 7326 5

原创 【Matlab】使用龙格库塔方法求积分

在实际工作中,有一些需要求积分的场合,突然想到可否使用龙格库塔的方式求积分,然后就查找了相关的资料并使用了一个简单的函数验证了一下。基本原理:在各种龙格-库塔法当中有一个方法十分常用,以至于经常被称为“RK4”或者就是“龙格-库塔法”。该方法主要是在已知方程导数和初值信息,利用计算机仿真时应用,省去求解微分方程的复杂过程。 [1]令初值问题表述如下:则,对于该问题的RK4由如下方程给出:其中这样,下一个值(yn+1)由现在的值(yn)加上时间间隔(h)和一个估

2022-03-14 21:00:55 3524 4

原创 【Matlab】线性跟踪微分器

线性跟踪微分器介绍:线性跟踪微分器出自自抗扰控制ADRC,线性跟踪微分器有两个作用,一是可以用来滤波,而是可以用来求取输入的微分。这里有一篇文章可以推荐看看:https://blog.csdn.net/qq_35007540/article/details/87909764这里我想再次根据此微分器的定义来重新编写验证一下。以线性TD为例,连续系统的状态空间形式为其中是滤波后的输入,而为滤波后输入的微分。将其转化为传递函数形式为显然线性TD的

2022-03-14 20:59:53 1390

原创 【Matlab】建立最优控制LQR控制器模型

前言之前做了有关于系统辨识以及配置极点来控制系统响应的相关内容,那些相当于是打开了一个新世界的大门,在此基础上,一直想学习一下最优控制的相关内容,并应用在项目上,因此,学习了相当长的时间,然后搭建模型,不过越来越感到,我学习到的也只是控制世界的冰山一角,话不多说,开始记录搭建模型的步骤。传递函数转化到状态空间首先,我可以辨识出系统的传递函数,需要转化成状态方程,这里我稍微记录了一下由传递函数转换到状态空间的步骤:以上是随便举了一组数据手算的,之后使用Matlab验证,Matlab是有

2022-03-14 20:58:03 5715 2

单片机计时器

单片机计时器,时分秒计时,锁存器控制数码管6个数码管显示,程序工程+protues仿真

2019-05-05

单片机DS18B20

51单片机DS18B20,程序工程+protues仿真,1602显示温度

2019-05-05

单片机使用PCF进行AD采值并使用MAX232双机通信,程序加仿真

使用两块单片机,A单片机使用PCF进行AD采值(IIC通信),使用MAX232与B单片机进行通信,B单片机接收数据,并用LCD1602显示出来,程序+仿真

2018-07-30

opencv2.4.9实现简易人脸美颜

使用opencv实现简易人脸美颜程序,压缩包内附带运行结果效果图。程序可做学习参考。

2018-05-09

使用AndroidStudio开发简易进制转换计算器

使用AndroidStudio开发简易进制转换计算器,内含工程文件以及最终在手机上的效果图

2018-05-01

简易波形发生器

压缩包内包含51程序文件,protues仿真文件,简易波形发生器,可发生正弦波,三角波,矩形波

2018-03-13

单片机超声波测距

压缩包内包含程序工程,实物图,使用1602显示超声波测距

2018-03-13

Matlab实现感知哈希算法

参考网上博客的感知哈希算法的理论知识,实现基本的感知哈希算法,内有几张图片用来测试,程序可参考。

2017-11-12

Android Studio使用opencv打开摄像头.java以及.xml

本资源只包含两个重要文件,活动文件与界面文件,包含使用opencv打开摄像头部分,而且解决使用opencv打开摄像头会旋转90度的问题,解决办法仅供参考。

2017-05-14

16*16点阵汉字滚动显示C51程序,仿真,protues16*16点阵元件库,以及中英文取模软件

16*16点阵汉字滚动显示C51程序,protues仿真,protues16*16点阵元件库,以及中英文取模软件一起打包,可用作学习用,protues没有16*16点阵,资源内包含16*16点阵元件库,以及加入protues的方法描述

2017-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除