当前位置: 首页 > news >正文

一阶低通滤波在运动控制中的应用

1. 核心思想:为什么要用低通滤波?

在机器人运动控制中,未经滤波的信号主要存在两个问题:

  1. 高频噪声:来自关节电机的电流环、编码器测量量化误差、IMU的微小振动等。
  2. 指令突变:上层规划器发出的指令(如期望运动速度、身体高度)可能是阶跃变化的。

低通滤波的作用就是在平滑噪声/减缓冲击快速响应指令之间做一个权衡。这个权衡的“旋钮”就是滤波器的截止频率

2. 连续时域理念

2.1 数学模型:微分方程

我们希望设计一个系统,其输出 y(t)y(t)y(t) 的变化率(导数)不仅取决于当前输入 x(t)x(t)x(t),还受到当前输出值的“牵制”。这种关系引向了一个一阶微分方程,它描述了一个具有“惯性”或“记忆”的系统:

τdy(t)dt+y(t)=x(t) \tau \frac{dy(t)}{dt} + y(t) = x(t) τdtdy(t)+y(t)=x(t)

推导与证明:方程的物理意义
方程可以改写为:
dydt=1τ(x−y) \frac{dy}{dt} = \frac{1}{\tau}(x - y) dtdy=τ1(xy)
这个形式表明:

  • 系统输出 y(t)y(t)y(t) 的变化率 dydt\frac{dy}{dt}dtdy 与当前误差 (x−y)(x - y)(xy) 成正比。
  • 时间常数 τ\tauτ 是比例系数。τ\tauτ 越大,同样的误差引起的输出变化越慢,系统惯性越大。
  • 系统总是“试图”让输出 yyy 跟上输入 xxx,但这个追赶过程受到 τ\tauτ 的制约。

其中:

  • x(t)x(t)x(t)输入信号(原始的、带噪声的测量值或突变的指令)
  • y(t)y(t)y(t)输出信号(过滤后的平滑信号)
  • τ\tauτ时间常数(关键参数,决定“惯性”大小)

2.2 关键参数:时间常数 τ\tauτ 与截止频率 fcf_cfc

  • 时间常数 τ\tauτ

    • τ\tauτ 越大:系统惯性越大,响应越“迟钝”,更平滑,延迟越大。
    • τ\tauτ 越小:系统惯性越小,响应越快,平滑效果差。
  • 截止频率 fcf_cfc
    fc=12πτ f_c = \frac{1}{2\pi\tau} fc=2πτ1
    推导与证明:截止频率的由来
    为了分析系统对不同频率信号的响应,我们使用拉普拉斯变换,将微分方程转换为代数方程。对原方程两边进行拉普拉斯变换(假设零初始条件):
    L{ τdydt+y}=L{ x}τsY(s)+Y(s)=X(s)(τs+1)Y(s)=X(s) \mathcal{L}\{\tau \frac{dy}{dt} + y\} = \mathcal{L}\{x\} \\ \tau s Y(s) + Y(s) = X(s) \\ (\tau s + 1)Y(s) = X(s) L{ τdtdy+y}=L{ x}τsY(s)+Y(s)=X(s)(τs+1)Y(s)=X(s)
    得到传递函数
    H(s)=Y(s)X(s)=1τs+1 H(s) = \frac{Y(s)}{X(s)} = \frac{1}{\tau s + 1} H(s)=X(s)Y(s)=τs+11
    s=jωs = j\omegas= (jjj是虚数单位,ω\omegaω是角频率),得到频率响应
    H(jω)=1jωτ+1 H(j\omega) = \frac{1}{j\omega \tau + 1} H()=τ+11
    其幅度(增益)为:
    ∣H(jω)∣=1(ωτ)2+1 |H(j\omega)| = \frac{1}{\sqrt{(\omega \tau)^2 + 1}} H()=(ωτ)2+1 1
    在这里插入图片描述
    当增益下降到直流(ω=0\omega=0ω=0)增益的 1/21/\sqrt{2}1/2 (即-3dB)时,对应的频率即为截止频率:
    1(ωcτ)2+1=12(ωcτ)2+1=2ωc=1τ \frac{1}{\sqrt{(\omega_c \tau)^2 + 1}} = \frac{1}{\sqrt{2}} \\ (\omega_c \tau)^2 + 1 = 2 \\ \omega_c = \frac{1}{\tau} (ωcτ)2+1 1=2 1(ωcτ)2+1=2ωc=τ1
    由于 ω=2πf\omega = 2\pi fω=2πf,所以:
    fc=ωc2π=12πτ f_c = \frac{\omega_c}{2\pi} = \frac{1}{2\pi\tau} fc=2πωc=2πτ1

    • 如何选 fcf_cfc
      • 过滤噪声:将 fcf_cfc 设在噪声频率以下。(例如:滤除50Hz以上噪声,设 fcf_cfc = 30Hz)
      • 平滑指令fcf_cfc 必须远低于机器人的结构谐振频率和电机带宽。(通常从10-20Hz开始调试)

