↑

RobStride / EDULITE_A3

Lightweight fully open-source 6-DOF robotic arm

167 28 0 更新于 2026-08-03 18:14

EL-A3 Robotic Arm

7-DOF 桌面机械臂项目,包含纯 Python SDK 和 ROS2 控制系统两个独立子项目。


子项目

项目路径说明
Python SDKel_a3_sdk/纯 Python SDK,Direct CAN 通信,多臂管理,Pinocchio 动力学
ROS2 控制系统el_a3_ros/ros2_control 硬件接口,MoveIt2 运动规划,URDF 描述
硬件制造资料hardware/STEP 模型、3MF 打印文件、线束图纸、PCB 资料、组装 SOP

各子项目的详细文档请参阅对应目录下的 README.md。

注意: hardware/ 目录中的大文件通过 Git LFS 管理,首次克隆后请执行 git lfs pull。


硬件要求

项目规格
机械臂EL-A3 7-DOF(6 臂关节 + L7 夹爪)
电机Robstride RS00 ×3(L1-L3)+ EL05/RS05 ×4(L4-L7)
CAN 适配器CANdle / gs_usb 兼容设备
电源24V / 48V 直流电源
PCUbuntu 22.04+ x86_64

电机配置

关节电机ID型号力矩限制速度限制位置限制方向
L11RS00±14 Nm±33 rad/s±2.79 rad (±160°)-1
L22RS00±14 Nm±33 rad/s0~3.67 rad (0°~210°)+1
L33RS00±14 Nm±33 rad/s-4.01~0 rad (-230°~0°)-1
L44EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1
L55EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)-1
L66EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1
L7(夹爪)7EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1

软件环境

依赖版本 / 说明
操作系统Ubuntu 22.04+ (x86_64)
Python3.10+
ROS2Humble Hawksbill(仅 ROS2 子项目需要)
CAN 总线SocketCAN · CAN 2.0 扩展帧 · 1 Mbps
核心 Python 依赖numpy、pyyaml
可选 Python 依赖pinocchio(pip install pin)— FK/IK/重力补偿
Debugger 上位机pyqt6、pyqtgraph、pyvista、pyvistaqt(pip install -e ".[debugger]")
ROS2 依赖ros2_control、MoveIt2、pick_ik、joy 等(通过 scripts/install_deps.sh 安装)

Debugger 上位机安装

Debugger 提供 PyQt6 GUI 界面,内含基于 PyVista (VTK) 的 3D URDF 可视化、关节拖拽控制、实时监控等功能。

已在 Ubuntu 22.04 + Python 3.10 环境验证(PyQt6 6.11 / pyvista 0.47 / vtk 9.5)。

# Ubuntu 系统依赖(OpenGL 运行库 + Qt xcb 平台插件依赖)# 注:Ubuntu 22.04 起 libgl1-mesa-glx 已被 libgl1 取代;Qt 6.5+ 需要 libxcb-cursor0sudo apt install -y libgl1 libxrender1 libxcb-xinerama0 libxcb-cursor0 # 以可编辑模式安装 SDK 及 Debugger 依赖(pyqt6 / pyqtgraph / pyvista / pyvistaqt)# dynamics 附加项安装 Pinocchio(pin),用于 FK/IK 与重力补偿cd el_a3_sdkpip install -e ".[debugger,dynamics]" # 启动上位机(安装在 ~/.local/bin,需确保其在 PATH 中)el-a3-debugger

特别注意

请在上电之前使用上位机(电机诊断页)按下图红框标注的步骤检查电机 ID、ZERO_STA 和零点:

  1. 扫描电机 — 确认 7 个电机 ID(1~7)全部在线;
  2. 校验 / 一键设置 ZERO_STA — 确认各电机 ZERO_STA 参数正确;
  3. 全部设零 — 将机械臂摆到机械零位后设置零点。

上电前检查步骤

CAN 接口配置

