1.6 KiB
1.6 KiB
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,不替代真实总线、驱动器或安全链验证。