ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS Navigation: Robot doesn't move, rotates and fails to get a plan

asked 2021-05-05 03:00:18 -0500

Werewolf_86 gravatar image

Made a simple custom robot in simulation, tuned navigation params (by going through the tuning guide by Kaiyu Zheng). When giving 2d nav goal via rviz, the global planner plans path good. But, the robot doesn't move. And after executing the recovery behaviour (in place rotation), it moves in circles with increasing velocities until collision and then fails to get a plan.

My config files are as follows:

DWA Planner Params

DWAPlannerROS:

# Robot Configuration Parameters - Kobuki
  max_vel_x: 0.25  # 0.55
  min_vel_x: 0.05 

  max_vel_y: 0.0  # diff drive robot
  min_vel_y: 0.0  # diff drive robot

  max_trans_vel: 0.25 # choose slightly less than the base's capability
  min_trans_vel: 0.1  # this is the min trans velocity when there is negligible rotational velocity
  trans_stopped_vel: 0.1

  # Warning!
  #   do not set min_trans_vel to 0.0 otherwise dwa will always think translational velocities
  #   are non-negligible and small in place rotational velocities will be created.

  max_rot_vel: 0.5  # choose slightly less than the base's capability
  min_rot_vel: 0.1  # this is the min angular velocity when there is negligible translational velocity
  rot_stopped_vel: 0.4

  acc_lim_x: 0.5 # maximum is theoretically 2.0, but we 
  acc_lim_theta: 1.0
  acc_lim_y: 0.0      # diff drive robot

# Goal Tolerance Parameters
  yaw_goal_tolerance: 0.05  # 0.05
  xy_goal_tolerance: 0.10  # 0.10
  latch_xy_goal_tolerance: false

# Forward Simulation Parameters
  sim_time: 4.0       # 1.7
  sim_granularity: 0.025 # default 0.025
  vx_samples: 20       # 3
  vy_samples: 0       # diff drive robot
  vtheta_samples: 40  # 20

# Trajectory Scoring Parameters
  path_distance_bias: 32.0      # 32.0   - weighting for how much it should stick to the global path plan
  goal_distance_bias: 20.0      # 24.0   - wighting for how much it should attempt to reach its goal
  occdist_scale: 0.02            # 0.01   - weighting for how much the controller should avoid obstacles
  forward_point_distance: 0.325 # 0.325  - how far along to place an additional scoring point
  stop_time_buffer: 0.2         # 0.2    - amount of time a robot must stop in before colliding for a valid traj.
  scaling_speed: 0.25           # 0.25   - absolute velocity at which to start scaling the robot's footprint
  max_scaling_factor: 0.2       # 0.2    - how much to scale the robot's footprint when at speed.

# Oscillation Prevention Parameters
  oscillation_reset_dist: 0.05  # 0.05   - how far to travel before resetting oscillation flags

# Debugging
  publish_traj_pc : true
  publish_cost_grid_pc: true
  global_frame_id: odom


# Differential-drive robot configuration - necessary?
#  holonomic_robot: false

Local Cost Map Params

local_costmap:
  update_frequency: 5
  publish_frequency: 5
  transform_tolerance: 0.25
  static_map: false
  rolling_window: true
  width: 3
  height: 3
  resolution: 0.05
  inflation_radius: 1.75
  cost_scaling_factor: 2.58

Costmap Common Params

obstacle_range: 3.0
raytrace_range: 3.5
robot_radius: 0.25
map_topic: /map
subscribe_to_update: true
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser_link, data_type: LaserScan, topic: scan, marking: true , clearing: true }
global_frame: map
robot_base_frame: base_footprint
always_send_full_costmap: true

Global Costmap Params

global_costmap:
  update_frequency: 2.5
  publish_frequency: 2.5
  transform_tolerance: 0.5
  static_map: true
  rolling_window: true
  width: 15
  height: 15
  resolution: 0.05
  inflation_radius: 1.75
  cost_scaling_factor: 2.58

This is the link to the video of robot

Thanks and regards

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-05-05 09:01:14 -0500

miura gravatar image

Probably because you are not using the staticmap layer, we expect that the area that should be able to run is not free, but unknown.

track_unknown_space: true

to the cost map setting may help.

Reference: https://answers.ros.org/question/3641...

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2021-05-05 03:00:18 -0500

Seen: 454 times

Last updated: May 05 '21