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 ~

相关推荐
2501_912784086 分钟前
后端开发实战:反向海淘多币种结算模块自研与SaaS复用对比
大数据·人工智能·taocarts·跨境saas
网络研究院7 分钟前
黑客利用人工智能的5种方式(以及如何防御)
人工智能·黑客·攻击·恶意软件·钓鱼邮件
用户5191495848458 分钟前
Wux Blog Editor 漏洞利用工具 (CVE-2024-9932)
人工智能·aigc
郝学胜_神的一滴8 分钟前
Qt 高级开发 027: QTabWidget自定义样式表美化实战
c++·qt
HIT_Weston10 分钟前
107、【Agent】【OpenCode】todowrite 工具提示词(示例)(一)
人工智能·agent·opencode
团象科技10 分钟前
走访近百支出海技术团队后的海外云计算资源选型实操观察
大数据·人工智能·算法
yyuuuzz10 分钟前
谷歌云基础服务的入门认知
linux·运维·服务器·数据库·人工智能·github
小锋java123411 分钟前
【技术专题】LangChain4j 开发Java Agent智能体 - 嵌入模型与向量数据库
java·人工智能
苏三的开发日记12 分钟前
AI Coding工程化实践:用SSD定义需求,用TDD验证代码
人工智能
网络研究院14 分钟前
随着广告技术公司在基础设施建设方面的投入不断增加,ChatGPT广告也开始进入英国市场
人工智能·chatgpt·ads·数据·广告