Skip to main content

什么是 MotorBridge?

v0.5.0 Rust 核心 Python 绑定 MotorBridge 是一个统一的电机控制栈,具有可插拔的厂商驱动和跨语言集成的 C ABI。

我们解决的问题

每个电机厂商都有不同的协议:
没有 MotorBridge,你需要:
  • 学习 5+ 种不同的协议
  • 为每个厂商维护独立的代码库
  • 更换电机时重写控制逻辑
  • 自己构建调试工具

MotorBridge 架构

上方是适合文档阅读的系统图。下方保留终端友好的文本图,方便复制到纯文本环境。

项目结构

为什么叫 “Python 绑定” 不是 “SDK”?

绑定(Binding) 是通过 FFI(外部函数接口)将原生库暴露给其他语言的薄包装层。
关键特点:
  • 逻辑在 Rust 中,不在 Python 中
  • Python 调用与 C ABI 函数 1:1 映射
  • 没有重复实现
  • 最小开销(直接 FFI 调用)
motor_abi crate 编译为共享库:
Python 通过 ctypes 加载它:
对于基本类型这是零拷贝的 —— 浮点数和整数直接在 Python 和 Rust 之间传递。
MotorBridge 是绑定的原因:
  • “SDK” 是 Rust 核心(motor_core + 厂商驱动)
  • Python 只是访问该核心的一个接口
  • 未来:C++、ROS2 节点将使用相同的 ABI

为什么用 Rust 写核心?

核心组件

Controller(控制器)

管理 CAN 接口和电机生命周期:
建议每个 Controller 绑定一个厂商的电机。虽然 Python API 允许混合使用不同厂商的电机,但混用行为取决于底层 ABI 实现,可能存在兼容性限制。

Motor(电机)

单个物理电机的句柄:

Mode(模式)

控制模式决定电机如何响应:

MotorState(电机状态)

实时反馈结构:

传输选项

CLI 工具

项目包含命令行工具:

集成组件

WebSocket 网关

通过 WebSocket 控制电机(适用于浏览器/远程应用):
在源码仓库中仍可使用:

电机校准

电机校准工具:

与其他方案对比

快速开始

1

安装 Python 包

2

配置 CAN 接口

3

运行你的第一个程序

你可以构建什么?

下一步

快速开始指南

5 分钟让电机跑起来

接口手册

完整 API 文档

教程

分步实用指南

最佳实践

生产级模式