• 基于RRT的机器人自主探索建图


    一、方法讲解:

        本项目分为三个部分:机器人周围一定范围内基于RRT的全局检测,

                                           根据上一步检测的未知区域点执行sklearn.cluster.MeanShift聚类,获取聚类中心;

                                           根据聚类中心计算各点增益,取最大增益点为目标,调用move_base规划路径和控制机器人行走。

               

    二、各部分详解:

             2.1 基于RRT的全局检测:检测未知区域点并发布

                       以机器人为中心,激光采样范围为半径的正方形区域内,采用RRT算法计算未知区域点:如果RRT计算的某点在要计算的地图范围内,并且该点在地图内的状态为空闲区域点,则将该点加入RRT树;如果该点在地图的状态为未知状态区域,则该点不加入RRT树,并将该点发布出去;

            2.2 根据上一步检测的未知区域点执行sklearn.cluster.MeanShift聚类,获取聚类中心:

                    该部分订阅全局检测的未知区域点,并利用MeanShift算法获取聚类中心;

           2.3 根据聚类中心计算各点增益,取最大增益点为目标,调用move_base规划路径和控制行走。

                  根据设定的信息半径,和上一步的聚类中心,结合聚类中心离机器人的距离,计算各个聚类中心的信息增益,然后取信息增益最大的点作为目标点,调用move_base来向该点移动;新的聚类中心和增益不停被计算,因此在运动过程中目标点可能会改变,或者因为移动地图中原来的目标点变为空闲区域,则新的目标点会被计算。

       

    三、效果展示:

           建图算法采用gmapping,激光角度220度.,激光范围14米。

           蓝色线:全局RRT树;

           绿色点:地图状态未知区域点

           绿色线:move_base全局规划

           紫色线:机器人移动轨迹。

    例一:

     

     例二、

     

    仿真环境下:左下角、底部及右下角图建歪了。

    仿真模型大小:70米*64米

     

  • 相关阅读:
    CSS3 3D的总结(初学者易懂)
    BAT面试算法精品课直通BAT面试算法精品课购买优惠码-牛客网
    深度学习UFLDL老教程笔记1 稀疏自编码器Ⅱ
    深度学习UFLDL老教程笔记1 稀疏自编码器Ⅰ
    算法分析之函数渐近分析
    调用WebServices报错,请求“System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败。
    很久之前写的 ,突然想放上去
    ASP.NET Core – Web API 冷知识
    ASP.NET Core C# 反射 & 表达式树 (第三篇)
    ASP.NET Core C# 反射 & 表达式树 (第二篇)
  • 原文地址:https://www.cnblogs.com/serser/p/8136073.html
Copyright © 2020-2023  润新知