ubuntu 24.04安装jazzy后,对应的gazebo和以前不太一样了。我们需要安装的是 gazebo Harmonic
安装
安装过程参考 Gazebo Harmonic 和 ROS2 jazzy 安装和测试
最后还要安装1
2
3
4
5
6
7
8
9
10sudo 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 | Publishers [Address, Message Type]: |
-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 ,这是本机的显卡没装好