Manipulation / VLA / Real Arm

EDULITE A3
LeRobot VLA
Testbed

自制 3D 打印机械臂
LeRobot pi0.5
真实具身操作平台

这是 RabbitRobot 从“会移动、会导航”继续走向“能看见、能理解、能操作”的机械臂分支。我围绕灵足 A3 / EDULITE_A3 自己完成 3D 打印与装配,把 7 自由度真实机械臂接入 SocketCAN、Python SDK、ROS2 Control、MoveIt2/RViz 和 LeRobot pi0.5 调试链路,用真实硬件验证 VLA 不是只停留在论文或模拟器里。

Time · 2026.04 Build · 自制 3D 打印机械臂 Control · Python SDK + ROS2 VLA · LeRobot pi0.5
Self-built EDULITE A3 robotic arm moving during LeRobot VLA debugging
真实机械臂调试片段:先把自制硬件、CAN 通信、关节控制和现场运动跑通,再把视觉、语言目标和动作策略接入 LeRobot / VLA 实验链路。

Recruiter Quick Read

这不是一个只会跑 Demo 的机械臂项目

7-DOF 6 个臂关节 + L7 夹爪,包含真实关节限位、电机方向、力矩/速度限制和末端执行。

3D Printed 自己打印、装配和接线,硬件目录保留 STEP、3MF、线束图纸和组装 SOP。

200Hz Python SDK 内置后台控制循环,做位置平滑、速度前馈、重力补偿和限位保护。

MoveIt2 真实硬件接入 ROS2 Control 与 MoveIt2/RViz,用规划界面验证可达性和轨迹执行。

What I Built

我实际做了什么

硬件自制与装配

把灵足 A3 机械臂从制造资料变成真实可调试平台:3D 打印结构件、装配关节、连接 Robstride 电机、处理供电、CAN 线束和夹爪执行器。

  • hardware/3mf/Edulite_A3.3mf
  • hardware/step/Edulite_A3.step
  • hardware/wiring/ 与组装 SOP

纯 Python 控制 SDK

构建可脱离 ROS 使用的机械臂控制层:SocketCAN 直连 Robstride 电机,支持关节控制、轨迹队列、状态读取、零力矩示教和多臂管理。

  • ELA3Interface 主接口
  • MoveJ / MoveL / JointCtrl
  • ArmManager 多机械臂管理

ROS2 Control 与 MoveIt2

把机械臂接到研究常用机器人软件栈:URDF、ros2_control 硬件接口、FollowJointTrajectory、MoveIt2 规划组、RViz 可视化和真实硬件 launch。

  • el_a3_hardware 硬件接口插件
  • el_a3_moveit_config 规划配置
  • /arm_controller/follow_joint_trajectory

VLA / LeRobot 接入调试

围绕 LeRobot pi0.5 准备真实桌面操作链路,把相机观察、语言任务、动作轨迹和真实执行结果组织成后续可训练、可评估的数据闭环。

  • 视觉观察 + 语言目标 + 动作序列
  • 真实失败样例和恢复分析
  • 从导航 VLN 延伸到操作 VLA

System Map

系统能力图

自制硬件 3D 打印结构、线束、供电、7 个 Robstride 电机、L7 夹爪。
底层通信 SocketCAN / SLCAN、CAN 2.0 扩展帧、1 Mbps、反馈接收线程。
EDULITE A3
LeRobot VLA Testbed
真实机械臂具身操作验证平台
机器人软件栈 Python SDK、ROS2 Control、MoveIt2、RViz、FollowJointTrajectory。
VLA 实验线 相机观察、语言目标、动作输出、成功/失败样例、LeRobot pi0.5。

Control Chain

从语言任务到真实机械臂动作

1. Task

把“抓取桌面物体”“移动到目标位置”这类语言目标整理为可复现实验任务。

2. Observation

采集机械臂视角/外部相机画面,保留物体、末端、桌面和失败状态。

3. LeRobot pi0.5

接入 VLA 策略调试,把视觉与语言条件转成动作或中间目标。

4. Planner / SDK

将策略输出落到 MoveIt2 规划或 Python SDK 轨迹控制,处理速度、限位和可达性。

5. Real Arm

通过 CAN 下发到真实电机,记录关节反馈、力矩、执行偏差和恢复过程。

