• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图

人工智能 很不专业 1272次浏览 0个评论

仿真机器人加真实机器人功能包下载链接https://download.csdn.net/download/qq_42145185/11019965

  ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图   博主为了图方便,就直接使用了古月老师的仿真包了,博主先和自己的朋友先在真实的机器人上实现了这个功能,再在仿真上来实现了一下。   也可以先去zhangrelay老师的博客看看关于rrt的资料。   这里继续更新   这里先展示rrt建图的过程,下面再介绍rrt如何使用到我们自己的机器人上面   ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图 ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图 ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图   可以先去wiki上看看rrt的介绍,并先把demo跑起来,这样才能先确定你的依赖安装完成没有。 http://wiki.ros.org/rrt_exploration   这里就不介绍怎么去跑demo了   如果不会,可以去zhangrelay老师博客去搜索rrt,本人也是在张老师的博主里去了解到rrt的。   Github链接: – 软件包本身:https//github.com/hasauino/rrt_exploration – Gazebo模拟文件:https//github.com/hasauino/rrt_exploration_tutorials   去下载这两个源码包。   其实要让自己机器人用rrt_exploration的包,让rrt_里的话题发布到自己的机器人的节点上去,就可以实现了。  

rrt_exploration修改规则

一、single.launch

eta:此参数控制用于检测边界点的RRT的增长率,单位为米。 此参数应根据地图大小设置,非常大的值将使树生长得更快,从而更快地检测边界点,但是大的增长率也意味着树将缺少地图中的小角落。   把global_rrt_detector节点的maptopic的value改为/map 把local_rrt_detector节点的maptopic的value改为/map, robot_frame的value改为/base_link 把filter.py的maptopic的value改为/map, 把namespace改为<param name=”namespace” value=””/> 把assigner.py的maptopic的value改为/map, global_frame的value改为/map, namespace改为<param name=”namespace” value=””/>  

二、global_rrt_detector.cpp

把整篇出现的ns+都删掉 把所有的/robot_1删掉 84行的ns+”_shapes”改为”/local_detected_shapes”  

三、local_rrt_detector.cpp

把整篇出现的ns+都删掉 把所有的/robot_1删掉 第85行的ns+”_shapes”改为”/local_detected_shapes” 第96、97行的mapData.header.frame_id改为”/map” 整篇出现的map_topic改为”/map”, base_frame_topic改为”/base_link”  

四、assigner.py

整篇出现的map_topic改为”/map”, frontiers_topic改为”/filtered_points” 最后main下面的的 try: node() except rospy.ROSInterruptException: pass 改为node()  

五、functions.py

把整篇出现的ns+都删掉 把整篇出现的self.name+都删掉 把整篇出现的name+都删掉 把整篇出现的global_frame和self.global_frame都替换为’/map’ 37、38行的/move_base_node/NavfnROS/make_plan改为/move_base/NavfnROS/make_plan 删除functions.pyc  

六、filter.py

71行的namespace+str(i+namespace_init_count)+’/move_base_node/global_costmap/costmap’改为’/move_base/global_costmap/costmap’ 73行的’/move_base_node/global_costmap/costmap’改为’/move_base/global_costmap/costmap’ 88行的global_frame[1:], namespace+str(i+namespace_init_count)+’/base_link’改为’/map’, ‘/base_link’ 90行的global_frame[1:], ‘/base_link’改为’/map’, ‘/base_link’  

七、move_base配置文件修改

这里我们直接用我们下载的仿真包里的move_base的四个配置文件。 做一下简单的修改costmap_common_params.yaml里把13行的footprint注释掉。 把29行的sensor_frame: base_laser_link去掉,再把topic:/base_link改为/scan   最后注意:我们这里用的/base_link 是因为我们的机器人的基坐标系是/base_link 但是有的机器人的是/base_footprint 那你就把这个改过来就是了。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图
喜欢 (0)

您必须 登录 才能发表评论!

加载中……