Robotics StackExchange | Archived questions

my robot collid with wall

My robot model colliding every time I give 2d goal in move base . A’M using ubuntu16.04 ,ros kinetic ,tab local planner , 4 wheel skid steering plug for odmetry. Yaml file are specified bellow I attached also video here https://youtu.be/_Hb5NQ6FWlo

teb local planner
TebLocalPlannerROS:

  #odom_topic: odom
  #map_frame: /odom

  teb_autosize: True
  dt_ref: 0.3
  dt_hysteresis: 0.03
  global_plan_overwrite_orientation: True
  max_global_plan_lookahead_dist: 1.0
  feasibility_check_no_poses: 1

  max_vel_x: -0.8
  max_vel_x_backwards: -0.2
  max_vel_y: 0.0
  max_vel_theta: 0.4


  wheelbase: 0.0
  acc_lim_x: 0.01
  acc_lim_y: 0.00
  acc_lim_theta: 0.02

  footprint_model: # types: "point", "circular", "two_circles", "line", "polygon"
  type: "polygon"
  radius: 0.85 #
  vertices: [ [-0.6, -0.85], [-0.6, 0.85], [0.6, 0.85], [0.6, -0.85] ]

  # GoalTolerance
  xy_goal_tolerance: 0.2
  yaw_goal_tolerance: 0.1
  free_goal_vel: False

  # Obstacles
  min_obstacle_dist: 0.5
  include_costmap_obstacles: True
  costmap_obstacles_behind_robot_dist: 1.0
  obstacle_poses_affected: 10
  costmap_converter_spin_thread: True
  costmap_converter_rate: 10
  inflation_dist: 0.8
  dynamic_obstacle_inflation_dist: 0.6
  obstacle_association_force_inclusion_factor: 2.0
  obstacle_association_cutoff_factor: 4.0

  costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH"
  costmap_converter_spin_thread: True
  costmap_converter_rate: 5
  costmap_converter/CostmapToPolygonsDBSMCCH:
    cluster_max_distance: 0.4
    cluster_min_pts: 2
    cluster_max_pts: 30
    convex_hull_min_pt_separation: 0.1

local_costmap:
   global_frame: odom
   robot_base_frame: base_footprint
   update_frequency: 5
   publish_frequency: 2
   width: 5.5
   height: 5.5
   origin_x: 0.0
   origin_y: 0.0


   resolution: 0.02
   static_map: false
   rolling_window: true

plugins:
  - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
  - {name: inflation_layer, type: "costmap_2d::InflationLayer"}

global_costmap:
   global_frame: /map
   robot_base_frame: base_link
   update_frequency: 10
   publish_frequency: 10
   resolution: 0.06
   static_map: true
   rolling_window: false
map_type: costmap
global_frame: /map
robot_base_frame: base_link
obstacle_range: 10
raytrace_range: 12

footprint: [ [-0.6, -0.85], [-0.6, 0.85], [0.6, 0.85], [0.6, -0.85] ]

transform_tolerance: 0.3

robot_radius: 0.85
inflation_radius: 0.85

observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: Empty_lidar, data_type: LaserScan, topic: /scan, marking: true, clearing: true}

Asked by abraham on 2019-04-24 14:55:50 UTC

Comments

Answers

Your robot seems to turn and react very slowly, and that seems to be preventing it from following the path well.

It looks like your acceleration limits are set very low:

acc_lim_x: 0.01
acc_lim_y: 0.00
acc_lim_theta: 0.02

I would try tuning your acceleration limits so that they more closely match what your robot can do.

Asked by ahendrix on 2019-04-24 15:48:43 UTC

Comments

OK thanks i will try that and see what happens , but why is the robot is colliding with the wall ,how can i fix it

Asked by abraham on 2019-04-24 16:25:35 UTC

His comment is trying to tell you that it hits the wall because turning limit is set so low that move_base essentially con't control it. I do not know if he is correct or not, but that is what he is saying.

Asked by billy on 2019-04-24 17:42:12 UTC

sir i change the value you mentioned above its not helping ?

Asked by abraham on 2019-04-26 16:27:31 UTC

It seems like your robot is not tracking path well. The path leads away from the wall, but move_base is not able to follow it and hits the wall. Adjusting acceleration should allow better path tracking, but there may be other fields you need to adjust too.

Asked by ahendrix on 2019-04-26 19:57:52 UTC

@abraham Hi,bro,I have the same question with you. I have a car-like robot with skid_steer_controll but I don't know how to set the params with teb_local_planner. Have you solved the problem?

Asked by Liudy on 2019-12-08 23:04:30 UTC

hi, you can use the above setting by only changing the footprint , topic and frame names of your robot. The problem was gazebo update and other settings, you can easly chalk your systems changing parameters of gazebo update rate, teb, global planner, using rqt graph by using the command "rosrun rqt configuration rqt configuration" . To understand more about the values you chalk out Ros wiki

Asked by abraham on 2019-12-09 07:21:31 UTC

@abraham Thank you so much bro, I will try it by your advice.

Asked by Liudy on 2019-12-10 01:35:50 UTC