-
2022-05-09 22:25:54
模型原理
仿真模型
仿真结果
频率变化
并网电压电流
更多相关内容 -
模型参考自适应控制simulink仿真
2020-11-06 15:40:51模型参考自适应控制simulink仿真,写论文的时候自己搭的很基础的仿真。我参考的书是2003年刘兴堂编的《应用自适应控制》P218。 初学者可能最不明白的地方就是参考模型如何选取以及自适应律中的正定矩阵如何选取。... -
RBF神经网络自适应控制simulink实现欢迎下载.zip
2019-06-26 20:25:49基于RBF的自适应控制matlab仿真,基于simulink实现,神经网络对不确定性进行估计 -
非线性、参数自适应控制及simulink仿真
2020-02-23 22:08:54非线性对象,参数未知,需对参数实时估计,设计非线性控制器,并在simulink上仿真。控制器公式设计及推导过程都包含其中。 -
自适应控制 simulink
2013-11-16 16:03:56自己做的一个参数估计自适应系统 s函数传漏了 凑合着看吧 大致系统结构没错 -
adaptive_control_matlab_自适应控制_自适应控制_SIMULINK_自适应_
2021-10-02 04:18:12这是我写的自适应控制仿真程序,欢迎大家交流学习,自适应控制simulink仿真 -
matlab PD鲁棒自适应控制
2021-10-07 00:28:45基于名义模型的机械手P鲁棒控制\基于Anti- windup的PD控制、基于PD增益自适应调节的模型参考自适应控制 -
直流电机自适应控制:直流电机自适应控制的Simulink模型-matlab开发
2021-06-01 00:22:01直流电机的自适应控制 -
自适应MPC的simulink实例
2018-12-01 13:41:27关于汽车轨迹的自适应MPC控制,基于simulink,内容详尽 -
另一个解决无模型自适应控制问题的Simulink模型,可以作为学习MFA的参考...
2022-03-01 08:44:37另一个解决无模型自适应控制问题的Simulink模型,可以作为学习MFA的参考 -
CFDL-MFAC-4.1_无模型自适应控制_紧格式动态线性化_MFAC_MATLAB仿真_
2021-10-01 07:04:58能实现无模型自适应控制紧格式动态线性化的MATLAB仿真,对侯教授课本例4.1。 -
自适应控制学习笔记——弹簧系统的自适应控制&simulink仿真
2019-10-26 09:19:30看起来这个自适应控制器还算满足要求 在a取不同值时都能紧紧跟随 但是却有一个比较大的问题 就是系统的快速性能不好 如果输入信号的周期过端 跟随性能就比较差了 入门小白 有什么不对的地方 还请大家多多批评 _ ...不多BB 直接上例子
这里所描述的是一个典型的弹簧系统 但是弹簧的胡克系数a是个变量分析过程不在此赘述了 简单说一下思路
step1:find X2 使系统的输出量紧紧跟随给定轨迹
Step2:find u 使得X2可以满足step1的要求
Step3:引入胡克系数a的估计值a_hat 用估计值来处理跟随过程在matlab中搭建如下模型
请原谅我垃圾的layout输入轨迹是一个变化的常数 就像这样
我们的控制要求是输出要紧紧跟随这个轨迹 此时的a取5 分别观察输出 和a的估计值
看起来跟随还不错 估计值也基本是5
改变a的取值 比如a=10
估计值误差也不大看起来这个自适应控制器还算满足要求 在a取不同值时都能紧紧跟随
但是却有一个比较大的问题 就是系统的快速性能不好 如果输入信号的周期过端 跟随性能就比较差了入门小白 有什么不对的地方 还请大家多多批评_
最后我要感谢B站UP主 DR_CAN 讲的实在是太好辣
这道题目是他的高级控制课程-16的课后作业 在此说明!
也欢迎大家去关注 DR_CAN -
基于simulink和adams的机械臂自适应控制
2021-01-31 19:31:19基于simulink和adams的机械臂自适应控制 github地址 模型构建 本想基于原来的七自由度机械臂做自适应控制,但发现自适应控制需要用到线性化的动力学参数矩阵,七自由度机械臂的参数矩阵太庞大和复杂了。所以新做了一...基于simulink和adams的机械臂自适应控制
github地址
https://github.com/zzy5510/adaptive_arm_simulink
模型构建
本想基于原来的七自由度机械臂做自适应控制,但发现自适应控制需要用到线性化的动力学参数矩阵,七自由度机械臂的参数矩阵太庞大和复杂了。所以新做了一个平面三自由度机械臂,如下图:
机械臂的质量均为10,z轴的惯量为1.05.算法原理
欧拉拉格朗日法求动力学方程
首先,需要使用拉格朗日法求出机械臂的动力学方程:
H ( q ) q ¨ + C ( q , q ) q + G ( q ) = τ H(q) \ddot{q}+C(q, q) q+G(q)=\tau H(q)q¨+C(q,q)q+G(q)=τ
拉格朗日法的具体实现可以有不同的方法。本项目采用了霍伟《机器人动力学与控制》中的方法,比较便于编程实现。具体如下:
需要注意以下几点:
1.该方法不依赖于建系方法,即普通DH和改进DH都可应用。但推荐使用改进DH,因为公式中的连杆i质心的坐标是在i系中表达的,如果采用普通DH,这一坐标随关节角度将变化。
2.惯性张量I以坐标系的原点为原点,并不以杆的质心为原点。
这部分算法的代码来自https://www.jianshu.com/p/6d04539f1cfe。自适应控制
本项目假定连杆3由于抓取了未知物体,质量和转动惯量变为未知。因此需要采用自适应算法来实现对机械臂的控制。算法的思路来自《漂浮基单_双臂空间机器人捕获目标过程接触碰撞动力学分析与镇定控制》
设定系统位置误差为
e = q d − q e=q_{d}-q e=qd−q
定义增广误差:
s = e ˙ + λ e s=\dot{e}+\lambda e s=e˙+λe
定义参考输入角速度和角加速度:
η = q ˙ d + λ e \eta =\dot{q}_{d}+\lambda e η=q˙d+λe
η ˙ = q ¨ d + λ e ˙ \dot{\eta} =\ddot{q}_{d}+\lambda \dot{e} η˙=q¨d+λe˙
带入动力学表达式,得到:
H s ˙ + C s = H η ¨ + C η ˙ − τ H \dot{s}+Cs=H \ddot{\eta}+ C \dot{\eta}-\tau Hs˙+Cs=Hη¨+Cη˙−τ
设计控制输入力矩为:
τ = H ^ η ¨ + C ^ η ˙ + K s \tau=\hat{H} \ddot{\eta}+ \hat{C} \dot{\eta}+Ks τ=H^η¨+C^η˙+Ks
其中, H ^ \hat{H} H^和 C ^ \hat{C} C^代表对H和C的估计。将该式带入上式:
H s ˙ + C s + K s = W ϕ H \dot{s}+Cs+Ks=W\phi Hs˙+Cs+Ks=Wϕ
其中,
W ϕ = ( H − H ^ ) η ¨ + ( C − C ^ ) η ˙ W\phi=(H-\hat{H})\ddot{\eta}+(C-\hat{C})\dot{\eta} Wϕ=(H−H^)η¨+(C−C^)η˙
ϕ \phi ϕ是待估计的动力学参数的真实值与估计值的差组成的列向量,即为[m3;Iz3]。该公式实际上将动力学参数与运动学参数q, q ˙ \dot{q} q˙, q ¨ \ddot{q} q¨的分离,完成了动力学参数的线性化。
最后,用自适应律:
ϕ = − γ W T s \phi=-\gamma W^{\mathrm{T}}s ϕ=−γWTs
来更新动力学参数。关于自适应控制的稳定性证明略。simulink控制图
四个函数分别为输入,s和 η \eta η的计算,自适应计算器,控制器。运行效果
当输入为正弦信号时,机械臂运动跟踪效果如下:
跟踪效果还是非常好的。然而,对参数的估计并没有收敛到真值:
这是因为正弦输入信号不满足持续激励(PE)条件。尽管输出可以收敛到真值,但参数估计却无法收敛到真值。这也是自适应控制的一大特点。
当输入恒加速度信号时,跟踪效果也不错。
然而,对参数的估计依然不收敛。非常迷惑,加速度信号理论上是满足PE条件的。多次调试后依然不收敛。这个问题先放在这里,以后解决吧。
-
基于RBF网络逼近的自适应机械手控制。
2021-04-02 03:24:19基于RBF网络逼近的自适应机械手控制。 -
简单的自适应控制示例:此演示展示了如何设计、分析和调整模型参考自适应控制器 (MRAC)-matlab开发
2021-05-29 06:39:27此示例的目的是演示如何使用 Simulink:registered: 设计和建模自适应控制器、调整和分析其性能。 对于这个例子,我们使用了称为模型参考自适应控制器 (MRAC) 的直接自适应方法。 此模型包含三个主要元素:参考模型,... -
基于BP神经网络的PID自适应控制——simulink平台(详细分析过程+完整代码+仿真结果)(一)
2020-11-30 12:32:25基于BP神经网络得PID自适应控制——simulink平台(详细分析过程+完整代码+仿真结果)一、神经网络简介和人工神经元模型1. 连接权(突触权值)2. 求和单元(加法器)3. 激活函数(非线性)(1) 阈值激活函数(2) 分段...基于BP神经网络得PID自适应控制——simulink平台(详细分析过程+完整代码+仿真结果)(一)
一、神经网络简介和人工神经元模型
人生神经网络是模仿生物神经网络功能得一种验证模型。生物神经元受到传入的刺激,其反应又从输出端传到相连的神经元,输入与输出之间的关系一般是非线性的。神经网络是有大量的处理单元(神经元)互相连接而成的网络。为了模拟大脑的基本特性,在神经科学研究的基础上,提出了神经网络的模型。时间上,神经网络并没有完全反应大脑的功能,只是对生物神经网络进行了某种抽象、简化和模拟。
人工神经网络的基本单元是神经元模型,其主要包括三个基本要素:1. 连接权(突触权值)
一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。
2. 求和单元(加法器)
一个求和单元,用于求取各输入信号的加权和(线性组合)。
3. 激活函数(非线性)
一个非线性激活函数,起到分线性映射作用,并将神经元输出幅值限制在一定范围内(一般限制在(0,1)或(-1,1)之间)。
此外,还有一个阈值 θ k \theta_{k} θk(或者偏置 b k = − θ k b_{k}=-\theta_{k} bk=−θk)。
以上作用可分别用数学式表达出来:
u k = ∑ j = 1 p w k j x j = w k 1 x 1 + w k 2 x 2 + ⋯ + w k p x p v k = u k − θ k , y k = φ ( v k ) \\ u_{k} = \sum_{j = 1}^{p} w_{kj}x_{j}= w_{k1}x_{1} + w_{k2}x_{2} + \dots+w_{kp}x_{p} \\ v_{k} = u_{k} - \theta_{k}, y_{k} = \varphi(v_{k} ) uk=j=1∑pwkjxj=wk1x1+wk2x2+⋯+wkpxpvk=uk−θk,yk=φ(vk)
其中, x 1 , x 2 , … , x p x_{1}, x_{2}, \dots, x_{p} x1,x2,…,xp为输入信号, w k 1 , w k 2 , … , w k p w_{k1},w_{k2},\dots,w_{kp} wk1,wk2,…,wkp为神经元 k k k之权值, u k u_{k} uk为线性组合结果, θ k \theta_{k} θk为阈值, φ ( ⋅ ) \varphi(·) φ(⋅)为激活函数, y k y_{k} yk为神经元的输出。偏置 b k b_{k} bk是神经元 k k k的外部参数,我们可以像处理输入信号一样考虑它,因而得到神经元模型的另一种描述图,如下。
对应上图的数学描述为
v k = ∑ j = 0 p w k j x j = w k 0 x 0 + w k 1 x 1 + w k 2 x 2 + ⋯ + w k p x p \\ v_{k} = \sum_{j = 0}^{p} w_{kj}x_{j}= w_{k0}x_{0}+w_{k1}x_{1} + w_{k2}x_{2} + \dots+w_{kp}x_{p} vk=j=0∑pwkjxj=wk0x0+wk1x1+wk2x2+⋯+wkpxp
其中 x 0 = + 1 ( 或 − 1 ) x_{0}=+1(或-1) x0=+1(或−1),权值 w k 0 = θ k w_{k0}=\theta_{k} wk0=θk(1) 阈值激活函数
对应的输出为
(2) 分段线性激活函数
(3) sigmoid激活函数
sigmoid激活函数即为S型函数。
φ ( v ) = 1 1 + e x p ( − α v ) \varphi(v) = \frac{1}{1+exp(-\alpha v)} φ(v)=1+exp(−αv)1
其中 α > 0 \alpha > 0 α>0可控制斜率。(4) 双曲正切函数
φ ( v ) = t a n h ( v 2 ) = 1 − e x p ( − v ) 1 + e x p ( − v ) \varphi(v) = tanh(\frac{v}{2})=\frac{1-exp(-v)}{1+exp(-v)} φ(v)=tanh(2v)=1+exp(−v)1−exp(−v)
此函数具有平滑和渐进性,并保持单调性。二、神经网络的学习规则
通常用到的学习规则有三种。
1. 误差纠正学习规则
在这里,我们令 y k ( n ) y_{k}(n) yk(n)是输入 x k ( n ) x_{k}(n) xk(n)时神经元 k k k在n时刻的实际输出, d k ( n ) d_{k}(n) dk(n)表示期望的输出,则误差信号可写为
e k ( n ) = d k ( n ) − y k ( n ) e_{k}(n) = d_{k}(n)-y_{k}(n) ek(n)=dk(n)−yk(n)
最终目的:使某一基于 e k ( n ) e_{k}(n) ek(n)的目标函数达到要求,以使网络中每一输出单元的实际输出在某种意义上逼近应有输出。学习过程是将误差信号 e k ( n ) e_{k}(n) ek(n)作用于神经元k的突出权值修正调节中,以一步步逼近的方式使输出信号 y k ( n ) y_{k}(n) yk(n)向期望 d k ( n ) d_{k}(n) dk(n)靠近。一旦选定了目标函数形式,误差纠正学习就变成了一个典型的优化问题。最常用的目标函数是均方差判据,定义为误差平方和的均值:
J = E [ 1 2 ∑ k e k 2 ( n ) ] J =E \left[ \frac{1}{2} \sum_{k}^{} e_{k}^{2}(n) \right] J=E[21k∑ek2(n)]
E为期望算子。上式的前提是被学习的过程是平稳的,具体方法科用最优梯度下降法。直接用J作为目标函数时需要知道整个过程的统计特性,为解决这一问题,通常用 J J J在时刻n的瞬时值代替 J J J,即
E = 1 2 ∑ k e k 2 ( n ) E = \frac{1}{2} \sum_{k}^{} e_{k}^{2}(n) E=21k∑ek2(n)
问题变成求 E E E对权值 w w w的极小值,按梯度下降法,可得
Δ w k j ( n ) = − η ∂ ε ( n ) ∂ w k j ( n ) = η ( − ∂ ε ( n ) ∂ v k ( n ) ) ∂ v k ( n ) ∂ w k j ( n ) = η e k ( n ) φ ′ ( v k ( n ) ) x j ( n ) \Delta w_{kj}(n) = -\eta \frac{\partial \varepsilon (n)}{\partial w_{kj}(n)}=\eta \left( -\frac{\partial \varepsilon (n)}{\partial v_{k}(n)} \right) \frac{\partial v_{k}(n)}{\partial w_{kj}(n)}=\eta e_{k}(n)\varphi^{'}(v_{k}(n)) x_{j}(n) Δwkj(n)=−η∂wkj(n)∂ε(n)=η(−∂vk(n)∂ε(n))∂wkj(n)∂vk(n)=ηek(n)φ′(vk(n))xj(n)
式中, η \eta η为学习步长,这就是所说的误差纠正学习规则。
突触权值的更新可按下式来确定
w k j ( n + 1 ) = w k j ( n ) + Δ w k j ( n ) w_{kj}(n+1) = w_{kj}(n) + \Delta w_{kj}(n) wkj(n+1)=wkj(n)+Δwkj(n)2. Hebb学习规则
由神经心理学家Hebb提出,可归纳为“如果在某一突触(连接)每一边的两个神经元被同步激活,(同为激活或同为抑制),那么突触的强度被选择性地增强,反之则被选择性地减弱”,其数学描述为
Δ w k j ( n ) = w k j ( n + 1 ) − w k j ( n ) = η y k ( n ) x j ( n ) \Delta w_{kj}(n)=w_{kj}(n+1) - w_{kj}(n)=\eta y_{k}(n)x_{j}(n) Δwkj(n)=wkj(n+1)−wkj(n)=ηyk(n)xj(n)
(唐纳德·赫布(Donald Olding Hebb,1904.07.22-1985.08.20),加拿大心理学家,认知心理生理学的开创者。出生于加拿大新斯科舍省的切斯特(Chester Basin),逝于加拿大新斯科舍省。)3.竞争学习规则
在竞争学习时,网络各输出单元相互竞争,最后只有一个最强者被激活。
一篇写不完,转到下一篇继续写基于BP神经网络得PID自适应控制——simulink平台(详细分析过程+完整代码+仿真结果)(二)。
-
基于Simulink的自适应模糊控制器.
2020-09-21 00:35:40那么系统的自适应模糊控制模块可以简化为如下的结构: 只不过模糊输入的三个变量都是通过输出反馈得到的数据,从而构成自适应反馈系统。 按论文中的说法: 由于您要求的是完全按照论文的要求做,所以下面我们... -
自适应控制matlab仿真代码-adaptive_manipulator_control:4DoF机械手的自适应控制
2021-06-04 02:56:20意图控制matlab仿真代码机器人机械手的自适应控制 该存储库包含我的文章“4-DoF 机器人机械手的自适应控制”的 matlab/simulink 代码。 更准确地说,您将有一个 4-DoF 机器人机械手模型、用于符号化推导此类机械手... -
RBF-adaptive1_RBF_matlab_SIMULINK_自适应控制_自适应_
2021-10-01 13:43:39这是关于RBF自适应控制的基于simulink和matlab的仿真程序,先用m程序来写小模块,然后用simulink来组成所有的,做这方面的话,可以在这个程序上进行修改 -
模型参考自适应仿真
2015-11-10 15:23:00基于simulink的模型参考自适应仿真图,可以用它来进行自适应概念的理解 -
模型参考自适应控制
2021-01-09 10:47:38模型参考自适应控制 考虑一阶线性模型,通过模型参考自适应的控制方法进行参考值的跟随效果,给出了李雅普诺夫的证明,和仿真图,有问题还希望多多指教! 仿真结果: -
无模型自适应控制的matlab simulink模型,不依赖系统模型的控制方法
2022-04-05 22:14:23资源名:无模型自适应控制的matlab simulink模型,不依赖系统模型的控制方法 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者... -
自适应控制matlab仿真代码-Adapative-Controller-under-the-single-Neural-Mass-Model
2021-06-04 02:55:52意图控制matlab仿真代码单一神经质量模型下的自适应控制器 关键词:非线性控制; 自适应控制; NMM; 代码生成; 仿真器; 状态流 项目介绍 该项目的内容是神经质量模型下大脑异常状态的调制。 闭环调制方案是自适应... -
基于matlab和simulink的模糊自适应控制仿真.zip
2021-09-19 21:44:28基于matlab和simulink的模糊自适应控制仿真 -
基于matlab无模型自适应控制的matlab simulink模型不依赖系统模型的控制方法.rar
2022-04-18 19:32:27基于matlab无模型自适应控制的matlab simulink模型不依赖系统模型的控制方法.rar -
鲁棒控制simulink
2018-09-12 14:58:22用simulink搭建出巡航的鲁棒控制,以实现车辆间的距离控制 -
基于被动的两连杆机器人自适应控制:基于被动的自适应控制算法-matlab开发
2021-06-01 08:26:00本示例介绍了用于机器人操纵器的基于被动的自适应控制算法。 您需要了解 Mark W Spong 的文章才能了解其理论。 -
非线性铣削加工颤振自适应模糊动态面控制simulink仿真2016a.mdl
2021-08-30 14:14:29非线性铣削加工颤振动力学模型,自适应模糊动态面控制,simulink数值仿真,考虑压电驱动器迟滞非线性,逆PI迟滞模型非线性补偿,采用模糊函数逼近未知函数,跟踪误差预定性能控制 -
滑模控制Simulink模型(入门必备).rar
2021-07-13 12:19:46一份滑模控制(SMC)的simulink模型和脚本模型,用于入门SMC,对应我的博客文章:https://blog.csdn.net/weixin_43145941/article/details/108776734#comments_17502623