DT_digital_twin_ROS+Grazebo仿真

在 ROS 2 Humble(对应Ubuntu 22.04)环境下,推荐安装Gazebo 版本是 Gazebo Fortress (也称为Gazebo Classic 的继任者,属于 Ignition Gazebo / Gazebo Sim 系列)。注意:自ROS 2 Humble起,官方已从传统的Gazebo Classic(如Gazebo 11)转向使用Ignition Gazebo (现在统一称为Gazebo Sim),并以版本代号命名(如Fortress、Garden、Harmonic等)。

正确版本对应关系

Ubuntu 版本 ROS 2 版本 推荐 Gazebo版本
22.04 Humble Gazebo Fortress
24.04 Jazzy Gazebo Harmonic

安装步骤(Ubuntu 22.04 + ROS 2 Humble)

1、确保已安装 ROS 2 Humble

如果尚未安装,请先完成 ROS 2 Humble 的安装(桌面版包含RVIz2等工具):

bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common curl gnupg lsb-release
sudo add-apt-repository universe
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /tmp/ros.key
sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg /tmp/ros.key
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt install ros-humble-destop -y
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

2、安装 Gazebo Fortress(ROS 2 Humble 官方推荐)

ROS 2 Humble 使用 ros_gz 桥接包与Gazebo Sim(Fortress)通信。安装命令如下:

bash 复制代码
# 添加 Gazebo 官方源(可选但推荐,确保获取最新版)
sudo apt install wget lsb-release gnupg
wget https://packages.osrfoundation.org/gazebo.gpg -O /tmp/gazebo.gpg
sudo gpg --dearmor -o /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg /tmp/gazebo.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list
sudo apt update
bash 复制代码
# 安装 Gazebo Fortress 和 ROS 2 桥接包
sudo apt install gz-fortress ros-humble-ros-gz

注意:在较新文档中,gazebo命令已被 gz 取代。例如:

  • 启动仿真:gz sim
  • 查看版本:gz --version 或 gz sim --version

3、验证安装

bash 复制代码
gz sim --version
#应输出类似:gz sim version x.x.x (Fortress)

运动一个简单世界测试

bash 复制代码
gz sim -v4 empty.sdf

4、(可选)安装TurtleBot3仿真示例(含Gazebo支持)

bash 复制代码
sudo apt install ros-humble-turtlebot3-simulations ros-humble-gazebo-ros-pkgs
echo "export TURTLEBOTS_MODEL=waffle_pi" >> ~/.bashrc
source ~/.bashrc

注意:TurtleBot3官方Humble示例目前仍部分基于 Gazebo Classic。若需安全使用 Gazebo Sim(Fortress),需使用ros_gz桥接或迁移到支持的新模型。

5、常见误区

  • 不要安装 gazebo11 或 gazebo(Classic):虽然仍可用,但ROS 2 Humble官方主推的是 Gazebo Sim(Fortress)。
  • 包名变化:
    • 旧:ros-humble-gazebo-ros-pkgs 用于 Gazebo Classic
    • 新:ros-humble-ros-gz 用于 Gazebo Sim(Fortress+)

如希望使用 Gazebo Classic (如 Gazebo 11) (例如为了兼容旧机器人模型),也可以安装,但不推荐用于新项目。

相关推荐
2401_841495648 小时前
【DeepSeek系列】论文《mHC: Manifold-Constrained Hyper-Connections》全流程复现详解(附Python代码)
人工智能·pytorch·python·深度学习·论文复现·deepseek·mhc模型
helloworld也报错?9 小时前
深度强化学习(1)——基础知识(名词解释,概率论基础,蒙特卡洛采样,马尔可夫决策过程)
人工智能·深度学习·机器学习·概率论
kisshuan123969 小时前
实战景观图像识别与分类_faster-rcnn_hrnetv2p-w40_2x_coco模型应用
人工智能·分类·数据挖掘
around_019 小时前
实验4基于神经网络的模式识别实验
人工智能·深度学习·神经网络
liliangcsdn9 小时前
DDIM扩散模型改进采样策略的推理探索
人工智能·深度学习·自然语言处理
智驱力人工智能9 小时前
在安全与尊严之间 特殊人员离岗检测系统的技术实现与伦理实践 高风险人员脱岗预警 人员离岗实时合规检测 监狱囚犯脱岗行为AI分析方案
人工智能·深度学习·opencv·算法·目标检测·cnn·边缘计算
L.fountain10 小时前
图像自回归生成(Auto-regressive image generation)实战学习(四)
人工智能·深度学习·学习·数据挖掘·回归
2501_9415079410 小时前
交通标志识别与分类改进_YOLOv13融合C3k2与IDWB模块提升红绿灯及限速标志检测效果_原创
yolo·分类·数据挖掘
kisshuan1239610 小时前
YOLOv10n-CDFA太阳能电池板异常检测与分类(深度学习实战)
深度学习·yolo·分类
技术狂人16810 小时前
(六)大模型算法与优化 15 题!量化 / 剪枝 / 幻觉缓解,面试说清性能提升逻辑(深度篇)
人工智能·深度学习·算法·面试·职场和发展