返回Learn

开放手臂设置和第一次演示

开箱,组装,连接,并运行您的第一个远程操作演示在OpenArm <unk>开源机器人手臂,旨在收集人工智能训练数据.

开箱,组装,连接,并在OpenArm上运行您的第一个远程操作演示.

开始者 12小时 更新于2026年4月

1.解盒2.组装3.安装ROS2Pkg4.连接5.视觉化6.第一命令7.电话8.录制第9集.下一步

条件

  • 机器人手臂 (在RCSV商店上可用)
  • Ubuntu 22.04 或 24.04 版本,安装了ROS2 Humble ([查看设置指南](T9))
  • 平面,稳定的表面 (桌子或工作台)
  • 附带 USB-C 电缆 (包含在盒子中)
  • 选项:英特尔RealSense D405手腕相机,领袖手臂用于远程操作

你将实现什么

在12小时内,你将从一个未打开的盒子转到一个完全运行的机器人臂,在RViz2中可视化,响应命令,并记录其第一次与LeRobot进行远程操作演示.你需要的一切都在盒子里 (加上本教程中的软件).

其他

盒子里有什么东西?

打开OpenArm包,检查所有组件是否存在.

开臂组件

臂部组

预装的6DOF臂,配备了Dynamixel XM430伺服器

■ 其他

基板

装板

电源

配备了 12V 5A 电流适配器,配备了桶连接器

连接器

连接到USB-A数据线的1.5mUSB-C

◎ 其他

手腕摄像机安装

对于RealSense D405或网络摄像机的3D打印式安装

装备设备

电缆,电缆,电缆,电缆

快速启动卡

印有与此教程链接的QR码的卡片

部的部,已预先附在手腕上

开臂规格

自由度6 DOF + gripper
工作范围550 mm
负载1.0 kg
重复精度±0.1 mm
ServosDynamixel XM430-W350
ConnectionUSB-C (USB 2.0)
Power12V DC, 48W peak
Weight3.2 kg
SoftwareROS2, LeRobot, Python SDK

其他

物理会议

,你只需要将底部连接电缆. 这需要大约10分钟.

  1. ** 附加基板:** 放臂在基板上. 配合4个安装孔,并使用安装的M4螺栓固定. 紧紧. 臂不应摇动.
  2. 连接电源: 将12V电源的桶连接器连接到臂底端口.
  3. ** 挂手腕相机 (可选):** 滑动相机挂机到手腕支架上,用两个小螺丝来固定.将RealSense D405或USB网络摄像机连接到挂机上.
  4. **路线电缆:**使用附带的电缆剪辑来沿臂路线路由USB-C和摄像头电缆. 这可以防止电缆在操作过程中塞.
  5. 桌子上的位置: 将组装的手臂放置在一个稳定的平面表面,周围周围至少有60厘米的透明空间,在所有方向.

安全: 在动力时,保持手远离手臂关节.OpenArm的伺服器足以住手指.在发送命令之前,始终以已知位置 (直升) 开始手臂.

其他

安装OpenArm ROS2 包

复制OpenArm ROS2包到你的工作空间中,并构建它们.

复制# 确保ROS2是源源 /opt/ros/humble/setup.bash # 克隆OpenArm包进入您的工作空间 cd ~/ros2_ws/src git clone T18 # 这包括: # openarm_description URDF,网格,RViz配置 # openarm_bringup 启动硬件文件 # openarm_control ros2-control配置 # openarm_moveit MoveIt2配置 (可选) # 安装依赖性 cd ~/src2_ws rosros --from-paths src --ignore-r -ydep # 建立建立 - 建立-建立-同步链接源/设置.

开始 >>>开臂_描述 开始 >>>开臂_控制 开始 >>>开臂_带来完成 <<<开臂_描述 [2.1s] 完成 <<<开臂_控制 [3.4s] 完成 <<<开臂_带来 [2.8s] 总结: 3个包完成 [4.2s]

其他

通过USB-C连接

通过USB-C电缆将OpenArm连接到计算机上,并设置权限.

复制#连接USB-C电缆和电源在手臂 # 伺服器将短暂闪他们的LEDs # 检查设备被检测 ls /dev/ttyUSB* # 预期输出: /dev/ttyUSB0

设置一个 udev 规则,这样你不需要每次:

