智元灵犀X1开发指南

发布时间:2024-10-24 04:00:00

前言

感谢您关注灵犀X1开源人形机器人,根据本指南可完成机器人的搭建。

prolx1-banner-img (1).png

灵犀X1概述

1. 整机结构

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

2.PNG

2. 整机硬件

20241024-133253.png



3. 开源资料(更新时间:2024.12.12)


3.1 设计资料

BOM清单、整机STEP、整机图纸(SolidWorks)、装机SOP可通过以下任一途径下载:

百度云盘:https://pan.baidu.com/s/1UEdeDBTJiXRmIqMKwmO5RA?pwd=1234(提取码:1234)

谷歌云盘:https://drive.google.com/drive/folders/1MECbyKRJbnc_XKWsdUbn-70xmYFmw9FW?usp=sharing

Github:https://github.com/AgibotTech/agibot_x1_hardware


3.2 开源代码

推理代码:https://github.com/AgibotTech/agibot_x1_infer

训练代码:https://github.com/AgibotTech/agibot_x1_train



4. X1整机开发流程(更新时间:2025年1月14日)


依次按照如下流程操作即可完成智元灵犀X1机器人的搭建,

4.1 执行器状态确认

 X1整机装配前,针对各个执行器做确认工作,防止装机后需要重新标定设置,以下是执行器的状态确认流程。

上位机可以通过命令行显式地更改R86-3/R86-2/R52/L28执行器内部的参数,在第一次使用时建议充分了解参数配置的方法。

注:以R系列的执行器为主,L28执行器有不同点会进行标注。

4.1.1 准备环境

准备一台Windows系统的电脑,并下载上位机软件 REF-CLI v1.0.3.exe

1.给执行器上电,用 USB-C 数据线(注:L28为4pin USB线)将执行器连接至电脑,并打开上位机软件。等待上位机识别成功后,会有如下显示:

9.png


此时,编号为 00003986464D 的设备在上位机中的索引名为 ref0,下发指令需要与设备名一致。

在上位机中直接键入 ref0 并敲击回车,会显示当前执行器的基本信息。根据下图所示,当前的固件版本为 3.2.7,CAN总线ID为1。

11.png


注:可通过机身镭射的14位SN码区分执行器版本, 区分方式如下,

SN第6、7位为版本号,有20和30两种,

X1 0 0X 20 XXXXXXX               X1 0 0X 30 XXXXXXX

V2执行器(版本号20)的固件版本为3.2.7

V3执行器(版本号30)的固件版本为3.2.9



2. 查询执行器内部参数模式,输入指令: ref0.motor.config,默认为模式6=MIT混合控制,如下图所示:

12.png


注:详细操作方式,见智元灵犀X1 PowerFlow   R系列执行器产品手册。

4.1.2 LED状态指示

LED

含义

绿色闪烁

失能状态

绿色常亮

使能状态

红色常亮

错误状态(注:L28此处为蓝色闪烁)

蓝色常亮

电机校准中(出厂默认校准完毕)

4.1.3 使能 / 失能

执行器上电后为失能状态,可以通过以下指令进行状态切换,并观察LED状态进行判定。

注:执行参数保存命令时,必须处于 失能 状态下,且所有参数在保存并重新上电后生效。


ref0.motor.request_state(x)    // x: 0代表失能,1代表使能

4.1.4 设置ID

ref0.can_node_id 代表CAN总线的节点ID。可以直接查看其数值,也可以使用 = 进行赋值。执行以下命令。


ref0.can_node_id=8    // CAN ID设置为8

13.png


所有的参数变更,都需要调用 save_config() 方法进行保存,而该操作需要在 失能 状态下进行。


ref0.motor.request_state(0)    // 若当前处于使能状态下,先将执行器   失能
 
  ref0.save_config()             // 保存所有参数,返回 True 即为成功,重新上电后生效。

14.png



4.1.5 执行器标零

注:L28上电自动回零,不支持手动标零。


用户可以自行设置执行器的零位,在失能状态下输入以下命令:


 ref0.motor.apply_user_offset()  // 保存当前位置为零位
   
 ref0.motor.request_state(0)    // 若当前处于使能状态下,先将执行器 失能
 
  ref0.save_config()             // 保存所有参数,返回 True 即为成功,重新上电后生效。

16.png



4.2 执行器桌面联调测试

4.2.1 接线说明

按照整机接线方案进行连接,包含DCU以及所有关节。

20250114-144811.jpg

4.2.2 测试步骤


注:该测试是桌面联调环境,所有关节会使能并执行正反向运动,请勿用于整机环境!!!

PC需要X86架构CPU,并且安装Ubuntu22.04 实时系统



17.png

1.下载联调测试软件  xyber_dcu_test_v0.1.3.zip

2.进入 cfg目录,打开 x1_test_cfg.yaml,修改对应的网卡名称,也可以屏蔽掉缺失的关节。若不希望执行器运动,可以将 move_actuator 字段设为 false,这样测试程序只会对执行器进行使能操作以验证整机通信。imu_dcu_name 字段可以开关IMU数据的检查,详见注释。

18.png


3.执行测试脚本,根据提示输入密码

Bash
  ./run_x1_test.sh

4.所有关节会执行 使能->正转->反转->停止 步骤,软件会自动判断其是否运动到位。观察日志打印,若测试失败会红色打印log。

4.3 整机组装

完成整机组装方法请参照3.1 设计资料 中的智元灵犀X1装机SOP 部分及智元灵犀X1装机视频教程https://agibotmall.com/video的说明。

4.4 IMU调试

灵犀X1使用的IMU为 YIS320,具体型号请参考开源BOM清单。

目前软件中只启用了下肢DCU所连接的IMU,只连接一个下肢IMU即可。

DCU与IMU是串口通信,波特率为921600,购买IMU需要用其自带的上位机检查一下波特率,并将输出频率调整至最大值。

19.png


4.5 整机硬件部署

请按照如下步骤完成X1整机的硬件确认,

STEP1: 按照SOP接线完成以后,使用万用表,拨码到短路测试挡位,测试电池的或者电源的正极(万用表红色笔芯)和负极(万用表黑色笔芯),如果万用表没有发出蜂鸣声,则代表正负极无短路。

STEP2: 正负极确认没有短路后,把总开关船型开关打开,让开关处于ON的状态。

STEP3:拿出整机物料中的钥匙无线开关,按下ON 按键,整机上电。

STEP4:整机上电完毕,没有出现异常,例如指示灯异常(具体参考4.2指示灯定义)或者异常下电(缓起板指示灯熄灭)等情况,则可以按照手册进行后续调试步骤。


4.6 整机标零

整机标零请参照 智元灵犀X1整机标零作业指导书

智元灵犀X1整机标零作业指导书.xlsx


4.7 整机软件部署

软件部署方法请参照3.2 开源代码 中的推理代码部分的说明。