当前位置:   article > 正文

移动机器人DWA算法参数调整注意问题_forward simulation parameters

forward simulation parameters
  1. DWAPlannerROS:
  2. # Robot Configurtion Parameters - Kobuki
  3. max_vel_x: 0.30 # 0.25 0.20 # x方向最大速度绝对值
  4. min_vel_x: 0.10 # -0.20 # x方向最小值绝对值 负值表示可以后退
  5. max_vel_y: 0.30 # 0.20
  6. min_vel_y: -0.00 #-0.20 -0.1
  7. max_vel_trans: 0.50 # 平移速度最大值绝对值 0.50
  8. min_vel_trans: 0.15
  9. max_vel_theta: 1.0 # 1.6 # 旋转角速度绝对值
  10. min_vel_theta: -1.0 # 0.6
  11. acc_lim_x: 0.8 # 2.5 # x方向加速度绝对值
  12. acc_lim_theta: 0.6
  13. acc_lim_y: 1.0 # 在当前参数下决定是否可以规划路径
  14. # max_trans_vel: 1.0
  15. xy_goal_tolerance: 0.1 # 0.1 # 到达目标点时的距离允许误差
  16. yaw_goal_tolerance: 0.1 # 0.2 # 到达目标点时的距离允许误差
  17. latch_xy_goal_tolerance: false # true: 到达容错距离内,机器人会原地旋转
  18. # Forward Simulation Parameters
  19. sim_time: 2.0 # 2.0
  20. vx_samples: 18 # x方向速度空间的采样点数
  21. vy_samples: 18
  22. vth_samples: 20
  23. sim_granularity: 0.05
  24. controller_frequency: 10.0 # 向底盘发送移动控制指令的频率
  25. # Trajectory Scoring Parameters
  26. path_distance_bias: 15 # 24 # 定义控制器与给定路经接近程度的权重
  27. goal_distance_bias: 5.0 # 12 # 定义控制器与局部目标点的接近程度的权重
  28. occdist_scale: 0.3 # 0.3 # 定义控制器躲避障碍物的程度
  29. forward_point_distance: 0.325 #
  30. stop_time_buffer: 0.2 # 为防止碰撞机器人提前停止的时间缓冲区
  31. scaling_speed: 0.5 # 0.25 # 启动机器人底盘的速度
  32. max_scaling_factor: 0.2 # 最大缩放参数
  33. # Oscillation Prevention Parameters
  34. oscillation_reset_dist: 0.05 # 机器人移动多远距离会重置震荡标记
  35. # Debugging
  36. publish_traj_pc : true
  37. publish_cost_grid_pc: true
  38. # Differential-drive robot configuration - necessary?
  39. holonomic_robot: true

1.在当前参数下acc_lim_y的大小决定了机器人是否可以前进,如果min_vel_y过大,那么acc_lim_y需要设置的小一些才可以启动

!!!但是拐弯处无法正常拐弯,会卡死在膨胀地图中!!!

经观察发现,可能是旋转角速度和旋转角加速度过小,导致转弯不及时

2.尝试增大max_vel_theta 和 acc_lim_theta 

到max_vel_theta  = 3.0, acc_lim_theta  = 2.0 发现可以正常过弯略微减小最好应该在2.8和1.8

!!!关于旋转角速度 补充说明 如果增大acc_lim_x,说明车直线行驶速度会增加,应再次增大对应旋转速度max_vel_theta 和 acc_lim_theta 以达到让车在高直线速度的情况下拐弯更为及时!!!

!!!当前直线移动速度过慢尝试提高acc_lim_x!!!

3.当前occdist_scale 数值为0.3 拐弯时与障碍物距离过近 ,增大数值到0.8,发现拐弯时与障碍物距离增大,方法可行

