传输方式
概述
SDK 提供四种传输构造函数:SocketCAN(标准 CAN)
大多数电机厂商的默认传输方式。Linux 直接使用 SocketCAN;Windows/macOS 使用 PCAN 后端并通过canX 通道别名访问。
使用方法
支持的厂商
- 达妙(所有型号)
- RobStride
- MyActuator
- HighTorque
系统配置(三平台)
Linux(SocketCAN):多个 CAN 接口
CAN-FD(SocketCAN-FD)
扩展 CAN,具有更大的有效载荷和更高的带宽。某些厂商需要。使用方法
支持的厂商
- Hexfellow(必需)
- 达妙(可选,用于更高带宽)
系统配置
上面的 CAN-FD 配置以 Linux 为主。Windows/macOS 若未明确支持 FD,请优先使用标准 CAN(
Controller(channel))。DM 串口桥
用于达妙电机的串口转 CAN 桥,使用官方达妙串口适配器。使用方法
参数
支持的厂商
- 仅达妙
串口配置(三平台)
Linux:常见串口设备
DM-Device(DM_Device SDK)
基于达妙 DM_Device SDK 的原生传输,用于USB2CANFD、USB2CANFD_DUAL 与 LINKX4C 适配器。适配器须为 USB 模式;该传输仅用于达妙电机。
使用方法
参数
支持的厂商
- 仅达妙
运行时要求
Python wheel 不内嵌厂商运行时。若 DM_Device 运行时缺失,MotorBridge 会打印所需运行时文件、其 GitHub 下载 URL、放置位置,以及平台 ABI 要求。- Linux x86_64:
libusb-1.0.so.0、GLIBC_2.14+、libstdc++.so.6(GLIBCXX_3.4.32) - Linux aarch64:
GLIBC_2.17+、libstdc++.so.6(GLIBCXX_3.4.22+)
Windows DM_Device 运行时仅限 x86_64。长时间运行的进程会复用已打开的适配器,避免重复打开。
传输选择指南
决策树
混合厂商配置
在同一 CAN 总线上使用多个厂商时,创建单独的Controller 实例:
传输性能
延迟比较
建议
- 实时控制:使用 SocketCAN 或 CAN-FD
- 开发/调试:DM 串口便于快速测试
- 高速循环:使用 CAN-FD,
dt_ms >= 10
故障排除
SocketCAN: “无缓冲空间”(错误 105)
串口:权限被拒绝
CAN-FD: “无效参数”
下一步
- 快速开始 - 第一个电机控制程序
- API: Controller - 完整控制器 API 参考