ROS环境Gazebo与Rviz仿真

用 Gazebo 仿真器进行模型搭建并用Rviz进行图像显示

首先启动gazebo(如果安装的是ros-full的话就自带有),否则需要自己安装。

注意:
gazebo最好是在版本7以上(7.xx),我的版本是7.0的时候用rviz查看图像会报错,所以强烈建议将其更新到7.0以上。

在7.0的基础上升级gazebo的步骤如下:

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 http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

sudo apt-get update

sudo apt-get install gazebo7 gazebo7-common

下面开始搭建模型

有两种方法:
①使用模型库,这个需要在官网下载,之后导入到你的工作空间的models文件夹下
https://bitbucket.org/osrf/gazebo_models/downloads/
当然网上有别人提供的网盘连接,那个快一点
②在gazebo界面使用Ctrl+B或者菜单栏找到Building Editor出现自主编辑界面,可以自己做出你想要的模型。

下面显示的是利用gazebo自带的模型进行的操作(做这个之前有三个文件夹是必须要有的)
在这里插入图片描述

命令行输入:

roslaunch mbot_gazebo view_mbot_with_camera_gazebo.launch

会出现如下界面:
在这里插入图片描述

这个是自带摄像头的模型,为了方便结合rviz进行图像查看,这个模型再好不过。
如果想要在自己建造的模型中添加摄像头等则需要自己编写代码了。下面是我将摄像头与激光结合的代码。
在这里插入图片描述
编写完成之后需要catkin_make,之后再source ./devel/setup.bash
如果catkin_make没有成功,解决方式可能是如下:
缺少控制,所以需要增加控制:

sudo apt-get install ros-kinetic-gazebo-ros-control

还有就是缺少导航:

sudo apt-get install ros-kinetic-navigation

下面的机器人就是运行成功之后将两种结合的样子。
在这里插入图片描述
rviz查看图像:

rosrun rviz rviz

第一个kinetic的位置应该会有下拉框供你选择,可能是camera_link,如果是lasar就是laser_link
然后需要add一个话题(image/laserscan),将下图所示位置修改,一般也会有下拉框,如果没有则需要根据rostopic list查看话题信息。
在这里插入图片描述在这里插入图片描述
上述的话题输进去之后gazebo报错的话一般就是gazebo的版本低了,参考文章开头位置说的更新gazebo。

接着就会出现摄像头或者激光的图像:
在这里插入图片描述
在这里插入图片描述
激光就不用在意了,参数可能没设对就只有这么一点。
在这里插入图片描述
此外:如果想要移动小车则需另开一个终端:

roslaunch mbot_teleop mbot_teleop.launch

如果第一次没有成功则需要进行

source ./devel/setup.bash

然后点击键盘的在这里插入图片描述进行移动和转向。

原创文章 13 获赞 6 访问量 1514

猜你喜欢

转载自blog.csdn.net/Time_book/article/details/105165574