System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于下肢康复机器人的串口通信的数据处理方法及系统技术方案_技高网

用于下肢康复机器人的串口通信的数据处理方法及系统技术方案

技术编号:41736919 阅读:2 留言:0更新日期:2024-06-19 12:56
本发明专利技术提供了一种用于下肢康复机器人的串口通信的数据处理方法及系统,涉及下肢康复机器人领域,该方法包括:自数据池中获取到第一条待处理数据后,将待处理数据存入缓存区;按时序获取到下一条待处理数据后,判断下一条待处理数据中首个包头的位置;若在开始位置,则对缓存区中的数据进行分包处理;若在非开始位置,则将下一条待处理数据中位于首个包头之前的数据存入缓存区,以及对缓存区中的数据进行分包处理;若无包头或出现不完整包头,则将下一条待处理数据存入缓存区。本发明专利技术实施例采用数据池和数据分割拼接的方法优化串口通讯质量,从软件层面提供处理方案,既可以得到高质量的连续数据,又不更改当前设备方案,可以避免数据出现连包残包问题。

【技术实现步骤摘要】

本专利技术涉及下肢康复机器人,具体而言,涉及一种用于下肢康复机器人的串口通信的数据处理方法及系统


技术介绍

1、串口通信过程中发生数据连包残包问题的现有常见解决方案有两种:采用舍弃异常数据包方案和更换串口通信方案。

2、舍弃异常数据包的方案指当检测到异常数据包的时候,拒绝处理而等待下一个正常数据包。串口数据包通常会采取包头、包尾的方式确定是否接收到完整的数据包。当检测到接收的数据没有正确的包头和包尾或者数据包长度异常后便判定接收到异常数据包。这样的方案最为简单,但是会直接损失数据的连续性——在获取下肢康复机器人上的imu(inertial measurement unit,惯性测量单元)传感器数据或自动驾驶等数据连续性要求极高的情况下,该方案会直接造成数据无法使用从而造成不必要损失。

3、更换串口通信方案是直接采用提高成本的方式改善通讯质量。在环境不稳定或者设备选型已经固定甚至已经批量采用的情况下,该方案会直接造成项目的延迟和成本的增加。且在设备运行环境不稳定的情况下,更换设备的方案并不能一劳永逸地解决数据通信质量的问题。


技术实现思路

1、为解决上述问题,本专利技术实施例提供了一种用于下肢康复机器人的串口通信的数据处理方法,所述方法包括:自数据池中获取到第一条待处理数据后,将所述待处理数据存入缓存区;按时序获取到下一条待处理数据后,判断所述下一条待处理数据中首个包头的位置;所述包头用于标识数据包的起始位置;若所述首个包头在所述下一条待处理数据的开始位置,则对所述缓存区中的数据进行分包处理;若所述首个包头在所述下一条待处理数据的非开始位置,则将所述下一条待处理数据中位于所述首个包头之前的数据存入所述缓存区,以及对所述缓存区中的数据进行分包处理;若所述下一条待处理数据中无包头或出现不完整包头,则将所述下一条待处理数据存入所述缓存区。

2、可选地,所述方法还包括:基于数据接收线程持续性地接收串口发送的数据,并存储在所述数据池中。

3、可选地,所述方法还包括:基于数据处理线程自所述数据池中获取待处理数据、对所述待处理数据进行首个包头的位置的判断以及根据判断结果执行对应处理。

4、可选地,所述基于数据接收线程持续性地接收串口发送的数据,并存储在所述数据池中,包括:基于数据接收线程持续性地接收串口发送的数据;将每个单位时长接收的数据作为一条待处理数据分开保存至所述数据池中。

5、可选地,所述基于数据处理线程自所述数据池中获取待处理数据,包括:每经过单位时长,所述数据处理线程暂停数据处理过程,自所述数据池中获取一条待处理数据。

6、可选地,所述数据处理线程自所述数据池中获取待处理数据的频率大于所述数据接收线程存储每条待处理数据的频率。

7、可选地,所述数据处理线程启动时间先于所述数据接收线程,所述数据接收线程启动时间先于数据流开始时间。

8、可选地,所述数据处理线程结束时间晚于所述数据接收线程,所述数据接收线程结束时间晚于数据流结束时间。

9、可选地,所述对所述缓存区中的数据进行分包处理,包括:将所述缓存区中的数据根据各个包头的位置进行分包处理,输出各个完整的数据包。

10、本专利技术实施例提供了一种用于下肢康复机器人的串口通信的数据处理系统,所述系统包括:获取模块,用于自数据池中获取到第一条待处理数据后,将所述待处理数据存入缓存区;判断模块,用于按时序获取到下一条待处理数据后,判断所述下一条待处理数据中首个包头的位置;所述包头用于标识数据包的起始位置;分类处理模块,用于若所述首个包头在所述下一条待处理数据的开始位置,则对所述缓存区中的数据进行分包处理;若所述首个包头在所述下一条待处理数据的非开始位置,则将所述下一条待处理数据中位于所述首个包头之前的数据存入所述缓存区,以及对所述缓存区中的数据进行分包处理;若所述下一条待处理数据中无包头或出现不完整包头,则将所述下一条待处理数据存入所述缓存区。

11、本专利技术实施例提供的用于下肢康复机器人的串口通信的数据处理方法及系统,采用数据池和数据分割拼接的方法优化串口通讯质量,从软件层面提供处理方案,既可以得到高质量的连续数据,又不更改当前设备方案,可以避免数据出现连包残包问题。

本文档来自技高网...

【技术保护点】

1.一种用于下肢康复机器人的串口通信的数据处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,所述基于数据接收线程持续性地接收串口发送的数据,并存储在所述数据池中,包括:

5.根据权利要求3所述的方法,其特征在于,所述基于数据处理线程自所述数据池中获取待处理数据,包括:

6.根据权利要求3所述的方法,其特征在于,所述数据处理线程自所述数据池中获取待处理数据的频率大于所述数据接收线程存储每条待处理数据的频率。

7.根据权利要求3所述的方法,其特征在于,所述数据处理线程启动时间先于所述数据接收线程,所述数据接收线程启动时间先于数据流开始时间。

8.根据权利要求7所述的方法,其特征在于,所述数据处理线程结束时间晚于所述数据接收线程,所述数据接收线程结束时间晚于数据流结束时间。

9.根据权利要求1所述的方法,其特征在于,所述对所述缓存区中的数据进行分包处理,包括:

10.一种用于下肢康复机器人的串口通信的数据处理系统,其特征在于,所述系统包括:

...

【技术特征摘要】

1.一种用于下肢康复机器人的串口通信的数据处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,所述基于数据接收线程持续性地接收串口发送的数据,并存储在所述数据池中,包括:

5.根据权利要求3所述的方法,其特征在于,所述基于数据处理线程自所述数据池中获取待处理数据,包括:

6.根据权利要求3所述的方法,其特征在于,所述数据处理线程自所述数据池中...

【专利技术属性】
技术研发人员:梁斌刘厚德邵文健邵东升梁论飞兰斌
申请(专利权)人:江淮前沿技术协同创新中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1