第一步彻底清理旧战场不管之前下载了多少先清理干净防止文件冲突。# 1. 回到主目录cd~# 2. 删除旧的 franka_sim 文件夹 (如果有)rm-rffranka_sim# 3. 重新创建标准的工作空间结构mkdir-pfranka_sim/srccdfranka_sim/src⬇️ 第二步使用“极速镜像”克隆代码这次我们换用gitclone.com的镜像站通常比 GitHub 直连快几十倍。1. 克隆模型包 (franka_description)gitclone https://gitclone.com/github.com/frankaemika/franka_description.git2. 克隆核心功能包 (franka_ros2)(注意这个包比较大如果卡在 99% 请耐心等待不要按 CtrlC)gitclone https://gitclone.com/github.com/frankaemika/franka_ros2.git检查点执行ls命令确保src目录下有franka_description和franka_ros2这两个文件夹。 第三步拉取“套娃”依赖 (关键)franka_ros2内部依赖特定版本的ros2_control必须用官方脚本拉取否则编译必挂。# 1. 进入主包目录cdfranka_ros2# 2. 安装 vcs 工具 (如果已安装可跳过)sudoaptupdatesudoaptinstallpython3-vcstool-y# 3. 导入依赖列表vcsimportdependency.repos(这一步会自动下载一堆文件夹到当前目录不用管它等它跑完)️ 第四步安装系统级依赖在编译前需要安装一些基础的库。# 返回工作空间根目录cd~/franka_sim# 自动安装 package.xml 里声明的依赖rosdepinstall--from-paths src --ignore-src-r-y(如果 rosdep 报错或没初始化请先运行sudo rosdep init和rosdep update) 第五步编译 (跳过硬件驱动)这是最关键的一步。因为我们是在虚拟机里做纯仿真没有真实的机械臂硬件也没有安装底层的libfranka库所以必须跳过硬件相关的包。colcon build\--symlink-install\--cmake-args-DCMAKE_BUILD_TYPERelease\--packages-skip-by-dep libfranka解释--packages-skip-by-dep libfranka会告诉编译器“所有依赖真实硬件库的包都别编了只编仿真能用的部分”。 第六步启动仿真测试编译成功后显示 Summary: X packages finished就可以启动看效果了。1. 加载环境变量sourceinstall/setup.bash2. 启动 Gazebo 仿真 (以 Franka Emika Panda 为例)# 启动 Gazebo 并加载机械臂 (使用 ign-gazebo 或 gz-sim视具体版本而定)# 这里提供一个通用的启动命令尝试ros2 launch franka_gazebo_bringup franka.launch.py robot_ip:dont-care use_rviz:true(注如果是较新的 Jazzy 版本包名可能是franka_gazebo_bringup或者直接在franka_gazebo里。如果找不到 launch 文件可以尝试运行ros2 launch franka_description view_robot.launch.py先在 RViz 里看看模型对不对)
【ROS2】从克隆机械臂模型到仿真测试
发布时间:2026/7/8 13:28:55
第一步彻底清理旧战场不管之前下载了多少先清理干净防止文件冲突。# 1. 回到主目录cd~# 2. 删除旧的 franka_sim 文件夹 (如果有)rm-rffranka_sim# 3. 重新创建标准的工作空间结构mkdir-pfranka_sim/srccdfranka_sim/src⬇️ 第二步使用“极速镜像”克隆代码这次我们换用gitclone.com的镜像站通常比 GitHub 直连快几十倍。1. 克隆模型包 (franka_description)gitclone https://gitclone.com/github.com/frankaemika/franka_description.git2. 克隆核心功能包 (franka_ros2)(注意这个包比较大如果卡在 99% 请耐心等待不要按 CtrlC)gitclone https://gitclone.com/github.com/frankaemika/franka_ros2.git检查点执行ls命令确保src目录下有franka_description和franka_ros2这两个文件夹。 第三步拉取“套娃”依赖 (关键)franka_ros2内部依赖特定版本的ros2_control必须用官方脚本拉取否则编译必挂。# 1. 进入主包目录cdfranka_ros2# 2. 安装 vcs 工具 (如果已安装可跳过)sudoaptupdatesudoaptinstallpython3-vcstool-y# 3. 导入依赖列表vcsimportdependency.repos(这一步会自动下载一堆文件夹到当前目录不用管它等它跑完)️ 第四步安装系统级依赖在编译前需要安装一些基础的库。# 返回工作空间根目录cd~/franka_sim# 自动安装 package.xml 里声明的依赖rosdepinstall--from-paths src --ignore-src-r-y(如果 rosdep 报错或没初始化请先运行sudo rosdep init和rosdep update) 第五步编译 (跳过硬件驱动)这是最关键的一步。因为我们是在虚拟机里做纯仿真没有真实的机械臂硬件也没有安装底层的libfranka库所以必须跳过硬件相关的包。colcon build\--symlink-install\--cmake-args-DCMAKE_BUILD_TYPERelease\--packages-skip-by-dep libfranka解释--packages-skip-by-dep libfranka会告诉编译器“所有依赖真实硬件库的包都别编了只编仿真能用的部分”。 第六步启动仿真测试编译成功后显示 Summary: X packages finished就可以启动看效果了。1. 加载环境变量sourceinstall/setup.bash2. 启动 Gazebo 仿真 (以 Franka Emika Panda 为例)# 启动 Gazebo 并加载机械臂 (使用 ign-gazebo 或 gz-sim视具体版本而定)# 这里提供一个通用的启动命令尝试ros2 launch franka_gazebo_bringup franka.launch.py robot_ip:dont-care use_rviz:true(注如果是较新的 Jazzy 版本包名可能是franka_gazebo_bringup或者直接在franka_gazebo里。如果找不到 launch 文件可以尝试运行ros2 launch franka_description view_robot.launch.py先在 RViz 里看看模型对不对)