Ubuntu18.04 ROS melodic环境下,通过Gazebo软件仿真SLAM算法的学习(gmapping/karto/cartographer/hector)

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04 ROS melodic环境下,通过Gazebo软件仿真SLAM算法的学习(gmapping/karto/cartographer/hector)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一 环境场景搭建world

1.下载insert插件(该插件下会提供一些建好的场景,也可不下载)

2.环境搭建(自建)

3.保存环境

4.配置修改

5.启动环境

二 机器人模型URDF

1.模型创建的文件书写规范

2.检查文件格式是否正确

3.启动模型

三 机器人在场景中运动

1.机器人放在场景中

2.为小车装配传感器,执行器

3.让小车在场景中运动

四 仿真二维激光SLAM开源算法gmapping、cartographer、karto、hector



一 环境场景搭建world


1.下载insert插件(该插件下会提供一些建好的场景,也可不下载)

下载存放在主目录下的.gazebo中(通过ctrl+h显示.gazebo文件),命名为models。

2.环境搭建(自建)

通过Edit中的builiding命令,上为二维图,下为三维图。

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

3.保存环境

通过file中save world as,存放在功能包中的world文件夹下,该路径专门用于存放自制环境world。

4.配置修改

修改启动该环境的launch文件,笔者命名为gazebo_world.launch。修改其中的world为你上一步骤保存的名字。

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

5.启动环境

搭建好环境后便可以通过launch文件单独启动。(只查看环境)

roslaunch bingda_tutorials gazebo_world.launch

二 机器人模型URDF


1.模型创建的文件书写规范

/<robot>

/<link>(体)颜色/质量/惯性/尺寸/形状/碰撞

/<joint>(关节)<type>(关节活动方式) 需指定parent及child的link来进行连接

对应的解释及使用说明在官网链接:urdf/XML/link - ROS Wiki

2.检查文件格式是否正确

check_urdf mybot.urdf //需要roscd定位在urdf目录下,笔者文件名为mybot.urdf

显示文件及机器人模型正确,并在展示了父子关系 gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

 3.启动模型

(只启动机器人模型在rviz中显示,该步骤只给自己看,没有实际应用意义)

启动之前,确保display_robot.launch文件中textfile的urdf文件名与第一步的文件名字对应。

roslaunch bingda_tutorials display_robot.launch //启动机器人urdf模型,该launch文件关联rviz,在rviz中显示

在rviz中可以查看建模是否正确

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++


三 机器人在场景中运动


1.机器人放在场景中

(1)通过gazebo_robot.launch文件实现,按照书写语法,找到前两节所建立的文件名:

gazebo_world.launch(环境模型launch文件)和mybot.urdf(机器人模型urdf文件)

<launch>
  <include file="$(find bingda_tutorials)/launch/gazebo_world.launch"/>
  <node name="spawn_model"  pkg="gazebo_ros"  type="spawn_model" args="-file $(find bingda_tutorials)/urdf/mybot.urdf -urdf -model robot_description" output="screen" />
</launch>

(2)启动该launch文件。显示机器人已经放在了场景中,但小车无法运动且无传感器。

roslaunch bingda_tutorials gazebo_robot.launch

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

 虽然urdf文件在rviz中机器人为彩色,但在gazebo中无效不显示颜色,需要按照gazebo的格式。

即.xacro文件来为.urdf文件进行补充。(.xacro文件并不是非用不可,也可以单独在urdf中完成)

 2.为小车装配传感器,执行器

(1)xacro文件

.xacro文件与.urdf文件是相似的,多了开头的include语法,以及结尾的传感器与执行器的添加。

笔者习惯将仿真相关的配置单独放在mybot.gazebo.xacro中,例如雷达的线束,差速控制,imu频率......等,添加的方式通过gazebo中plugin载入的,ROS官网的gazebo有介绍到;将最后所有的配置链接到mybot.xacro中,也就是mybot.xacro纯模型文件包含mybot.gazebo.xacro文件。

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

 (2)launch文件

在仿真的simulation_robot.launch文件中包含了两个文件链接:

    ——gazebo_world.launch//机器人环境模型——

    ——mybot.xacro//机器人模型及传感器执行器的所有配置——

然后通过XML文件语法——spawn_model  将创建好的机器人加载到环境模型中。

启动模型:

roslaunch bingda_tutorials simulation_robot.launch

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

可见:小车已经具有了颜色,传感器,电机等。

3.让小车在场景中运动

(1)启动键盘控制节点:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py //ros中自带

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

PS:若没有下载过键盘控制节点包,可通过以下命令下载:

sudo apt-get install ros-melodic-teleop-twist-keyboard//安装键盘控制节点

(2)开启相机第一人称跟踪视角 :

rqt_image_view

(3) 开启rviz

rviz

rviz选择基坐标odom,添加雷达点云Lasercan中topic为/scan,机器模型model,TF关系。

3个窗口分别是:gazebo,image iew,rviz gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++


四 仿真SLAM开源算法gmapping、cartographer、karto、hector


(1)开启仿真环境:

roslaunch bingda_tutorials simulation_robot.launch //仿真环境+小车(Gazebo 下)

(2)开启gmapping算法:(添加  simulation:=true;此处也可修改为carto....等算法)

roslaunch robot_navigation gmapping.launch simulation:=true //启动SLAM中GMapping算法 true确保时间线的统一

(3)开启rviz界面:

roslaunch robot_navigation slam_rviz.launch  //启动rviz界面

