Robot cant avoid obstacal
hi , i am trying to apply the navigation stack on my robot every thing work great ; from building the map to moving on the map. When i apply the path planning it find the gold without any problem if there is no additional obstacle ( this mean no new obstacle) it will move to the goal without any problem. But if i add any new obstacle dynamic or static it will not avoid it and no inflation layer occur on this obstacle. I don't know why this happen ? so if there is no inflation layer on the obstacle it will not avoid it.But at the same time the inflation layer is worked good in the original obstacle, is there any way to make the inflation layer dynamic? for the information, i am using ROS indigo and i will add all my parameter for u hopeful this will help to solve my problem:
edit : solved the problem was between the static transformation between base link and camera , it was 0 for z plane so the robot assume that the camera is in the same plane as the base link so no avoiding will occur in this case sorry for the stupide question.
first cost map common parameter:
robot_radius: 0.24
obstacle_range: 2.5
raytrace_range: 3.0
#max_obstacle_height: 0.6
observation_sources: scan
scan:
data_type: LaserScan
topic: scan
marking: true
clearing: true
min_obstacle_height: 0.1
# max_obstacle_height: 0.35
map_type: costmap
#obstacle_layer:
# enabled: true
#origin_z: 0.0
#z_resolution: 0.2
#z_voxels: 2
#unknown_threshold: 15
#mark_threshold: 0
#combination_method: 1
# track_unknown_space: true #true needed for disabling global path planning through unknown space
#cost_scaling_factor and inflation_radius were now moved to the inflation_layer ns
#inflation_layer:
# enabled: true
# cost_scaling_factor: 10.0 # exponential rate at which the obstacle cost drops off (default: 10)
inflation_radius: 0.5 # max. distance from an obstacle at which costs are incurred for planning paths.
#static_layer:
#enabled: true
base local planner:
TrajectoryPlannerROS:
max_vel_x: 0.3
min_vel_x: 0.1
max_vel_y: 0.0
min_vel_y: 0.0
max_vel_theta: 0.5
min_vel_theta: -0.5
min_in_place_vel_theta: 0.4
escape_vel: -0.1
acc_lim_theta: 0.4
acc_lim_x: 1.0
acc_lim_y: 0.0
yaw_goal_tolerance: 0.2
xy_goal_tolerance: 0.2
sim_time: 3.0
vx_samples: 20
vtheta_samples: 30
holonomic_robot: false
meter_scoring: false
dwa: false
pdist_scale: 1.0
gdist_scale: 0.8
occdist_scale: 0.01
publish_cost_grid_pc: true
global cost map:
global_costmap:
global_frame: /map
robot_base_frame: /base_link
update_frequency: 1.0
publish_frequency: 0.5
static_map: true
transform_tolerance: 0.5
global planner param:
GlobalPlanner: # Also see: http://wiki.ros.org/global_planner
old_navfn_behavior: false # Exactly mirror behavior of navfn, use defaults for other boolean parameters, default false
use_quadratic: true # Use the quadratic approximation of the potential. Otherwise, use a simpler calculation, default true
use_dijkstra: true # Use dijkstra's algorithm. Otherwise, A*, default true
use_grid_path: false # Create a path that follows the grid boundaries. Otherwise, use a gradient descent method, default false
allow_unknown: true # Allow planner to plan through unknown space, default true
#Needs to have track_unknown_space: true in the obstacle / voxel layer (in costmap_commons_param) to work
planner_window_x: 0.0 # default 0.0 ...
If you found the solution yourself, could you please answer your own question?
If this is a duplicate (and the answer is provided in some other question), then please provide a link to that other question.
i add an edit for the solution in the same question so every one can see the solution I cant reopen the question again to answer my question sorry
Just re-opened it for you.