前言

SBPL全称Search-Based Planning Library,为机器人导航提供基于搜索的全局路径规划方式,目前ROS提供了sbpl-lattice-planner的注册插件,专门将SBPL中部分算法与ROS中的move_base结合,为global_planner提供了更多的可选方案,目前可供使用的全局规划方法主要是ARA* 算法.

安装

目前ROS为indigo版本提供了SBPL功能包,通过以下命令安装:

sudo apt-get update
sudo apt-get install ros-indigo-sbpl

其他ROS版本可尝试以下命令安装:

sudo apt-get install ros-<版本>-sbpl

然后安装sbpl-lattice-planner插件

sudo apt-get install ros-indigo-sbpl-lattice-planner

安装完之后即可使用

运行stage仿真sbpl全局规划示例

首先安装fake-localization

sudo apt-get install ros-indigo-fake-localization 

安装move_base

sudo apt-get install ros-indigo-move-base

sbpl_tattice_planner下载安装之后可以在/opt/ros/indigo/share/sbpl_lattice_planner/launch中看到move_base_sbpl_fake_localization_2.5cm.launch文件,这个文件就是示例程序的启动文件,运行它:

roslaunch sbpl_lattice_planner move_base_sbpl_fake_localization_2.5cm.launch 

可以看见如下仿真场景:

SBPL在ROS下的安装和使用

在该环境下即可测试ARA* 算法的导航效果.

在/opt/ros/indigo/share/sbpl_lattice_planner/launch/move_base/sbpl_global_params.yaml中可以修改路径规划算法的配置参数:

SBPLLatticePlanner:
  environment_type: XYThetaLattice
  planner_type: ARAPlanner
  allocated_time: 5.0
  initial_epsilon: 3.0
  forward_search: true

environment_type是算法规划出路径的类型,XYThetaLattice规划出的路径为[x,y,theta],plannertype可在ARA* 和AD* 中选取,allocated_time是规划次数,initial_epsilon是第一次执行Weighted A* 算法时的膨胀系数,这个系数会在后来的规划中减小,直到为1算法结束,forward_search可设置为true或false,为bool值.

相关文章:

  • 2022-12-23
  • 2021-12-10
  • 2021-07-30
  • 2021-12-22
  • 2021-08-30
  • 2021-05-22
  • 2021-09-04
  • 2022-02-01
猜你喜欢
  • 2021-10-07
  • 2022-12-23
  • 2021-09-03
  • 2021-11-11
  • 2021-08-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案