三环控制系统

前言

之前记录的一部分笔记里,有关于运动控制的简单说明,这部分的内容还是非常吸引自己的,于是就查阅了相关的书本资料,做进一步的学习,下面很多内容/笔记是出自于孙宇等人编著的《交流伺服系统设计指南》,里面的内容让人眼前一亮,会让人对经典控制理论产生极大的兴趣,非常值得去好好的学习下。内容仅作为学习使用,会穿插一些自己对内容的理解以及相关的代码演示等。

三闭环系统构成

高性能交流伺服控制系统通常具有位置反馈、 转速反馈和电流反馈的三闭环结构形式, 如图所示。 图中, 虚线框内表示电源、 电动机及编码器模型, 其中 APR 表示位置调节器, ASR 表示转速调节器, ACR 表示电流调节器。

三环串级控制的数据流、反馈方向与位置环、速度环、电流环更新频率高清动态图
三环串级控制高清 GIF 动图(1800×1080)。紫、蓝、橙分别表示位置环、速度环和电流环;移动节点按 1∶4∶16 的比例表现不同环路的更新快慢。查看无损 SVG 版本

图中的 1 kHz、4 kHz 和 16 kHz 是便于比较的示例值,并非所有驱动器的固定参数。实际控制周期应以所用伺服驱动器或控制器的手册为准。

三个环路调节器都由 P 和 I 组成, 虽然结构相似, 但是完成的功能却各自不同:

① 电流环 ACR 的作用是改造内核控制对象的传递函数, 提高系统的快速性; 及时抑制电流环内部的干扰; 限制最大电流, 使系统有足够大的加速度转矩, 并且保障系统安全运行。

② 速度环 ASR 的作用是增强系统抗负载扰动的能力; 抑制转速波动。

③ 位置环 APR 的作用是保证系统静态准确度、 刚度和动态跟踪的性能; 它是反馈的主要通道。

通常把电流环称为内环, 三个环的设计步骤由内到外, 即依次是电流环, 速度环和位置环。 针对各个闭环的具体作用和要求, 采取相应的控制策略。 首要考虑系统的稳定性, 此外, 系统的跟随性、 扰动性、 误差以及稳态裕度等性能也是考虑的基本内容。

机械系统是指系统负载和负载与电动机连接的机械传动机构的总称。 通常假设电动机与机械系统的连接特性为理想化的刚性,如下图所示

电机和负载刚性连接时的单惯量模型及其等效控制框图
理想刚性连接下的单惯量模型:电机与负载没有相对扭转,可合并为总惯量。

系统转动惯量 J 即是电动机转动惯量 JM 与负载转动惯量 JL 之和由它建立的系统一般称为单惯性系统。实际上,机械传动连接特性并非理想化的刚性,它存在一定的柔性,如下图所示,由它建立的系统称为两惯性系统。在该物理模型中,连接特性具有柔性耦合特性,存在弹性常数 Ks ,它使得系统转动惯量 J 不再是电动机转动惯量 JM 与负载转动惯量 JL 之和。 更复杂的是,这种柔性耦合通常会在系统中引发机械振动,机械振动除了发出声学噪声形成噪声污染外,还会对机械传动装置造成严重的损害,影响其使用寿命。另外,甚至还会引发控制系统中的控制量振荡,使得闭环控制的稳定性以及可调整性受到制约。

具有扭转刚度和阻尼的电机负载两惯量模型
柔性传动下的两惯量模型:电机端与负载端可以相对扭转,因此会出现机械共振与反共振。

由经验可以得出, 虽然三闭环控制策略是在单惯性系统物理模型下分析得出的, 但它同样适用于振动负载模型, 其结论对实际应用中的伺服控制系统同样是有效的。 因此主动式解决振动的方法多数也是在三闭环控制系统的基础上展开研究的。 调整伺服系统就是通过调整各个环路的增益与滤波以使伺服控制器匹配机械特性,从而达到减小振动、快速跟踪指令并且消除异常噪音的目的。

