用ROS2 、 Gazebo和 MoveIt2做机械臂仿真
首先Ros2的安装参考步骤可以参考本人的这一篇博客对于ROS2的学习日记仿真安装的学习文章参考的是这一篇文章【机器人】ROS2 机械臂控制MoveIt2从入门到实战需要注意的是要根据自己linux系统版本去下载对应的Gazebo我的系统是24.04, sudo apt install gz-harmonic在安装的时候出现了这样的错误我问的千问给的解决办法遇到的问题是 Ubuntu 24.04 系统中添加第三方 Gazebo 软件源后因缺少对应 GPG 公钥导致 apt update 失败。这是 Ubuntu 24.04 引入更严格安全机制后的常见问题。以下是完整、安全、推荐的解决方案✅ 推荐操作步骤适用于 Ubuntu 24.04第一步导入缺失的 GPG 密钥从 OSRF 官方获取并导入密钥推荐使用现代方式下载并转换为 gpg 格式存入系统密钥环目录wget -qO - https://packages.osrfoundation.org/gazebo.key | sudo gpg–dearmor -o /usr/share/keyrings/gazebo-archive-keyring.gpg 说明此命令会从 OSRF 官方服务器下载密钥并用 gpg --dearmor 转为二进制格式保存到 /usr/share/keyrings/ 目录下这是 Ubuntu 24.04 推荐的密钥存储位置。第二步修改源配置文件指定 Signed-By打开或创建 Gazebo 源的配置文件sudo nano /etc/apt/sources.list.d/gazebo-stable.list将内容替换为以下格式确保包含 signed-by 字段deb [signed-by/usr/share/keyrings/gazebo-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable noble main⚠️ 注意如果你之前使用的是旧格式如 deb https://…必须加上 [signed-by…] 部分否则即使导入了密钥系统仍会报错。第三步更新软件包列表sudo apt update此时应不再出现 GPG 错误Gazebo 源将被正常识别和更新。输入 gz -sim显示下面基本上就是安装成功了对于安装MoveIt2要根据linux系统和ROS2版本进行安装针对我的 Ubuntu 24.04 ROS 2 Jazzy 环境正确的安装命令是sudo apt install ros-jazzy-moveit验证是否安装成功dpkg -l | grep moveit如果安装成功你会看到类似这样的输出其中状态为 ii 表示已安装ii ros-jazzy-moveit … (版本信息)ii ros-jazzy-moveit-core …ii ros-jazzy-moveit-msgs …… (其他相关包)只要 ros-jazzy-moveit 这一行存在且状态是 ii就说明主包已安装。或者尝试启动 MoveIt Setup Assistantros2 launch moveit_setup_assistant setup_assistant.launch.pysudo apt install ros-jazzy-moveit 对应的安装在/opt/ros/jazzy/ROS2 、 Gazebo和 MoveIt2这三个的关系工具 核心角色一句话理解ROS2 通信与控制中枢 整个系统的 “大脑和神经系统”负责节点间通信、话题 / 服务调度、硬件抽象让不同模块能互相 “对话”Gazebo 物理仿真引擎 虚拟世界的 “物理实验室”模拟机械臂的运动、碰撞、重力、传感器数据提供真实的物理环境MoveIt2 运动规划库 机械臂的 “路径规划师”负责机械臂的避障、轨迹生成、逆运动学求解算出怎么安全地从 A 点移动到 B 点成功安装了 ROS2、Gazebo 和 MoveIt2接下来可以进入实操阶段通过运行官方教程样例来快速上手机械臂的运动规划与可视化控制。以下是具体操作步骤一.加载环境配置打开终端输入以下命令并回车这一步是为了告诉系统去哪里找刚才安装的软件包source /opt/ros/jazzy/setup.bash二.启动演示程序复制并粘贴以下长命令然后回车ros2 launch moveit2_tutorials demo.launch.py rviz_tutorial:true出现了这样的错误解决办法sudo apt updatesudo apt install ros-jazzy-moveit2-tutorials又会遇到一个错误遇到的错误 E: Unable to locate package ros-jazzy-moveit2-tutorials 是因为 ROS2 Jazzy 发行版尚未在官方二进制仓库中提供 moveit2_tutorials 包。这是当前版本的正常现象因为 Jazzy 是较新的 LTS 版本部分教程包仍在开发或等待发布。解决方案从源码编译安装教程包既然无法通过 apt 安装你需要手动从 GitHub 克隆源码并编译。以下是完整步骤创建工作空间并克隆源码mkdir -p ~/moveit2_ws/srccd ~/moveit2_ws/srcgit clone https://github.com/ros-planning/moveit2_tutorials.git -b jazzy --depth 1说明-b jazzy 指定使用 Jazzy 分支–depth 1 仅克隆最新提交以节省时间和空间。安装编译依赖cd ~/moveit2_wsrosdep install -r --from-paths src --ignore-src --rosdistro jazzy -y注意如果提示 rosdep 未安装请先执行 sudo apt install python3-rosdep 并初始化 sudo rosdep init rosdep update。初始化 rosdepsudo rosdep init这条命令会创建一个默认的源列表文件 /etc/ros/rosdep/sources.list.d/20-default.list指向官方的依赖数据库。如果提示“already initialized”说明之前已初始化过可跳过此步。更新依赖数据库rosdep update这条命令会从远程服务器下载最新的依赖映射表确保 rosdep install 能正确识别并安装你当前 ROS2 发行版Jazzy所需的系统包。注意此步骤可能需要几秒到几十秒取决于网络速度。