当前位置:   article > 正文

将改进A*算法作为全局路径规划器应用于ROS-mbot仿真环境_ros路径规划仿真

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

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

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

 打开vscode进行修改

在.cpp文件中添加 

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

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

 

编译文件 

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

内容为


 <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>

 最后修改package.xml文件(与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_planner_plugin.xml" />
  </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观察仿真现象

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/339212
推荐阅读
相关标签
  

闽ICP备14008679号