智元灵犀X1-本体通讯架构分析2:CAN/FD总线性能优化分析

接上一篇智元灵犀X1-本体通讯架构分析1:整体架构

更多机器人本体控制总线分析,请关注系列文章:

《具身神经-机器人运控通讯架构与实现系列》

我们知道灵犀X1本体CANFD通讯的几个关键信息

  1. 整机总共使用6路CANFD,波特率1M/5M
  2. 电机CANFD命令控制频率1KHz
  3. 一路CANFD总线最多的控制8个电机

本篇深入分析灵犀X2的CAN/FD通讯细节设计,并做详细性能分析。

CAN/FD通讯帧率和负载率

灵犀X1电机数量最多的是2两条手臂的CANFD总线-各挂了8个电机。

按1KHz控制频率计算,每秒钟需要发送8*1000条命令控制电机,再加8*1000条命令电机回复状态。

总计每秒帧数 = 发送8*1000 + 接收8*1000 = 1.6万帧/秒

但是,PowerFlow R系列电机支持广播命令可以通过单个64字节的CANFD数据帧发送8个电机的控制参数来减少帧率,提高总线通讯效率

实际上通讯帧率是:

发送64字节控制命令帧:1*1000 = 1000帧/秒

接收8字节电机状态帧:8*1000 = 8000帧/秒

总计9000帧/秒

CAN/FD总线通讯负载率计算

得到不同字节帧的帧率后,继续计算1M/5M 波特率下CANFD总线负载率

采用64字节广播命令

先计算1秒钟时长中所有CANFD帧通讯总时间开销。

|---------------|----------|----------|-------------|
| CANFD数据长度 | 单帧耗时 | 帧/每秒 | 总耗时 |
| 64字控制命令 | ~140us | 1000 | 140ms |
| 8字节电机回复 | ~50us | 8000 | 400ms |
| 合计 ||| ~540ms |

CANFD总线负载率就等于所有帧时间开销比计算周期1秒

总线负载率 : 540ms/1000ms = 54%

也就是说灵犀X1负载最大的手臂CANFD总线负载率为54%, 这个负载率不算高。这是通过CANFD的64字节帧优化通讯协议,尽可能利用了CANFD数据段高波特率的特性的结果。

如果不采用64字节协议,电机命令也使用8字节帧分别传输

|---------------|----------|----------|-------------|
| CANFD数据长度 | 单帧耗时 | 帧/每秒 | 总耗时 |
| 8字节电机命令 | ~50us | 8000 | 400ms |
| 8字节电机回复 | ~50us | 8000 | 400ms |
| 合计 ||| ~800ms |

若不采用64字节广播协议,负载率加重到了800ms/1000ms = 80%

CANFD协议负载率优化关键

可以看出在控制频率和电机数量不变的情况下,提升CANFD单帧字节数来合并单帧传输更多命令,可以有效提高总线通讯效率。

核心原理解析

核心原因就在:CANFD总线超过1M的高速波特率仅使用在数据段

对于灵犀X1使用CANFD总线1M/5M来说,只有传输数据时才用到的5M的波特率加速传输,而ID(仲裁段)还是使用1M的波特率。

提升CANFD通讯效率的关键,就在于:尽可能的有效使用CANFD长数据帧进行传输

总结

灵犀X1 CANFD总线使用非常合理,值得参考学习:

  1. 通过5M高速波特率,单路CANFD总线可1KHz控制8个电机,保证关节流畅运行
  2. 通过合并多个电机的控制命令到单条CANFD 64字节报文,有效降低了约26%的总线负载率
  3. CANFD总线最大负载率54%左右,留有通讯余量,避免高负载率下的总线竞争,保证了通讯的实时性
相关推荐
是Yu欸7 分钟前
Pi0机器人VLA大模型在昇腾A2平台上的测评
机器人·大模型·昇腾·vla
h7ml7 分钟前
查券返利机器人图像识别:OpenCV 模板匹配对抗淘宝小程序动态化骨架屏
opencv·小程序·机器人
梦想的旅途217 分钟前
Python 开发企微第三方 API:RPA 模式下外部群主动调用实现
架构·企业微信·rpa
梦想的旅途231 分钟前
RPA 架构下的企微非官方 API:外部群主动调用的技术实现与优化
架构·企业微信·rpa
qidun2101 小时前
搬运机器人防护服注意事项_避坑指南与选型建议
机器人
物联网牛七七1 小时前
机器人中的磁编码器
机器人
鲁邦通物联网1 小时前
实战分享:基于高EMC边缘计算网关的电力巡检机器人自主乘梯架构设计
机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·agv机器人梯控
ZPC82101 小时前
机器人手眼标定
人工智能·python·数码相机·算法·机器人
查无此人byebye1 小时前
阿里开源Wan2.2模型全面解析:MoE架构加持,电影级视频生成触手可及
人工智能·pytorch·python·深度学习·架构·开源·音视频
【 STM32开发 】1 小时前
【STM32 + CubeMX】 CAN 通信
stm32·cubemx·can·hal·通信·f407