Ask Your Question
0

Probability occupancy grid with Turtlebot's Gmapping?

asked 2018-04-28 10:02:27 -0600

OperationCrossbow gravatar image

Kinetic, Ubuntu 16.04

Turtlebot3 using Gmapping

Gmapping uses a threshold to turn its maps into a binary map of cells that have either 'occupied' or 'free' (or 'unknown'). However, I need to use the probabilistic occupancy grid map with its full range of values. I've looked around the code, and previous answers

The problem is that I don't have a gmapping package; I have a turtlebot3 package. I can't find code where it applies the treshold to a probability map to turn it into a binary map. I just have files like:

<launch>
  <!-- Turtlebot3 -->
  <include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch" />
  <!-- Gmapping -->
  <node pkg="gmapping" type="slam_gmapping" name="turtlebot3_slam_gmapping" output="screen">
    <param name="base_frame" value="base_footprint"/>
    <param name="odom_frame" value="odom"/>
    <param name="map_update_interval" value="2.0"/>
    <param name="maxUrange" value="8.0"/>
    <param name="minimumScore" value="100"/>
    <param name="linearUpdate" value="0.2"/>
    <param name="angularUpdate" value="0.2"/>
    <param name="temporalUpdate" value="0.5"/>
    <param name="delta" value="0.05"/>
    <param name="lskip" value="0"/>
    <param name="particles" value="120"/>
    <param name="sigma" value="0.05"/>
    <param name="kernelSize" value="1"/>
    <param name="lstep" value="0.05"/>
    <param name="astep" value="0.05"/>
    <param name="iterations" value="5"/>
    <param name="lsigma" value="0.075"/>
    <param name="ogain" value="3.0"/>
    <param name="srr" value="0.01"/>
    <param name="srt" value="0.02"/>
    <param name="str" value="0.01"/>
    <param name="stt" value="0.02"/>
    <param name="resampleThreshold" value="0.5"/>
    <param name="xmin" value="-10.0"/>
    <param name="ymin" value="-10.0"/>
    <param name="xmax" value="10.0"/>
    <param name="ymax" value="10.0"/>
    <param name="llsamplerange" value="0.01"/>
    <param name="llsamplestep" value="0.01"/>
    <param name="lasamplerange" value="0.005"/>
    <param name="lasamplestep" value="0.005"/>
    </node>
</launch>

and

<launch>
  <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>

  <include file="$(find turtlebot3_bringup)/launch/includes/description.launch.xml">
    <arg name="model" value="$(arg model)" />
  </include>

  <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen">
    <param name="publish_frequency" type="double" value="50.0" />
  </node>
</launch>

(Lots of files, I cant post all of the files in here, but can add if required)

I was told by my supervisor that I should be able to get the probability maps "in two or three lines of code", but remain in the dark as to how to go about it. I can't seem to find where Turtlebot's Gmapping is storing these probability maps / topics.

How do I get the probability maps?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-04-28 11:43:12 -0600

robotchicken gravatar image

updated 2018-04-28 11:43:52 -0600

roscd gmapping

will take you to the package source directory. However if you installed only the binaries, you might want to get the source code from git.

git clone https://github.com/ros-perception/sla...

You can now edit the source code accordingly(in your case, slam_gmapping.cpp) and perform a catkin_make.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-04-28 10:02:27 -0600

Seen: 265 times

Last updated: Apr 28 '18