ADRC学习|TD微分跟踪器(原理解析和Matlab实现)

2023-05-16

系列文章目录

TD微分跟踪器(原理解析和Matlab实现)

状态扩张观测器


目录

  • 系列文章目录
  • 前言
  • 微分跟踪器作用
  • 原理
    • 线性TD
    • 非线性TD
    • TD的一个定理
    • 最速离散控制函数
  • Matlab实现
  • 参考文献

前言

学习韩老师的ADRC,把学习过程记录一下,方便日后复习。这篇文章针对模型这种微分跟踪器环节(TD)进行检验介绍,包括作用、原理和代码实现。

微分跟踪器作用

大致可分为如下几个作用:
(1)安排过渡过程
简单说就是让目标输入更加平滑没有突变。这个思想最开始是为了解决PID控制理论中超调和快速相互矛盾,
韩老师书里的原话是。根据控制目标和对象承受能力先安排合适的过渡过程。安排过渡过程的手法在控制工程实践中已常被采用。如,升温过程中的“升温曲线”,热处理过程中的“温度曲线”等。
(2)微分信号的提取
利用微分近似公式 y = v ( t ) − v ( t − τ ) τ y=\frac{v(t)-v(t-\tau)}{\tau} y=τv(t)v(tτ) 来实现微分, 噪声放大效应很严重, 以至于无法利用。但如果用微分近似公式 y = v ( t − τ 1 ) − v ( t − τ 2 ) τ 2 − τ 1 y=\frac{v\left(t-\tau_{1}\right)-v\left(t-\tau_{2}\right)}{\tau_{2}-\tau_{1}} y=τ2τ1v(tτ1)v(tτ2), 就可用传递函数
y = 1 τ 2 − τ 1 ( 1 τ 1 s + 1 − 1 τ 2 s + 1 ) v y=\frac{1}{\tau_{2}-\tau_{1}}\left(\frac{1}{\tau_{1} s+1}-\frac{1}{\tau_{2} s+1}\right) v y=τ2τ11(τ1s+11τ2s+11)v
来实现近似微分,是两个惯性环节输出之差来实现微分功能,这样可以噪声放大效应,是二阶动态环节来实现微分功能的。
请添加图片描述
总结一下,这里 v ( t ) v(t) v(t) 是控制目标, v 1 ( t ) v_{1}(t) v1(t) 是对 v ( t ) v(t) v(t) 安排的过渡过程, v 2 v_{2} v2 ( t ) (t) (t) 是过渡过程 v 1 ( t ) v_{1}(t) v1(t) 的微分信号。在这个框图中的 Σ \Sigma Σ 即TD跟踪器,可以是一个动态过程,也可以是一个函数发生器,是根据控制目标 v ( t ) v(t) v(t) 和对象的能力安排的。
(3) 低通滤波器
TD微分跟踪器也可以当成一个低通滤波器。下图是最速跟踪滤波器的幅频曲线,可以看出可以很好的抑制高频分量。
在这里插入图片描述
(4) 配置系统零点
在线性系统理论中,只要系统能控,可以用状态反馈对系统任意配置所需极点,以此改善闭环系统的动态性能。但是若能实现配置系统零点的手法,有时更有效地改善闭环系统的动态性能然而零点配置是要用微分信号的,而传统的微分器对噪声很敏感,很难直接用于零点配置。由于这里提出的TD对噪声具有很好的滤波作用,它所给出的微分信号是可以用来实现零点配置的。

原理

先说个题外话,这个话题我看到某乎上有一篇文章写的很有意思,通过频域分析来理解TD,分享一下。
TD的讨论

