在DWA(Dynamic Window Approach)参数配置中,尽管 max_vel_x
设置为 1.50,但是仿真中机器人的速度依然很慢。这种情况是由多种因素引起的。以下是一些原因及解决方案:
-
加速度限制 (
acc_lim_x
):- 虽然
max_vel_x
设置较高,但如果acc_lim_x
设置较低,机器人可能无法迅速达到最大速度。 - 建议:尝试增加
acc_lim_x
的值。例如,将其设置为 3.0 或更高,具体取决于你的机器人动力学性能。
- 虽然
-
模拟时间 (
sim_time
):sim_time
定义了在DWA规划中模拟的时间长度。如果时间太短,机器人可能不会加速到最大速度。- 建议:尝试增加
sim_time
的值,例如从 2.0 增加到 3.0。
-
轨迹评分参数 (
path_distance_bias
和goal_distance_bias
):path_distance_bias
和goal_distance_bias
影响机器人路径选择时对速度的偏好。较高的path_distance_bias
可能会导致机器人选择更慢的路径以保持与路径的贴合。- 建议:尝试调整这两个参数。例如,减少
path_distance_bias
,增加goal_distance_bias
。
-
控制频率 (
controller_frequency
):- 控制频率决定了DWA控制器发送控制指令的频率。如果频率太低,控制效果可能不够精细,影响速度。
- 建议:确保
controller_frequency
设置在合理的范围内。10.0Hz 通常是合理的,但可以尝试增加到 20.0Hz。
-
障碍物距离评分 (
occdist_scale
):occdist_scale
决定了机器人在避障时的谨慎程度。较高的值会导致机器人更早地减速以避免障碍物。- 建议:尝试减小
occdist_scale
的值。例如,从 0.8 降低到 0.5。
-
起始速度 (
scaling_speed
) 和最大缩放因子 (max_scaling_factor
):scaling_speed
和max_scaling_factor
影响机器人的启动速度和加速效果。- 建议:尝试增加
scaling_speed
和max_scaling_factor
的值。例如,将scaling_speed
设置为 1.0,将max_scaling_factor
设置为 1.0。
-
全向机器人参数 (
holonomic_robot
):- 如果你的机器人是全向机器人(可以在任意方向上移动),需要确保
holonomic_robot
参数设置正确。如果不是全向机器人,应该设置为false
。 - 建议:根据你的机器人类型,确保
holonomic_robot
参数设置正确。
- 如果你的机器人是全向机器人(可以在任意方向上移动),需要确保
DWAPlannerROS:
# Robot Configuration Parameters - Kobuki
max_vel_x: 1.50
min_vel_x: -0.50
max_vel_y: 0.00
min_vel_y: -0.00
max_vel_trans: 0.50
min_vel_trans: 0.01
max_vel_theta: 1.2
min_vel_theta: -1.0
acc_lim_x: 3.0 # Increased acceleration limit
acc_lim_theta: 2.53
acc_lim_y: 1.0
xy_goal_tolerance: 0.55
yaw_goal_tolerance: 0.7
latch_xy_goal_tolerance: false
# Forward Simulation Parameters
sim_time: 3.0 # Increased simulation time
vx_samples: 18
vy_samples: 18
vth_samples: 20
sim_granularity: 0.05
controller_frequency: 20.0 # Increased controller frequency
# Trajectory Scoring Parameters
path_distance_bias: 10.0 # Decreased path distance bias
goal_distance_bias: 10.0 # Increased goal distance bias
occdist_scale: 0.5 # Decreased obstacle distance scale
forward_point_distance: 0.325
stop_time_buffer: 0.2
scaling_speed: 1.0 # Increased scaling speed
max_scaling_factor: 1.0 # Increased max scaling factor
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.05
# Debugging
publish_traj_pc: true
publish_cost_grid_pc: true
# Differential-drive robot configuration
holonomic_robot: false # Set according to your robot type
参数2
DWAPlannerROS:
# Robot Configurtion Parameters - Kobuki
max_vel_x: 1.50 # 0.30 0.20 # x方向最大速度绝对值
min_vel_x: 0.10 # 0.10 # x方向最小值绝对值 负值表示可以后退
max_vel_y: 0.30 # 0.30
min_vel_y: 0.00 #-0.00
max_vel_theta: 3.2 # 3.35 # 旋转角速度绝对值
min_vel_theta: -3.2 # -1.0
acc_lim_x: 5.5 # 2.5 # x方向加速度绝对值
acc_lim_theta: 2.53 # 2.53 # [2.30, 2.55]
acc_lim_y: 0.0 # 在当前参数下决定是否可以规划路径
# max_trans_vel: 1.0
xy_goal_tolerance: 0.55 # 0.1 # 到达目标点时的距离允许误差
yaw_goal_tolerance: 0.7 # 0.2 # 到达目标点时的距离允许误差
latch_xy_goal_tolerance: false # true: 到达容错距离内,机器人会原地旋转
# Forward Simulation Parameters
sim_time: 2.0 # 2.0
vx_samples: 18 # x方向速度空间的采样点数
vy_samples: 18
vth_samples: 20
sim_granularity: 0.05
controller_frequency: 10.0 # 向底盘发送移动控制指令的频率
planner_frequency: 0.01
# Trajectory Scoring Parameters
path_distance_bias: 15 # 15.0 # 定义控制器与给定路经接近程度的权重
goal_distance_bias: 5.0 # 5.0 # 定义控制器与局部目标点的接近程度的权重
occdist_scale: 0.4 # 0.8 # 定义控制器躲避障碍物的程度 数值越大拐弯与障碍物距离越大
forward_point_distance: 0.325 #
stop_time_buffer: 0.2 # 为防止碰撞机器人提前停止的时间缓冲区
scaling_speed: 0.5 # 0.25 # 启动机器人底盘的速度
max_scaling_factor: 0.2 # 最大缩放参数
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.05 # 机器人移动多远距离会重置震荡标记
# Debugging
publish_traj_pc : true
publish_cost_grid_pc: true
# Differential-drive robot configuration - necessary?
holonomic_robot: false
参数3拐弯可行
DWAPlannerROS:
# Robot Configuration Parameters - Kobuki
max_vel_x: 1.50 # x方向最大速度绝对值
min_vel_x: 0.50 # x方向最小值绝对值 负值表示可以后退
max_vel_theta: 1.2 # 旋转角速度绝对值
min_vel_theta: -1.0
min_in_place_vel_theta: 1.0
acc_lim_x: 3.0 # x方向加速度绝对值
acc_lim_theta: 0.6 # [2.30, 2.55]
acc_lim_y: 0 # 在当前参数下决定是否可以规划路径
xy_goal_tolerance: 0.55 # 到达目标点时的距离允许误差
yaw_goal_tolerance: 0.7 # 到达目标点时的距离允许误差
latch_xy_goal_tolerance: false # true:到达容错距离内,机器人会原地旋转
# Forward Simulation Parameters
sim_time: 3.0 # 2.0
vx_samples: 18 # x方向速度空间的采样点数
vth_samples: 20
sim_granularity: 0.05
controller_frequency: 10.0 # 向底盘发送移动控制指令的频率
planner_frequency: 10.0 # movebase以0.1Hz规划一次新路径
# Trajectory Scoring Parameters
path_distance_bias: 15 # 定义控制器与给定路经接近程度的权重
goal_distance_bias: 15.0 # 定义控制器与局部目标点的接近程度的权重
occdist_scale: 0.5 # 定义控制器躲避障碍物的程度 数值越大拐弯与障碍物距离越大
forward_point_distance: 0.325
stop_time_buffer: 0.2 # 为防止碰撞机器人提前停止的时间缓冲区
scaling_speed: 0.5 # 启动机器人底盘的速度
max_scaling_factor: 0.2 # 最大缩放参数
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.05 # 机器人移动多远距离会重置震荡标记
# Debugging
publish_traj_pc: true
publish_cost_grid_pc: true
# Differential-drive robot configuration - necessary?
holonomic_robot: false