当我第一次在ubuntu20.04上使用gazebo

本文详细介绍了如何在Ubuntu 20.04上配置ROS环境并安装Gazebo,以及如何运行和调试一个Gazebo小车模型。步骤包括安装依赖、克隆并编译GitHub项目、设置环境变量、解决编译问题、创建地图、进行仿真和自动导航。在自动导航部分,作者解决了无法显示规划路径的问题,并给出了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然就有了一个长期任务,过分emo了。学习第一步,试试在我的不知道重装了多少遍的ubuntu20.04上运行一个gazebo小车模型。是根据这个视频做的记录,如有问题,欢迎指正~


一、安装gazobo环境

在安装环境之前,首先确定你的ubuntu上已经安装好了ROS,如果没,记得先去安转。可以参考这篇博客

验证是否安装好ROS

echo $ROS_DISTRO

在这里插入图片描述
如出现以上界面,则安装成功~

安装依赖

sudo apt install ros-$ROS_DISTRO-gazebo-ros-control
sudo apt install ros-$ROS_DISTRO-effort-controllers
sudo apt install ros-$ROS_DISTRO-joint-state-controller
sudo apt install ros-$ROS_DISTRO-driver-base
sudo apt install ros-$ROS_DISTRO-ackermann-msgs
sudo apt install ros-$ROS_DISTRO-rtabmap-ros
sudo apt install ros-$ROS_DISTRO-teb-local-planner
sudo apt install tcl-dev tk-dev python3-tk
二、开始安转
1、创建工作空间,工作区还包含src目录
mkdir -p gazebo/src
2、下载GIT工程
cd src
git clone https://github.com/soonuse/racecar.git

因为是在github上,所以可能下载速度很慢,甚至有时候连不上,这时候需要一些科学的小手段。

3、编译
cd ../
catkin_make
4、把工作区的setup.bash文件写入.bashrc文件中

在这里插入图片描述

编译完成后。工作区生成了一个build和一个devel文件夹,在devel文件夹中有一个setup.bash文件

在devel文件夹中打开终端,输入以下命令

pwd

在这里插入图片描述

另开一个终端

sudo gedit .bashrc

在打开的文件最后写下自己得到的setup.bash文件路径,如

在这里插入图片描述
保存文件,为了使用配置,输入

. .bashrc
5、如果编译不通过的话

检查一下OpenCVConfig.cmake所在的目录

先安装locate

sudo apt install mlocate

更新硬盘指引

sudo update db

查找OpenCVConfig.cmake

locate  OpenCVConfig.cmake

然后将路径写入racecar_gazebo的CMakeLists.txt文件中
在这里插入图片描述把OpenCV_DIR后面的路径改成前面找到的路径,注意不是文件的路径

在这里插入图片描述

三、开始仿真
1、验证地图是否可以正常仿真

在终端中输入

roslaunch racecar_gazebo racecar_runway.launch

如果没有报错,而是卡在开始界面,就是缺少models文件,所以需要再次下载

在终端输入:

cd .gazebo
git clone https://github.com/orsf/gazebo_models.git

然后等待很长很长很长一段时间

下载完成后,记得改一下gazebo_models文件夹的名字,改成models即可

2、创建地图

再次启动终端,进入仿真环境(在实际生产中对应的是真实的机器人和真实的地图):

roslaunch racecar_gazebo racecar_runway.launch

再开启一个终端,进如rviz环境(对应的是订阅的传感器消息):

roslaunch racecar_gazebo slam_gmapping.launch 

利用WASD案件控制小车在不翻车的情况下走完整的路径,可以看到在RVIZ界面中创建完整的地图。

保存地图,这里的路径是自己的map路径,记得改成自己的

rosrun map_server map_saver -f /home/computer/Gazebo/src/racecar/racecar_gazebo/map/map_runway

保存完之后,会在指定位置生成对应的pgm和yaml文件

四、尝试自动导航

关闭之前的开启的所有的终端,重新打开一次(不用保存)

roslaunch racecar_gazebo racecar_runway_navigation.launch

再开一个终端,输入:

roslaunch racecar_gazebo racecar_rviz.launch 

界面如图所示:
在这里插入图片描述使用2D Nav Goal工具,点击之后再按住地图内部的一点,按住鼠标左键调整箭头方向,这样即可发布小车目标点的位置信息。发布完成后,,地图上会出现一条绿色的规划路线,此时小车不会运动,再开一个终端,运行追踪脚本

