无标题
线性动态系统中的状态估计与卡尔曼滤波引言在多传感器系统中,一个核心问题是:如何根据带有噪声的观测数据,对系统的真实状态进行最优估计? 当系统是静态的,即状态不随时间变化时,我们通常可以采用批处理(batch processing)或加权融合(weighted fusion)的方法来进行估计。所谓批处理,是指将一段时间内收集到的全部观测数据统一建模,并通过一次性求解最小二乘或最大似然问题来估计系统状态;所谓加权融合,则是根据不同观测源的噪声水平,为各观测分配不同权重,从而得到更可靠的综合估计。 然而在实际工程中,绝大多数系统都是动态的:系统状态随时间不断演化,而这一演化过程本身也往往伴随着不确定性。此时,观测数据不再只是对某个固定未知量的重复测量,而是对一个随时间变化的状态序列的间接反映。 这就引出了一个经典问题: 如何在一个含噪声的动态系统中,利用不完美的传感器观测,递推地估计系统的内部状态? 卡尔曼滤波器(Kalman Filter)正是解决这一问题的最优线性估计器。它在控制、导航、机器人、信号处理等领域有着极其广泛的应用。 本文基于 University of Sheff...
基于 SOEM 库的 EtherCAT 主站通信与控制流程整理
最近在整理人形机器人上的 EtherCAT 实时控制相关内容,把之前自己零零散散记下来的东西重新串了一遍。 这篇主要是从工程实现角度,把下面几件事放到一条线上讲清楚: EtherCAT 三环怎么理解 基于 SOEM 的主站启动流程是什么样 DC(Distributed Clocks)到底是在什么时候配置、什么时候锁定的 Sync0 和 Sync1 的区别是什么 PRE-OP、SAFE-OP、OP 各阶段分别能做什么 运行期为什么还要继续修正 drift 主从通信除了常规实时线程方式,也可以怎么通过 UDP 或 共享内存 去做上层交互 关于 EtherCAT 协议和底层原理,其实已经有不少文章讲得很细了,所以这篇不打算再按教材那种方式从头解释协议细节,而是更偏向按我自己实际看代码、搭流程、排问题时的思路来梳理。这里主要讨论的是 PDO(Process Data Object) 这种实时过程数据通信方式,而不是 SDO(Service Data Object) 这种更偏参数配置和对象读写的方式。 一、EtherCAT 三环运行在伺服控制里,最常接触的就是三环:位置环、速度环、电...
这是简单的发文示例
一级标题二级标题三级标题四级标题 无序列表 有序列表 有序列表 1234#include <bits/stdc++.h>int main(){ return 0;//代码框} 链接名字百度 高亮文本 hexo使用方法删除缓存(public文件夹)clean 1hexo cl 生成网页文件(public文件夹)generate 1hexo g 预览server 1hexo s 上传deploy 1hexo d 一行代码上传(测试没问题以后输这一行上传服务器即可)一键三连 1hexo cl;hexo g;hexo d 1hexo cl && hexo g && hexo d
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