Visual Evidence

真实调试画面

Self-built EDULITE A3 robotic arm on the lab desk
自制 3D 打印机械臂实拍:桌面场景、末端执行器和物体共同构成后续 LeRobot 数据采集环境。
EDULITE A3 MoveIt2 RViz motion planning interface
MoveIt2 / RViz MotionPlanning:检查 planning group、末端目标、关节状态、碰撞约束和路径可达性。

Engineering Difficulty

这个项目难在哪里

  • 机械、电子、控制、AI 同时打通:不是只训练模型,也不是只搭页面,而是把 3D 打印硬件、电机总线、运动控制、规划软件和 VLA 接入放在同一台真实机器上。
  • 真实机械臂比仿真更难:需要处理关节方向、限位、速度、抖动、供电、线束、CAN 接口、反馈延迟和末端不可达等问题。
  • 既能做底层,也能接研究:底层有 CAN 驱动、200Hz 控制循环和 ros2_control;上层能接 MoveIt2、RViz、LeRobot pi0.5 和视觉语言动作任务。
  • 把失败变成数据:抓取偏差、轨迹抖动、目标不可达、恢复失败都可以沉淀为后续 VLA 训练与评估材料。

Code Evidence

代码仓库里的硬证据

模块 我展示的能力 对应工程证据
Hardware Manufacturing 从 3D 模型、打印文件、线束和 SOP 到真实机械臂装配。 hardware/step/hardware/3mf/hardware/wiring/hardware/assembly_sop/
Python SDK 纯 Python 控制接口,支持关节控制、轨迹执行、反馈读取、重力补偿和多臂管理。 el_a3_sdk/el_a3_sdk/interface.pytrajectory.pyarm_manager.py
CAN Driver SocketCAN / SLCAN 底层通信,直接面向 Robstride 电机反馈和控制帧。 can_driver.pyslcan_can_driver.pyscripts/auto_detect_can.py
ROS2 Control 真实硬件接口、控制器切换、调试 topic、关节轨迹 action 和零力矩控制器。 el_a3_hardwareROS_INTERFACE_REFERENCE.mdHARDWARE_INTERFACE.md
MoveIt2 / RViz URDF、planning group、运动学、OMPL 规划、真实硬件 MoveIt launch 与路点测试。 el_a3_moveit_configtest_moveit_waypoints.pyEDULITE-A3.urdf
Calibration / Safety Pinocchio RNEA 重力补偿、惯量/重力标定、限位保护、零力矩拖动示教。 gravity_calibration.pypinocchio_gravity_calibration.pydynamics_calibration.py
Teleop / Data Xbox 遥操作、主从跟随、多 CAN 调试,为 LeRobot 数据采集准备人工示教入口。 el_a3_teleopteleop_master_slave.pyXBOX_HOW_TO_USE.md

Innovation

创新点与项目亮点

低成本真实 VLA 平台

用自制 3D 打印机械臂承接 LeRobot pi0.5,而不是依赖昂贵工业臂,让 VLA 研究可以在真实桌面场景快速迭代。

双栈控制架构

同一台机械臂同时支持纯 Python SDK 和 ROS2/MoveIt2,既方便快速实验,也能接入标准机器人研究工具链。

可观测的硬件调试

通过关节状态、力矩反馈、重力补偿 topic、控制器状态和真实视频,把“为什么失败”变成可分析数据。

从 VLN 到 VLA 的延伸

RabbitRobot 的主线不是只做导航:AMR/机器狗负责“到达”,机械臂负责“操作”,共同服务真实具身智能系统。

Status

当前状态与下一步

阶段 已经完成 / 正在调试 后续会补的公开证据
Hardware Bring-up 机械臂实体、关节、电机、线束、CAN 接口和基础运动已经进入实机调试。 更多装配细节、关键部件照片、接线图和安全边界记录。
Control / Planning Python SDK、ROS2 Control、MoveIt2/RViz 和真实硬件规划链路已具备展示证据。 控制器状态截图、轨迹误差记录、MoveIt 路点测试和完整 launch 流程。
LeRobot VLA 围绕 pi0.5 做真实机械臂接入调试,准备视觉帧、语言目标和动作序列。 任务定义、数据集结构、replay 视频、成功/失败统计和策略评估结果。