ROS RRT RRTstar的实现
本文是将RRT算法和RRTstar算法应用到ROS里作为全局路径规划使用。
RRT算法原理:
RRTstar树枝修剪原理:
原理是将生成随机点qrand,找到树上最临近点qnearest(point2),会根据步长预先生成一个qnew,在以
qnew为中心生成一个半径为R的圆,在圆里找到点半径小于R的点(每个点有相应的cost,cost代表他从根节点到当前点的代价),如果dist(point1,qnew)+cost(point1)<cost(point2)+dist(point1,qnew),则qnew的父节点就为point1,如果dist(point2,qnew)+cost(qnew)<cost(point2),则更改point2的父节点为qnew。
基于ROS的仿真
这是RRT的
这是RRTstar的
ROS源码:https://github.com/longjianquan/path-planning (注释:里面有个srcrrt 是我备用的,要用这个包时就改为src)
使用方法 先修改 ros里的一个包, turtlebot_navigation/launch/move_base.launch.xml 里
添加一行<param name="base_global_planner" value="rrt_plan/rrt_planner"> 就可以了
roslaunch turtlebot_stage turtlebot_in_stage.launch 就行了
--------------------------------------------------------------------分割线-----------------------------------------------------------------------------------
经过贝塞尔曲线拟合
github源码:https://github.com/longjianquan/add--planner
下载下来命名为src替换上文那个主文件夹里的src,就可以了。
================分割线================================
基于OMPL开发:https://blog.csdn.net/ljq31446/article/details/79899172