ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

build map dynamically in slam,not using static map

asked 2011-06-06 20:22:47 -0500

sam gravatar image

updated 2014-01-28 17:09:48 -0500

ngrennan gravatar image

Hi, I have checked several tutorial,examples,and questions. I also have wrote : robot_setup_laser,robot_setup_tf,robot_setup_odometry,robot_setup_base packages,and launch file. The laser data is real. tf,odom's data are now fake,latter will be true.

My question is how to navigation by the map which dynamically generate, not by static map generated by gmapping?

Which portion should I load? map_server? gmapping?

Which configuration should I set? Now I only know in

  1. global_costmap_params.yaml -> static_map: false , rolling_window: true

I have already change the file in navigation_tutorials/navigation_stage/move_base_config

Am I right? Is there any location I lose? Thank you~~

My launch file is


    <master auto="start"/>
    <param name="/use_sim_time" value="false"/>  

    <node pkg="robot_setup_laser" type="laser" name="sensor_node_name" output="screen">
      <param name="sensor_param" value="param_value" />

    <node pkg="robot_setup_odometry" type="odometry" name="odom_node" output="screen">
      <param name="odom_param" value="param_value" />

    <node pkg="robot_setup_tf" type="tf_broadcaster" name="transform_configuration_name" output="screen">
      <param name="transform_configuration_param" value="param_value" />

    <node pkg="robot_setup_base" type="base" name="base" output="screen">
      <param name="transform_configuration_param" value="param_value" />

    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
        <!--remap from="scan" to="base_scan"/-->
        <!--param name="odom_frame" value="odom"/-->
        <param name="map_update_interval" value="2.0"/>
        <param name="maxUrange" value="6.0"/>
        <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="lskip" value="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="linearUpdate" value="0.25"/>     <!-- param name="linearUpdate" value="0.5"/-->
        <param name="angularUpdate" value="0.262"/>   <!--param name="angularUpdate" value="0.436"/-->
        <param name="temporalUpdate" value="-1.0"/>
        <param name="resampleThreshold" value="0.5"/>
        <param name="particles" value="300"/>
        <param name="xmin" value="-50.0"/>
        <param name="ymin" value="-50.0"/>
        <param name="xmax" value="50.0"/>
        <param name="ymax" value="50.0"/>
        <param name="delta" value="0.05"/>
        <param name="llsamplerange" value="0.01"/>
        <param name="llsamplestep" value="0.01"/>
        <param name="lasamplerange" value="0.005"/>
        <param name="lasamplestep" value="0.005"/>

    <!--- Run AMCL -->
    <include file="$(find amcl)/examples/amcl_diff.launch" />

    <node pkg="stage" type="stageros" name="stageros" args="$(optenv ROS_STAGE_GRAPHICS -g) $(find       navigation_stage)/stage_config/worlds/" respawn="false">
      <param name="base_watchdog_timeout" value="0.2"/>

    <!-- Throttle the voxel grid that is being published for rviz -->
    <node ns="move_base_node/local_costmap" name="voxel_grid_throttle" pkg="topic_tools" type="throttle" args="messages       voxel_grid 3.0 voxel_grid_throttled" />

    <group ns="robot_0">
      <param name="tf_prefix" value="robot_0" />
      <node pkg="move_base" type="move_base" respawn="false" name="move_base_node" output="screen">
        <remap from="map" to="/map" />
        <param name="controller_frequency" value="10.0" />
        <rosparam file="$(find navigation_stage)/move_base_config/costmap_common_params.yaml" command="load"       ns="global_costmap" />
        <rosparam file="$(find navigation_stage)/move_base_config/costmap_common_params.yaml" command="load"       ns="local_costmap" />
        <rosparam file="$(find navigation_stage)/move_base_config/local_costmap_params.yaml" command="load" />
        <rosparam file="$(find navigation_stage)/move_base_config/global_costmap_params.yaml" command="load ...
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-06-07 04:57:10 -0500

eitan gravatar image

There's some weird stuff going on in your launch files, particularly with the inclusion of the "fake_localization" node. Have you tried running the move_base_gmapping_5cm.launch launch file in the navigation_stage package? If that works for you, you'd just want to replace the rosstage node with your custom odometry and laser scan.

edit flag offensive delete link more


Thank you for this information. I have a question that why move_base_amcl_5cm.launch use static map (willow-full-0.05.pgm) in map_server node? If I want to build map during slam not using static map. Should I also change move_base_amcl_5cm.launch ?
sam gravatar image sam  ( 2011-06-08 02:20:02 -0500 )edit
The move_base_amcl* launch files are not supposed to use a dynamic map. Only the move_base_gmapping* launch files are supposed to use slam.
Eric Perko gravatar image Eric Perko  ( 2011-06-08 09:11:32 -0500 )edit

Question Tools


Asked: 2011-06-06 20:22:47 -0500

Seen: 2,299 times

Last updated: Jun 07 '11