# 更新规划进程的频率，每秒多少次
controller_frequency: 2.0 #down from 10.0
recovery_behavior_enabled: false
clearing_rotation_allowed: false

TrajectoryPlannerROS:
    max_vel_x: 0.2    # 最大线速度
    min_vel_x: 0.1    # 最小线速度
    # 以下对于两轮差分驱动机器人是无效的
    max_vel_y: 0.0  # zero for a differential drive robot
    min_vel_y: 0.0
    # 机器人最大转动速度，单位是rad/s
    max_vel_theta: 1.0
    # 机器人最小转动速度，单位是rad/s
    min_vel_theta: -1.0
    # 机器人最小原地旋转速度
    min_in_place_vel_theta: 0.1
    # 逃离速, 即背向相反方向行走速度，单位是m/s
    escape_vel: -0.1
    # 在x方向上最大的线加速度，单位是m/s^2
    acc_lim_x: 1
    # 在y方向上最大的线加速度，单位是m/s^2
    acc_lim_y: 0.0  # zero for a differential drive robot
    # 最大角加速度
    acc_lim_theta: 1
    # 除非拥有一个全方位的机器人，否则设置为false 
    holonomic_robot: false
    # 接近目标方向（就弧度来说）允许的误差（rad）, 此值太小会造成机器人在目标附近震荡
    yaw_goal_tolerance: 0.2 # about 6 degrees
    # 接近目标允许的误差（m），此值设置太小，机器人会没完没了在目标位置周围做小调整，而且此值不能小于地图的分辨率 
    xy_goal_tolerance: 0.10
    # 
    latch_xy_goal_tolerance: false
    # pdist_scale表示紧贴全局路径比到达目标的相对重要性，如果此值比gdist_scale大，那么机器人会更紧靠全局路径行走
    pdist_scale: 0.8
    # gdist_scale表示到达目标比紧靠全局路径的相对重要性，如果此值比pdist_scale大，那么机器人会采取任意路径优先到达目标
    gdist_scale: 0.4
    # meter_scoring表示gdist_scale和pdist_scale参数是否假设goal_distance和path_distance以米或者单元来表达
    meter_scoring: true
    
    heading_lookahead: 0.325
    heading_scoring: false
    heading_scoring_timestep: 0.8
    # occdist_scale表示控制器尝试避开障碍物的权重
    occdist_scale: 0.05
    oscillation_reset_dist: 0.05
    publish_cost_grid_pc: false
    prune_plan: true
    # sim_time表示规划器能看到未来多少秒 
    sim_time: 2.0
    sim_granularity: 0.05
    angular_sim_granularity: 0.1
    vx_samples: 8
    vy_samples: 0  # zero for a differential drive robot
    vtheta_samples: 20
    # dwa表示当模拟轨迹走向未来，是否使用动态窗口法
    dwa: true
    simple_attractor: false