考虑一阶惯性系统,其传递函数为:
y = w ( s ) u = k T s + 1 u y=w(s) u=\frac{k}{T s+1} u y=w(s)u=Ts+1ku
其中,k为系统放大系数,T为时间常数。
当T比较小时,可近似有
1 1 + T s ≈ e − T s \frac{1}{1+T s} \approx \mathrm{e}^{-Ts} 1+Ts1eTs
可以将输出看成对信号u的延迟,延迟时间为T。用公式表达为:
y ( t ) = 1 T s + 1 u ( t ) ≈ e − T s u ( t ) = u ( t − T ) y(t)=\frac{1}{T s+1} u(t) \approx \mathrm{e}^{-T_{s}} u(t)=u(t-T) y(t)=Ts+11u(t)eTsu(t)=u(tT)
经典微分器的传递函数为:
y = w ( s ) v = s T s + 1 v = 1 T ( 1 − 1 T s + 1 ) v y=w(s) v=\frac{s}{T s+1} v=\frac{1}{T}\left(1-\frac{1}{T s+1}\right) v y=w(s)v=Ts+1sv=T1(1Ts+11)v
其时域的表达为:
y ( t ) ≈ 1 T ( v ( t ) + n ( t ) − v ( t − T ) ) = 1 T ( v ( t ) − v ( t − T ) + n ( t ) ) ≈ v ˙ ( t ) + 1 T n ( t ) \begin{aligned} y(t) \approx & \frac{1}{T}(v(t)+n(t)-v(t-T))=\\ & \frac{1}{T}(v(t)-v(t-T)+n(t)) \approx \\ & \dot{v}(t)+\frac{1}{T} n(t) \end{aligned} y(t)T1(v(t)+n(t)v(tT))=T1(v(t)v(tT)+n(t))v˙(t)+T1n(t)
其中, n ( t ) n(t) n(t)为随机噪声信号,可以看到,时间常数越小,噪声的干扰越明显,这就是经典微分器的噪声放大效应。
为了减弱噪声放大效应,考虑用两个积分环节相减来近似微分器,这也是微分跟踪器的雏形。

