故障排除

1. 编译失败

  • 检查编译器版本与 C++ 标准是否满足要求

  • 检查三方库是否安装(libsocketcan-devlibengin3-dev

  • 清理后重编译:删除 build 目录后执行 cmake -B build -S . && cmake --build build -j "$(nproc)"

2. 无法连接 CAN

  • 检查 CAN 设备供电、线序与终端电阻

  • 核对 deviceIndexcanIndexbaudRate 是否与硬件一致

  • 检查驱动是否正确加载(PEAK/SocketCAN)

3. 电机无响应或动作异常

  • 先确认 appId 与目标电机 ID 一致

  • 先执行清错与状态读取,确认无故障码再发控制指令

  • 降低目标速度/电流/力矩,避免触发保护

4. 整机运动异常

  • 确认所选型号(T140A / T170A / T170C / T170D)与现场机器人一致

  • 双臂末端解算失败时,检查 runtime/ 中运动学库是否与当前机型匹配

  • 双臂普通运动出现剧烈抖动时,勿使用 motor_menu;应通过 robot_model_menu 菜单 1 测试

  • 多关节/整机联调勿使用 motor_menu(无关节限位),应使用 robot_model_menu

5. 外设通信异常

  • 灵巧手:确认串口路径、权限与波特率

  • 底盘:确认 IP、端口与网络可达

  • 六维力:确认协议帧格式、数据频率与坐标系定义

6. 测试安全建议

  • 程序选择:单轴/CAN 联调用 motor_menu;整机、双臂、头/腰/腿用 robot_model_menu。切勿用 motor_menu 驱动多关节或整机。

  • 首次联调必须空载或低风险姿态

  • 所有动作测试从低速低增益开始

  • 出现异常立即执行 stop 或断开使能,优先保证人机安全