ROS Navigation: Robot doesn't move, rotates and fails to get a plan
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