4.三者速度相辅相成,可以自行更改,体验更深刻

  1. DWAPlannerROS:
  2. # Robot Configurtion Parameters - Kobuki
  3. max_vel_x: 0.30 # 0.30 0.20 # x方向最大速度绝对值
  4. min_vel_x: -0.10 # 0.10 # x方向最小值绝对值 负值表示可以后退
  5. max_vel_y: 0.30 # 0.30
  6. min_vel_y: -0.00 #-0.00
  7. max_vel_trans: 0.50 # 平移速度最大值绝对值 0.50
  8. min_vel_trans: 0.15
  9. max_vel_theta: 3.20 # 3.35 # 旋转角速度绝对值
  10. min_vel_theta: -1.0 # -1.0
  11. acc_lim_x: 2.5 # 2.5 # x方向加速度绝对值
  12. acc_lim_theta: 2.53 # 2.30
  13. acc_lim_y: 1.0 # 在当前参数下决定是否可以规划路径
  14. # max_trans_vel: 1.0
  15. xy_goal_tolerance: 0.1 # 0.1 # 到达目标点时的距离允许误差
  16. yaw_goal_tolerance: 0.1 # 0.2 # 到达目标点时的距离允许误差
  17. latch_xy_goal_tolerance: false # true: 到达容错距离内,机器人会原地旋转
  18. # Forward Simulation Parameters
  19. sim_time: 2.0 # 2.0
  20. vx_samples: 18 # x方向速度空间的采样点数
  21. vy_samples: 18
  22. vth_samples: 20
  23. sim_granularity: 0.05
  24. controller_frequency: 10.0 # 向底盘发送移动控制指令的频率
  25. # Trajectory Scoring Parameters
  26. path_distance_bias: 15 # 15.0 # 定义控制器与给定路经接近程度的权重
  27. goal_distance_bias: 5.0 # 5.0 # 定义控制器与局部目标点的接近程度的权重
  28. occdist_scale: 0.8 # 0.3 # 定义控制器躲避障碍物的程度 数值越大拐弯与障碍物距离越大
  29. forward_point_distance: 0.325 #
  30. stop_time_buffer: 0.2 # 为防止碰撞机器人提前停止的时间缓冲区
  31. scaling_speed: 0.5 # 0.25 # 启动机器人底盘的速度
  32. max_scaling_factor: 0.2 # 最大缩放参数
  33. # Oscillation Prevention Parameters
  34. oscillation_reset_dist: 0.05 # 机器人移动多远距离会重置震荡标记
  35. # Debugging
  36. publish_traj_pc : true
  37. publish_cost_grid_pc: true
  38. # Differential-drive robot configuration - necessary?
  39. holonomic_robot: true

1.max_vel_theta 的数值不影响转弯移动速度 无法重新返回

2.将min_vel_x改为负值后机器人拐弯出现延迟,且转弯半径缩小,在此基础上缩小min_vel_y查看情况

有改进但改进效果不明显

3.针对转弯时移动速度过慢,增大acc_lim_theta值到3.20 观察转弯速度明显提高,原地转圈速度明显提高,但转弯时与障碍物距离过近,尝试增大occdist_scale到1.2, 第一次增大还是小了再次增大到1.6

4.增大occdist_scale影响不大,增大acc_lim_x影响也不大,尝试调小acc_lim_theta到3.35

5.最终还原回第二次代码,在第二次代码基础上增大acc_lim_theta到2.53

  1. DWAPlannerROS:
  2. # Robot Configurtion Parameters - Kobuki
  3. max_vel_x: 0.30 # 0.30 0.20 # x方向最大速度绝对值
  4. min_vel_x: -0.30 # 0.10 # x方向最小值绝对值 负值表示可以后退
  5. max_vel_y: 0.30 # 0.30
  6. min_vel_y: -0.00 #-0.00
  7. max_vel_trans: 0.50 # 平移速度最大值绝对值 0.50
  8. min_vel_trans: 0.01
  9. max_vel_theta: 3.2 # 3.35 # 旋转角速度绝对值
  10. min_vel_theta: -1.0 # -1.0
  11. acc_lim_x: 2.5 # 2.5 # x方向加速度绝对值
  12. acc_lim_theta: 2.53 # 2.53 # [2.30, 2.55]
  13. acc_lim_y: 1.0 # 在当前参数下决定是否可以规划路径
  14. # max_trans_vel: 1.0
  15. xy_goal_tolerance: 0.1 # 0.1 # 到达目标点时的距离允许误差
  16. yaw_goal_tolerance: 0.1 # 0.2 # 到达目标点时的距离允许误差
  17. latch_xy_goal_tolerance: false # true: 到达容错距离内,机器人会原地旋转
  18. # Forward Simulation Parameters
  19. sim_time: 2.0 # 2.0
  20. vx_samples: 18 # x方向速度空间的采样点数
  21. vy_samples: 18
  22. vth_samples: 20
  23. sim_granularity: 0.05
  24. controller_frequency: 10.0 # 向底盘发送移动控制指令的频率
  25. # Trajectory Scoring Parameters
  26. path_distance_bias: 15 # 15.0 # 定义控制器与给定路经接近程度的权重
  27. goal_distance_bias: 5.0 # 5.0 # 定义控制器与局部目标点的接近程度的权重
  28. occdist_scale: 0.8 # 0.3 # 定义控制器躲避障碍物的程度 数值越大拐弯与障碍物距离越大
  29. forward_point_distance: 0.325 #
  30. stop_time_buffer: 0.2 # 为防止碰撞机器人提前停止的时间缓冲区
  31. scaling_speed: 0.5 # 0.25 # 启动机器人底盘的速度
  32. max_scaling_factor: 0.2 # 最大缩放参数
  33. # Oscillation Prevention Parameters
  34. oscillation_reset_dist: 0.05 # 机器人移动多远距离会重置震荡标记
  35. # Debugging
  36. publish_traj_pc : true
  37. publish_cost_grid_pc: true
  38. # Differential-drive robot configuration - necessary?
  39. holonomic_robot: true

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/415878
推荐阅读
相关标签
  

闽ICP备14008679号