Skip to main content

MotorBridge Python SDK

v0.1.7 Python 3.10+ 统一的 Python 电机控制库,用一套 API 控制多个品牌的无刷电机。

为什么选择 MotorBridge?

最小示例

from motorbridge import Controller, Mode

# 打开 CAN 接口
with Controller("can0") as ctrl:
    # 添加达妙电机
    motor = ctrl.add_damiao_motor(0x01, 0x11, "4340P")
    
    # 使能并配置
    ctrl.enable_all()
    motor.ensure_mode(Mode.MIT, 1000)
    
    # 发送控制命令
    motor.send_mit(pos=0.5, vel=0.0, kp=30.0, kd=1.0, tau=0.0)
    
    # 读取状态
    state = motor.get_state()
    if state:
        print(f"位置: {state.pos:.3f} rad")

支持的厂商

厂商型号MITPOS_VELVELFORCE_POS
达妙 (Damiao)4310, 4340P, 6001
RobStriders-00
MyActuatorX8
HighTorqueHT
Hexfellow*
Hexfellow 电机需要 CAN-FD 传输。使用 Controller.from_socketcanfd("can0")

系统架构

┌─────────────────────────────────────────────────────────┐
│                     Controller                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐    │
│  │   Motor 1   │  │   Motor 2   │  │   Motor N   │    │
│  │  (达妙)     │  │ (RobStride) │  │(MyActuator) │    │
│  └─────────────┘  └─────────────┘  └─────────────┘    │
│                        │                               │
│              ┌─────────┴─────────┐                    │
│              │    Transport      │                    │
│              │  (CAN/Serial/FD)  │                    │
│              └───────────────────┘                    │
└─────────────────────────────────────────────────────────┘

核心概念

组件说明
Controller管理传输层和多个电机句柄
Motor单个电机的控制句柄
Mode控制模式枚举 (MIT, POS_VEL, VEL, FORCE_POS)
MotorState电机状态数据(位置、速度、力矩等)

文档导航

分步指南教你完成常见任务:

三步安装

1

安装包

pip install motorbridge
2

配置 CAN 接口

sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up
3

运行第一个程序

from motorbridge import Controller

with Controller("can0") as ctrl:
    motor = ctrl.add_damiao_motor(0x01, 0x11, "4340P")
    ctrl.enable_all()
    print("电机就绪!")

获取帮助

  • 📖 阅读 教程 获取分步指南
  • 🔍 查看 故障排除 解决常见问题
  • 💻 使用 motorbridge-cli --help 查看 CLI 参考

许可证

MIT License - 详见项目仓库。