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

电机控制::基于编码器的速度计算与滤波::RLS

0、基于编码器原始数据存在的问题

采样流程:实际pa->编码器采样电机(采样/通讯/解码计算延迟与量化/截断误差)->dsp采样编码器值(延时一拍,当前拍使用的是编码器传过来的上一拍的数据,通讯需要时间。))

 dsp侧忽略编码器延迟,默认编码器测已做补偿。

编码器采样延迟时间 td1 <= 1pulse/pasig / 速度  ;

延迟相位  = -360°*f*td  (f为信号频率)

1)编码器位置延迟,

2)编码器位置采样噪声

3)编码器位置截断误差(量化误差)

4)编码器数据异常,(原因很多,异常方式很多,从现象入手,直接看数据变化与处理方式即可。根源解决需从编码器本身从设计,工装,安装,解码,通讯等方面解决,与dsp无关)

1、速度计算

1)直接后向差分(传统的M/T法演变而来)

噪声大,延迟0.5Ts  还是 0.25Ts??  控制系统设计指南:相移-90° -->0.25Ts

2)用其他方式进行微分计算

1、二阶RLS-->求系数b1;

2、三阶龙伯格观测器-->去积分前值

...

2、计算后滤波

3)直接差分后滤波(单纯的数值计算or基于对象模型or基于通用模型)

1、lpf                 --> IIR方法     

2、龙伯格     --> IIR方法

3、一阶RLS  -- >  拟合后当前的预测值为重构值  (FIR方法,没有闭环)

4、kalman --> 

5、指令平滑(就是LPF的离散形式)

6、平均滤波(FIR),加权平均滤波 。其与1、5的区别就是FIR与IIR的区别,没有闭环。

http://www.xdnf.cn/news/18699.html

相关文章:

  • 【C++】第二十六节—C++11(中) | 右值引用和移动语义(续集)+lambda
  • Linux_用 `ps` 按进程名过滤线程,以及用 `pkill` 按进程名安全杀进程
  • 机器学习-大语言模型Finetuning vs. Prompting
  • 大型语言模型基准测试综述《A Survey on Large Language Model Benchmarks.pdf》核心内容总结
  • 京东前端社招面经
  • 多维度指标交叉计算查询方案
  • 【芯片后端设计的灵魂:Placement的作用与重要性】
  • 6、RocketMQ消息积压问题如何解决
  • Python爬虫实战:Selenium模拟操作爬取马蜂窝旅游攻略
  • 数据挖掘 6.1 其他降维方法(不是很重要)
  • redis----list详解
  • 深度学习入门第一课——神经网络实现手写数字识别
  • 读《精益数据分析》:A/B测试与多变量测试
  • 【栈 - LeetCode】739.每日温度
  • [Java恶补day51] 46. 全排列
  • 无人机芯片休眠模式解析
  • 关于传统的JavaWeb(Servlet+Mybatis)项目部署Tomcat后的跨域问题解决方案
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(19):文法复习+单词第7回1
  • 基于知识图谱的装备健康智能维护系统KGPHMAgent
  • C++ #pragma
  • 少儿舞蹈小程序需求规格说明书
  • 【Hot100】二分查找
  • Fluent Bit系列:字符集转码测试(上)
  • 使用 Prometheus 监控服务器节点:Node Exporter 详解与配置
  • 实时监测蒸汽疏水阀的工作状态的物联网实时监控平台技术解析
  • 容器学习day02
  • 基于 OpenCV 与 Mediapipe 的二头肌弯举追踪器构建指南:从环境搭建到实时计数的完整实现
  • 力扣498 对角线遍历
  • 4G模块 EC200通过MQTT协议连接到阿里云
  • (LeetCode 每日一题) 498. 对角线遍历 (矩阵、模拟)