概览#
分别定位通信、生命周期与缓存问题。结合通信记录和反馈更新判断在线状态,留意初始值与旧反馈。
设备与工厂#
| 错误或现象 | 检查方向 |
|---|---|
IMU type not supported |
工厂实现支持HIPNUC,核对大小写与型号 |
Motor type not supported |
对照DM/EVO/LRO/RP/XYN与目标驱动 |
| interface不支持 | 核对所选driver支持的接口路径 |
| 串口打开失败 | 设备路径、用户权限、udev与USB口映射 |
| CAN接口不存在 | 实际接口、适配器、驱动与接线 |
| 接口存在但无反馈 | 协议、速率、ID、总线分组与其他控制进程 |
可先按 连接检查 查看当前接口,不在排障时直接改ID、零位或持久参数。
Robot生命周期#
Motors are not initialized 与 IMU is not initialized 来自接口状态检查。确认发生在哪个对象、哪次初始化之后,以及使用的是驱动缓存还是Robot缓存。read_joints() 不主动请求电机状态;refresh_joints() 才发送请求并等待。
Motors offline: <bus>/id=...(count=...) 表示未响应计数大于25。该值是计数阈值,时间间隔取决于请求频率。保留接口、ID、计数和对应配置用于定位。
reset_joints 是异步动作。ROS成功响应只说明重置线程开始;重复初始化、重置期间去初始化等需要结合生命周期与后续日志判断。
RP Hand独立检查#
RP Hand核对CAN-FD名义/数据速率1Mbps/5Mbps、node ID、Python ABI和反馈配置。查看系统、软件包与接口:
Bash
uname -m
/usr/bin/python3 --version
dpkg-query -W roboparty-dexhand roboparty-base
ip -details -statistics link show can0一个进程打开第二只手失败时,按一手一进程结构检查。init_hand(False, False, 0.0) 仅初始化通信;使能与回零在运动阶段单独执行。回零失败时先解决反馈或报警问题。
CAN-FD ROS路线暂不提供 /joint_states 发布和 configure_feedback 接口。反馈配置使用SDK工具。版本边界见 RP Hand接入。
诊断记录#
记录硬件/固件、镜像、Python/ROS/SDK版本、驱动类型、接口、ID、配置与完整异常。清除错误是请求,不替代根因处理或正式恢复验证。