No Map Received Error

To Whom It May concern,

Hello my name is David. I am trying to get a slam mapping executed correctly. I am using the openslam gmapping package. So far I have failed to get the slam to operate correctly within RVIZ. I always obtain a No Map Retrieved error. However, my laser scan topic is indeed working correctly because I am able to see the outlines of the catacomb walls that are being hit by the lidar scans. I am not certain as to how to get started ??? Do I first need to develop a ROS bag for all of the information collected by Lidar. What is the correct step by step procedure to get the openslam gmapping ros node to work correctly in Rviz since I am able to get the laser_scan/scan topic to work?? As such, I included all of the files in regards. They would be the ai rover description urdf file, the gazebo plugin file, the wall sdf file for describing the catacombs, etc. Also, not only will i be doing a simulation of slam but i will also have a physical lidar sensor i will need to interface with slam as well. What is the correct procedure for that as well. I apologize to all if i appear to be incompetent…

Thanks to all…

David

<?xml version="1.0"?> <?xml version="1.0"?>

<xacro:property name=“base_width” value=“0.16”/>
<xacro:property name=“base_len” value=“0.16”/>
<xacro:property name=“wheel_radius” value=“0.035”/>
<xacro:property name=“base_wheel_gap” value=“0.007”/>
<xacro:property name=“wheel_separation” value=“0.15”/>
<xacro:property name=“wheel_joint_offset” value=“0.02”/>

<xacro:property name=“caster_wheel_radius” value="${wheel_radius/2}"/>
<xacro:property name=“caster_wheel_mass” value=“0.001”/>
<xacro:property name=“caster_wheel_joint_offset” value="-0.052"/>

<?xml version="1.0"?>

<xacro:property name=“base_width” value=“0.16”/>
<xacro:property name=“base_len” value=“0.16”/>
<xacro:property name=“wheel_radius” value=“0.035”/>
<xacro:property name=“base_wheel_gap” value=“0.007”/>
<xacro:property name=“wheel_separation” value=“0.15”/>
<xacro:property name=“wheel_joint_offset” value=“0.02”/>

<xacro:property name=“caster_wheel_radius” value="${wheel_radius/2}"/>
<xacro:property name=“caster_wheel_mass” value=“0.001”/>
<xacro:property name=“caster_wheel_joint_offset” value="-0.052"/>

<xacro:macro name=“cylinder_inertia” params=“m r h”>




</xacro:macro>

<xacro:macro name=“box_inertia” params=“m w h d”>




</xacro:macro>

<xacro:macro name=“sphere_inertia” params=“m r”>




</xacro:macro>

<xacro:macro name=“wheel” params=“prefix reflect”>














<xacro:cylinder_inertia m=“1” r="${wheel_radius}" h=“0.005”/>

<joint name="${prefix}_wheel_joint" type="continuous">
  <axis xyz="0 1 0" rpy="0 0 0" />
  <parent link="base_link"/>
  <child link="${prefix}_wheel"/>
  <origin xyz="${wheel_joint_offset} ${((base_width/2)+base_wheel_gap)*reflect} -0.005" rpy="0 0 0"/>
</joint>

</xacro:macro>

<xacro:wheel prefix=“left” reflect=“1”/>
<xacro:wheel prefix=“right” reflect="-1"/>

<xacro:property name=“laser_size_x” value=“0.03”/>

<xacro:property name=“laser_size_y” value=“0.03”/>

<xacro:property name=“laser_size_z” value=“0.04”/>

<xacro:property name=“laser_origin_x” value=“0.065”/>

<xacro:property name=“laser_origin_y” value=“0”/>

<xacro:property name=“laser_origin_z” value=“0.035”/>

<xacro:box_inertia m=“0.2” w="${laser_size_x}" h="${laser_size_y}" d="${laser_size_z}"/>

<xacro:include filename="$(find ai_rover_mastered)/urdf/ai_rover_gazebo_plugins.xacro"/>

<?xml version="1.0"?>

<xacro:property name=“base_width” value=“0.16”/>
<xacro:property name=“base_len” value=“0.16”/>
<xacro:property name=“wheel_radius” value=“0.035”/>
<xacro:property name=“base_wheel_gap” value=“0.007”/>
<xacro:property name=“wheel_separation” value=“0.15”/>
<xacro:property name=“wheel_joint_offset” value=“0.02”/>

<xacro:property name=“caster_wheel_radius” value="${wheel_radius/2}"/>
<xacro:property name=“caster_wheel_mass” value=“0.001”/>
<xacro:property name=“caster_wheel_joint_offset” value="-0.052"/>

<xacro:macro name=“cylinder_inertia” params=“m r h”>




</xacro:macro>

