Ask Your Question

notinuse's profile - activity

2019-08-01 16:41:19 -0500 received badge  Student (source)
2019-08-01 16:35:26 -0500 received badge  Teacher (source)
2019-08-01 16:35:26 -0500 received badge  Self-Learner (source)
2019-05-20 01:47:50 -0500 marked best answer min_obstacle_height for obstacle costmap

image description

This is my urdf xacrp for mounting and rotating the lidar

<!-- Vertical Lidar Left-->
<xacro:hokuyo_utm30lx name="vert_left_laser" parent="lidar_block1" ros_topic="left_scan"
                      update_rate="5" ray_count="100" min_angle="-90" max_angle="90" >
   <origin xyz="${0} ${0.090/2} ${lblength}" rpy="-1.5708 0 0" />
</xacro:hokuyo_utm30lx>

My common costmap params for the vertical layer.

vertical_obstacle_layer:
  enabled: true
  obstacle_range: 5.0
  raytrace_range: 30.0
  max_obstacle_height: 1.0
  min_obstacle_height: 0.1
  inflation_radius: 0.5
  observation_sources: laser_scan_sensor
  laser_scan_sensor: {sensor_frame: vert_left_laser_frame, data_type: LaserScan, topic: left_scan, marking: true, clearing: true, inf_is_valid: true}

My local costmap params.

local_costmap:
  global_frame: /odom
  robot_base_frame: base_footprint
  update_frequency: 3.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
  transform_tolerance: 5.0
  plugins:
    - {name: vertical_obstacle_layer,      type: "costmap_2d::VoxelLayer"}
    - {name: inflation_layer,     type: "costmap_2d::InflationLayer"}

As you can see in the picture, the floor that being scanned by the laser get inserted as obstacle to the costmap. I have already set the parameters of max_obstacle_height to 1.0 and min_obstacle_height to 0.1. I wanted to add the obstacle only when it is above ground level and is within 5m range. What could possibly goes wrong here?

2018-02-19 10:31:24 -0500 received badge  Famous Question (source)
2018-01-03 23:58:36 -0500 received badge  Commentator
2018-01-03 23:58:36 -0500 commented question Obstacle avoidance in move_base package

I'm looking into the global & local planner code to check whether they take robot model and robot orientation into a

2018-01-03 23:49:14 -0500 commented question Obstacle avoidance in move_base package

No I still haven't figure out a proper way to prevent the collision, except setting fake huge footprint which eventually

2017-11-22 07:27:29 -0500 received badge  Popular Question (source)
2017-11-13 18:16:40 -0500 received badge  Notable Question (source)
2017-11-12 19:56:25 -0500 commented question min_obstacle_height for obstacle costmap

I will open another thread to discuss when i am able to at least try out some method first.

2017-11-12 19:54:40 -0500 commented question min_obstacle_height for obstacle costmap

For now, i created my own plugin which always use a new voxelgrid on every vertical scan. This is bad as it "forgets" th

2017-11-12 19:39:24 -0500 commented question min_obstacle_height for obstacle costmap

I dont think VoxelCostmapPlugin is suitable for vertical lidar. I think VoxelCostmapPlugin is only intended for horizont

2017-11-12 19:25:55 -0500 commented question min_obstacle_height for obstacle costmap

Setting the min_obstacle_height under sensor parameter will eliminates those obstacle on the ground plane. The purpose o

2017-11-12 19:11:38 -0500 answered a question min_obstacle_height for obstacle costmap

min_obstacle_height parameter have to be set under sensor namespace. ~<name>/<source_name>/min_obstacle_he

2017-11-12 14:32:05 -0500 received badge  Popular Question (source)
2017-11-06 20:22:37 -0500 commented question Reach closer position to goal with obstacle in the middle

Have you found any solution/workaround for this problem yet?

2017-10-26 19:40:44 -0500 edited question min_obstacle_height for obstacle costmap

min_obstacle_height for obstacle costmap This is my urdf xacrp for mounting and rotating the lidar <!-- Vertical L

2017-10-26 19:25:06 -0500 commented question min_obstacle_height for obstacle costmap

Anyway i think my question is similar with https://answers.ros.org/question/257276/min_obstacle_height-seems-ignored-in-

2017-10-26 19:23:48 -0500 commented question min_obstacle_height for obstacle costmap

Yes i am sure it is the laser. This was because my robot odom is drifting a little in gazebo. I uploaded a new one to pr

2017-10-26 19:20:58 -0500 edited question min_obstacle_height for obstacle costmap

min_obstacle_height for obstacle costmap This is my urdf xacrp for mounting and rotating the lidar <!-- Vertical L

2017-10-25 22:31:51 -0500 commented question min_obstacle_height seems ignored in costmap_2d with laserscan pointcloud

Hi, have you found any solution for this? I am facing the same problem that the floor is always marked as an obstacle.

2017-10-25 22:31:02 -0500 asked a question min_obstacle_height for obstacle costmap

min_obstacle_height for obstacle costmap My robot has a vertical lidar mounted as shown below. This is my urdf xacrp

2017-10-23 02:04:52 -0500 received badge  Famous Question (source)
2017-10-18 21:26:28 -0500 asked a question DWAPlannerROS obstacle avoidance

DWAPlannerROS obstacle avoidance DWAPlannerROS is able to plan a path to avoid the new obstacle infront but it is moving

2017-10-18 21:05:09 -0500 marked best answer Obstacle avoidance in move_base package

I am using DWAPlannerRos and GlobalPlanner for move_base navigation package. It is able to navigate to goal. I have set the inflation radius of obstacle layer and inflation layer of costmap to be 1.0. I suppose when the robot footprint enter the obstacle region, the navigation stack should stop the robot to prevent collision but it didn't happen. Whyy?