(4)开启键盘控制节点:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py //ros中自带

 此时便可以肆意妄为的在你自己建立的环境中满图跑了,然后便可以看到gmapping的建图效果:

gazebo gmapping安装,Gazebo仿真学习,机器人,ubuntu,linux,c++

 (5)保存地图

roscd robot_navigation/maps/ //选择目录
rosrun map_server map_saver -f map//保存建好的图指定名称为map

PS:相关功能包下载:

1.放到src目录下的bingda_tutorials功能包文章来源地址https://www.toymoban.com/news/detail-761304.html

git clone https://gitee.com/bingda-robot/bingda_tutorials

到了这里,关于Ubuntu18.04 ROS melodic环境下,通过Gazebo软件仿真SLAM算法的学习(gmapping/karto/cartographer/hector)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • SLAM学习笔记(一)Lio-sam安装与运行 ubuntu18.04+ros melodic

    三维激光SLAM入门 Lio-sam安装与运行 ubuntu18.04+ros melodic 最近在学习激光SLAM,本文将介绍了ubuntu18.04+ros melodic下部署复现LIO-SAM的过程。2020年TIxiaoshan在IROS发表了Lio-sam算法,LiO-sam是Lego-Loam的拓展版本,添加了IMU预积分因子和GPS因子,Loam与Lego-Loam纯靠激光雷达点云信息SLAM,Lio-sa

    2023年04月09日
    浏览(98)
  • Ubuntu18.04LTS离线安装ROS Melodic(解决rosdep init与rosdep update问题)

    因为公司调试电脑无法连接互联网,所以安装 ROS 很让人头疼。但安装 ROS 无非就是安装一些 deb 包与其对应的依赖,既然这样只要下载好需要的 deb 包,再离线安装就可以。在联网电脑上使用 apt install 安装 ROS 时候,会在 /var/cache/apt/archives/ 下保存下载的安装包和依赖包,但如

    2024年02月09日
    浏览(27)
  • Ubuntu18.04 ROS Melodic的cv_bridge指向问题(四种方式,包括opencv4)

    备注:2023.7.4修改,如果是ros空间,可以在工作空间中使用单独cv_bridge的方式!!!比较简单,是我目前常用的方式。放在文章最后。 由于ROS Melodic自带的是Opencv3.2.0,而我自己下载的是opencv3.4.5,所以需要将cv_bridge的指向改为我自己安装的opencv。 全篇很长,建议看完后操作,

    2024年02月16日
    浏览(37)
  • Ubuntu18.04+ros-melodic Fast-lio2安装与实物运行【速腾16线+imu】

    对应使用方法: 速腾16线激光雷达(RS-Hellos-16P)在windows与ubuntu18.04下的调试与点云数据格式转换(pointclould2-->laserscan)_百川01的博客-CSDN博客使用2D雷达laser+imu实现cartographer实时建图_百川01的博客-CSDN博客 参考链接:使用速腾雷达32线Helios和fast-LIO2算法建图(一)_32线雷达数

    2024年02月16日
    浏览(45)
  • 【EHub_tx1_tx2_A200】Ubuntu18.04 + ROS_ Melodic + 锐驰LakiBeam 1L单线激光 雷达评测

            大家好,我是虎哥,最近这段时间,又手欠入手了锐驰LakiBeam 1L激光雷达,实在是性价比太优秀,话说,最近激光雷达圈确实有点卷。锐驰官网的资料已经很丰富,我这里总结一下自己的简单测试经验,分享给大家。          LakiBeam1L是锐驰智光面向中低速场

    2024年02月03日
    浏览(29)
  • Ubuntu18.04搭建AirSim+ROS仿真环境

    AIRSIM在UBuntu 18.04上构建的官网文档 AIRSIM是依赖于UE4引擎实现的,因此在安装AIRSIM之前要安装UE4引擎。 在Ubuntu上安装UE4引擎需要从源文件进行编译,因此我们需要访问UE4的github仓库。但想要访问UE4的github仓库,我们就必须建立github与UE4许可的链接,否则直接访问UE4的github仓库时就

    2023年04月08日
    浏览(78)
  • ROS学习笔记01、安装Ubuntu18.04以及ROS环境

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月08日
    浏览(44)
  • 【ROS2 入门】虚拟机环境 ubuntu 18.04 ROS2 安装

             大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,做为有别于ROS1的版本,做了很多更新和改变,我还是很期待自己逐步去探索ROS2中的惊喜。在安装过程中我也遇到的一些坑,我自己也尝试填了一部分,未必是全部,但是相信集合大

    2024年01月17日
    浏览(44)
  • Ubuntu18.04安装配置使用Intel RealSense D435i深度相机以及在ROS环境下配置

    最近因为学习开发需要,要开始接触一些视觉相关的内容,拿到了一个Inter 的D435i深度相机,记录一下在Ubuntu18环境下配置SDK 包的历程 注意 : Intel官方最新版的librealsense版本与ROS1的ROS Wrapper是 版本不一致的 ,且ROS Wrapper支持的是较低版本的SDK ,具体可以去网站查看 如果完全

    2024年02月07日
    浏览(38)
  • Ubuntu18.04安装ROS

    目录 一、安装ROS 1、ROS简介 2、安装ROS  二、ROS初步使用 1、小海龟  2、控制小海龟走圆形 (1)、创建工作空间  (2)、编译工作空间  (3)、配置环境变量  (4)、画圆程序的编写  (5)、控制小海龟走圆形  三、总结   机器人操作系统(Robot Operating System, ROS)是一个应

    2024年02月14日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包