cmvr-es/cmvr-es/devices/motor/README.md

1.6 KiB
Raw Blame History

Motor 设备模块

devices/motor/ 提供电机管理、协议适配、总线 runtime 和厂商驱动。Service、 RobotArm 和业务 Task 只依赖 MotorManager/AbstractMotor 的稳定接口,不应 直接访问 CAN、EtherCAT、MuJoCo 或厂商 SDK。

返回 Devices 模块指南 或 项目总览。

目录职责

目录 职责
manager/ 创建 MotorGroup,按 motor_id/joint_name 暴露 AbstractMotor
bus_runtime/ 连接、收发和总线生命周期
drivers/ CANopen、EtherCAT 和 MuJoCo 等具体后端

当前后端

  • CAN + TI5 CANopen;
  • EtherCAT + EYOU CiA 402;
  • MuJoCo 仿真电机。

配置示例:

对外接口与控制权语义见 MotorService 文档。

安全边界

  • MotorService 是单轴 API,不提供多轴同扫描周期的原子 commit;
  • 软件 emergencyStop 和 Quick Stop 不具备功能安全等级;
  • 真实设备必须具有经风险评估确定的硬接线急停、安全继电器和驱动器安全链;
  • 新硬件配置保持 enable: false,完成方向、限位和故障注入验证后才能启用。

测试

cmake --build build --target grpc_motor_service_test -j4
ctest --test-dir build \
  -R '^grpc_motor_service_test$' \
  --output-on-failure

该测试使用 fake motor,不替代真实总线、驱动器或安全链验证。