v ˙ ( t ) ≈ v ( t − τ 1 ) − v ( t − τ 2 ) τ 2 − τ 1 , 0 < τ 1 < τ 2 \dot{v}(t) \approx \frac{v\left(t-\tau_{1}\right)-v\left(t-\tau_{2}\right)}{\tau_{2}-\tau_{1}}, 0<\tau_{1}<\tau_{2} v˙(t)τ2τ1v(tτ1)v(tτ2),0<τ1<τ2
其中 v ( t − τ 1 ) , v ( t − τ 2 ) v\left(t-\tau_{1}\right),v\left(t-\tau_{2}\right) v(tτ1),v(tτ2)分别用两个时间常数为 τ 1 , τ 2 \tau_1,\tau_2 τ1,τ2的惯性环节模拟。所以其传递公式为:
y = 1 τ 2 − τ 1 ( 1 τ 1 s + 1 − 1 τ 2 s + 1 ) v = s τ 1 τ 2 s 2 + ( τ 1 + τ 2 ) s + 1 v \begin{aligned} y=& \frac{1}{\tau_{2}-\tau_{1}}\left(\frac{1}{\tau_{1} s+1}-\frac{1}{\tau_{2} s+1}\right) v= \frac{s}{\tau_{1} \tau_{2} s^{2}+\left(\tau_{1}+\tau_{2}\right) s+1} v \end{aligned} y=τ2τ11(τ1s+11τ2s+11)v=τ1τ2s2+(τ1+τ2)s+1sv
其等价的状态变量实现为:
{ x ˙ 1 = x 2 x ˙ 2 = − 1 τ 1 τ 2 ( x 1 − v ( t ) ) − τ 1 + τ 2 τ 1 τ 2 x 2 y = x 2 \left\{\begin{array}{l} \dot{x}_{1}=x_{2} \\ \dot{x}_{2}=-\frac{1}{\tau_{1} \tau_{2}}\left(x_{1}-v(t)\right)-\frac{\tau_{1}+\tau_{2}}{\tau_{1} \tau_{2}} x_{2} \\ y=x_{2} \end{array}\right. x˙1=x2x˙2=τ1τ21(x1v(t))τ1τ2τ1+τ2x2y=x2

线性TD

若时间常数 τ 1 , τ 2 \tau_1,\tau_2 τ1,τ2很接近,则近似函数可以写为:
w ( s ) = r 2 s s 2 + 2 r s + r 2 = s r 2 ( s + r ) 2 w(s)=\frac{r^{2} s}{s^{2}+2 r s+r^{2}}=s \frac{r^{2}}{(s+r)^{2}} w(s)=s2+2rs+r2r2s=s(s+r)2r2
其中, r = 1 τ r=\frac{1}{\tau} r=τ1。可以看出这是一个临界阻尼状态,即可以最快地无超调地达到目标值。这个微分跟踪器被称为线性微分跟踪器。

非线性TD

考虑二阶积分器串联型系统
{ x ˙ 1 = x 2 x ˙ 2 = u , ∣ u ∣ ⩽ r \left\{\begin{array}{l} \dot{x}_{1}=x_{2} \\ \dot{x}_{2}=u,|u| \leqslant r \end{array}\right. {x˙1=x2x˙2=u,ur
其以原点为终点的快速最优控制函数为
u ( x 1 , x 2 ) = − r sign ⁡ ( x 1 + x 2 ∣ x 2 ∣ 2 r ) u\left(x_{1}, x_{2}\right)=-r \operatorname{sign}\left(x_{1}+\frac{x_{2}\left|x_{2}\right|}{2 r}\right) u(x1,x2)=rsign(x1+2rx2x2)
若将 x 1 x_1 x1替换为 x 1 − v 0 ( t ) x_1-v_0(t) x1v0(t),则系统
{ x ˙ 1 = x 2 x ˙ 2 = − r sign ⁡ ( x 1 − v 0 ( t ) + x 2 ∣ x 2 ∣ 2 r ) \left\{\begin{array}{l} \dot{x}_{1}=x_{2} \\ \dot{x}_{2}=-r \operatorname{sign}\left(x_{1}-v_{0}(t)+\frac{x_{2}\left|x_{2}\right|}{2 r}\right) \end{array}\right. {x˙1=x2x˙2=rsign(x1v0(t)+2rx2x2)
的解,再加速度限制( ∣ u ∣ ⩽ r |u| \leqslant r ur)下,可以最快的跟踪输入信号 v 0 ( t ) v_0(t) v0(t) x 2 x_2 x2可以当作 v 0 v_0 v0的微分信号,因此这个也是一个TD,被称为非线性微分跟踪器。
韩老师书上写 非线性TD效率比线性TD高。

TD的一个定理

设n阶系统
{ z ˙ 1 = z 2 ⋮ z ˙ n − 1 = z n z ˙ n = f ( z 1 , z 2 , ⋯   , z n ) \left\{\begin{array}{l} \dot{z}_{1}=z_{2} \\ \vdots \\ \dot{z}_{n-1}=z_{n} \\ \dot{z}_{n}=f\left(z_{1}, z_{2}, \cdots, z_{n}\right) \end{array}\right. z˙1=z2z˙n1=znz˙n=f(z1,z2,,zn)
按菲利波夫意义有解,且其解满足 lim ⁡ t → ∞ z i ( t ) = 0 , i = 1 , ⋯   , n \lim _{t \rightarrow \infty} z_{i}(t)=0, i=1, \cdots, n limtzi(t)=0,i=1,,n
那么对任意局部可积信号 v ( t ) , t ∈ [ 0 , ∞ ) v(t), t \in[0, \infty) v(t),t[0,), 和任意 T > 0 T>0 T>0, 微分方程
{ x ˙ 1 = x 2 ⋮ x ˙ n − 1 = x n x ˙ n = r n f ( x 1 − v ( t ) , x 2 r , ⋯   , x n r n − 1 ) \left\{\begin{array}{l} \dot{x}_{1}=x_{2} \\ \vdots \\ \dot{x}_{n-1}=x_{n} \\ \dot{x}_{n}=r^{n} f\left(x_{1}-v(t), \frac{x_{2}}{r}, \cdots, \frac{x_{n}}{r^{n-1}}\right) \end{array}\right. x˙1=x2x˙n1=xnx˙n=rnf(x1v(t),rx2,,rn1xn)
的解第一个分量x1,将满足
lim ⁡ r → ∞ ∫ 0 T ∣ x 1 ( r , t ) − v ( t ) ∣ d t = 0 \lim _{r \rightarrow \infty} \int_{0}^{T}\left|x_{1}(r, t)-v(t)\right| \mathrm{d} t=0 rlim0Tx1(r,t)v(t)dt=0

韩老师的书上有证明过程,感兴趣可以自行去看,如果感性的理解这个定理,可以把他看成是上面非线性TD的高阶推广。

最速离散控制函数

如果考虑连续系统,上面提到的非线性TD有着非常好的效果,但是我们要处理的实际问题一定是离散的。考虑其离散形式:
{ f = − r sign ⁡ ( x 1 ( k ) − v ( k ) + x 2 ( k ) ∣ x 2 ( k ) ∣ 2 r ) x 1 ( k + 1 ) = x 1 ( k ) + h x 2 ( k ) x 2 ( k + 1 ) = x 2 ( k ) + h f \left\{\begin{array}{l} f=-r \operatorname{sign}\left(x_{1}(k)-v(k)+\frac{x_{2}(k)\left|x_{2}(k)\right|}{2 r}\right) \\ x_{1}(k+1)=x_{1}(k)+h x_{2}(k) \\ x_{2}(k+1)=x_{2}(k)+h f \end{array}\right. f=rsign(x1(k)v(k)+2rx2(k)x2(k))x1(k+1)=x1(k)+hx2(k)x2(k+1)=x2(k)+hf
这个系统的一个最大问题时,进入稳态后会有高频震颤,将sign函数改为线性饱和函数sat(x,d)也于事无补。因为上面的离散递推公式只是一种数值计算的近似解,并不是离散系统
{ x 1 ( k + 1 ) = x 1 ( k ) + h x 2 ( k ) x 2 ( k + 1 ) = x 2 ( k ) + h u , ∣ u ∣ ⩽ r \left\{\begin{array}{l} x_{1}(k+1)=x_{1}(k)+h x_{2}(k) \\ x_{2}(k+1)=x_{2}(k)+h u, \quad|u| \leqslant r \end{array}\right. {x1(k+1)=x1(k)+hx2(k)x2(k+1)=x2(k)+hu,ur
的最速控制综合函数。
因此韩老师推导了该离散系统的最速控制综合函数fhan,同样这里只给出结果。
{ d = r h d 0 = d h a 0 = h x 2 y = x 1 + a 0 a 1 = d ( d + 8 ∣ y ∣ ) a 2 = a 0 + sign ⁡ ( y ) ( a 1 − d ) / 2 a = ( a 0 + y ) f s g ( y , d ) + a 2 ( 1 − f s g ( y , d ) )  fhan  = − r ( a d ) f s g ( a , d ) − r sign ⁡ ( a ) ( 1 − f s g ( a , d ) ) \left\{\begin{array}{l} d=r h \\ d_0=dh \\ a_{0}=h x_{2} \\ y=x_{1}+a_{0} \\ a_{1}=\sqrt{d(d+8|y|)} \\ a_{2}=a_{0}+\operatorname{sign}(y)\left(a_{1}-d\right) / 2 \\ a=\left(a_{0}+y\right) \mathrm{fsg}(y, d)+a_{2}(1-\mathrm{fsg}(y, d)) \\ \text { fhan }=-r\left(\frac{a}{d}\right) \mathrm{fsg}(a, d)-r \operatorname{sign}(a)(1-\mathrm{fsg}(a, d)) \end{array}\right. d=rhd0=dha0=hx2y=x1+a0a1=d(d+8∣y) a2=a0+sign(y)(a1d)/2a=(a0+y)fsg(y,d)+a2(1fsg(y,d)) fhan =r(da)fsg(a,d)rsign(a)(1fsg(a,d))
其中, fsg ⁡ ( x , d ) = ( sign ⁡ ( x + d ) − sign ⁡ ( x − d ) ) / 2 \operatorname{fsg}(x, d)=(\operatorname{sign}(x+d)-\operatorname{sign}(x-d)) / 2 fsg(x,d)=(sign(x+d)sign(xd))/2
即最速离散TD为
{ f h = fhan ⁡ ( x 1 ( k ) − v ( t ) , x 2 ( k ) , r , h 0 ) x 1 ( k + 1 ) = x 1 ( k ) + h x 2 ( k ) x 2 ( k + 1 ) = x 2 ( k ) + h f h \left\{\begin{array}{l} \mathrm{fh}=\operatorname{fhan}\left(x_{1}(k)-v(t), x_{2}(k), r, h_{0}\right) \\ x_{1}(k+1)=x_{1}(k)+h x_{2}(k) \\ x_{2}(k+1)=x_{2}(k)+h \mathrm{fh} \end{array}\right. fh=fhan(x1(k)v(t),x2(k),r,h0)x1(k+1)=x1(k)+hx2(k)x2(k+1)=x2(k)+hfh
h 0 h_0 h0为滤波因子, h 0 h_0 h0越大滤波效果越好; h h h为步长, h h h越小,滤波效果越好;一般来说, h 0 h_0 h0略大于步长 h h h;r为快速因子,r越大,跟踪越快。

Matlab实现

function [x1,x2] = TD_2order(u)
T=0.01;
r=10;
h=0.1;
persistent x_1 x_2
if isempty(x_1)
    x_1=0;
end
if isempty(x_2)
    x_2=0;
end
x1k=x_1;
x2k=x_2;
x_1=x1k+T*x2k;
x_2=x2k+T*fhan(x1k,x2k,u,r,h);
x1=x_1;
x2=x_2;
end

function f=fhan(x1,x2,u,r,h)
d=r*h;			%h为滤波因子  r为调节系数,r越大跟踪效果越好,但微分信号会增加高频噪声
d0=d*h;	%反之,微分信号越平滑,会产生一定的滞后
y=x1-u+h*x2;
a0=sqrt(d^2+8*r*abs(y));
if abs(y)<=d0
    a=x2+y/h;
else
    a=x2+0.5*(a0-d)*sign(y);
end
if abs(a)<=d
    f=-r*a/d;
else
    f=-r*sign(a);
end
end

下图分别是跟踪直线信号和正弦信号的结果
在这里插入图片描述
在这里插入图片描述

可以看到如果追求快速响应,滤波效果会变差,怎么平衡和取舍需要遇到实际问题不断调试。

参考文献

[1]张海丽, 张宏立. 微分跟踪器的研究与应用[J]. 化工自动化及仪表, 2013, 40(004):474-477.
[2]韩京清. 自抗扰控制技术[M]. 国防工业出版社, 2008.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ADRC学习|TD微分跟踪器(原理解析和Matlab实现) 的相关文章

  • ORB_SLAM2的单目SLAM提高关键帧的个数

    一 前言 最近在结合ORB SLAM2和Map2DFusion xff0c 来做无人机航拍视频建图 xff0c 基本完成了pipeline xff0c 但发现出来的效果没有Map2DFusion官方的效果好 xff08 第一张图是我自己处理
  • fmt报错

    在编译Map2DFusion时 xff0c 遇到fmt报错的问题 xff1a home user01 ZhengJiafang Map2DFusion src Map2D cpp 23 usr local include sophus co
  • android4.0新控件Switch方法解析

    就是很像开关的那种控件 xff0c 它只有两个状态 xff1a on和off xff1a 在IOS中 xff0c 有个UISwitch控件 xff0c 其效果图 xff0c 如下 xff1a 在android4 0里面 xff0c 添加了一
  • 视觉SLAM融合GPS尝试

    一 前言 最近在做无人机建图的相关工作 xff0c 基本的方案是ORB SLAM2 43 Map2DFusion 在调试好代码后 xff0c 我利用大疆精灵4在附近的一个公园进行算法测试 xff0c 得到的效果图如下 xff1a 但在一些细
  • python读取与保存图片的exif信息

    图片的exif文件格式中保存了很多信息 xff0c 比如GPS经纬度 xff0c 高度 xff0c 焦距等信息 在图片的属性中可以看到这些信息 xff1a 我们可以使用python来进行exif数据的读取和保存 1 首先安装piexif p
  • ROS深度图转化为点云

    自己编写C 43 43 的ROS代码 xff0c 订阅D435i深度图像 xff0c 转化为点云数据 xff0c 并发布出去 说明 xff1a D435i本身就可以输出点云 xff0c 不需要自己编写代码 本博客的目的是通过自己编写深度图转
  • 大疆校招测评题--循环赛问题

    笔者在2022 7参加了大疆的测评题 其中有道循环赛问题 xff0c 记录下解题思路 循环赛问题 六名选手A B C D E F进行循环赛 每两名选手间比赛一次 xff0c 每名选手每天比赛一场 五天内完成循环赛 已知 xff1a 第一天C
  • Ubuntu22.04安装libudev-dev时的Bug

    新安装了Ubuntu22 04 xff0c 然后安装libudev dev xff1a sudo apt install libudev dev 发现了非常奇怪的事情 xff1a 正在读取软件包列表 完成 正在分析软件包的依赖关系树 完成
  • python爬虫教程——科研向

    引言 在科研中 xff0c 有时需要爬取网站上的文本数据 xff0c 用于统计分析 xff0c 或是制作机器学习所用的数据集 举个例子 xff0c 假如我们需要在世界野生鸟类声音网XenoCanto中 xff0c 爬取网站上的鸟类声音标签信
  • Ubuntu18.04虚拟机下安装opencv

    内容提要 xff1a 此文主要讲在Ubuntu18 04虚拟机下通过编译源码的方式安装opencv 一 首先 xff0c 安装VMware Workstations vmware下载渠道很多我是通过360软件管家下载的 安装过程默认就好 x
  • 笔记本Ubuntu18.04安装NVIDIA驱动,配置darknet环境,并跑yolov3例程(完全过程记录)

    前言 xff1a 我的笔记本电脑显卡为GTX 1050 xff0c 想利用它跑深度学习 xff0c 但是配置环境时遇到了好多问题 前前后后重装了十几次ubuntu xff0c 一个一个试网上的问题解决方案 xff0c 最终把环境搭好了 说多
  • Win7安装Ubuntu1804双系统

    靖哥哥我平时使用ubuntu不多 xff0c 所以都是在虚拟机安装ubuntn 不过因为有一次物理机强制关机 xff0c 导致虚拟机文件损坏 xff0c 此后再使用虚拟机时 xff0c 常遇到死机的情况 xff0c 所以琢磨一下安装双系统
  • C++编译之make cmake bazel模板

    前面文章介绍了C 43 43 编译过程 xff1a 预处理 编译 汇编 链接 xff0c 内容比较简单 xff0c 只要会使用命令行 xff0c 就能根据文章的内容实践操作 xff0c 直观的了解编译全过程 一个项目往往不只一两个cpp文件
  • android之Fragment(官网资料翻译)

    Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment xff0c 并且 xff0c 一个Fragment亦可在多个Activity中使用 在Activity
  • 个人面试经历经验谈

    到昨天接到金蝶得Offer xff0c 我想我为期三个星期的找工作面试之旅应该是告一段落了 原以为接到Offer会有点高兴 xff0c 但是一回味这三个星期的起起落落 xff0c 便实在是高兴不起来 xff0c 虽然手上有好几个Offer可
  • linux 查看端口占用情况

    1 查看系统端口 netstat anptl显示所有正在监听的端口 2 刷选某个端口 netstat anptl grep 39 3350 39 3 查看占用端口的应用程序 ps lt PID gt 下图中可以看到端口8080 的PID 6
  • eclipse tomcat部署项目开发环境修改访问路径

    eclipse tomcat部署项目开发环境修改访问路径
  • 欢迎使用CSDN-markdown编辑器

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 xff0c 用它写博客 xff0c 将会带来全新的体验哦 xff1a Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传
  • PLSQL 11 注册码

    PLSQL 11 注册码 注册码 xff1a Product Code xff1a 4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number xff1a 601769 password xff1a x
  • ORA-28000: the account is locked-的解决办法

    ORA 28000 the account is locked 第一步 xff1a 使用PL SQL xff0c 登录名为system 数据库名称不变 xff0c 选择类型的时候把Normal修改为Sysdba 第二步 xff1a 选择my

随机推荐

  • IOS中bootstrap-select 动态加载的下拉框点击不展示(已解决)

    问题描述 bootstrap select 动态加载的option 在安卓浏览器中能点击后展示 但是在ios浏览器中点击没反应 发现原因 在重新渲染方法后加了一行 s e
  • S7-PLCSIM 无法找到STEP 7 V15 许可证(必须在此计算机上安装STEP V15应用程序)。-----(已解决)

    已经安装过step7 并且已经授权过了 xff0c 但是启动时提示下图错误 记得右键已管理员身份运行
  • 新建springboot项目, pom.xml报错 Unkown error 解决思路

    新建项目pom xml 报错 网上解决思路 xff1a 1 大多都是项目右键 Maven Update Project 选中Force Update of Snapshots Releases 进行强制更新 2 1 5 改成了2 1 3 修
  • 嵌入式软件面试总结

    背景 先说说本人的背景 xff0c 我 xff0c 一个大专人 xff0c 从事嵌入式开发两年了 xff0c 之前在一家公司是负责单片机和物联网开发的 2020年年底我选择了裸辞 xff08 主要想出去玩 xff09 直到春节结束后 xff
  • Intel NUC安装ubuntu系统的方法

    使用intel nuc安装ubuntu系统 xff0c 试验了好多次UEFI安装 xff0c 但是结果都是开机时会出现 A bootable device 除了这句话都是黑屏的现象 原因我查了很多 xff0c 也不敢确定 xff0c 现在总
  • 白骑士的树莓派教学(二):镜像烧录

    本期内容让我们来了解一下树莓派操作系统镜像烧录的操作 xff0c 所需的设备 xff1a PC机 xff0c U盘 xff0c 树莓派相关设备 什么是镜像 xff1f 所谓镜像文件其实和ZIP压缩包类似 xff0c 它将特定的一系列文件按照
  • VS Code Remote SSH远程连接异常:Resolver error: Error: Running the contributed command

    VS Code Remote SSH远程连接异常 问题描述原因分析解决方案扩展Remote SSH首次连接插件做了什么Remote SSH对于远程Linux的要求 问题描述 通过VS Code插件Remote SSH连接一台新主机时 xff
  • PHP常用六大设计模式

    单例模式 特点 xff1a 三私一公 xff1a 私有的静态变量 xff08 存放实例 xff09 xff0c 私有的构造方法 xff08 防止创建实例 xff09 xff0c 私有的克隆方法 防止克隆对象 xff0c 公有的静态方法 xf
  • matlab中文乱码的解决(UTF-8不支持的问题)

    1 解决editor中的UTF 8不支持的问题 xff0c 需要加入下面几行 在matlab 安装的目录的bin子文件夹中找到lcdata xml文件 xff1a 打开加入 lt Locale entries example gt lt l
  • FreeRTOS分析

    freertos是一个轻量级的rtos xff0c 它目前实现了一个微内核 xff0c 并且port到arm7 avr pic18 coldfire等众多处理器上 xff1b 目前已经在rtos的市场上占有不少的份额 它当然不是一个与vxw
  • STM32之FreeRTOS

    学习操作系统 xff0c 我并没有一开始就学习UCOS xff0c 而是选择了FreeRTOS FreeRTOS可以方便地搭建在各个平台上 xff0c 因为汇编相关 xff0c 都已经由官方完成 xff0c 我们要做的仅是添加自己的代码 x
  • FrankMocap Fast monocular 3D Hand and Body Motion Capture by Regression and Intergretion

    paper title FrankMocap Fast monocular 3D Hand and Body Motion Capture by Regression and Intergretion paper link https ar
  • 矩阵中的路径(C++)

    题目 xff1a 请设计一个函数 xff0c 用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径 路径可以从矩阵中的任意一个格子开始 xff0c 每一步可以在矩阵中向左 xff0c 向右 xff0c 向上 xff0c 向下移动一个格
  • TensorFlow入门(五)多层 LSTM 通俗易懂版

    欢迎转载 xff0c 但请务必注明原文出处及作者信息 64 author huangyongye 64 creat date 2017 03 09 前言 根据我本人学习 TensorFlow 实现 LSTM 的经历 xff0c 发现网上虽然
  • 程序员面试经历

    现在找工作 已经没有了毕业以后那时候找工作的那种紧张心情 自从在上家公司离职以后 自己进行了一段时间的工作 世界上本来没有面霸 面试的多了 也就成了面霸 不得不承认 一开始自己面试是有些紧张 但是 面试的多了 也就不觉得紧张 反而有些平淡了
  • keil中快速注释一段代码

    方法一 xff1a 在该段代码的前面加 在该段代码的后面加 代码 方法二 xff1a 自行添加快捷键 lt 1 gt 点击configuration lt 2 gt 点击shortcut keys xff0c 选择Edit Advanced
  • java实习两个月总结

    实习两个月总结 刚开始实习的时候激情满满 慢慢的激情也退却了 在杭州月薪3000干了两个月我自己都觉得不可思议 杭州的物价大家有目共睹 先谈谈收获 认识了java8的新特性 了解了开发中常用的工具和工具包 持续集成部署的jenkins sw
  • 一台电脑如何装3个系统操作教程

    很多小伙伴都想安装个三系统试试 xff0c 但是安装三系统需要一些装机基础才能成功安装 xff0c 电脑如何安装三系统 接下来快启动小编带大家了解电脑如何安装三系统的详细操作 xff0c 希望给走入迷途的小伙伴一些正能量 电脑三系统安装准备
  • Modbus的常见问题解答:多台设备如何连接?为什么要加终端电阻?RS485总线可挂接多少个设备?在RS485通讯中,最大传输距离是多少?

    多台RS485设备如何连接呢 xff1f 使用屏蔽双绞线 xff0c 采用手拉手菊花链式拓扑结构将网关和各串行设备节点连接起来 xff0c 并在网络起始端和末尾端设备的RS485 43 和RS485 之间各并接一个120 电阻以减少信号在两
  • ADRC学习|TD微分跟踪器(原理解析和Matlab实现)

    系列文章目录 TD微分跟踪器 原理解析和Matlab实现 状态扩张观测器 目录 系列文章目录前言微分跟踪器作用原理线性TD非线性TDTD的一个定理最速离散控制函数 Matlab实现参考文献 前言 学习韩老师的ADRC xff0c 把学习过程