Openarm机器人双臂模型仿真从零部署

前言:2026年4月25日,目前在思林杰旗下子公司进行实习,接触到机器人的项目,分享一下最近的一个学习情况,主要是使用openarm官方的源码进行仿真学习操作。在这里也要感谢龚师弟的帮助。

一、Openarm官方源码下载

enactic/openarm: A fully open-source humanoid arm for physical AI research and deployment in contact-rich environments.https://github.com/enactic/OpenArm

OpenArm 是一个开源的机器人双臂仿真平台,专注于机械臂控制、运动规划及协同操作的模拟与开发。其核心内容包括动力学建模、运动学算法、传感器仿真及多臂协同控制,适用于学术研究、工业自动化测试等场景。

本次使用的是如下图的三个包的代码,点击对应的包即可下载。

二、配置仿真环境

我们仿真的环境要在ubuntu22.04下仿真,因为要使用ros humble,我之前是安装过24.04做其他的开发,目前我要先卸载掉ubuntu24.04,然后再重装ubuntu22.04,建议在WSL装,当然也可以装双系统。我这里使用的是在WSL上进行操作。

1.通过该指令查看目前wsl中ubuntu系统的版本

bash 复制代码
wsl --list --verbose

2.卸载目前版本的ubuntu

bash 复制代码
wsl --unregister Ubuntu-24.04

3.部署镜像服务管理工具

bash 复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

5.设置为wsl2

bash 复制代码
wsl --set-default-version 2

6.下载所需的ubuntu版本

bash 复制代码
wsl --install -d Ubuntu-22.04

后面需要填写用户名和密码,要记住,因为后续连接要用的

三、安装ros humble

这里推荐使用鱼香ROS的一键安装,省时又省事,推荐!!!

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

开头的选择就选那个ROS/ROS humble的选项,后面就选他推荐的选项就行了,然后一直安装

四、在软件平台中通过wsl连接

可以通过vscode连接,我这里用的是trae连接,平时有编程需求的也可以用cursor等。我这里展示我自己用trae连接的情况。

首先将文件夹在trae中打开

然后按如下图,先点击左侧的远程资源管理器,然后再点击上面选择WSL连接目标,然后选择你自己的ubuntu,进行链接即可。

五、配置相应环境启动openarm仿真

1. 解决 rosdep 网络问题(使用鱼香ROS的 rosdepc)

由于国内网络环境访问 GitHub Raw 容易失败,官方的 `rosdep init` 经常报错。推荐使用国内镜像版工具 `rosdepc` 来替代。

打开终端,依次执行以下命令安装并初始化:

bash 复制代码
sudo apt update
sudo apt install -y python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update

2. 安装工作区依赖

进入你的 ROS 2 工作区,利用刚刚安装好的 `rosdepc` 一键安装所有缺失的 ROS 依赖包:

bash 复制代码
cd ~/openarm_ws
rosdepc install --from-paths src --ignore-src -r -y

*(注:如果提示 `All required rosdeps installed successfully`,则说明依赖安装完成。)*

3. 编译工作区

在确保系统拥有 `colcon` 构建工具的前提下,开始编译仿真所需的包:

bash 复制代码
cd ~/openarm_ws
source /opt/ros/humble/setup.bash

为了节省时间,这里仅编译仿真相关的三个核心包,也可以直接 `colcon build` 编译全部

bash 复制代码
colcon build --symlink-install \
  --packages-select openarm_description openarm_bringup openarm_bimanual_moveit_config

4. 启动仿真

编译成功后,**每次新开终端**都需要执行环境变量加载:

bash 复制代码
cd ~/openarm_ws
source /opt/ros/humble/setup.bash
source install/setup.bash

参数说明:

官方说明及源码中,启用仿真的正确参数为 `use_fake_hardware:=true`,而非早期文档中提及的 `hardware_type`。

选项 A:启动基础单臂仿真

适合做最初的基础验证,带有完整的 ROS 2 Control:

bash 复制代码
ros2 launch openarm_bringup openarm.launch.py arm_type:=v10 use_fake_hardware:=true
选项 B:启动基础双臂仿真

同时加载左右手臂及各自的控制器,适合自行编写底层控制脚本:

bash 复制代码
ros2 launch openarm_bringup openarm.bimanual.launch.py arm_type:=v10 use_fake_hardware:=true
选项 C:启动带 MoveIt 规划的双臂仿真(推荐)

带有一套完整的运动规划框架。可以在 RViz 的 MotionPlanning 面板中直接拖拽双臂的末端进行运动规划与避障:

bash 复制代码
ros2 launch openarm_bimanual_moveit_config demo.launch.py use_fake_hardware:=true

5. 测试与验证 (可选)

在仿真运行期间,可以新开一个终端,发送一个动作指令让机械臂动起来(以单臂为例):

bash 复制代码
cd ~/openarm_ws
source /opt/ros/humble/setup.bash
source install/setup.bash

ros2 action send_goal /joint_trajectory_controller/follow_joint_trajectory \
  control_msgs/action/FollowJointTrajectory \
  '{trajectory: {joint_names: ["openarm_joint1", "openarm_joint2", "openarm_joint3", "openarm_joint4", "openarm_joint5", "openarm_joint6", "openarm_joint7"], points: [{positions: [0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15], time_from_start: {sec: 3, nanosec: 0}}]}}'

六、效果展示

目前就是openarm机械臂的一个仿真部署和学习,后续有内容再更新,bye ~

相关推荐
烟雨江南78514 小时前
会议语音识别私有化部署方案:音频不出内网,如何接入现有会议系统
人工智能·websocket·音视频·语音识别·ai客服
hzxxxz14 小时前
从 2.4T 到 284B:模型变小之后,企业 AI 投入的 3 笔账
人工智能
4SAPI14 小时前
大模型 API 聚合平台选型指南:企业与个人用户的接入架构、稳定性与成本评估
人工智能·php·agent
我不会起名字32214 小时前
一天一道力扣Hot100(36):深度优先算法---组合总和
数据结构·c++·后端·python·算法·go
小K讲AI营销14 小时前
AI基础设施融资路径的中美比较:资本市场模式与政策金融模式
大数据·数据库·人工智能
纪念 22914 小时前
c++类和对象(四)
开发语言·c++
bmxy小明同学14 小时前
2026-09-19-多模态看懂PDF
人工智能
是翎14 小时前
2026 Agent Eval 全景图:从“会做”到“值得部署”
人工智能·驱动开发·深度学习·开源协议·imagen
净水深流14 小时前
中国冷链冷库行业数据分析:从规模扩张到技术驱动
大数据·数据库·人工智能·冷库冷链