<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Dear Eitan,<br>
<br>
Then the next question is: Who is stronger. The marking or the clearing
sensor? When my IR sees an obstacle and I set
observation_persistence=10 I would expect the obstacle to be in the
costmap for at least 10s. Or does the clearing sensor remove the
obstacle as soon as the dense point cloud is published? The same
question applies to the laser clearing IR readings.<br>
<br>
Regards<br>
Christian<br>
<br>
Am 26.07.2010 19:29, schrieb Eitan Marder-Eppstein:
<blockquote
 cite="mid:AANLkTikB8roEnv8g2xnMeEnc0rpK7-yumVf_ake16zVo@mail.gmail.com"
 type="cite">Christian,<br>
  <br>
The reason that your IR sensors do not clear out of the costmap is that
they are at a different height than the laser and you've chosen
(implicitly by not setting the "map_type" parameter) to use a 3D voxel
grid as your underlying map structure. So, the laser will never clear
out IR hits because it lies strictly above them. Your IR sensors can
clear out old hits, but with only 9 points to raytrace to... its quite
likely that many old hits will not be seen through and thus are not
safe to clear.<br>
  <br>
You have two options to clear these hits:<br>
  <br>
1) If you want your laser to be able to clear out hits from your IR
sensors once they are no longer observed, you could switch to the
"map_type" parameter to use "costmap": see <a moz-do-not-send="true"
 href="http://www.ros.org/wiki/costmap_2d#Map_type_parameters">http://www.ros.org/wiki/costmap_2d#Map_type_parameters</a>.
This will use a 2D representation of the world where everything is
assumed to be on the same plane.<br>
  <br>
2) You can continue using the 3D voxel grid and write your own sensor
that publishes a dense point cloud at the height of the IR sensors and
is only used for clearing. This sensor could publish the cloud at
whatever rate you want your IR hits to clear out.<br>
  <br>
Both of these options aren't strictly safe, consider the case where you
see an object with IR, move a little bit, clear that object out, don't
see it again, and hit it, but should probably help you do what you want.<br>
  <br>
Hope this helps,<br>
  <br>
Eitan<br>
  <br>
  <div class="gmail_quote">On Mon, Jul 26, 2010 at 6:34 AM, Christian
Verbeek <span dir="ltr"><<a moz-do-not-send="true"
 href="mailto:verbeek@servicerobotics.eu">verbeek@servicerobotics.eu</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear
all,<br>
    <br>
my robot is equipped with a laser rangefinder and 9 infrared distances<br>
sensors. The rangefinder is scanning at z=0.2 while the infrared sensors<br>
are scanning at z=0.05. So it absolutely makes sense to put the readings<br>
of the infrared sensors into the local costmap to avoid obstacles not<br>
seen by the rangefinder.<br>
    <br>
I publish a point cloud with 9 points in it (the distances read from the<br>
9 infrared sensors mapped to the base frame). The maximum range of the<br>
infrared sensors is 0.4m.<br>
    <br>
My costmap_common_params.yaml look like this<br>
    <br>
observation_sources: laser_scan_sensor ir_sensors<br>
    <br>
laser_scan_sensor: {sensor_frame: laser_link, data_type: LaserScan,<br>
topic: scan, marking: true, clearing: true}<br>
ir_sensors: {sensor_frame: base_link, data_type: PointCloud, topic:<br>
ir_sensors, marking: true, clearing: true, obstacle_range: 0.4,<br>
raytrace_range: 0.4, observation_persistence: 0.0 }<br>
    <br>
The obstacles detected by the infrared sensors are correctly put into<br>
the costmap. The problem is that the marker cells aren't cleared. So<br>
when I move around my robot the robot is surrounded by occupied cells<br>
and path planning does not work any more.<br>
    <br>
What can I do?<br>
    <br>
Regards<br>
Christian<br>
    <br>
    <br>
_______________________________________________<br>
ros-users mailing list<br>
    <a moz-do-not-send="true" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
    <a moz-do-not-send="true"
 href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
  </blockquote>
  </div>
  <br>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
ros-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>
<a class="moz-txt-link-freetext" href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a>
  </pre>
</blockquote>
<pre class="moz-signature" cols="72">
</pre>
</body>
</html>