当前位置:网站首页 > 探索 > ROS仿真笔记之——基于rrt_exploration的单个机器人自主探索建图

ROS仿真笔记之——基于rrt_exploration的单个机器人自主探索建图

ROS仿真笔记之——基于rrt_exploration的单个机器人自主探索建图文章浏览阅读4.7k次,点赞9次,收藏89次。

之前博文已经介绍过机器人exploration以及多机器人SLAM map merage《ROS学习笔记之——多机器人探索环境》《ROS仿真笔记之——基于gazebo的多机器人探索环境仿真》《ROS仿真笔记之——多移动机器人SLAM地图融合》《ROS仿真笔记之——移动机器人自主探索式地图构建》之前的都是基于功能包()

目录

原理

该包的基本原理是,基于2D的,通常采用图像算法的边缘检测来检测已知区域与未知区域的边界。基于Rapidly-exploring Random Trees的探索策略。由于RRT基本上是朝向未知区域的(unexplored and unvisited),并且RRT可以扩展到更高维区域。同时采用local tree与global tree来检查边缘点,使得机器人的exploration更加高效。

一旦检测到边缘后,就会取其中心为目标点,然后让机器人去探索该点。而为了检测边缘点,需要对整张地图进行处理,而这个操作通常是耗时的,为此大量的研究人员focus在检测frontier edges的效率上。

本包中,RRT树只是用于search边缘点,而检测到的边缘点经过滤波就会依次安排给机器人。当机器人接收到point时,就会运动到对应的点。在此期间,机器人上的传感器将会扫描建图。

而通过多个独立的RRT树来加速边缘点的检测,则是本包的创新点。

如下图所示,主要分为三个模块。

而本包还需要与SLAM及path planning模块相结合来使用

关于global与local detector。如下图所示。当检测到一个边界点时,local detector会reset,并且会基于机器人当前的位置重新生长。这带来两个好处:1、检测边界点更快。因为机器人总是会向着边界点移动,而如果RRT树从机器人当前的位置开始,那么它到达未知区域的概率更高。2、机器人可能会miss掉一些地图上边角的小的边界点,而为了解决这个问题,就通过global detector。但随着地图的变大,global detector会越来越慢(或者说,随着树的变大,exploration会变慢),为此需要local detector

而关于assigner,其基于以下几个要素来分配机器人导航的目标点:

仿真

而本博文基于rrt_exploration包来进行仿真。网上也有大把基于此包的博客。但是本人实现时都无法跑动(可能是版本的原因?老显示tf无法链)为此,更改了原包的机器人模型为turtlebot3 waffle并且调了一些路径规划的参数,终于调出来了,效果如下视频所示~

single kobuki robot slam based on rrt

单机器人自主探索建图

单机器人自主探索建图(1)

换成kobuki模型效果好很多~

运行命令:

roslaunch rrt_exploration_tutorials single_simulated_house.launch
roslaunch rrt_exploration single.launch 

注意要保证move base的开启

single_simulated_house.launch
















 





move_baseSafe.launch



  
  
   
  
  

    
  
   
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
   
    
    
    
    
    
    
     
    
    
    
    
    
    
    
    
    
      
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
    
    
    
    
    
   
   
    
    
    
    
    
    
    
    

robot.launch.xml



  
  
  
  
    
  
  
  
  
  
 
   
   
   
   
   

single.launch






  
  
  
  
  
  
  
  
  
  
 
  
  
  
   
   
  
   
  
  
  
  
  
  
  
   
   
   
   
   
  
  
  
  
  
  

实验

实验效果及视频如下:

(experiment) single kobuki robot slam based on rrt

参考资料

上一篇: 教育期刊课程教育研究投稿
下一篇: 我校在第十二届全国体育科学大会投稿录用再创历史新高

为您推荐

发表评论