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