Gmapping建图

Gmapping建图Gmapping实战前文中,我们总共做了以下几件事:完成了基于ros小车框架安装。完成了小车下位机的安装。完成了上位机安装,并连接到ros系统,可以发布odom话题,使用键盘控制gmapping数据集测试。激光雷达选型与安装。接下来我们来完成使用gmapping的建图与导航工作。首先下载安装激光雷达的驱动程序,当然只针对我买的这一款,不是做广告,这家的技术售后简直就是垃圾,唯一…

大家好,又见面了,我是你们的朋友全栈君。

Gmapping实战

前文中,我们总共做了以下几件事:

  1. 完成了基于ros小车框架安装。
  2. 完成了小车下位机的安装。
  3. 完成了上位机安装,并连接到ros系统,可以发布odom话题,使用键盘控制
  4. gmapping数据集测试。
  5. 激光雷达选型与安装。

接下来我们来完成使用gmapping的建图与导航工作。

首先下载安装激光雷达的驱动程序,当然只针对我买的这一款,不是做广告,这家的技术售后简直就是垃圾,唯一优点就是便宜,程序是有问题的,建议直接下载我改过的,原版程序不会发布/tf话题。
在这里插入图片描述

我改过的驱动程序

使用程序时建议看一下激光雷达连接的那个串口,在launch文件改为对应串口,记得开放串口权限。

接下来就是一下步骤:

roscore

新开终端:

roslaunch ros_arduino_python arduino.launch

这个是小车的节点。小车坐标系是base_link,可以看我之前的博客修改。

新开终端:

rosrun gmapping slam_gmapping

新开终端:
gmapping的节点。

roslaunch delta_2b_lidar delta_2b_lidar.launch

激光雷达的节点。

新开终端:

rosrun rqt_tf_tree rqt_tf_tree

在这里插入图片描述
我们可以看到,从map到base的坐标转换是完整的。

新终端:

rviz rviz

添加话题/map,可以看到:
在这里插入图片描述
这是我测试时拍的,为了测试是否正常工作,我把小车拎起来了,所以图就成了这个鬼样子。

总结

目前这个基于gmapping的小车已经基本完成,这一系列博客介绍了这一小车的完成过程,代码层面我基本上都是自己改过的,没必要在这种简要说明中详细分析。如有兴趣可以按照这一系列博客完成自己的小车。安装步骤比较详细,需要写的代码博客也给出了下载链接(小车还有进一步的开发,代码暂时先不上github了,可以先从博客的百度链接下载),希望大家能以此对ros机器人操作系统产生兴趣。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148947.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • flow control通常的方法

    flow control通常的方法半双工模式下:通过backpressure背压有2种方式,一是当交换机侦听到一个输入帧,就立刻发送一个空的帧

  • jedis取存 数据库查到的对象_jediscluster存储对象「建议收藏」

    jedis取存 数据库查到的对象_jediscluster存储对象「建议收藏」Redis常见的几种主要使用方式:Redis单副本Redis多副本(主从)RedisSentinel(哨兵)RedisCluster(集群)Redis自研Redis各种使用方式的优缺点:1Redis单副本Redis各种使用方式的优缺点:Redis多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策…

  • git删除远程分支

    1.git删除远程分支gitpushorigin–delete[branch_name]2.删除本地分支区别gitbranch-d会在删除前检查merge状态(其与上游分支或者与head)。gitbranch-D是gitbranch–delete–force的简写,它会直接删除。共同点都是删除本地分支的方法(与删除远程分支命令相独立,要想本地和远程都删除,必须得运行两个命令)。3.git查看分支:查看本地分支gitbranch查看远程分支

  • 【编程语言】CentOS 7 下pip更新命令

    【编程语言】CentOS 7 下pip更新命令CentOS7下pip更新命令CentOS7需要更新pip时,只需要一下简单的命令即可搞定:pipinstall–upgradepip

  • internal server error是什么意思?

    internal server error是什么意思?internalservererror错误通常发生在用户访问网页的时候发生,该错误的意思是因特网服务错误。能够引起internalservererror报错的原因有多个,如果你是网站主的话,可以对下列情形进行一一排查。  1.服务器资源超载。如果网站文件没有做过修改,最有可能的是同服务器的资源超载:即同一时间内处理器有太多的进程需要处理的时候,会出现500错误。借助SSH,可以在命令行中输入以下命令查看:psfauxpsfaux|grepusername如果你查到某个进程消耗过多资源,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号