Turtlebot 2e 导航之 `move_base` 参数详解: 全局规划器的参数设置

Turtlebot 2e 导航之 move_base 参数详解: 全局规划器的参数设置

文章目录

  • Turtlebot 2e 导航之 `move_base` 参数详解: 全局规划器的参数设置
    • 全局规划器的设置
      • `global_planner_params`
      • `navfn_global_planner_params.yaml`

全局规划器的设置

一般来说,全局路径的规划插件包括:

  • 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

你可能感兴趣的:(ROS,Navigation,ROS激光SLAM导航)