系统的基本研究内容

稳定是控制系统的重要性能, 也是系统能够正常运行的首要条件。 在交流伺服控制系统设计中, 分析三闭环结构是否稳定并不重要, 因为工业中即使是临界稳定的系统也是没有用的。 对于设计人员来说, 花费大量精力的重点在于测量系统有多稳定, 或者准确地说在于测 量系统所拥有的稳定性裕度有多大。 无论是在工程应用中, 还是在理论研究上, 这里推荐大家使用相位裕度 (Phase Margin,PM) 和增益裕度 (Gain Margin, GM) 来作为系统稳定程度的度量。 这是因为:

① PM 和 GM 是系统稳定性最直观的量度;

② 开环设计法是数字的, 适合于计算机;

③ 这种方法不需要对控制系统进行任何的简化性假设。

若统开环传递函数的对数频率特性曲线如下所示。图中,相位裕度(PM)(通常也称为相角裕度)定义为 180°加开环幅相曲线幅值为 1时的相位∶

γ=180∘+G(jωc)H(jωc)\gamma = 180^\circ + G(j\omega_c)H(j\omega_c)

式中 ωc\omega_c 为系统的截止角频率。增益裕度 (GM, 通常也称为幅值裕度) 定义为幅相曲线上, 相位为 -180°时对应幅值的倒数:

h=1∣G(jωg)H(jωg)∣h=\frac{1}{|G(j\omega_g)H(j\omega_g)|}

通常幅值裕度用分贝值 dB 表示, 将上面的式修改为

h=20lg1∣G(jωg)H(jωg)∣=−20lg∣G(jωg)H(jωg)∣h=20lg\frac{1}{|G(j\omega_g)H(j\omega_g)|} = -20lg|G(j\omega_g)H(j\omega_g)|

虽然目标是测量 PM和 GM的值,但是确定这两个量度的期望值需要判断。其原因之一是裕度大小随应用要求的变化而变化。例如,有些必须跟随指令信号,如阶跃指令信号的场合,除了极稳定的系统外都会产生超调。相对于响应变化柔和的指令信号来说,这样的应用需要更高的稳定裕度。此外,与其他应用相比,有些应用可以承受更大的超调量。最后,对于同样的响应,有些控制方法需要比其他方法更大的相位裕度或者增益裕度。例如,对于一个阶跃响应来说,要获得相同的超调量,PI 调节器需要一定的相位裕度,而对于PID 调节器来说,较小的相位裕度就可能消除所有超调。经验表明,增益裕度(GM)应为10~ 25dB,而相位裕度(PM)应为35°~80°,这取决于具体应用及控制器类型。一般情况下,幅值裕度越大越好,同样,相角裕度也是越大越好。由于增益穿越处及其附近的相位滞后降低了相位裕度, 于是在整个控制回路中的每个噪 声滤波器、 反馈装置以及功率变换器均带来了相位滞后, 每个相位滞后都侵蚀相位裕度, 没必要的相位滞后限制了调节器的最终性能。 因此, 一条最基本的控制法则是: 消除没必要的相位滞后。

典型系统

一般来说, 系统的开环传递函数都可表示为

W(s)=K(τ1s+1)(τ2s+1)sr(T1s+1)(T2s+1)W(s) = \frac{K(\tau_1s+1)(\tau_2s+1)}{s^r(T_1s+1)(T_2s+1)}

式中,分子和分母上都可能含有复数零点和复数极点诸项。分母中的s’项表示系统在原点处有r重极点,或者说,系统含有r个积分环节。根据r=0,1,2,…不同值,分别称为0型、Ⅰ型、Ⅱ型、…系统。自动控制理论证明,0型系统在稳态时是有差的,而Ⅲ型和Ⅲ型以上的系统很难稳定。因此,通常为保证稳定性和一定的稳态准确度,多用I型和Ⅱ型系统。

典型Ⅰ型系统

作为典型Ⅰ型系统, 其开环传递函数选择为