<xacro:macro name=“box_inertia” params=“m w h d”>




</xacro:macro>

<xacro:macro name=“sphere_inertia” params=“m r”>




</xacro:macro>

<xacro:macro name=“wheel” params=“prefix reflect”>














<xacro:cylinder_inertia m=“1” r="${wheel_radius}" h=“0.005”/>

<joint name="${prefix}_wheel_joint" type="continuous">
  <axis xyz="0 1 0" rpy="0 0 0" />
  <parent link="base_link"/>
  <child link="${prefix}_wheel"/>
  <origin xyz="${wheel_joint_offset} ${((base_width/2)+base_wheel_gap)*reflect} -0.005" rpy="0 0 0"/>
</joint>

</xacro:macro>

<xacro:wheel prefix=“left” reflect=“1”/>
<xacro:wheel prefix=“right” reflect="-1"/>

<xacro:property name=“laser_size_x” value=“0.03”/>

<xacro:property name=“laser_size_y” value=“0.03”/>

<xacro:property name=“laser_size_z” value=“0.04”/>

<xacro:property name=“laser_origin_x” value=“0.065”/>

<xacro:property name=“laser_origin_y” value=“0”/>

<xacro:property name=“laser_origin_z” value=“0.035”/>

<xacro:box_inertia m=“0.2” w="${laser_size_x}" h="${laser_size_y}" d="${laser_size_z}"/>

<xacro:include filename="$(find ai_rover_mastered)/urdf/ai_rover_gazebo_plugins.xacro"/>

<color rgba="1 1 1 1"/>

<xacro:macro name=“cylinder_inertia” params=“m r h”>




</xacro:macro>

<xacro:macro name=“box_inertia” params=“m w h d”>




</xacro:macro>

<xacro:macro name=“sphere_inertia” params=“m r”>




</xacro:macro>

<xacro:macro name=“wheel” params=“prefix reflect”>














<xacro:cylinder_inertia m=“1” r="${wheel_radius}" h=“0.005”/>

<joint name="${prefix}_wheel_joint" type="continuous">
  <axis xyz="0 1 0" rpy="0 0 0" />
  <parent link="base_link"/>
  <child link="${prefix}_wheel"/>
  <origin xyz="${wheel_joint_offset} ${((base_width/2)+base_wheel_gap)*reflect} -0.005" rpy="0 0 0"/>
</joint>

</xacro:macro>

<xacro:wheel prefix=“left” reflect=“1”/>
<xacro:wheel prefix=“right” reflect="-1"/>

<xacro:property name=“laser_size_x” value=“0.03”/>

<xacro:property name=“laser_size_y” value=“0.03”/>

<xacro:property name=“laser_size_z” value=“0.04”/>

<xacro:property name=“laser_origin_x” value=“0.065”/>

<xacro:property name=“laser_origin_y” value=“0”/>

<xacro:property name=“laser_origin_z” value=“0.035”/>

<xacro:box_inertia m=“0.2” w="${laser_size_x}" h="${laser_size_y}" d="${laser_size_z}"/>

<xacro:include filename="$(find ai_rover_mastered)/urdf/ai_rover_gazebo_plugins.xacro"/>

<?xml version="1.0"?> <?xml version="1.0"?> false false 20 left_wheel_joint right_wheel_joint ${wheel_separation} ${wheel_radius * 2} 20 /ai_rover_remastered/base_controller/cmd_vel /ai_rover_remastered/base_controller/odom odom base_footprint

0 0 0 0 0 0

false

<update_rate>20</update_rate>

1440

1

<min_angle>0.0</min_angle>

<max_angle>6.283185</max_angle>

0.10

10.0

0.01

gaussian

0.0

0.01

/ai_rover_remastered/laser_scan/scan

sensor_laser

false false 20 left_wheel_joint right_wheel_joint ${wheel_separation} ${wheel_radius * 2} 20 /ai_rover_remastered/base_controller/cmd_vel /ai_rover_remastered/base_controller/odom odom base_footprint

0 0 0 0 0 0

false

<update_rate>20</update_rate>

1440

1

<min_angle>0.0</min_angle>

<max_angle>6.283185</max_angle>

0.10

10.0

0.01

gaussian

0.0

0.01

/ai_rover_remastered/laser_scan/scan

sensor_laser

This could be due to many things. First thing I would check is if you are publishing the odometry and providing it to the gmapping. That is the first thing you need to check (since you don’t say anything about it, I suspect that is what is failing on your case).

Debugging your error would take a long time. You need to follow step by step tutorials about how to setup the ROS Navigation stack. For that, I recommend you the ROS wiki tutorials (which are free) or our ROS Navigation in 5 days course.