【路径规划】【附源码】Hybrid A*的C++实现

  • Post author:
  • Post category:其他


源码链接:

https://github.com/BorisVandermeer/Hybrid-A-Star

相较与参考仓库,将库抽离了ROS,并在app/node中实现了一个基本的规划Demo。更改碰撞计算为多圆模型。并且对Cost的计算也进行了一定的优化。并且取消了对Eigen库的依赖。用户可继承HybridAStar类,并且修改其中的虚函数以实现自己的Hybrid A Star 子类。本仓库相关的依赖只有Demo和Test中的OpenCV4。

git clone https://github.com/BorisVandermeer/Hybrid-A-Star.git
cd Hybrid-A-Star
mkdir build && cd build
cmake ..
make

# Run a demo

./build/node

用四次点击描述规划。第一次点击是选择起点位置,第二次是起点方向。第三次是终点位置,第四次是终点方向。

效果如下:

代码解析:

Maps部分实现了一个GridMap类,用于存储一个栅格地图。

Math部分实现的是状态点的描述、RS曲线的实现以及Spline插值函数和一条Spline插值曲线。

Models中描述了车辆的阿克曼运动学以及车辆的多圆碰撞模型。

Pathsearcher中则提供了一个Hybrid A*算法的实现,模拟车辆运动学进行扩展,并计算实际的CostG项,使用RS曲线的Cost计算启发项。



版权声明:本文为u011841848原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。