slam小结

对于差分式机器人的slam问题,我们可以按步骤分开讲。为了去实现这个问题,我们首先需要知道我们在环境中的位置,即机器人实现定位;其次,我们还需要知道我们周围的环境,是否有障碍物在我们周围,哪条道路可以行走。对于这个的研究,可以总结归纳为三个点:地图的精确建模,机器人的准确定位,路径实时规划。

在turtlebot上使用相机进行定位建图,我使用的是华硕的相机,xtion相机是深度相机,携带多个摄像头,能读出每个像素离相机的距离,是比较好的选择之一。具体的流程按照创客网上的配置是没有任何的问题的,根据Turtlebot入门-目录 - 创客智造。但是相机局限性有时会比较大,我们也可以采用激光雷达进行turtlebot的slam操作。我采用的是hokuyo的北洋激光雷达,雷达的基本配置启动文件和地图建立gmapping文件的配置在上面链接的教程里是有提到的,但是对于定位的amcl.launch文件我们需要自己去写。

        对于操作的基本流程,我们首先要启动turtlebot的基本驱动(因为我们需要待会用到turtlebot的里程计数据,在rviz上显示实时位置。),再启动gmapping的定位建图,将周围环境的障碍物以地图形式建立并保存。这是重要的步骤,只有有了正确的地图,在接下来定位导航时机器人才能准确的进行实时的路径规划,成功避开障碍物。最后,我们就可以采用先前建立的地图,使用amcl.launch来进行定位导航了,amcl还调用了move_base.yaml文件,他能够为机器人计算发送速度。local_planning.yaml文件可以为机器人实时规划出路径。

        这是turtlebot采用gmapping slam的基本步骤。

        对于navigation的配置,我们需要使用到tf。因为我们需要自己去放置相机或者激光雷达,所以在不同地方我们的设备和机器人的中心之间的坐标是不同的。我们将机器人的坐标设为base_laser,将机器人的移动基座标设为base_link,


假设我们知道激光器在移动基座的中心点之上10厘米和向前20厘米处安装。这给了我们一个将“base_link”坐标系与“base_laser”坐标系相关联的平移值和偏移值。我们可以实现转换,从“base_link”坐标系到“base_laser”坐标系的数据,我们必须应用(x:0.1m,y:0.0m,z:0.2m)的转换,并从“ base_laser“坐标系到”base_link“坐标系,我们必须应用相反的变换(x:-0.1m,y:0.0m,z:-0.20m)。在转换好坐标后,对于后面的机器人判断障碍物信息是必须的。

       navigation中 move_base 的配置,将全局路径和局部路径规划程序连接在一起,以完成全局导航任务。还维护两个costmap,一个用于全局路径规划,一个用于局部路径规划。

        对于机器人的运动,我们将要配置base_local_planner(本地规划配置),它将根据规划的全局路径计算发布给机器人的速度控制指令。我们有三个通用配置文件:

1        costmap_commn_params.yaml(代价地图):用来存储周围环境的障碍物信息。里面有几个参数我们将能在运行终端看到。如obstacle_range(检测到的最大范围值),raytace_range(检测到的自由空间的最大范围)。

2        global_costmap_params.yanl(全局规划配置文件):用来存储配置全局代价地图的参数。

3        local_costmap_params.yaml(本地规划配置文件):存储本地代价地图的配置参数。

        在turtlebot中,还有dwa_local_planner的文件,也用来局部规划,这个路径规划文件对于具有合理加速度机器人是较好的。总体的流程图我们可认为是:


  导航包使用TF来确定机器人在地图中的位置,并将传感器数据与静态地图相关联。然而,TF不提供关于机器人的速度的任何信息。因此,导航包要求任何里程源都通过ROS发布TF变换和nav_msgs/Odometry消息。

        关于global_planner和local_planner的关系图,如下:


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容