Turtlebot 2e 导航之 move_base
参数详解: 全局规划器的参数设置
文章目录
全局规划器的设置
一般来说,全局路径的规划插件包括:
navfn:ROS
:比较旧的代码实现了dijkstra和A*全局规划算法。global_planner
:重新实现了Dijkstra和A*全局规划算法,可以看作navfn的改进版。parrot_planner
:一种简单的算法实现全局路径规划算法。
global_planner_params
GlobalPlanner: # Also see: http://wiki.ros.org/global_planner
old_navfn_behavior: false # Exactly mirror behavior of navfn, use defaults for other boolean parameters, default false
# 若在某些情况下,想让global_planner完全复制navfn的功能,那就设置为true,但是需要注意navfn是非常旧的ROS系统中使用的,现在已经都用global_planner代替navfn了,所以不建议设置为true.
use_quadratic: true # Use the quadratic approximation of the potential. Otherwise, use a simpler calculation, default true
# 设置为true,将使用二次函数近似函数,否则使用更加简单的计算方式,这样节省硬件计算资源。默认值为true
use_dijkstra: true # Use dijkstra's algorithm. Otherwise, A*, default true
#采用dijkstra算法?设置为true采用dijkstra算法;设置为false将采用A*算法。默认:true
use_grid_path: false # Create a path that follows the grid boundaries. Otherwise, use a gradient descent method, default false
# 如果设置为true,则会规划一条沿着网格边界的路径,偏向于直线穿越网格,否则将使用梯度下降算法,路径更为光滑点.默认:false(梯度下降)
# 效果对比请参看《ROS导航功能调优指南》
allow_unknown: true # Allow planner to plan through unknown space, default true
#Needs to have track_unknown_space: true in the obstacle / voxel layer (in costmap_commons_param) to work
#指定是否允许路径规划器在未知空间创建路径规划。
#注意:如果使用带有体素或障碍层的分层costmap_2d costmap,还必须将该层的track_unknown_space参数设置为true,否则会将所有未知空间转换为可用空间。
#解析:该参数指定是否允许规划器规划穿过未知区域的路径,只设计该参数为true还不行,还要在costmap_commons_params.yaml中设置track_unknown_space参数也为true才行
planner_window_x: 0.0 # default 0.0
#指定可选窗口的x大小以限定规划器工作空间。其有利于限定路径规划器在大型代价地图的小窗口下工作
planner_window_y: 0.0 # default 0.0
#指定可选窗口的y大小以限定规划器工作空间。其有利于限定路径规划器在大型代价地图的小窗口下工作
default_tolerance: 0.0 # If goal in obstacle, plan to the closest point in radius default_tolerance, default 0.0
#当设置的目的地被障碍物占据时,需要以该参数为半径寻找到最近的点作为新目的地点。默认值为0.0
publish_scale: 100 # Scale by which the published potential gets multiplied, default 100
# 将发布的potential的点乘以scale以计算探测的点,计算公式为:
# grid.data[i] = potential_array_[i] * publish_scale_ / max,计算的大小就是1-99,全部都是算法探测到的点
# https://blog.csdn.net/qq_41906592/article/details/89185808
planner_costmap_publish_frequency: 0.0 # default 0.0
#规划器代价图发布频率,默认0.0HZ
lethal_cost: 253 # default 253
# 致命代价值,默认是设置为253,可以动态来配置该参数.
neutral_cost: 50 # default 50
#中等代价值,默认设置是50,可以动态配置该参数.
cost_factor: 3.0 # Factor to multiply each cost from costmap by, default 3.0
# 代价地图与每个代价值相乘的因子.默认值为3.0
publish_potential: true # Publish Potential Costmap (this is not like the navfn pointcloud2 potential), default true
# 是否发布costmap的势函数.
navfn_global_planner_params.yaml
NavfnROS:
visualize_potential: false #Publish potential for rviz as pointcloud2, not really helpful, default false
#指定是否通过PointCloud2来可视化由navfn计算的潜在区域。实际作用不大,默认值为false
allow_unknown: false #Specifies whether or not to allow navfn to create plans that traverse unknown space, default true
#Needs to have track_unknown_space: true in the obstacle / voxel layer (in costmap_commons_param) to work
# 指定是否允许navfn在unknown空间创建路径规划。
#注意:如果你使用带有体素或障碍层的分层 costmap_2d 代价地图,那么需将该图层的track_unknown_space参数设置为true,否则所有未知空间将转换为自由空间(which navfn will then happily go right through)。
planner_window_x: 0.0 #Specifies the x size of an optional window to restrict the planner to, default 0.0
#指定可选窗口的x大小以限定规划器工作空间。其有利于限定NavFn在大型代价地图的小窗口下工作
planner_window_y: 0.0 #Specifies the y size of an optional window to restrict the planner to, default 0.0
#指定可选窗口的y大小以限定规划器工作空间。其有利于限定NavFn在大型代价地图的小窗口下工作
default_tolerance: 0.0 #If the goal is in an obstacle, the planer will plan to the nearest point in the radius of default_tolerance, default 0.0
#The area is always searched, so could be slow for big values
#定义路径规划器目标点的公差范围。NavFn将试图创建尽可能接近指定目标的路径规划,但不会超过 default_tolerance