rosrun racecar_gazebo path_pursuit.py 

这个脚本会告诉小车需要以什么方式沿着绿色的规划路线前进,启动之后小车就开始动了。

一段时间后,小车到达终点,演示完毕。

可能存在的问题(我存在)

不知道为什么,使用了2D Nav Goal工具,但是没出现绿色的路径,查询之后采取了以下解决方案

sudo apt install ros-noetic-move-base* ros-noetic-turtlebot3-* ros-noetic-dwa-local-planner
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers
sudo apt install ros-noetic-costmap-2d

再次重启仿真环境和rviz环境,成功!!!

<think>好的,用户想在Ubuntu 20.04安装Gazebo 9。首先,我需要确认Gazebo 9是否支持Ubuntu 20.04。通常,Gazebo的版本和Ubuntu的发行版有对应关系。比如,Ubuntu 18.04对应Gazebo 9,而Ubuntu 20.04通常搭配Gazebo 11。但用户可能有特定需求需要使用Gazebo 9。 接下来,我需要回忆安装Gazebo的方法。通常有两种方式:通过APT仓库或者源码编译。APT仓库更简便,但需要确认是否有适用于20.04Gazebo 9包。根据之前的经验,Gazebo的官方仓库可能已经不再为旧版本提供支持,但可以尝试添加旧的OSRF仓库。 然后,用户提到参考了引用[1]和[2],其中引用[1]是关于安装ROS和RotorS,引用[2]是关于在WSL安装ROS Noetic和Gazebo。ROS Noetic对应的是Ubuntu 20.04,默认的Gazebo版本可能是11。因此,用户可能需要覆盖默认安装源来获取Gazebo 9。 步骤可能包括添加旧的OSRF仓库,设置正确的密钥,更新包列表,然后安装Gazebo 9。需要注意依赖冲突,特别是如果系统中已经安装了较新版本的Gazebo或其他相关库。可能需要先卸载这些包,或者使用虚拟环境隔离。 另外,用户可能需要安装ROS相关的包,比如如果和ROS一起使用,需要确保ROS的版本兼容Gazebo 9。但ROS Noetic可能默认需要Gazebo 11,这可能导致冲突。此时可能需要使用ROS Melodic,但Melodic是为Ubuntu 18.04设计的,可能在20.04上需要额外处理。 因此,安装Gazebo 9在Ubuntu 20.04上可能存在兼容性问题,需要谨慎处理依赖关系,或者考虑使用Docker容器来运行Gazebo 9,以避免系统环境冲突。 总结步骤:添加旧版仓库,安装Gazebo 9,处理可能的依赖问题,验证安装。同时提醒用户注意兼容性,并建议替代方案如使用Gazebo 11或容器化环境。</think>### 在 Ubuntu 20.04安装和配置 Gazebo 9 的步骤 #### 1. 添加 OSRF 软件源 由于 Ubuntu 20.04 默认仓库中不包含 Gazebo 9,需手动添加旧版 OSRF 仓库: ```bash sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add - sudo apt update ``` #### 2. 安装 Gazebo 9 核心包 ```bash sudo apt install gazebo9 libgazebo9-dev ``` #### 3. 验证安装 ```bash gazebo --version ``` 输出应为 `Gazebo 9.x.x`。 #### 4. 处理依赖冲突(如需要) 若系统已安装其他版本 Gazebo,需先卸载: ```bash sudo apt remove gazebo11* libgazebo11* # 示例:卸载 Gazebo 11 ``` #### 5. 安装插件和依赖(可选) 如需 ROS 支持,需安装对应版本的 `gazebo_ros_pkgs`[^1]: ```bash sudo apt install ros-noetic-gazebo-ros-pkgs # 需已配置 ROS Noetic 环境 ``` --- ### 注意事项 1. **兼容性风险**:Gazebo 9 为 Ubuntu 18.04 设计,在 20.04 上可能因库版本差异(如 Boost、Protobuf)导致功能异常[^2]。 2. **替代方案**:建议优先使用 Gazebo 11(Ubuntu 20.04 默认版本)或通过 Docker 容器运行 Gazebo 9: ```bash docker pull gazebo:gzserver9 ``` ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值