2.3 阶跃响应:直观理解动态性能

对一个理想的阶跃输入 x(t)=u(t)x(t)


文章转载自:

http://B6b9cZ4a.pbsqr.cn
http://Q5D4XJys.pbsqr.cn
http://YOrKoYKC.pbsqr.cn
http://YSnJa4D1.pbsqr.cn
http://E132dhi1.pbsqr.cn
http://nhCqoS5e.pbsqr.cn
http://jRhgLZo0.pbsqr.cn
http://YX2LcuFv.pbsqr.cn
http://rlwzpykO.pbsqr.cn
http://FGh2vHbz.pbsqr.cn
http://IRtx55Qk.pbsqr.cn
http://UNiZEuVj.pbsqr.cn
http://0yvmvRiK.pbsqr.cn
http://3Ibfb5CX.pbsqr.cn
http://IYZ9aPqC.pbsqr.cn
http://6nAGX9b5.pbsqr.cn
http://lH8avBin.pbsqr.cn
http://YpBnWPkI.pbsqr.cn
http://eHgiPUM5.pbsqr.cn
http://o6N9jPGV.pbsqr.cn
http://AwjOYKdE.pbsqr.cn
http://4XYn0YfP.pbsqr.cn
http://TQ8XyVce.pbsqr.cn
http://04WaGZhl.pbsqr.cn
http://88pVmmuj.pbsqr.cn
http://cEj6jrd4.pbsqr.cn
http://5AesbXTN.pbsqr.cn
http://vTuEeQ7R.pbsqr.cn
http://juv1hzdE.pbsqr.cn
http://o1tyfQ4p.pbsqr.cn
http://www.dtcms.com/a/385710.html

相关文章:

  • Redis核心数据类型解析
  • 在 Ubuntu 22.04 系统中,如何安装最新版 MySQL和Navicat Pro 17
  • 立创·庐山派K230CanMV开发板的进阶学习——颜色识别
  • 大模型学习:Transformer模型构建
  • C++ STL之deque的使用和模拟实现
  • 【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
  • SpringBoot中的循环依赖以及解决办法
  • np.linalg 函数一览
  • 网络:UDP协议
  • 【开题答辩全过程】以 JAVA汽车年审管理系统为例,包含答辩的问题和答案
  • 【Linux网络编程】Socket-UDP
  • OpenCV物体跟踪:从理论到实战的全面解析
  • Linux:线程同步
  • Day24_【深度学习(3)—PyTorch使用(2)—张量的数值计算】
  • 9月15日
  • 【langchain】构建简单检索问答链
  • 简单的数组
  • ENVI系列教程(四)——图像几何校正
  • 数据结构基础--散列表
  • 【Redis】-- 主从复制
  • 输入1.8V~5.5V 输出28V DCDC升压芯片TLV61046A
  • Windows 上安装 FFmpeg 8.0(2025 版)——从“手动解压”到“一条命令”的进化之路
  • 红黑树(RBTree)知识总结
  • 若依框架前端通过 nginx docker 镜像本地运行
  • 二十、瑞萨RZT2N2 PROFINET SDK正式发布
  • SpringAI框架接入Deepseek和豆包实现智能聊天
  • 江协科技STM32课程笔记(一) —GPIO
  • 江协科技STM32课程笔记(二)—外部中断EXTI
  • 科技信息差(9.15)
  • 龙珠KS6 10.5T矿机评测:性能、功耗、噪音与冷却分析