【ROS2机器人入门到实战】Gazebo仿真环境搭建

这篇具有很好参考价值的文章主要介绍了【ROS2机器人入门到实战】Gazebo仿真环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

7.Gazebo仿真环境搭建

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

本节我们要在Gazebo中建立一个测试的环境,其实也很简单,利用Gazebo的画墙工具即可完成。

ros2 gazebo安装,ROS2机器人入门到实战,机器人

1. Gazebo的world介绍

world即世界,gazebo的world文件就是用于描述世界模型的,也就是环境模型。

Gazebo已经为我们准备了很多常用的物体模型,除了基础的圆球,圆柱,立方体外的,其实还有飞机、汽车、房子等你现实中无法拥有的。

但是一开始安装Gazebo的时候并不会帮你下载好这些模型,需要我们手动下载,万幸的是小鱼已经帮你封装成了一行代码下载指令,打开终端,复制粘贴下面这句

cd ~/.gazebo && wget https://gitee.com/ohhuo/scripts/raw/master/gazebo_model.py && python3 gazebo_model.py

然后等待脚本运行完成,当然也不用等它完成,因为一共有281个模型,是逐一下载并解压到~/.gazebo/models/目录的。

此时再次打开终端,输入gazebo,把选项卡切换到Insert

ros2 gazebo安装,ROS2机器人入门到实战,机器人

在Insert选项卡下可以看到一个目录,以及目录下的模型名称,随着下载脚本的不断下载,这里的模型会越来越多。

随手拖几个,搭建一个漂亮的环境出来~

每个成功的男人都有一辆车,小鱼也不例外

ros2 gazebo安装,ROS2机器人入门到实战,机器人

上面是Gazebo为我们准备好的开源模型,我们也可以通过Gazebo的工具来自己画一个环境。

2. 通过建墙工具建立world

Gazebo左上角->Edit->Building Editor

接着可以看到这样一个编辑界面

ros2 gazebo安装,ROS2机器人入门到实战,机器人

2.1 随手画墙

点击左边的Wall,你就可以在上方的白色区域进行建墙了。

ros2 gazebo安装,ROS2机器人入门到实战,机器人

建完后还可以用选Add Color或者Add Texture,然后点击下方墙,给墙添加颜色或者纹理。

2.2 从已有地图画墙

首先你要有一个地图,小鱼为你准备了两个,两个图片都是800*600像素的。

ros2 gazebo安装,ROS2机器人入门到实战,机器人

ros2 gazebo安装,ROS2机器人入门到实战,机器人

打开Gazebo->Gazebo左上角->Edit->Building Editor->左下方选Import

ros2 gazebo安装,ROS2机器人入门到实战,机器人

将上面两个图片存到本地,在这个界面选图片,记着选Next

ros2 gazebo安装,ROS2机器人入门到实战,机器人

左边选尺寸对应关系

ros2 gazebo安装,ROS2机器人入门到实战,机器人

我们选择默认的,100像素/米。点击OK(需要手动将100改变一下才能点击OK哦),之后就可以用图片画墙了。

注意:导入完图片不会直接出来墙,图片只是提供了墙的大概位置,需要你手动用墙再将边描一遍。

ros2 gazebo安装,ROS2机器人入门到实战,机器人

建完后点击File->Exit,在退出的弹框中选Exit。

接着在Gazebo界面中就可以看到墙了,我们再手动添加几个物体,就可以用于下面的导航使用了。

ros2 gazebo安装,ROS2机器人入门到实战,机器人

添加完,接着点击File->SaveWorld,将文件保存到我们的fishbot_descrption的world下。

没有world目录的小伙伴可以先手动创建下

ros2 gazebo安装,ROS2机器人入门到实战,机器人

点击右上角Sace,在文件夹就可以看到这个world文件

ros2 gazebo安装,ROS2机器人入门到实战,机器人

3.启动时加载world

3.1 命令行加载World

加载world其实也很简单,可以先启动Gazebo,再手动的加载文件,也可以在Gazebo启动时加载:

比如在前面加载ROS2插件基础上再加载fishbot.world。

gazebo --verbose  -s libgazebo_ros_init.so -s  libgazebo_ros_factory.so 你的world文件目录/fishbot.world

