Issues with Mapping SUMMIT HL

Hi guys!

We have an issue with our SUMMIT HL - ROS Kinetic about creating maps. At the time that we want to create/see the map at RVIZ, it appears a WARNING message of “No map received” on the section “Map” as you can see in the screenshot.

We had tried 2 different commands to create/launch the maps. The first one is “roslaunch summit_xl_localization slam_gmapping.launch”, and the second one is “rosrun map_server map_saver -f testmap1”, but either worked.

The response of the first command is:

summit@SHL00-191011AA:~$ roslaunch summit_xl_localization slam_gmapping.launch
… logging to /home/summit/.ros/log/0345347c-b1d9-11ed-b1bb-0030180d6edc/roslaunch-SHL00-191011AA-3126.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://SHL00-191011AA:33415/

SUMMARY
========

PARAMETERS

    • /rosdistro: kinetic*
    • /rosversion: 1.12.14*
    • /slam_gmapping/angularUpdate: 0.1*
    • /slam_gmapping/astep: 0.05*
    • /slam_gmapping/base_frame: summit_xl_base_link*
    • /slam_gmapping/delta: 0.05*
    • /slam_gmapping/iterations: 5*
    • /slam_gmapping/kernelSize: 1*
    • /slam_gmapping/lasamplerange: 0.005*
    • /slam_gmapping/lasamplestep: 0.005*
    • /slam_gmapping/linearUpdate: 0.2*
    • /slam_gmapping/llsamplerange: 0.01*
    • /slam_gmapping/llsamplestep: 0.01*
    • /slam_gmapping/lsigma: 0.075*
    • /slam_gmapping/lskip: 0*
    • /slam_gmapping/lstep: 0.05*
    • /slam_gmapping/map_frame: summit_xl_map*
    • /slam_gmapping/map_udpate_interval: 2.0*
    • /slam_gmapping/maxUrange: 16.0*
    • /slam_gmapping/odom_frame: summit_xl_odom*
    • /slam_gmapping/ogain: 3.0*
    • /slam_gmapping/particles: 100*
    • /slam_gmapping/resampleThreshold: 0.5*
    • /slam_gmapping/sigma: 0.05*
    • /slam_gmapping/srr: 0.1*
    • /slam_gmapping/srt: 0.2*
    • /slam_gmapping/str: 0.1*
    • /slam_gmapping/stt: 0.2*
    • /slam_gmapping/temporalUpdate: 3.0*
    • /slam_gmapping/xmax: 50.0*
    • /slam_gmapping/xmin: -50.0*
    • /slam_gmapping/ymax: 50.0*
    • /slam_gmapping/ymin: -50.0*

