智元灵犀X1-本体通讯架构分析

智元灵犀X1开源链接汇总

灵犀 X1开源已经有一年时间了,虽然主要是开源了结构设计图纸和软件推理训练部分。

本体的控制部分,小脑和DCU控制模块等关键设计并未开放。

但在本体控制架构方面,灵犀X1对整个行业后来者产生了非常深远的影响,本文来剖析一下灵犀 X1的本体控制/通讯架构。


整机模块架构

灵犀X1全身执行器包含29个关节(R86-2*9、R86-3*6、R52*10、L28*4)和2个夹爪,支持扩展头部3自由度。执行器全部采用CANFD通讯

主控为X86 MiniPC,主控不具备CANFD接口,通过两个DCU模块扩展6路CANFD接口完成整机控制


核心通讯模块DCU - EthCAT转3路CANFD

DCU介绍:https://www.zhiyuan-robot.com/DOCS/PM/DCU

DCU其实主要功能就是**EthCAT转3路CANFD。**X86 MiniPC通过EtherCAT主站协议,封装CANFD数据帧成PDO进行传输,发送给DCU模块,DCU解析后拆分出三路CANFD的报文数据再转发给执行器。

DCU关键参数解析

提取DCU关键信息:

  1. 数据转发频率1KHz,可推测关键电机的控制频率为1KHz
  2. CANFD 数据域速率为1M/5Mbps
  3. 支持EtherCAT级联,一个DCU只有3路CANFD,还是需要级联才能满足整机控制需求

智元开源后,国内很多团队也参考灵犀X1通过EtherCAT扩展CANFD接口,这里推荐一个开源的EtherCAT转CANFD项目:https://gitee.com/ChengDu-KunHong/kh-ethercat-canfdx4-op.git


电机通讯参数/协议关键信息

PowerFlow R关节电机:https://www.zhiyuan-robot.com/DOCS/PM/PFR

CANFD 通讯参数

仲裁域波特率 1M ,采样点80%,数据域波特率5M,采样点75%

注:CANFD新手不懂两个波特率和采样点是什么含义的,一定去补课搞清楚这个两个概念,对通讯稳定性非常重要。

电机采用CANFD 64字节打包控制协议-提升通讯效率关键

电机采用MIT控制模式,一个电机的控制命令长度8字节。

这里提到的广播模式,指的是用CANFD 64字节的长帧,包含8个电机的控制命令,一帧发出去同时控制8个电机。

这里是通讯协议设计的最关键之处

  1. 8个电机可同时收到控制命令,提升同步性
  2. CANFD只有数据域是采用5M高波特率,但是ID(仲裁段)还是用的1M,尽可能的利用CANFD的64字节长数据帧,可以减少仲裁段在通讯中的占比,最大化的提升总线带宽利用,发挥CANFD加速的优势

针对第二个关键点,这里详细分析一下。

以1M/4M 计算为例

8字节的CANFD加速帧的帧时间长度为~55us

用8个8字节帧发送8个电机的控制命令需要~440us

而用64字节CANFD加速帧的帧时间长度为~190us,总线利用率大幅度提升!

智元内部调试电机CANFD通讯的工具

研发调试DCU/执行器通讯使用的工具非常关键,一般都会选择使用USB-CANFD盒子进行通讯调试。不少机器人团队在选择USB-CANFD盒子不够重视,用了电机厂商配套的USB-CANFD板子或者买的廉价产品,导致初期开发很多通讯问题不能被发现,集成后问题埋藏过深,影响整机开发。

智元团队内部调试使用的是SysMax的PCANFD PRO。对于CANFD接口卡/调试工具的选择要求,后续单独写一篇文章,这里简单说一下选择的指标

  1. 波特率支持要超过项目使用要求,使用的5M,那么CANFD调试工具至少要支持到8M
  2. 满负载率通讯不丢包,这个要去问厂家每秒通讯的帧率,CANFD 5M不能低于2万帧/秒
  3. 支持错误帧显示,这点非常重要,研发阶段需要通过错误帧定位通讯问题。很多便宜的CAN卡都不支持,甚至busoff了都看不出来
  4. 支持socket-can和python-can, 这些最常用的机器人通讯编程调试手段
  5. 尽量别碰开源的USB-CANFD,小问题比较多,很多功能不完善,比如采样点都不能设置,非常影响开发。

写在最后

灵犀X1的本体控制架构非常简单清晰

  • 6路CANFD 波特率1M/5M
  • 一路CANFD控制1-8个关节/执行器
  • 控制频率1KHz
  • 通过CANFD 64字节单帧发送最多8个电机控制参数,提高CANFD利用率和电机控制同步性

虽然使用6路CANFD完成所有执行器的通讯控制,但是由于灵犀X1在设计时期并没有可供选择6路CANFD扩展方案。基于当时的情况,采用了2个自研DCU级联,带来的弊端是体积较大,且不利于整机布线。

虽然当前已经有更好的CANFD多路扩展方案,有的6路CANFD扩展板,体积甚至可以做到4*5cm大小,远比灵犀X1的DCU小的多。机器人行业的后来者们,或许可以参考灵犀的架构,配合最新的CANFD接口扩展方案做出更优的整机设计。

相关推荐
ZPC82104 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC82104 天前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
2501_946205524 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
xybDIY4 天前
Kiro Workshop - 使用 AI 代理聊天机器人构建电子商务网站
人工智能·机器人
宝贝儿好4 天前
【强化学习】第十章:连续动作空间强化学习:随机高斯策略、DPG算法
人工智能·python·深度学习·算法·机器人
大江东去浪淘尽千古风流人物4 天前
【SLAM】GenRobot / IO-AI / Scale / Appen 能力对比表(机器人数据与闭环视角)
人工智能·机器学习·机器人·大模型·概率论·端侧部署·巨身智能
梦想的旅途24 天前
企业微信API:外部群自动化推送实战指南
大数据·机器人·自动化·企业微信·rpa
鲁邦通物联网4 天前
架构设计:基于边缘网关构建异构电梯协议的统一机器人梯控中间件
机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·agv机器人梯控
RobotNow4 天前
优秀的机器人厂商集中平台哪家创新力强
机器人
shuidaoyuxing4 天前
机器人具身智能概念
人工智能·机器人