复制# 创建Udev规则Dynamixel USB适配器Sudo bash -c 'cat > /etc/udev/rules.d/99-openarm.rules << EOF # OpenArm Dynamixel U2D2 USB适配器 SUBSYSTEM=="tty",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6014",MODE="0666",SYMLINK+="openarm"EOF' # 重载Udev规则Sudovadm --重载规则Udevadm触发器 #Sudofyvadm 现在你应该看到 /dev/openarm作为一个链接 -la /dev/openarm

复制#快速连接测试 ping所有服务器 ros2运行开臂_bringup ping_servos --port=/dev/openarm # 预期输出:Servo 1 (肩_pan):OK 固件 46 Servo 2 (肩_lift):OK 固件 46 Servo 3 (肘):OK 固件 46 Servo 4 (手腕_pitch):OK 固件 46 Servo 5 (手腕_roll):OK 固件 46 Servo 6 (抓住器):OK 固件 46 所有6个服务器响应.

**所有6个伺服器都响应?**您已连接,准备好.如果缺少任何伺服器,请检查伺服器之间的连锁线.

其他

启动RViz2视觉化

通过启动机器人描述和RViz2来看到你的手臂3D.

复制#发射机器人_state_publisher+RViz2可视化ros2发射开臂_描述显示.发射.py

随着OpenArm URDF模型显示,RViz2将打开.

  • 在3D视角中呈现的臂型
  • 侧面的联合国家出版商GUI滑鼠
  • 随着移动滑动器,手臂在实时更新

如果你的手臂连接,

复制# 启动与现场硬件反 (臂必须连接) ros2 启动开放臂_bringup openarm.launch.py \ 端口:=/dev/openarm \ rviz:=true

现在,身体轻轻地移动手臂 (用电力关闭或矩禁用模式)

其他

运行第一部联合位置指令

派你的第一命令到手臂,我们将它移到安全的"家"位置.

复制# 确保引进在另一个终端中运行: # ros2启动 openarm_bringup openarm.launch.py端口:=/dev/openarm # 发送手到主位置 (所有关节在0) ros2主题公寓 --once /target_joint_position sensor_msgs/msg/JointState \ "{position: [0.0, 0.0, 0.0, 0.0, 0.5]}"

部应轻松移动到直立位置,抓住器半开.

复制#尝试不同的姿势 走向前 ros2主题公寓 --once /target_joint_positions sensor_msgs/msg/JointState \ "{position: [0.0, -0.5, -0.8, -0.3, 0.0, 0.5]}" # 关闭抓住者 ros2主题公寓 --once /target_joint_positions sensor_msgs/msg/JointState \ "{position: [0.0, -0.5, -0.8, -0.3, -0.0, 0.0]}" # 打开抓住者 ros2主题公寓 --once /target_joint_positions sensor_msg/msg/intState \ "{position: [0.0, -0.5, -0.8, -0.3, 0.0, 1.0]}"

安全性: 开始从关节角角变化小.大大的突然运动可能导致手臂与桌子或自己碰撞.肩部起 (关节2) 的安全范围在手臂在桌子上时大约为 -1.0至0.5半径.

其他

设置远程操作

现在让我们以互动方式控制手臂.你可以使用键盘控制 (最简单) 或领导手臂 (最适合数据收集).

选择A:键盘遥控

复制#启动键盘电话节点 ros2运行开臂_带动键盘_电话 --port=/dev/openarm # 控制:# W/S 肩抬起/下降# A/D 底旋左/右# Q/E flex/extend # R/F 手腕跳上/下降# Z/X 手腕滚左/右# O/C 抓住器开/关闭 # 空间 停止所有运动 # H 返回主位置

**B选项:领导手机电话操作 (用于数据收集建议) **

复制#连接领袖手臂到第二个USB端口 ls /dev/ttyUSB* # 应该显示 /dev/ttyUSB0 (后续) 和 /dev/ttyUSB1 (后续) #启动领袖-后续电话操作 ros2启动开放手臂_带上电话.启动.py \ 后续_port:=/dev/ttyUSB0 \领袖_port:=/dev/ttyUSB1

在领袖跟随者模式下,将领袖臂的身体移动使领袖臂能在实时中反映你的运动.这是收集高质量的示范数据的最佳方式.

感受响应: 追随器臂应以最小的延迟 (<50ms) 追踪您的领导运动.如果有明显的延迟,请检查两个臂在单独的USB巴士上 (而不是共享枢纽) 并将控制速率从500Hz降低到200Hz.

其他

录制第一部"勒罗伯特"集

