Hi there,
I have recently added move base for the navigation and I have two sensors for navigation, 2D lidar and ultrasonic sensor.
Here is my `common_costmap_params`:
obstacle_range : 2.5
raytrace_range : 3.0
#robot_radius: 0.3
footprint: [[0.3, 0.15], [0.3,-0.15], [-0.3, -0.15], [-0.3, 0.15]]
footprint_padding: 0.1
inflation_radius: 1.0
cost_scaling_factor: 3.0
My `local_costmap_params`:
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 10.0
publish_frequency: 10.0
transform_tolerance: 0.5
static_map: false
rolling_window: true # Follow robot while navigating
width: 3.0
height: 3.0
resolution: 0.2
plugins:
- {name: sonar_layer, type: "range_sensor_layer::RangeSensorLayer"}
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
#Configuration for the sensors that the costmap will use to update a map
sonar_layer:
topics: ["/sonar"]
no_readings_timeout: 1.0
obstacle_layer:
observation_sources: base_scan
base_scan: {data_type: LaserScan, sensor_frame: laser_link, topic: /laser, expected_update_rate: 0.4,
observation_persistence: 0.0, marking: true, clearing: true}
My `global_costmap_params`:
global_costmap:
global_frame: map
robot_base_frame: base_link
update_frequency: 10.0
publish_frequency: 10.0
transform_tolerance: 0.5
static_map: true
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: sonar_layer, type: "range_sensor_layer::RangeSensorLayer"}
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
#Configuration for the sensors that the costmap will use to update a map
sonar_layer:
topics: ["/sonar"]
no_readings_timeout: 1.0
obstacle_layer:
observation_sources: base_scan
base_scan: {data_type: LaserScan, sensor_frame: laser_link, topic: /laser, expected_update_rate: 0.4,
observation_persistence: 0.0, marking: true, clearing: true}
My `move_base_params`:
shutdown_costmaps: false
controller_frequency: 10.0
planner_patience: 5.0
controller_patience: 15.0
conservative_reset_dist: 3.0
planner_frequency: 5.0
oscillation_timeout: 10.0
oscillation_distance: 0.2
And finally my `dwa_local_planner_params` :
DWAPlannerROS:
# Robot Configuration Parameters
max_vel_x: 0.26
min_vel_x: -0.26
max_vel_y: 0.0
min_vel_y: 0.0
# The velocity when robot is moving in a straight line
max_trans_vel: 0.26
min_trans_vel: 0.13
max_rot_vel: 1.82
min_rot_vel: 0.9
acc_lim_x: 2.5
acc_lim_y: 0.0
acc_lim_theta: 3.2
# Goal Tolerance Parametes
xy_goal_tolerance: 0.05
yaw_goal_tolerance: 0.17
latch_xy_goal_tolerance: false
# Forward Simulation Parameters
sim_time: 2.0
vx_samples: 20
vy_samples: 0
vtheta_samples: 40
controller_frequency: 10.0
# Trajectory Scoring Parameters
path_distance_bias: 32.0
goal_distance_bias: 20.0
occdist_scale: 0.02
forward_point_distance: 0.325
stop_time_buffer: 0.2
scaling_speed: 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
However, when I run ros and try to use navigation I get this strange error:
[ WARN] [1543259912.224847610, 33.540000000]: Rotate recovery behavior started.
[ERROR] [1543259912.225066653, 33.540000000]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00
[ WARN] [1543259917.436186721, 38.740000000]: Clearing costmap to unstuck robot (1.840000m).
What am I doing wrong here?
↧