W(s)=Ks(Ts+1)W(s) = \frac{K}{s(Ts+1)}

它的闭环系统结构如下所示,

典型一型系统的单位负反馈结构和开环渐近幅频特性
典型Ⅰ型系统:交越频率位于惯性环节转折频率之前。

图 b 表示它的开环对数频率特性。 选择它作为典型系统不仅因为其机构简单, 而且对数幅频特性的中频段以 - 20dB / dec 的斜率穿越零分贝线。 只要参数的选择能保证有足够的中频带宽度,系统就一定是稳定的, 且有足够的稳定裕量。 显然要做到这一点, 应有

{ωc<1TarctanωcT<45∘\begin{cases}\omega_c<\frac{1}{T}\\ arctan \omega_cT<45^\circ\end{cases}

则相位稳定裕度有

γ=180∘−90∘−arctan⁡(ωcT)>45∘\gamma = 180^\circ - 90^\circ - \arctan(\omega_cT) > 45^\circ

典型Ⅱ型系统

在Ⅱ型系统中,选择一种最简单而稳定的机构作为典型的Ⅱ型系统,其开环传递函数为

W(s)=K(τs+1)s2(Ts+1)W(s) = \frac{K(\tau s + 1)}{s^2(Ts+1)}

它的闭环系统结构和开环对数频率特性如图所示,

典型二型系统的单位负反馈结构和开环渐近幅频特性
典型Ⅱ型系统:超前零点将交越附近的斜率抬升到 −20 dB/dec。

其中频段也是以 - 20dB / dec 的斜率穿越零分贝线。由于分母中已经有s²,对应的相频特性是-180°,后面还有一个惯性环节(这是实际系统必定有的),如果在分子上不添加一个比例微分环节 (τs+1)(\tau s+1) ,就无法把相频特性抬到-180°线以上去,也就无法保证系统稳定。要实现图b这样的特性,显然应有

{1τ<ωc<1Tτ>T\begin{cases} \frac{1}{\tau}<\omega_c<\frac{1}{T}\\ \tau>T \end{cases}

则相位稳定裕度为

γ=arctanωcτ−arctanωcT\gamma = arctan \omega_c \tau - arctan \omega_cT

由上式可得到,τ\tau 比T大得越多,则稳定裕度越大。

手动调整速度环增益和位置环增益

这部分的内容,松下的伺服驱动器手册说的是非常的详细的,结合着自己查阅相关驱动器手册,对其进行一点归纳。

伺服驱动器首要的性能参数调整有三个:1.速度环增益;2.速度环积分时间常数;3.位置环增益。

增益调整与机械刚性的关系

提高机械刚性

1,应将机械牢固的置于地基上,使之不产生晃动。

2,应使用刚性高的伺服联轴器。

3, 使用宽幅的同步带。此外,张力应在电机容许轴向的过负载范围内。

4, 使用齿隙小的齿轮。机械部相关的固有振动 (共振频率) 会极大影响伺服机械的增益调整。共振频率低的机械 (=机械刚性低) ,伺服相关的响应性不可以设定过高。

柔性关节的谐振与抗谐振

以前看到谐振频率和抗谐振频率时,我总容易把它们理解成同一个机械振动现象的“正反两面”。读完李英立等人的《一种基于谐振与抗谐振特性的柔性关节参数辨识方法》后,比较清楚的一条线索是:谐振对应系统柔性模态的极点,抗谐振则对应特定输入-输出通道的零点。后者并不表示整个关节停止振动,而只是当前观察位置的响应被动力学耦合抵消。

下面借用论文的双惯量建模思路重新推导,并使用 Wolfram Language 11.3 生成频率响应和能量分布图。公式、说明和图均为学习过程中的重新整理,可复现代码也一并公开。论文原文及完整引文信息见期刊页面和 DOI: 10.13973/j.cnki.robot.200536。

双惯量模型和观察通道

将减速器前的电机转子折算为电机侧惯量 JMJ_M,将减速器输出端、连杆和外接负载折算为负载侧惯量 JLJ_L,两者通过刚度 KK、阻尼 DD 的柔性传动部分连接:

JMθ¨M=τM−τsJLθ¨L=τsτs=K(θM−θL)+D(θ˙M−θ˙L)\begin{aligned} J_M\ddot{\theta}_M &= \tau_M-\tau_s \\ J_L\ddot{\theta}_L &= \tau_s \\ \tau_s &= K(\theta_M-\theta_L)+D(\dot{\theta}_M-\dot{\theta}_L) \end{aligned}

为了突出谐振与抗谐振,暂时忽略电机、负载各自对地的摩擦。所有惯量和角度必须折算到同一个坐标侧;如果中间有减速器,不能直接把减速器两侧的惯量数值代入同一组公式。

由电机力矩 τM\tau_M 到电机位置 θM\theta_M、负载位置 θL\theta_L 的传递函数分别为:

GM(s)=θM(s)τM(s)=JLs2+Ds+Ks2[JMJLs2+(JM+JL)(Ds+K)]G_M(s)=\frac{\theta_M(s)}{\tau_M(s)}= \frac{J_Ls^2+Ds+K} {s^2\left[J_MJ_Ls^2+(J_M+J_L)(Ds+K)\right]}

GL(s)=θL(s)τM(s)=Ds+Ks2[JMJLs2+(JM+JL)(Ds+K)]G_L(s)=\frac{\theta_L(s)}{\tau_M(s)}= \frac{Ds+K} {s^2\left[J_MJ_Ls^2+(J_M+J_L)(Ds+K)\right]}

两个通道具有相同的分母,所以都具有柔性谐振极点;但只有电机侧通道的分子含有 JLs2J_Ls^2,因此只有电机侧响应出现明显的抗谐振零点。这说明“抗谐振”与传感器位置和选取的输入-输出通道有关:在电机编码器上看到谷底,并不代表负载编码器也会看到同样的谷底。

为什么一个是谷底一个是峰值

阻尼较小时,令电机侧传递函数的分子和分母分别接近零,可以得到:

fAR=12πKJLf_{AR}=\frac{1}{2\pi}\sqrt{\frac{K}{J_L}}

fR=12πK(1JM+1JL)f_R=\frac{1}{2\pi}\sqrt{K\left(\frac{1}{J_M}+\frac{1}{J_L}\right)}

其中 fARf_{AR} 是抗谐振频率,来自电机侧通道的零点;fRf_R 是谐振频率,来自系统共同的柔性极点,并且总有 fR>fARf_R>f_{AR}。

使用论文仿真中的 JM=0.002 kg⋅m2J_M=0.002\ \mathrm{kg\cdot m^2}、JL=0.018 kg⋅m2J_L=0.018\ \mathrm{kg\cdot m^2}、K=2000 N⋅m/radK=2000\ \mathrm{N\cdot m/rad},计算得到:

fAR=53.05 Hz,fR=167.76 Hzf_{AR}=53.05\ \mathrm{Hz},\qquad f_R=167.76\ \mathrm{Hz}

这与论文图中约 53 Hz 的谷底和约 170 Hz 的峰值一致。下图上半部分比较电机侧和负载侧的归一化频率响应:电机侧在 fARf_{AR} 处出现谷底,负载侧没有这个零点;两侧都在 fRf_R 附近出现峰值。下半部分改变 DD 后可以看到,阻尼主要改变峰和谷的深浅,对两处特征频率的位置影响较小。

柔性关节电机侧与负载侧的谐振、抗谐振频率响应

能量到底流向哪一侧

在理想无阻尼极限下,把激励频率取为 fARf_{AR},电机侧传递函数的分子为零,于是 θM≈0\theta_M\approx0,而 θL\theta_L 仍可以运动。论文将这一现象概括为电机转子运动幅度很小,电机输出能量较多地传向负载。更精确地说,此时:

  • 电机转子的振动动能接近零;
  • 机械能主要在负载动能与关节弹性势能之间交换;
  • 真实系统存在阻尼和摩擦,所以只能说“较多地”传向负载,而不是绝对的全部。

还需要注意“能量流向”是便于理解的工程表述。在理想、无阻尼并且已经达到严格正弦稳态的模型中,电机速度为零时,瞬时机械功率 PM=τMθ˙MP_M=\tau_M\dot{\theta}_M 也为零;已有振动能量只是在负载惯量和弹性元件之间来回交换。实际系统中电机侧会保留小幅运动,并持续补充阻尼耗散的能量。

在谐振柔性模态下,电机侧和负载侧近似反相运动,并满足:

ΘMΘL=−JLJM\frac{\Theta_M}{\Theta_L}=-\frac{J_L}{J_M}

因此两侧振动动能之比为:

E‾K,ME‾K,L=JM∣Θ˙M∣2JL∣Θ˙L∣2=JLJM\frac{\overline{E}_{K,M}}{\overline{E}_{K,L}} =\frac{J_M|\dot{\Theta}_M|^2}{J_L|\dot{\Theta}_L|^2} =\frac{J_L}{J_M}

对上述论文参数,JL/JM=9J_L/J_M=9,所以在理想谐振模态的总平均能量中,约 45% 是电机侧动能、5% 是负载侧动能、另外 50% 是关节弹性势能。这个结果并不是说谐振时能量永远主要在电机侧;它取决于折算到同一坐标后的惯量比。

理想双惯量模型在谐振和抗谐振状态下的平均能量分布

可以用一句话记住:抗谐振是电机侧响应被抵消,能量更多表现为负载动能和关节弹性势能;谐振是两侧共同参与的柔性模态,运动被极点放大,具体能量比例由模态振型和惯量比决定。

用 Mathematica 重现频率响应

先定义等效惯量:

Jeq=JMJLJM+JLJ_{eq}=\frac{J_MJ_L}{J_M+J_L}

去掉两个通道共有的刚体双积分环节后,用下面两个柔性因子就可以清楚地画出峰和谷:

HM(s)=JLs2+Ds+KJeqs2+Ds+K,HL(s)=Ds+KJeqs2+Ds+KH_M(s)=\frac{J_Ls^2+Ds+K}{J_{eq}s^2+Ds+K},\qquad H_L(s)=\frac{Ds+K}{J_{eq}s^2+Ds+K}

核心 Wolfram Language 代码如下:

ClearAll["Global`*"];

jm = 0.002;
jl = 0.018;
k = 2000.;
d = 1.;

jeq = jm jl/(jm + jl);
fAR = Sqrt[k/jl]/(2 Pi);
fR = Sqrt[k/jeq]/(2 Pi);

hm[z_, damping_: d] :=
(jl z^2 + damping z + k)/(jeq z^2 + damping z + k);

hl[z_, damping_: d] :=
(damping z + k)/(jeq z^2 + damping z + k);

toDB[value_] := 20 Log[10, Max[Abs[N[value]], 10^-12]];
frequencies = 10.^Subdivide[Log[10, 1.], Log[10, 400.], 1400];

motorData = ({#, toDB[hm[I 2 Pi #]]} &) /@ frequencies;
loadData = ({#, toDB[hl[I 2 Pi #]]} &) /@ frequencies;

responsePlot = ListLogLinearPlot[
{motorData, loadData},
Joined -> True,
Frame -> True,
FrameLabel -> {"frequency (Hz)", "normalized magnitude (dB)"},
GridLines -> {{fAR, fR}, Automatic},
PlotLegends -> {"motor-side response", "load-side response"}
];

UsingFrontEnd[
Export["flexible_joint_frf_used.png", responsePlot, ImageResolution -> 150]
];

如果主要目的是直观理解,可以直接下载我整理的 Mathematica 交互式可视化实验室(.nb)。它不是只有公式和静态曲线,而是把电机、柔性组件和负载连杆画在同一幅动画中,并提供四组可以拖动的实验:

  1. 播放电机侧与负载侧的相对运动,按钮可直接跳到抗谐振和谐振频率;
  2. 在同一张频率响应图上观察电机侧零点与柔性模态极点;
  3. 比较电机动能、负载动能、弹性势能以及稳态功率平衡;
  4. 改变已知外接惯量,观察两个特征频率如何移动,并用带噪模拟数据反推 JMJ_M、JL0J_{L0} 和 KK。

在 Mathematica 11.3 或更高版本中打开 .nb 后,选择 Evaluation → Evaluate Notebook(计算整个笔记本),再拖动滑块或播放动画相位即可。动画为了看清运动会自动归一化幅值,表格中的幅值比和相位差仍由完整复数频响计算。

如果需要批量重画网站中的静态图片,也可以下载完整 Wolfram Language 脚本(.wl)。脚本还包括阻尼对比、能量分布、外接负载扫描以及 interactiveView 交互式频率滑块。

把公式变成会动的故事

真正有意思的地方并不是“记住两个频率公式”,而是系统的运动形态会在很窄的频率范围内突然换一种样子。下面三段循环动画都把机械运动与频率响应上的当前点同步起来;为了看清相对运动,连杆角度经过统一归一化,频率、幅值比、相位和参数仍按完整模型计算。

第一段固定机械参数并连续扫频。低频时电机和负载大致同相;到 fARf_{AR} 附近,电机侧突然接近振动节点,但负载和柔性组件仍在运动;继续扫到 fRf_R,两侧转为明显反相,柔性模态被强烈激发。这就是零点和极点从公式变成运动画面的瞬间。

扫频经过抗谐振与谐振时电机、柔性组件和负载连杆的运动变化

第二段把频率固定在理想抗谐振位置,只改变阻尼 DD。两个特征频率的位置变化很小,但峰和谷可以从“刀锋一样尖”逐渐变得平缓。它说明实验中为什么有时很容易读出谐振与抗谐振,有时同一个零点却像是消失了:阻尼主要改变可见程度,而不是这两个频率的基本来源。

阻尼变化如何填平抗谐振谷并压低谐振峰

第三段保持激励为 60 Hz,只改变负载惯量。随着负载变重,fARf_{AR} 向低频移动并穿过固定激励频率;于是完全相同的 60 Hz,可以从普通工作点变成电机侧几乎不动的抗谐振点,再离开抗谐振。这一点很重要:“60 Hz”本身既不是谐振也不是抗谐振,它的身份由整套机械参数决定。

负载惯量改变时固定六十赫兹激励如何经过抗谐振点

新版 .nb 已加入“动画录制”章节,可以在本机重新生成这三段动画。也可以单独下载动画生成脚本,修改 frequencySchedule、dampingSchedule、loadSchedule 和 DisplayDurations,把自己的参数变化录制成新的 GIF。

用不同负载辨识惯量和刚度

如果 JLJ_L 已知,一组 fARf_{AR}、fRf_R 就能直接给出:

K=(2πfAR)2JLK=(2\pi f_{AR})^2J_L

JM=K(2πfR)2−(2πfAR)2J_M=\frac{K}{(2\pi f_R)^2-(2\pi f_{AR})^2}

真实关节中的空载惯量 JL,0J_{L,0} 往往也未知。论文的核心办法是给输出端依次安装若干已知惯量 JextJ_{ext},令:

JL=JL,0+JextJ_L=J_{L,0}+J_{ext}

然后在每一种负载下测量 fARf_{AR} 和 fRf_R,把多组结果代入频率公式,通过最小二乘法同时估计 JL,0J_{L,0}、JMJ_M 和 KK。从下图可以看到,增加负载后 fARf_{AR} 明显下降,而 fRf_R 逐渐接近由 JMJ_M 和 KK 决定的高频极限;两条曲线对参数的敏感性不同,这正是联合辨识能够成立的原因。

外接负载惯量变化时谐振与抗谐振频率的变化

机器人关节带宽和测量

文章写的很好,就直接搬运,下面为搬运的内容;

电机的伺服驱动器通常包括三种控制环——位置环、速度环和电流环。虽然每种控制环的目的是控制电机性能的不同方面,但它们都有一个共同的参数:带宽。在伺服驱动器中,带宽定义为闭环频率响应幅度大于 -3dB 的频率范围。此时,输出增益约为幅值的70.7%,输出功率等于输入功率的50%。定性地讲,系统的带宽可以衡量它对不断变化的输入命令的响应速度,因此对机器人的控制性能至关重要。

在协作机械臂和腿足式机器人中,位置带宽和力矩带宽已经成为衡量其伺服关节性能的重要指标:

  • 位置带宽:描述执行器可以有效跟踪期望轨迹的最大频率,单位Hz,通常以峰值最大速度为指标来评价。

  • 力矩带宽:描述执行器可以有效跟踪期望力矩的最大频率,单位Hz,通常以峰值最大扭矩为指标来评价。

一些典型的力控关节带宽指标如下表所示。

关节 力矩带宽 (Hz) 测试负载 (Nm) 力检测方式
ETH ANYdrive [1] >60 1 Nm SEA
iit WALK-MAN actuator [2] 14.24 35 Nm SEA
iit WALK-MAN actuator [2] 28.05 35 Nm Torque sensor
Blue Module [3] 13.8 10 Nm QDD+电流检测

如何影响带宽

关节都可以近似看成一个二阶质量-弹簧-阻尼系统,因此这三者会对系统力矩带宽产生影响。下面是我以JTS-based关节的闭环传递函数为例,分析这三个参数对力矩带宽影响的仿真结果。

  • 关节整体刚度:刚度越高,带宽越高
  • **传动系统惯量:**惯量越小,带宽越高
  • **负载端阻尼:**阻尼越大,带宽越高

由于传动系统惯量和负载端阻尼很难在设计关节时人为设定,因此大多数工作都是从关节刚度入手来改变力矩带宽。

带宽的测量

确定幅值

由于力矩带宽的具体大小由关节输出端负载决定,因此在测量时需要根据你的期望力矩幅值来测量相应带宽。

3.2 生成扫频信号

实验时需要根据实际经验大致定义关节力矩带宽的范围,比如0-60Hz,然后在规定时间内给控制器输入频率随时间变化的力矩信号。下面代码是以Matlab语言为例,在0-10s内生成0-60Hz,幅值为A的信号,具体使用时转换为相应的控制器程序语言写入控制器即可

% 使用数学函数式生成啁啾信号
fs = 1000; % 控制器采样频率,1KHz
f_ini = 0; % 初始频率,单位Hz
f_fin = 60; % 终止频率,单位Hz
dT = 10; % 采样周期,单位s
t1= 0:1/fs:dT; % 采样间隔
K= A*(f_fin-f_ini)/dT; % 频率线性增长率, A为信号幅值
track = cos(2*pi*(f_ini.*t1+0.5.*K.*t1.*t1));

Matlab有自带的chirp函数可以生成余弦扫频信号,但是无法写入控制器,所以可以把chirp函数当作验证工具来来验证你的扫频信号。

实验装置及数据整理

1)实验开始前,需要通过机械装置锁住关节输出端;

2)实验时,关节工作在力矩模式(closed-loop),力矩环输入命令为扫频信号;

3)实验过程中实时记录当前信号频率和对应力矩幅值;

4)最后根据数据画bode图,找出-3dB对应的频率点,即为关节力矩带宽的截止频率。

参考

[1] 松下驱动器手册

[2] 机器人关节带宽的理解和测量

[3] 李英立,侯澈,罗阳,赵忆文,赵新刚.一种基于谐振与抗谐振特性的柔性关节参数辨识方法.机器人,2021,43(3):279-288.DOI

知识共享许可协议