NODES

  • /*
  • slam_gmapping (gmapping/slam_gmapping)*

ROS_MASTER_URI=http://SHL00-191011AA:11311

process[slam_gmapping-1]: started with pid [3271]

However, at the end, we couldn’t visualize any map in RVIZ. It show us the message that we can in the screenshot above (WARNING message") any anything else.

On the other hand, with the second command where we tried to save the map, but it didn’t work either. It just kept on the mode of “waiting”

summit@SHL00-191011AA:~$ rosrun map_server map_saver -f testmap1
[ INFO] [1676978954.952244712]: Waiting for the map

We didn’t know if that issue occurs because of the robot’s configuration, or we are doing something wrong.

Also, we had tried to download the robot’s packages from GibHub (“summit_xl_robot”) to correct any kind of possibles mistakes, but they are not available on the website, so not change on that way.

Likewise, we tried different launch files to create the map, but any of them had worked.

We will apprecite if you can give us a hand…

Thanks, guys!

Hi @daniel.arguello ,

Welcome to this Community!

I believe that if you want to see the map on Rviz, then you must set the Fixed Frame under Global Options as map and not anything else. [I might be wrong, but give this a try.]

That sentence actually sounds a bit vague. Do you want to create a map or launch a map.
Creating is making a map. Launching is using a pre-saved map.

The following command will launch the slam_gmapping node to create a map file. If you forget to save the map file after generating/visualizing the map, the map will never be saved.

roslaunch summit_xl_localization slam_gmapping.launch

The following command will save the generated/visualized map (from the above step) as a map file.
You must make sure that before calling this command, you should have mapped all the places using the above command.

rosrun map_server map_saver -f testmap1

To launch a map, that is, to use a pre-saved map, you must run map_server node like below:

rosrun map_server map_server <path_to_map_file>.yaml

Or, by using a launch file.

Creating and launching maps are two completely different processes in mapping.

Are you sure that the “different” launch files you tried are for creating a map and NOT loading a saved map?

Try my above steps. Let me know if you still have any issues.

Regards,
Girish

Hi Girish,

Thanks for your help. However, It is still not working.

We tried setting in the Fixed Frame the “map”, but nothing happened, as you can see in the screenshot below.

Also, to create the map we tried the command that you mentioned “roslaunch summit_xl_localization slam_gmapping.launch” and it show us the following output:

roslaunch summit_xl_localization slam_gmapping.launch
… logging to /home/summit/.ros/log/0345347c-b1d9-11ed-b1bb-0030180d6edc/roslaunch-SHL00-191011AA-3126.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://SHL00-191011AA:33415/

SUMMARY
========

PARAMETERS

    • /rosdistro: kinetic*
    • /rosversion: 1.12.14*
    • /slam_gmapping/angularUpdate: 0.1*
    • /slam_gmapping/astep: 0.05*
    • /slam_gmapping/base_frame: summit_xl_base_link*
    • /slam_gmapping/delta: 0.05*
    • /slam_gmapping/iterations: 5*
    • /slam_gmapping/kernelSize: 1*
    • /slam_gmapping/lasamplerange: 0.005*
    • /slam_gmapping/lasamplestep: 0.005*
    • /slam_gmapping/linearUpdate: 0.2*
    • /slam_gmapping/llsamplerange: 0.01*
    • /slam_gmapping/llsamplestep: 0.01*
    • /slam_gmapping/lsigma: 0.075*
    • /slam_gmapping/lskip: 0*
    • /slam_gmapping/lstep: 0.05*
    • /slam_gmapping/map_frame: summit_xl_map*
    • /slam_gmapping/map_udpate_interval: 2.0*
    • /slam_gmapping/maxUrange: 16.0*
    • /slam_gmapping/odom_frame: summit_xl_odom*
    • /slam_gmapping/ogain: 3.0*
    • /slam_gmapping/particles: 100*
    • /slam_gmapping/resampleThreshold: 0.5*
    • /slam_gmapping/sigma: 0.05*
    • /slam_gmapping/srr: 0.1*
    • /slam_gmapping/srt: 0.2*
    • /slam_gmapping/str: 0.1*
    • /slam_gmapping/stt: 0.2*
    • /slam_gmapping/temporalUpdate: 3.0*
    • /slam_gmapping/xmax: 50.0*
    • /slam_gmapping/xmin: -50.0*
    • /slam_gmapping/ymax: 50.0*
    • /slam_gmapping/ymin: -50.0*

NODES

  • /*
  • slam_gmapping (gmapping/slam_gmapping)*

ROS_MASTER_URI=http://SHL00-191011AA:11311

process[slam_gmapping-1]: started with pid [3271]

After that, we moved a little bit the robot to try to create a map. Once we stopped it and tried to save the map using the command “rosrun map_server map_saver -f testmap1”, it didn’t work. It show us “Waiting for the map” and nothing else happened. When we checked RVIZ, it show us the same as you could see in the screenshot above.

And yeah, we are trying to create a map to use it for navigation, but we had tried many ways and it’s still not working.

We appreciate your help.

Hi @daniel.arguello ,

Thanks for reporting back.

Since roslaunch summit_xl_localization slam_gmapping.launch seems to be associated with Summit XL robot, you can try the basic version command:
rosrun gmapping slam_gmapping scan:=<laser_scan_topic_name_in_summit_xl>

And to save the map you can use the general command again:
rosrun map_server map_saver -f <path_to_map_file_name_without_extension>

These two basic commands should work. If they don’t then you might need some sort of update.

Try the above two general commands and let me know what is your result.

Regards,
Girish

Hi @girishkumar.kannan

Thanks for your advices. We tried the commands that you told us, but it’s still not working. It shows the message below

rosrun gmapping slam_gmapping scan:=/robot/front_laser/scan
[ WARN] [1677139925.295843110]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1677139985.296373562]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.
^Cvirtual GMapping::GridSlamProcessor::~GridSlamProcessor(): Start
virtual GMapping::GridSlamProcessor::~GridSlamProcessor(): Deleting tree

And on the site of saving the map, it keeps “waiting for the map” without any result.

rosrun map_server map_saver -f /home
[ INFO] [1677139917.287486654]: Waiting for the map

Also, by the way, if you might take at look at our frames. Maybe you could find some error o missing package that we would need to make the maps works.

Thank you so much for your help.

Best regards,
Daniel.

For the avoidance of doubts, could you please tell us which unit of the course you are taking? And which particular exercise or example?

It is not part of the course. This is a problem that we have when we try to aplicate the knownledge learned in the course because we are trying to make a Summit HL capable of generate a map, but it is not working.

Hi @daniel.arguello ,

After seeing your transforms chart, I notice something.
Are you missing a transform link between “map”, “odom” and “robot_base_footprint” ?
I am not sure how “odom” and “robot_odom” are linked. They are not linked on the graph.

I think you can do some hit and trial method to link

  1. “odom” to “robot_base_footprint”
    (OR)
  2. “map” to “robot_odom”

You need to use tf package to create a transform between two topics.

The map_saver command is wrong. You should provide full path to map file name.
If your map file name is my_map, you will have two files created - my_map.pgm and my_map.yaml.
So the command you will use is: rosrun map_server map_saver /path/to/my_map you will not add .pgm or .yaml extension to the file path.

Try this and let me know if this idea worked for you.

Regards,
Girish

Hi @girishkumar.kannan

Thanks for your help. We looked for more information about the command that you recommend us, but we couldn’t figure out how to create a transform between two topics using the tf package. We found that we can only read the info between topics, or get info from them, but they don’t mention anything about link them together. If you could orientate us about that, we will appreciate it.

Regards,
Daniel.

Hi @daniel.arguello ,

I do not have an exact answer, you can try creating a transform using the static_transform_publisher from the tf ROS package.
Refer: http://wiki.ros.org/tf#static_transform_publisher

Another suggestion would be to try changing the global_frame value in the local or global costmap configuration file. You need to “play around” to find the correct match.

I have not worked on Summit XL Robot, so I do not have a sure solution. You can give the above two ideas a try.

Regards,
Girish