{"id":2548,"date":"2025-07-08T15:56:54","date_gmt":"2025-07-08T15:56:54","guid":{"rendered":"https:\/\/learnbydoing.dev\/?p=2548"},"modified":"2026-01-10T22:26:05","modified_gmt":"2026-01-10T22:26:05","slug":"creating-a-2d-map-with-gmapping-ros","status":"publish","type":"post","link":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/","title":{"rendered":"Creating a 2D map with GMapping (ROS)"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"2548\" class=\"elementor elementor-2548\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e28ab35 e-flex e-con-boxed e-con e-parent\" data-id=\"e28ab35\" data-element_type=\"container\" data-e-type=\"container\" id=\"content\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-62ab6e3 e-con-full e-flex e-con e-child\" data-id=\"62ab6e3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-62ab203 elementor-align-center elementor-widget elementor-widget-post-info\" data-id=\"62ab203\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-2c98363 elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<span class=\"elementor-post-info__terms-list-item\">Linux<\/span>, <span class=\"elementor-post-info__terms-list-item\">ROS<\/span>, <span class=\"elementor-post-info__terms-list-item\">Tutoriales<\/span>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0650e10 e-con-full e-flex e-con e-child\" data-id=\"0650e10\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ac19582 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"ac19582\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"75\" height=\"75\" viewbox=\"0 0 75 75\" fill=\"none\"><path d=\"M74.9999 75H13.1889V73.0002H71.5859L0.460938 1.87521L1.87515 0.460999L73.0001 71.586V13.1889H74.9999V75Z\" fill=\"white\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-47aa245d e-flex e-con-boxed e-con e-parent\" data-id=\"47aa245d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7c69a8e elementor-widget elementor-widget-image\" data-id=\"7c69a8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-1024x576.webp\" class=\"attachment-large size-large wp-image-2555\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp 1920w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-261c3d8 elementor-widget elementor-widget-text-editor\" data-id=\"261c3d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span class=\"TextRun SCXW185628724 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW185628724 BCX0\">In this tutorial, you will learn how to build a 2D map of an environment using the GMapping SLAM algorithm in ROS1. This process is fundamental for autonomous navigation as it allows the robot to understand and represent its surroundings.<\/span><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-324d52d elementor-widget elementor-widget-text-editor\" data-id=\"324d52d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3 data-start=\"1857\" data-end=\"1885\"><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\">\u00a0\ud83d\udcdd <span class=\"TextRun SCXW267512570 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW267512570 BCX0\" data-ccp-parastyle=\"heading 1\">Requirements<\/span><\/span><span class=\"EOP SCXW267512570 BCX0\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:480,&quot;335559739&quot;:0}\">\u00a0<\/span><\/span><\/span><\/span><\/span><\/h3><ul><li><span class=\"TextRun SCXW55609006 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW55609006 BCX0\">&#8211; ROS1 installed (e.g., Noetic)<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW55609006 BCX0\"><span class=\"SCXW55609006 BCX0\">\u00a0<\/span><br class=\"SCXW55609006 BCX0\" \/><\/span><span class=\"TextRun SCXW55609006 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW55609006 BCX0\">&#8211; `<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW55609006 BCX0\">slam_gmapping<\/span><span class=\"NormalTextRun SCXW55609006 BCX0\">` package<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW55609006 BCX0\"><span class=\"SCXW55609006 BCX0\">\u00a0<\/span><br class=\"SCXW55609006 BCX0\" \/><\/span><span class=\"TextRun SCXW55609006 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW55609006 BCX0\">&#8211; Simulated robot with LIDAR sensor (e.g., TurtleBot3 in Gazebo)<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW55609006 BCX0\"><span class=\"SCXW55609006 BCX0\">\u00a0<\/span><br class=\"SCXW55609006 BCX0\" \/><\/span><span class=\"TextRun SCXW55609006 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW55609006 BCX0\">&#8211; <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW55609006 BCX0\">RViz<\/span><span class=\"NormalTextRun SCXW55609006 BCX0\"> installed for visualization<\/span><\/span><span class=\"EOP SCXW55609006 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a236fe0 elementor-widget elementor-widget-text-editor\" data-id=\"a236fe0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3 aria-level=\"2\"><b><span data-contrast=\"none\"><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\">Step 1: <span class=\"TextRun SCXW123682778 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW123682778 BCX0\" data-ccp-parastyle=\"heading 1\">Launch the GMapping Node<\/span><\/span><\/span><\/span><\/span><\/b><\/h3><p><span class=\"TextRun SCXW216261369 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW216261369 BCX0\">Launch the SLAM node with the following command:<\/span><\/span><\/p><p><strong><span class=\"TextRun SCXW105050353 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW105050353 BCX0\" data-ccp-parastyle=\"Intense Quote\">rosrun<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW105050353 BCX0\" data-ccp-parastyle=\"Intense Quote\">gmapping<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW105050353 BCX0\" data-ccp-parastyle=\"Intense Quote\">slam_gmapping<\/span> <span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW105050353 BCX0\" data-ccp-parastyle=\"Intense Quote\">scan:=<\/span><span class=\"NormalTextRun SCXW105050353 BCX0\" data-ccp-parastyle=\"Intense Quote\">\/scan<\/span><\/span><span class=\"EOP SCXW105050353 BCX0\" data-ccp-props=\"{&quot;335559685&quot;:936,&quot;335559737&quot;:936,&quot;335559738&quot;:200,&quot;335559739&quot;:280,&quot;335572079&quot;:4,&quot;335572080&quot;:4,&quot;335572081&quot;:12419407,&quot;469789806&quot;:&quot;single&quot;}\">\u00a0<\/span><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-770de23 elementor-widget elementor-widget-image\" data-id=\"770de23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07-1024x683.webp\" class=\"attachment-large size-large wp-image-2549\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07-1024x683.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07-300x200.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07-768x512.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07-18x12.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/ChatGPT-Image-8-lug-2025_-17_48_07.webp 1536w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e04c0ca elementor-widget elementor-widget-text-editor\" data-id=\"e04c0ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3 aria-level=\"2\">\ud83d\udda5\ufe0f<b><span data-contrast=\"none\">Step 2: <span class=\"TextRun SCXW29684165 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW29684165 BCX0\" data-ccp-parastyle=\"heading 1\">Move the Robot to Explore<\/span><\/span><\/span><\/b><\/h3><p id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" data-placeholder=\"Traduzione\" data-ved=\"2ahUKEwjIo-uooqSOAxWf0QIHHfG9BBYQ3ewLegQICRAV\" aria-label=\"Testo tradotto: Below you will find the complete code to use the humidity sensor:\"><span class=\"TextRun SCXW213995820 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW213995820 BCX0\">To generate a meaningful map, the robot needs to explore the environment. You can use keyboard teleoperation with:<\/span><\/span><span class=\"EOP SCXW213995820 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p><p dir=\"ltr\" data-placeholder=\"Traduzione\" data-ved=\"2ahUKEwjIo-uooqSOAxWf0QIHHfG9BBYQ3ewLegQICRAV\" aria-label=\"Testo tradotto: Below you will find the complete code to use the humidity sensor:\"><strong><span class=\"TextRun SCXW166264195 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW166264195 BCX0\" data-ccp-parastyle=\"Intense Quote\">roslaunch<\/span><span class=\"NormalTextRun SCXW166264195 BCX0\" data-ccp-parastyle=\"Intense Quote\"> turtlebot3_teleop turtlebot3_teleop_<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW166264195 BCX0\" data-ccp-parastyle=\"Intense Quote\">key.launch<\/span><\/span><\/strong><span class=\"EOP SCXW166264195 BCX0\" data-ccp-props=\"{&quot;335559685&quot;:936,&quot;335559737&quot;:936,&quot;335559738&quot;:200,&quot;335559739&quot;:280,&quot;335572079&quot;:4,&quot;335572080&quot;:4,&quot;335572081&quot;:12419407,&quot;469789806&quot;:&quot;single&quot;}\">\u00a0<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c2b29f elementor-widget elementor-widget-image\" data-id=\"9c2b29f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf.webp\" class=\"attachment-large size-large wp-image-2554\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf-300x300.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf-150x150.webp 150w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf-768x768.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/bdf5facc-d42f-42d9-aecb-26cd8836d7bf-12x12.webp 12w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a888ec elementor-widget elementor-widget-text-editor\" data-id=\"7a888ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><span class=\"TextRun SCXW268373394 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW268373394 BCX0\" data-ccp-parastyle=\"heading 1\">Step 3: <span class=\"TextRun SCXW83450629 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW83450629 BCX0\" data-ccp-parastyle=\"heading 1\">Save the Map<\/span><\/span><\/span><\/span><span class=\"EOP SCXW268373394 BCX0\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:480,&quot;335559739&quot;:0}\">\u00a0<\/span><\/h3><p><span class=\"TextRun SCXW143587575 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW143587575 BCX0\"><span class=\"TextRun SCXW255119645 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW255119645 BCX0\">Once the robot has sufficiently explored the environment and a good map has been built, save it to your filesystem using:<\/span><\/span><span class=\"EOP SCXW255119645 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/span><\/span><\/p><p><strong><span class=\"TextRun SCXW78783826 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW78783826 BCX0\" data-ccp-parastyle=\"Intense Quote\">rosrun<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW78783826 BCX0\" data-ccp-parastyle=\"Intense Quote\">map_server<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW78783826 BCX0\" data-ccp-parastyle=\"Intense Quote\">map_saver<\/span><span class=\"NormalTextRun SCXW78783826 BCX0\" data-ccp-parastyle=\"Intense Quote\"> -f ~\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW78783826 BCX0\" data-ccp-parastyle=\"Intense Quote\">gmapping_map<\/span><\/span><span class=\"EOP SCXW78783826 BCX0\" data-ccp-props=\"{&quot;335559685&quot;:936,&quot;335559737&quot;:936,&quot;335559738&quot;:200,&quot;335559739&quot;:280,&quot;335572079&quot;:4,&quot;335572080&quot;:4,&quot;335572081&quot;:12419407,&quot;469789806&quot;:&quot;single&quot;}\">\u00a0<\/span><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c92ae44 elementor-widget elementor-widget-text-editor\" data-id=\"c92ae44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><b style=\"color: inherit; font-family: inherit; font-size: 2rem; text-wrap-mode: initial;\"><span data-contrast=\"none\">\ud83d\udee0\ufe0f<\/span><\/b><b><span data-contrast=\"none\">Step 3: Troubleshooting<\/span><\/b><\/h3><p><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW77937594 BCX0\"><strong>&#8211; The map is empty:<\/strong><\/span><\/span><\/p><p><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW77937594 BCX0\"> check if the LIDAR is publishing correctly and the topic is set properly.<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW77937594 BCX0\"><span class=\"SCXW77937594 BCX0\">\u00a0<\/span><br class=\"SCXW77937594 BCX0\" \/><\/span><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><strong><span class=\"NormalTextRun SCXW77937594 BCX0\">&#8211; The map is not <\/span><span class=\"NormalTextRun SCXW77937594 BCX0\">accurate<\/span><\/strong><span class=\"NormalTextRun SCXW77937594 BCX0\"><strong>:<\/strong><\/span><\/span><\/p><p><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW77937594 BCX0\"> move the robot slowly and ensure it explores all areas.<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW77937594 BCX0\"><span class=\"SCXW77937594 BCX0\">\u00a0<\/span><br class=\"SCXW77937594 BCX0\" \/><\/span><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><strong><span class=\"NormalTextRun SCXW77937594 BCX0\">&#8211; The robot <\/span><span class=\"NormalTextRun SCXW77937594 BCX0\">doesn\u2019t<\/span> <span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW77937594 BCX0\">move:<\/span><\/strong><\/span><\/p><p><span class=\"TextRun SCXW77937594 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW77937594 BCX0\"> verify that <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW77937594 BCX0\">teleop<\/span><span class=\"NormalTextRun SCXW77937594 BCX0\"> commands are sent to the right topic.<\/span><\/span><span class=\"EOP SCXW77937594 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eae2940 e-con-full e-flex e-con e-parent\" data-id=\"eae2940\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4db7ad4 elementor-bg-transform elementor-bg-transform-move-left elementor-cta--layout-image-left elementor-cta--mobile-layout-image-above elementor-cta--skin-classic elementor-animated-content elementor-widget elementor-widget-call-to-action\" data-id=\"4db7ad4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-cta\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/odometry-control-ros.webp);\" role=\"img\" aria-label=\"odometry control ros\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h2 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tWant to learn more?\t\t\t\t\t<\/h2>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__description elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tYou can find a detailed explaination of the autonomous navigation in  the \"Self Driving and ROS  - Learn by Doing! Odometry and  Control\" course\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t<a class=\"elementor-cta__button elementor-button elementor-size-\" href=\"\" target=\"_blank\">\n\t\t\t\t\t\tEnroll Now\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-ribbon elementor-ribbon-right\">\n\t\t\t\t<div class=\"elementor-ribbon-inner\">\n\t\t\t\t\tDISCOUNT\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you will learn how to build a 2D map of an environment using the GMapping SLAM algorithm in ROS1. This process is fundamental for autonomous navigation as it allows the robot to understand and represent its surroundings. \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS1 installed (e.g., Noetic)\u00a0&#8211; `slam_gmapping` package\u00a0&#8211; Simulated robot with LIDAR sensor (e.g., [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":2555,"comment_status":"closed","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[47,176,43],"tags":[180,179,66,74,182,181,110,100,178,71,73],"class_list":["post-2548","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-ros","category-tutorials","tag-amc","tag-lbd","tag-learn-by-doing","tag-linux","tag-move_base","tag-nav","tag-navigation","tag-robot","tag-robot-operating-sistem","tag-ros","tag-ubuntu"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Creating a 2D map with GMapping (ROS) - Learn by Doing!<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learnbydoing.dev\/es\/creating-a-2d-map-with-gmapping-ros\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing ROS 2 Jazzy on Ubuntu 24.04: Step-by-Step Tutorial\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, you will learn how to build a 2D map of an environment using the GMapping SLAM algorithm in ROS1. This process is fundamental for autonomous navigation as it allows the robot to understand and represent its surroundings. \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS1 installed (e.g., Noetic)\u00a0&#8211; `slam_gmapping` package\u00a0&#8211; Simulated robot with LIDAR sensor (e.g., [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnbydoing.dev\/es\/creating-a-2d-map-with-gmapping-ros\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn by Doing!\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-08T15:56:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-10T22:26:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/Progetto-senza-titolo-14.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Creating a 2D map with GMapping (ROS)\",\"datePublished\":\"2025-07-08T15:56:54+00:00\",\"dateModified\":\"2026-01-10T22:26:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/\"},\"wordCount\":240,\"publisher\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp\",\"keywords\":[\"amc\",\"lbd\",\"learn by doing\",\"Linux\",\"move_base\",\"nav\",\"navigation\",\"robot\",\"robot operating sistem\",\"ROS\",\"Ubuntu\"],\"articleSection\":[\"Linux\",\"ROS\",\"Tutorials\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/\",\"url\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/\",\"name\":\"Creating a 2D map with GMapping (ROS) - Learn by Doing!\",\"isPartOf\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp\",\"datePublished\":\"2025-07-08T15:56:54+00:00\",\"dateModified\":\"2026-01-10T22:26:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage\",\"url\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp\",\"contentUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learnbydoing.dev\/es\/learn-by-doing-es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating a 2D map with GMapping (ROS)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learnbydoing.dev\/es\/#website\",\"url\":\"https:\/\/learnbydoing.dev\/es\/\",\"name\":\"Learn by Doing!\",\"description\":\"Learn Robotics the fun way\",\"publisher\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learnbydoing.dev\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/learnbydoing.dev\/es\/#organization\",\"name\":\"Learn by Doing!\",\"url\":\"https:\/\/learnbydoing.dev\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/learnbydoing.dev\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/cropped-cropped-cropped-Progetto-senza-titolo-6-1.png\",\"contentUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/cropped-cropped-cropped-Progetto-senza-titolo-6-1.png\",\"width\":512,\"height\":512,\"caption\":\"Learn by Doing!\"},\"image\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/antonio-brandi-512166bb\/\"]},{\"@type\":\"Person\",\"@id\":\"\",\"url\":\"https:\/\/learnbydoing.dev\/es\/author\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating a 2D map with GMapping (ROS) - Learn by Doing!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/learnbydoing.dev\/es\/creating-a-2d-map-with-gmapping-ros\/","og_locale":"es_ES","og_type":"article","og_title":"Installing ROS 2 Jazzy on Ubuntu 24.04: Step-by-Step Tutorial","og_description":"In this tutorial, you will learn how to build a 2D map of an environment using the GMapping SLAM algorithm in ROS1. This process is fundamental for autonomous navigation as it allows the robot to understand and represent its surroundings. \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS1 installed (e.g., Noetic)\u00a0&#8211; `slam_gmapping` package\u00a0&#8211; Simulated robot with LIDAR sensor (e.g., [&hellip;]","og_url":"https:\/\/learnbydoing.dev\/es\/creating-a-2d-map-with-gmapping-ros\/","og_site_name":"Learn by Doing!","article_published_time":"2025-07-08T15:56:54+00:00","article_modified_time":"2026-01-10T22:26:05+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/Progetto-senza-titolo-14.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#article","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/"},"author":{"name":"","@id":""},"headline":"Creating a 2D map with GMapping (ROS)","datePublished":"2025-07-08T15:56:54+00:00","dateModified":"2026-01-10T22:26:05+00:00","mainEntityOfPage":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/"},"wordCount":240,"publisher":{"@id":"https:\/\/learnbydoing.dev\/es\/#organization"},"image":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp","keywords":["amc","lbd","learn by doing","Linux","move_base","nav","navigation","robot","robot operating sistem","ROS","Ubuntu"],"articleSection":["Linux","ROS","Tutorials"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/","url":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/","name":"Creating a 2D map with GMapping (ROS) - Learn by Doing!","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage"},"image":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp","datePublished":"2025-07-08T15:56:54+00:00","dateModified":"2026-01-10T22:26:05+00:00","breadcrumb":{"@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#primaryimage","url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp","contentUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/Creating-a-2d-map-with-GMapping-_ROS_.webp","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/learnbydoing.dev\/creating-a-2d-map-with-gmapping-ros\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learnbydoing.dev\/es\/learn-by-doing-es\/"},{"@type":"ListItem","position":2,"name":"Creating a 2D map with GMapping (ROS)"}]},{"@type":"WebSite","@id":"https:\/\/learnbydoing.dev\/es\/#website","url":"https:\/\/learnbydoing.dev\/es\/","name":"Learn by Doing!","description":"Learn Robotics the fun way","publisher":{"@id":"https:\/\/learnbydoing.dev\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learnbydoing.dev\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/learnbydoing.dev\/es\/#organization","name":"Learn by Doing!","url":"https:\/\/learnbydoing.dev\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/learnbydoing.dev\/es\/#\/schema\/logo\/image\/","url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/cropped-cropped-cropped-Progetto-senza-titolo-6-1.png","contentUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/06\/cropped-cropped-cropped-Progetto-senza-titolo-6-1.png","width":512,"height":512,"caption":"Learn by Doing!"},"image":{"@id":"https:\/\/learnbydoing.dev\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/antonio-brandi-512166bb\/"]},{"@type":"Person","@id":"","url":"https:\/\/learnbydoing.dev\/es\/author\/"}]}},"_links":{"self":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/2548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/comments?post=2548"}],"version-history":[{"count":18,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/2548\/revisions"}],"predecessor-version":[{"id":5565,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/2548\/revisions\/5565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media\/2555"}],"wp:attachment":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media?parent=2548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/categories?post=2548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/tags?post=2548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}