# 使用脚本(推荐)sudo bash scripts/setup_can.sh can0 1000000 # 或手动配置sudo modprobe gs_usbsudo ip link set can0 type can bitrate 1000000sudo ip link set can0 txqueuelen 1000sudo ip link set can0 up # 验证ip link show can0

English

A 7-DOF desktop robotic arm project comprising two independent sub-projects: a pure Python SDK and a ROS2 control system.

Sub-projects

ProjectPathDescription
Python SDKel_a3_sdk/Pure Python SDK with direct CAN communication, multi-arm management, and Pinocchio dynamics
ROS2 Control Systemel_a3_ros/ros2_control hardware interface, MoveIt2 motion planning, URDF description
Hardware Manufacturinghardware/STEP models, 3MF print files, wiring harness drawings, PCB files, assembly SOP

For detailed documentation, refer to the README.md in each sub-project directory.

Note: Large files in the hardware/ directory are managed via Git LFS. Run git lfs pull after initial clone.

Hardware Requirements

ItemSpecification
Robotic ArmEL-A3 7-DOF (6 arm joints + L7 gripper)
MotorsRobstride RS00 ×3 (L1-L3) + EL05/RS05 ×4 (L4-L7)
CAN AdapterCANdle / gs_usb compatible device
Power Supply24V / 48V DC
PCUbuntu 22.04+ x86_64

Motor Configuration

JointMotor IDModelTorque LimitVelocity LimitPosition LimitDirection
L11RS00±14 Nm±33 rad/s±2.79 rad (±160°)-1
L22RS00±14 Nm±33 rad/s0~3.67 rad (0°~210°)+1
L33RS00±14 Nm±33 rad/s-4.01~0 rad (-230°~0°)-1
L44EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1
L55EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)-1
L66EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1
L7 (Gripper)7EL05/RS05±6/±5.5 Nm±50 rad/s±1.57 rad (±90°)+1

Software Environment

DependencyVersion / Notes
OSUbuntu 22.04+ (x86_64)
Python3.10+
ROS2Humble Hawksbill (required only for the ROS2 sub-project)
CAN BusSocketCAN · CAN 2.0 Extended Frame · 1 Mbps
Core Python Dependenciesnumpy, pyyaml
Optional Python Dependenciespinocchio (pip install pin) — FK/IK/Gravity compensation
Debugger GUIpyqt6, pyqtgraph, pyvista, pyvistaqt (pip install -e ".[debugger]")
ROS2 Dependenciesros2_control, MoveIt2, pick_ik, joy, etc. (install via scripts/install_deps.sh)

Debugger GUI Installation

The Debugger provides a PyQt6-based GUI with 3D URDF visualization (PyVista/VTK), joint drag control, and real-time monitoring.

Verified on Ubuntu 22.04 + Python 3.10 (PyQt6 6.11 / pyvista 0.47 / vtk 9.5).

# Ubuntu system dependencies (OpenGL runtime + Qt xcb platform plugin)# Note: libgl1-mesa-glx was replaced by libgl1 since Ubuntu 22.04; Qt 6.5+ requires libxcb-cursor0sudo apt install -y libgl1 libxrender1 libxcb-xinerama0 libxcb-cursor0 # Install the SDK in editable mode with Debugger dependencies# (pyqt6 / pyqtgraph / pyvista / pyvistaqt); the "dynamics" extra adds Pinocchio (pin) for FK/IKcd el_a3_sdkpip install -e ".[debugger,dynamics]" # Launch (installed to ~/.local/bin — make sure it is on your PATH)el-a3-debugger

CAN Interface Setup

# Using the provided script (recommended)sudo bash scripts/setup_can.sh can0 1000000 # Or configure manuallysudo modprobe gs_usbsudo ip link set can0 type can bitrate 1000000sudo ip link set can0 txqueuelen 1000sudo ip link set can0 up # Verifyip link show can0