ROS RRT RRTstar的实现

本文是将RRT算法和RRTstar算法应用到ROS里作为全局路径规划使用。

RRT算法原理:

ROS RRT RRTstar的实现

ROS RRT RRTstar的实现

ROS RRT RRTstar的实现

RRTstar树枝修剪原理:

ROS RRT RRTstar的实现


ROS 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的仿真

ROS RRT RRTstar的实现

这是RRT的

ROS RRT RRTstar的实现ROS RRT RRTstar的实现

这是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    就行了

--------------------------------------------------------------------分割线-----------------------------------------------------------------------------------

经过贝塞尔曲线拟合

ROS RRT RRTstar的实现

ROS RRT RRTstar的实现


github源码:https://github.com/longjianquan/add--planner

下载下来命名为src替换上文那个主文件夹里的src,就可以了。

================分割线================================

基于OMPL开发:https://blog.csdn.net/ljq31446/article/details/79899172