image description

Image above shows my local costmap (/move_base/local_costmap/costmap). Green color polygon is the robot footprint. I define the robot footprint larger than the robot's model for testing and visualizing purpose.

my movebase launch file:

<launch>
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <param name="base_global_planner" value="global_planner/GlobalPlanner"/>
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS"/>
    <param name="controller_frequency" value="10"/>
    <rosparam file="$(find erobot)/config/common_costmap_params.yaml" command="load" ns="local_costmap"/>
    <rosparam file="$(find erobot)/config/common_costmap_params.yaml" command="load" ns="global_costmap"/>
    <rosparam file="$(find erobot)/config/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find erobot)/config/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find erobot)/config/custom_planner_params.yaml" command="load" />
    <remap from="cmd_vel" to="erobot_controller/cmd_vel"/>
    <remap from="odom" to="erobot_controller/odom"/>
  </node>

</launch>

common costmap yaml:

#footprint: [[0.275, 0.375], [-0.275, 0.375], [-0.275, -0.375], [0.275, -0.375]]
footprint: [[0.5, 0.5], [-0.5, 0.5], [-0.5, -0.5], [0.5, -0.5]]
robot_radius: 0.5

transform_tolerance: 0.4

obstacle_layer:
  enabled: true
  obstacle_range: 2.5
  raytrace_range: 3.0
  max_obstacle_height: 2.0
  min_obstacle_height: -2.0
  inflation_radius: 1.00
  observation_sources: laser_scan_sensor
  laser_scan_sensor: {sensor_frame: front_laser_frame, data_type: LaserScan, topic: front_scan, marking: true, clearing: true}

inflation_layer:
  enabled:              true
  cost_scaling_factor:  5.0  # exponential rate at which the obstacle cost drops off (default: 10)
  inflation_radius:     1.0  # max. distance from an obstacle at which costs are incurred for planning paths.

global costmap yaml:

global_costmap:
  global_frame: /map
  robot_base_frame: base_footprint
  update_frequency: 3.0
  static_map: true
  transform_tolerance: 5.0
  plugins:
     - {name: static_layer,            type: "costmap_2d::StaticLayer"}
     - {name: obstacle_layer,          type: "costmap_2d::VoxelLayer"}
     - {name: inflation_layer,         type: "costmap_2d::InflationLayer"}

local costmap yaml:

local_costmap:
  global_frame: /odom
  robot_base_frame: base_footprint
  update_frequency: 3.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
  transform_tolerance: 5.0
  plugins:
    - {name: obstacle_layer,      type: "costmap_2d::VoxelLayer"}
    - {name: inflation_layer,     type: "costmap_2d::InflationLayer"}
2017-10-18 21:05:09 -0500 received badge  Scholar (source)
2017-10-18 21:05:06 -0500 received badge  Supporter (source)
2017-10-16 12:12:56 -0500 received badge  Notable Question (source)
2017-10-15 18:28:08 -0500 received badge  Popular Question (source)
2017-10-14 03:48:51 -0500 asked a question Obstacle avoidance in move_base package

Obstacle avoidance in move_base package I am using DWAPlannerRos and GlobalPlanner for move_base navigation package. It

2017-10-11 05:32:54 -0500 received badge  Notable Question (source)
2017-10-08 23:12:57 -0500 received badge  Popular Question (source)
2017-10-08 19:32:54 -0500 edited question AMCL with slow odom publish rate

AMCL with slow odom publish rate I am able to navigate the robot to move around in Gazebo with move_base package in rviz

2017-10-06 03:02:28 -0500 edited question AMCL with slow odom publish rate

AMCL with slow odom publish rate I am able to navigate the robot to move around in Gazebo with move_base package in rviz

2017-10-06 02:20:08 -0500 answered a question InsertModelFile("model://sun")

Check that you have Sun model in "/home/.gazebo/models". (.gazebo is hidden folder) Else you can get them from http://m

2017-10-06 02:13:49 -0500 edited question AMCL with slow odom publish rate

AMCL with slow odom publish rate I am able to navigate the robot to move around in Gazebo with move_base package in rviz

2017-10-06 02:13:27 -0500 asked a question AMCL with slow odom publish rate

AMCL with slow odom publish rate I am able to navigate the robot to move around in Gazebo with move_base package in rviz

2017-09-27 03:22:55 -0500 asked a question Does mechanicalReduction tag affect the velocity command?

Does mechanicalReduction tag affect the velocity command? According to ros_control wiki, For a simple mechanical reduce

2017-09-26 09:31:36 -0500 received badge  Popular Question (source)
2017-09-26 04:09:46 -0500 edited question Advice on receiving command and executing command

Advice on receiving command and executing command My application are receiving multiple commands(tcp) from a server. Ex

2017-09-26 04:09:44 -0500 edited question Advice on receiving command and executing command

Advice on receiving command and executing command My application are receiving multiple commands(tcp) from a server. Ex

2017-09-26 04:09:44 -0500 received badge  Editor (source)
2017-09-26 04:09:18 -0500 edited question Advice on receiving command and executing command

Advice on receiving command and executing command My application are receiving multiple commands(tcp) from a server. Ex

2017-09-26 00:36:58 -0500 received badge  Enthusiast
2017-09-26 00:36:58 -0500 received badge  Enthusiast
2017-09-25 21:10:27 -0500 asked a question Advice on receiving command and executing command

Advice on receiving command and executing command My application are receiving multiple commands(tcp) from a server. Ex

2017-09-25 00:50:38 -0500 asked a question shutdown python simpleactionserver

shutdown python simpleactionserver I have created a simpleactionserver using the actionlib.SimpleActionServer class. ht