Gazebo Harmonic 安装和常用命令

ubuntu 24.04安装jazzy后,对应的gazebo和以前不太一样了。我们需要安装的是 gazebo Harmonic

image.png

安装

安装过程参考 Gazebo Harmonic 和 ROS2 jazzy 安装和测试

最后还要安装

1
2
3
4
5
6
7
8
9
10
sudo apt-get install -y ros-jazzy-ros-gz 
sudo apt-get install -y ros-jazzy-ros-gz-sim-demos
sudo apt-get install -y ros-jazzy-ros-gz-bridge
sudo apt-get install -y ros-jazzy-ros-gz-image
sudo apt-get install -y ros-jazzy-ros-gz-interfaces
sudo apt-get install -y ros-jazzy-ros-gz-sim
sudo apt-get install -y ros-jazzy-joint-state-publisher
sudo apt-get install -y ros-jazzy-xacro
sudo apt-get install -y ros-jazzy-teleop-twist-keyboard
sudo apt-get install -y ros-jazzy-teleop-twist-joy

基础命令

  • 启动命令: gz sim 或者 gz sim -v 4. -v: 指定日志详细级别,4 表示最高详细程度。

  • 可以使用-s(仅服务器)或-g(仅GUI)参数来分别运行服务器或GUI

插件的加载方式已被更改,需要在模型文件(SDF/URDF)或 Gazebo 的配置中添加。

  • 启动制定的sdf文件: gz sim shapes.sdf

启动之后,有3个进程: gz sim, gz sim server, gz sim gui

  • ROS2的方式启动: ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=empty.sdf

  • 启动图像管道: ros2 launch ros_gz_sim_demos image_bridge.launch.py

重要的sdf文件: diff_drive_skid.sdf, actor.sdf

从ROS 2 Jazzy开始,Gazebo通过vendor包的形式在ROS包仓库中可用。如果您的包直接依赖于Gazebo库,而不是仅依赖于ros_gz,请参考相关文档学习如何使用Gazebo vendor包。

话题相关命令

gazebo的相关命令从ROS2里独立出来了

  • gz topic -l 显示所有话题

  • gz topic -it /model/tugbot/pose 显示话题信息,结果如下

1
2
3
Publishers [Address, Message Type]:
tcp://172.27.36.158:38969, gz.msgs.Pose
No subscribers on topic [/model/tugbot/pose]
  • -et echo 话题
  • -ft 显示话题频率
  • -pt 发布话题

gz topic -h可显示其他命令

在新的架构中,Gazebo Sim 与ROS 2的集成通过ros_gz桥接包实现。该桥接包允许 ROS 2 和 Gazebo Sim 之间的消息传递

问题

docker里运行gazebo报错: libGL error: MESA-LOADER: failed to retrieve device information ,这是本机的显卡没装好