0
$\begingroup$

Rosanswers logo

Hi Roboticists,

Here is video, I'm using dwa_local_planner and it confuses at near to goal position. Especially, when goal point's X and footprint center's X are close, it confuses.

Changed /move_base/base_local_planner/dwa_local_planner's logger level from Info to Debug and now, rqt_console says something at struggling:

...
Velocity -0.600, 0.000, 0.189 discarded by cost function  0 with cost: -5.000000
Velocity -0.600, 0.000, 0.063 discarded by cost function  0 with cost: -5.000000
Evaluated 62 trajectories, found 32 valid
Velocity 0.600, 0.000, 1.200 discarded by cost function  0 with cost: -5.000000
Velocity 0.600, 0.000, 1.074 discarded by cost function  0 with cost: -5.000000
Velocity 0.600, 0.000, 0.947 discarded by cost function  0 with cost: -5.000000
Velocity 0.600, 0.000, 0.821 discarded by cost function  0 with cost: -5.000000
...

Here is new video.

Changed use_dwa parameter to false and now, only latest struggling on the end of the path (at very close to goal) problem solved.

At struggling, I'm tuning path and goal distance parameters and robot is surviving from that point. And also tuning acceleration and velocity parameters on stuck point can survive robot.

I've replaced footprint to square but the result didn't change. Here is dwa_local_planner's parameters:

DWAPlannerROS:
  # Robot Configuration Parameters
  acc_lim_x: 10.0 # (double, default: 2.5) The x acceleration limit of the robot in meters/sec^2
  acc_lim_y: 0.0 # (double, default: 2.5)
  acc_lim_theta: 20.0 # (double, default: 3.2)
  acc_limit_trans: 1.0 # 
  max_trans_vel: 0.6 # (double, default: 0.55)
  min_trans_vel: 0.02 # (double, default: 0.1)
  trans_stopped_vel: 0.02 # 
  rot_stopped_vel: 0.02 # 
  max_vel_x: 0.6 # (double, default: 0.55)
  min_vel_x: -0.6 # (double, default: 0.0)
  max_vel_y: 0.0 # (double, default: 0.1)
  min_vel_y: 0.0 # (double, default: -0.1)
  max_rot_vel: 1.2 # (double, default: 1.0)
  min_rot_vel: 0.02 # (double, default: 0.4)
  # Goal Tolerance Parameters
  yaw_goal_tolerance: 0.01 # (double, default: 0.05) 
  xy_goal_tolerance: 0.07 # (double, default: 0.10)
  latch_xy_goal_tolerance: false # (bool, default: false)
  # Forward Simulation Parameters
  sim_time: 0.5
  sim_granularity: 0.05
  angular_sim_granularity: 0.05
  vx_samples: 3 # (integer, default: 3)
  vy_samples: 1 # (integer, default: 10)
  vtheta_samples: 20 # (integer, default: 20)
  # controller_frequency: 10.0 # (double, default: 20.0)
  # Trajectory Scoring Parameters
  path_distance_bias: 32.0 # (double, default: 32.0)
  goal_distance_bias: 24.0 # (double, default: 24.0)
  occdist_scale: 0.01 # (double, default: 0.01)
  # pdist_scale: 0.75  
  # gdist_scale: 0.8 
  forward_point_distance: 0.0 # 2.0 # 0.325 
  stop_time_buffer: 0.2 # (double, default: 0.2)
  scaling_speed: 0.25 # (double, default: 0.25)
  max_scaling_factor: 0.2 # (double, default: 0.2) 
  use_dwa: true
  #Oscillation Prevention Parameters
  oscillation_reset_dist: 0.05 # (double, default: 0.05)
  oscillation_reset_angle: 0.05 # 
  prune_plan: false # (bool, default: true) 
TrajectoryPlannerROS:
  yaw_goal_tolerance: 0.01
  acc_lim_th: 10.0
  max_rotational_vel: 1.2
  min_in_place_rotational_vel: 0.02
  holonomic_robot: false
  meter_scoring: true

Thank you.

UPDATE5: removed screenhots, Shortened question, added new temporary solution (only for some cases).


Originally posted by Orhan on ROS Answers with karma: 856 on 2016-03-11

Post score: 1


Original comments

Comment by Orhan on 2016-03-15:
Any answer / response / help will be appreciated.

Comment by DavidN on 2016-03-17:
you can try to increase oscillation_reset_dist and/or oscillation_reset_angle

Comment by Orhan on 2016-03-17:
Thank you bro but increasing or decreasing this parameters doesn't make sense, I've tried this before :/

Comment by DavidN on 2016-03-17:
Can you visualize the costmap via rviz and post a screenshot here? I usually had the same problem if the local goal was at 90 degrees compared to robot orientation.

Comment by Orhan on 2016-03-17:
I'm adding screenshots with different costmap parameters. If you usually had the same problem, please upvote and follow question for more visitors.

Comment by ahendrix on 2016-03-17:
Setting latch_xy_goal_tolerance will keep it from doing anything other than rotating in place once it reaches the goal.

Comment by ahendrix on 2016-03-17:
Might also want to try increasing the forward_point_distance and/or adjusting the scaling_speed.

Comment by Orhan on 2016-03-17:
Thank you Sir. I've just tried all combinations of your suggestions. But not worked, only sometimes rescuing from stuck. And I can recover robot from stuck point via adjusting path-goal distance parameters. But it rescuing with lazy parameters and needs changing these parameters dynamically.

Comment by al-dev on 2016-03-20:
I notice that you set TrajectoryPlannerROS/min_in_place_rotational_vel to a negative value in your config file. I am looking through the code but I believe it should be a positive value specifying the absolute minimum velocity regardless of the direction of the turn. Try commenting it.

Comment by Orhan on 2016-03-21:
Dear @al-dev, I decreased this parameter to 0.02, But not helped for this problem, however, This change may be good after solving problem, Thank you!

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

After 12 days and 13 question revisions, finally, I found solution when I was poking rqt_reconfigure :)

~planner_frequency (double, default: 0.0)

The rate in Hz at which to run the global planning loop. If the frequency is set to 0.0, the global planner will only run when a new goal is received or the local planner reports that its path is blocked. New in navigation 1.6.0

Changed /move_base/planner_frequency from 0.0 to 10.0.

Now It doesn't stuck with its new plan. But I think It's still an issue.


Originally posted by Orhan with karma: 856 on 2016-03-23

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.