将改进A*算法作为全局路径规划器应用于ROS

阅读: 评论:0

将改进A*算法作为全局路径规划器应用于ROS

将改进A*算法作为全局路径规划器应用于ROS

首先创建ROS工作空间


mkdir -p demo_ws/src

cd demo_ws/src

catkin_init_workspace

cd ..

catkin_make

创建功能包,添加依赖


cd src

catkin_create_pkg better_astar_global_planner nav_core roscpp rospy std_msg

创建一个存放改进算法的功能包

将better_astar.cpp和better_astar.h文件放置功能包better_astar_global_planner中的src

要在全局路径规划中用自己的算法,就要先把算法写好:上面一个p文件和.h文件就是已经写好的算法

此处放置的就是自己用ROS和C++编写的全局路径规划C++代码

 打开vscode进行修改

在.cpp文件中添加 

PLUGINLIB_EXPORT_CLASS(BAstar_planner::BAstarPlannerROS, nav_core::BaseGlobalPlanner)

将功能包中src文件下的文件中的该部分修改

 

编译文件 

 在better_astar_global_planner文件下创建一个.xml描述文件来描述规划器,文件名字为better_astarglobal_l

内容为


 <library path="lib/libbetter_astar_global_planner_lib"> 
  <class name="BAstar_planner/BAstarPlannerROS," type="BAstar_planner::BAstarPlannerROS," base_class_type="nav_core::BaseGlobalPlanner">
    <description>This is a global planner plugin by iroboapp project.</description>
  </class>
 </library>

 最后修改l文件(与CMakeLists文件同目录)

修改内容为文件最下方的:

 <!-- The export tag contains other, unspecified, tags -->
  <export>
    <!-- Other tools can request additional information be placed here -->
      <nav_core plugin="${prefix}/better_astar_global_l" />
  </export>
</package>

 更新下环境变量

 将

 mbot_description

mbot_gazebo

mbot_navigation

三个文件放置进src文件下并且进行编译

找到

mbot_navigation下的move_base.launch文件

在其中添加代码 

  1. <!-- 加载自己写的全局规划器 -->

  2. <param name="base_global_planner" value="BAstar_planner/BAstarPlannerROS"/>

最后运行仿真功能包里面的launch文件来完成仿真

rivz中调用规划器来进行navigation

点击2D Nav Goal观察仿真现象

本文发布于:2024-01-30 03:15:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170655573918838.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:应用于   全局   算法   路径   ROS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23