3.2 在launch中加载World

修改launch文件,将上面的命令行写到gazebo.launch.py中即可。

    gazebo_world_path = os.path.join(pkg_share, 'world/fishbot.world')

    # Start Gazebo server
    start_gazebo_cmd =  ExecuteProcess(
        cmd=['gazebo', '--verbose','-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so', gazebo_world_path],
        output='screen')

最后记得修改setup.py文件,让编译后将world文件拷贝到install目录下

添加一行

        (os.path.join('share', package_name, 'world'), glob('world/**')),

添加完后

    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
        (os.path.join('share', package_name, 'launch'), glob('launch/*.launch.py')),
        (os.path.join('share', package_name, 'urdf'), glob('urdf/**')),
        (os.path.join('share', package_name, 'world'), glob('world/**')),
    ],

3.3 编译测试

colcon build
source install/setup.bash
ros2 launch fishbot_description gazebo.launch.py 

ros2 gazebo安装,ROS2机器人入门到实战,机器人

打开RVIZ2看看雷达

ros2 gazebo安装,ROS2机器人入门到实战,机器人

4.总结

本节我们实现了在Gazebo中简单的搭建了一个环境,下节我们就开始对SLAM建图进行介绍。

课后作业:

  • 将雷达的Decay Time修改成1000,然后遥控Fishbot在环境中走一圈,然后观察雷达留下的点云形状。

正确答案如下(小鱼的环境):

ros2 gazebo安装,ROS2机器人入门到实战,机器人文章来源地址https://www.toymoban.com/news/detail-743547.html

到了这里,关于【ROS2机器人入门到实战】Gazebo仿真环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ROS仿真实战】获取机器人在gazebo位置真值的三种方法(三)

    在ROS和Gazebo中,获取机器人的位置信息通常通过ROS消息传递进行。在这篇文章中,我们将介绍三种获取机器人在Gazebo中位置真值的方法:使用ROS tf库、使用自己编写Gazebo Model Plugin以及libgazebo_ros_p3d Plugin。 ROS tf库是ROS中用于管理坐标变换的库,它可以通过ROS消息传递来管理不

    2024年02月06日
    浏览(46)
  • 【ROS2机器人入门到实战】ROS2接口介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 本节小鱼将会带你学习认识一个新的概念,叫做interface,即接口。

    2024年02月05日
    浏览(42)
  • 【ROS2机器人入门到实战】ROS2节点介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn ROS2中每一个节点也是只负责一个单独的模块化的功能(比如一个

    2024年02月06日
    浏览(43)
  • 【ROS2机器人入门到实战】

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 第 1 章 ROS2介绍与安装 基础篇-Linux基础 1.Linux与Ubuntu系统介绍 2.在

    2024年02月16日
    浏览(43)
  • 【ROS2机器人入门到实战】4.ROS2初体验

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 通过几个简单的小例子来体验ROS2软件库和工具集。 游戏内容:很

    2024年02月04日
    浏览(60)
  • 【ROS2机器人入门到实战】3.动手安装ROS2

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 到了这一节,终于可以开始安装ROS2了。安装ROS2本来是一件比较麻

    2024年02月13日
    浏览(44)
  • 【ROS2机器人入门到实战】2.ROS与ROS2对比

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 经过上一节的学习,相信你已经对ROS和ROS2的发展有了一定的了解

    2024年02月04日
    浏览(36)
  • ros2机器人在gazebo中移动方案

    很重要的地方:使用虚拟机运行Ubuntu的时候,需要关闭”加速3D图形“的那个选项,否则gazebo无法正常显示。 In this tutorial we will learn how to move our robot. We will use the robot we built in the Build your own robot tutorial. You can download the robot from here. You can also find the finished world of this tutoria

    2024年01月16日
    浏览(35)
  • 【ROS2机器人入门到实战】2.ROS2功能包与工作空间

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,我是小鱼~上一节小鱼给大家介绍了一下节点,运行一个

    2024年01月23日
    浏览(44)
  • 【ROS2机器人入门到实战】Colcon使用进阶

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 基础篇中小鱼带你用gcc编译了ROS2节点。对你来说,使用CMake(GC

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包