设置一个简单的任务 (例如,拿起一个小物体) 并使用LeRobot记录它.

复制#激活勒罗бот环境源 /lerobot_env/bin/activate #记录一个单个集 Lesrobot记录 \ --robot-type=openarm \ --port=/dev/openarm \ --leader-port=/dev/ttyUSB1 \ --fps=30 \ --task="pick_object" \ --num-episodes=1 \ --output-dir=/datasets/openarm_first_demo # 按输入开始录制 # 使用领袖臂执行任务 # 按输入停止录制

录制1/1集... 按输入开始录制. [录制] 0...30...60...90... 按输入停止录制. 节目1保存:127个 (4.2秒) 30fps数据集保存到~/数据集/开放手 __首_demo/

检查您的录音:

复制# 查看记录的集集 机器人查看数据集 \ --dataset-path=~/datasets/openarm_first_demo \ --episode=0

,你第一次录制了.

现在,你从一个未开放的盒子转变为一个工作的机器人手臂,记录了远程操作的演示.这是最难的部分. 从这里开始,一切都是在扩大规模:更多的集,更多的任务,更好的政策.

其他

下一步

您的OpenArm已经设置和录制.

  1. ** 记录50集**的选择和位置任务,遵循LeRobot快速启动指南.
  2. 训练你的第一份ACT政策, 观察手臂自主完成任务
  3. **使用数据收集教程
  4. **使用 [VLA精细调节指南]T12对您的数据进行

需要另一个开臂吗?

建立多臂的设置或装备实验室?RCSV为研究团队提供量级定价和定制配置.

[参观商店]

解决问题

没有发现 /dev/ttyUSB设备

检查USB-C电缆在两端都紧密连接.尝试不同的USB端口.运行T1以查看设备是否被内核检测到.如果输出中看到"FTDI",设备会被识别,但可能需要驱动器T2:T3.

服务器在ping测试中没有反应

检查不响应的伺服器和其邻居之间的连线.重新安装两个连接器.如果单个伺服器不响应,其ID可能已经重新设置.

臂部移动到错误的位置

校准可能是关闭的. 再运行T4以验证所有伺服器ID符合预期配置. 检查URDF关节限制是否匹配你的身体臂.

子2显示手臂方向错误

确保您获得工作空间: T5.如果工作空间没有源源,URDF可能无法找到.也检查RViz2中的固定框架设置为 T6.

领袖手臂的电话操作延迟很高

确保两个手臂都在单独的USB控制器上 (而不是共享的枢纽).减少控制速度:将T7添加到启动命令中.检查CPU使用率.

相关教程

现在,

雷罗特快速启动

录制50个演示,然后训练你的第一步,

T14) [

收集机器人训练数据

扩展到生产数据收集,使用RLDS格式和质量评分.

T15)

系统安装指南

如果您尚未设置您的环境,请提供完整的ROS2安装指南.

常见的问题

开放手臂是什么,是谁的?

开放臂是专门用于人工智能训练数据收集的开源6DOF机器人臂.它具有内置的手腕相机安装,支持领袖跟随者进行远程操作,以及本土的勒罗бот集成.它为研究人员,实验室和团队收集机器人学习的操纵数据而设计.

什么是OpenArm规格?

开臂具有6度自由度,550mm的射程,1kg的有效载荷容量,0.1mm的可重复性和Dynamixel XM430伺服器.它通过USB-C连接,重量3.2kg,并在峰值上抽出48W.手腕摄像头安装接收英特尔RealSense D405或USB网络摄像头.

我需要ROS2来使用OpenArm吗?

对于全功能集 (RViz可视化,MoveIt2规划,ros2控制硬件界面) 建议ROS2. 然而,OpenArm也与LeRobot的Python API直接运作,而没有ROS2 ,只需使用LeRobot就可以记录示范和训练政策.

我可以用OpenArm与LeRobot吗?

是的,OpenArm有本土的LeRobot支持.它被列为支持的机器人在LeRobot硬件库中,并预先配置了正确的YAML设置.您可以立即开始记录实体设置后的示范.

我可以在哪里买OpenArm?

开放手臂可在 [RCSV Store] (T17) 在机器人中心.ai/store. 在美国内在35个工作日内发货.国际运输可用.手臂完全配备所有电缆,电源和快速启动指南.

这篇教程有什么帮助?

👍是的

保持机器人技术的前进

获取最新的机器人部署,数据收集和物理人工智能 到您的收件箱.