DWA参数调整2

在DWA(Dynamic Window Approach)参数配置中,尽管 max_vel_x 设置为 1.50,但是仿真中机器人的速度依然很慢。这种情况是由多种因素引起的。以下是一些原因及解决方案:

  1. 加速度限制 (acc_lim_x)

    • 虽然 max_vel_x 设置较高,但如果 acc_lim_x 设置较低,机器人可能无法迅速达到最大速度。
    • 建议:尝试增加 acc_lim_x 的值。例如,将其设置为 3.0 或更高,具体取决于你的机器人动力学性能。
  2. 模拟时间 (sim_time)

    • sim_time 定义了在DWA规划中模拟的时间长度。如果时间太短,机器人可能不会加速到最大速度。
    • 建议:尝试增加 sim_time 的值,例如从 2.0 增加到 3.0。
  3. 轨迹评分参数 (path_distance_biasgoal_distance_bias)

    • path_distance_biasgoal_distance_bias 影响机器人路径选择时对速度的偏好。较高的 path_distance_bias 可能会导致机器人选择更慢的路径以保持与路径的贴合。
    • 建议:尝试调整这两个参数。例如,减少 path_distance_bias,增加 goal_distance_bias
  4. 控制频率 (controller_frequency)

    • 控制频率决定了DWA控制器发送控制指令的频率。如果频率太低,控制效果可能不够精细,影响速度。
    • 建议:确保 controller_frequency 设置在合理的范围内。10.0Hz 通常是合理的,但可以尝试增加到 20.0Hz。
  5. 障碍物距离评分 (occdist_scale)

    • occdist_scale 决定了机器人在避障时的谨慎程度。较高的值会导致机器人更早地减速以避免障碍物。
    • 建议:尝试减小 occdist_scale 的值。例如,从 0.8 降低到 0.5。
  6. 起始速度 (scaling_speed) 和最大缩放因子 (max_scaling_factor)

    • scaling_speedmax_scaling_factor 影响机器人的启动速度和加速效果。
    • 建议:尝试增加 scaling_speedmax_scaling_factor 的值。例如,将 scaling_speed 设置为 1.0,将 max_scaling_factor 设置为 1.0。
  7. 全向机器人参数 (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

机器人路径规划是指通过算法和策略确定机器人从起点到达目标点的路径。其中,DWA(Dynamic Window Approach,动态窗口方法)是一种常用的机器人路径规划算法。基于改进的DWA算法是在原有DWA算法的基础上进行优化和改进。 改进的DWA算法主要包括以下几个方面: 1. 动态窗口的调节:根据机器人的速度、加速度以及目标点的位置等因素,动态调整窗口的大小和形状,以适应不同的环境和机器人的运动能力。 2. 路径评估的指标:引入新的指标,如路径长度、路径平滑程度等,来评估路径的质量,并根据评估结果进行路径的选择。 3. 障碍物避让策略的改进:通过对障碍物的检测和预测,可以更加灵活和准确地避开障碍物,避免碰撞。 4. 路径跟踪的优化:对所选路径进行路径跟踪的优化,确保机器人能够稳定地按照路径进行运动。 基于改进的DWA算法的机器人路径规划在Matlab中的实现主要包括以下几个步骤: 1. 构建机器人模型:根据具体的机器人类型和运动模式,在Matlab中构建机器人的模型,包括速度、加速度等参数的表示。 2. 设置目标点和路径规划参数:确定机器人的起点和目标点,以及设置路径规划的相关参数,如窗口大小、指标权重等。 3. 障碍物检测和规划:通过传感器获取环境的障碍物数据,并进行障碍物检测和预测。根据障碍物的位置和运动状态,进行路径规划的优化。 4. 路径选择和跟踪:根据动态窗口方法和路径评估指标,选择最优路径,并进行路径跟踪的优化。控制机器人按照路径进行运动。 5. 仿真与评估:利用Matlab的仿真环境,模拟机器人在不同场景下的路径规划过程,并通过评估指标对优化前后的效果进行对比和评估。 通过以上步骤,基于改进的DWA算法的机器人路径规划可以在Matlab中实现,从而实现机器人的智能导航和路径规划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐凤年_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值