{"id":3948,"date":"2025-09-09T13:37:08","date_gmt":"2025-09-09T13:37:08","guid":{"rendered":"https:\/\/learnbydoing.dev\/?p=3948"},"modified":"2026-01-10T21:57:03","modified_gmt":"2026-01-10T21:57:03","slug":"how-robots-understand-their-environment","status":"publish","type":"post","link":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/","title":{"rendered":"How Robots Understand Their Environment: Maps and Localization with ROS 2"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"3948\" class=\"elementor elementor-3948\" 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\">ROS 2<\/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-12a4ca0 elementor-widget elementor-widget-text-editor\" data-id=\"12a4ca0\" 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 data-start=\"99\" data-end=\"582\">To ensure autonomous navigation capabilities, a robot must be equipped with both a <strong data-start=\"182\" data-end=\"208\">localization mechanism<\/strong> and a <strong data-start=\"215\" data-end=\"258\">representation of the environment (map)<\/strong>.<br data-start=\"259\" data-end=\"262\" \/>Odometry alone, based on wheel rotation measurements, is not sufficient, as it introduces <strong data-start=\"352\" data-end=\"373\">cumulative errors<\/strong> that increase over time.<br data-start=\"398\" data-end=\"401\" data-is-only-node=\"\" \/>Therefore, a map is required to serve as an <strong data-start=\"445\" data-end=\"467\">external reference<\/strong>, enabling the correction of these errors and allowing the robot to determine its position with greater accuracy.<\/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-d5889a3 elementor-widget elementor-widget-text-editor\" data-id=\"d5889a3\" 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=\"807\" data-end=\"828\">\ud83e\uddd0<strong>\u00a0What is a Map<\/strong><\/h3><p data-start=\"829\" data-end=\"1000\">In robotics, a map is a <strong data-start=\"853\" data-end=\"909\">computational representation of the real environment<\/strong>. It is not a perfect copy, but a simplified, symbolic version that enables a robot to:<\/p><ul data-start=\"1001\" data-end=\"1082\"><li data-start=\"1001\" data-end=\"1021\"><p data-start=\"1003\" data-end=\"1021\">localize itself,<\/p><\/li><li data-start=\"1022\" data-end=\"1044\"><p data-start=\"1024\" data-end=\"1044\">move autonomously,<\/p><\/li><li data-start=\"1045\" data-end=\"1065\"><p data-start=\"1047\" data-end=\"1065\">avoid obstacles,<\/p><\/li><li data-start=\"1066\" data-end=\"1082\"><p data-start=\"1068\" data-end=\"1082\">reach goals.<\/p><\/li><\/ul><p data-start=\"1084\" data-end=\"1136\">The <strong data-start=\"1088\" data-end=\"1107\">level of detail<\/strong> of a map directly affects:<\/p><ul data-start=\"1137\" data-end=\"1272\"><li data-start=\"1137\" data-end=\"1174\"><p data-start=\"1139\" data-end=\"1174\">the <strong data-start=\"1143\" data-end=\"1171\">accuracy of localization<\/strong>,<\/p><\/li><li data-start=\"1175\" data-end=\"1231\"><p data-start=\"1177\" data-end=\"1231\">the <strong data-start=\"1181\" data-end=\"1203\">computational cost<\/strong> for processing and usage,<\/p><\/li><li data-start=\"1232\" data-end=\"1272\"><p data-start=\"1234\" data-end=\"1272\">the <strong data-start=\"1238\" data-end=\"1257\">memory required<\/strong> for storage.<\/p><\/li><\/ul><p data-start=\"1274\" data-end=\"1363\">Therefore, the designer must always seek a <strong data-start=\"1317\" data-end=\"1360\">balance between accuracy and efficiency<\/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-d53eb9a elementor-widget elementor-widget-text-editor\" data-id=\"d53eb9a\" 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=\"1370\" data-end=\"1403\">\ud83d\uddfa\ufe0f <strong>Types of Maps in Robotics<\/strong><\/h3><p data-start=\"1405\" data-end=\"1506\">In robotic systems, maps can be categorized according to their structure, level of abstraction, and purpose. The following sections present the principal types of maps used in autonomous navigation, organized in a systematic and technical manner.<\/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-6a3f6da elementor-widget elementor-widget-text-editor\" data-id=\"6a3f6da\" 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<h5 data-start=\"1508\" data-end=\"1546\"><strong>Metric Maps (Occupancy Grid)<\/strong><\/h5><p><strong>Metric maps<\/strong>, commonly implemented as <strong>occupancy grids<\/strong>, represent the environment through a discretized <strong>two-dimensional grid<\/strong>. Each grid cell encodes the probability of being <strong>free<\/strong>, <strong>occupied<\/strong>, or <strong>unknown<\/strong>, enabling the robot to distinguish navigable areas from obstacles. <br \/>This representation is computationally<strong> efficient<\/strong>, relatively lightweight, and has therefore become a <strong>standard<\/strong> in <strong>mobile robotics<\/strong>. <br \/>Occupancy grids are particularly well suited for <strong>path planning<\/strong> and <strong>obstacle avoidance<\/strong>, and are typically generated using SLAM (Simultaneous Localization and Mapping) techniques, for example within <strong>ROS 2<\/strong> using the <code data-start=\"824\" data-end=\"830\">nav2<\/code> framework.<\/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-14e1da7 elementor-widget elementor-widget-image\" data-id=\"14e1da7\" 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\/09\/Maps-1024x576.webp\" class=\"attachment-large size-large wp-image-3972\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps.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-643f85f elementor-widget elementor-widget-text-editor\" data-id=\"643f85f\" 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<h5><strong>Geometric Three-Dimensional Maps<\/strong><\/h5><p><strong>Three-dimensional geometric maps<\/strong> extend metric representations into <strong>volumetric space<\/strong>. They may be constructed as point clouds, polygonal meshes, or hierarchical voxel structures such as OctoMaps.<\/p><p>These maps provide a <strong>detailed reconstruction<\/strong> of the environment, including elevation and overhanging obstacles, making them indispensable for aerial drones, legged robots, and autonomous vehicles operating in<strong> complex, unstructured environments<\/strong>.<\/p><p>While they offer a <strong>high degree of accuracy<\/strong>, their generation and processing impose significant computational and memory demands, requiring <strong>advanced hardware<\/strong> and optimized algorithms for real-time usage.<\/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-c5d7388 elementor-widget elementor-widget-image\" data-id=\"c5d7388\" 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=\"450\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-1024x576.webp\" class=\"attachment-large size-large wp-image-3973\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-1.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-cab90be elementor-widget elementor-widget-text-editor\" data-id=\"cab90be\" 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<h5 data-start=\"2099\" data-end=\"2125\"><strong>Topological Maps<\/strong><\/h5><p><strong>Topological maps<\/strong> describe the environment as a <strong>graph structure<\/strong>, in which <strong data-start=\"946\" data-end=\"955\">nodes<\/strong> correspond to relevant locations (e.g., rooms, hallways) and <strong data-start=\"1017\" data-end=\"1026\">edges<\/strong> represent the navigable connections between them.<\/p><p>Unlike metric maps, they do not encode geometric precision but rather emphasize the <strong>relational structure<\/strong> of the environment.<\/p><p>Their compactness makes them suitable for <strong>high-level planning<\/strong> and efficient storage, allowing robots to reason in terms of connectivity rather than detailed geometry.<\/p><p>However, their abstraction <strong>limits<\/strong> their use in<strong> fine-grained navigation<\/strong> tasks where precise obstacle information is required.<\/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-4a169cc elementor-widget elementor-widget-image\" data-id=\"4a169cc\" 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=\"450\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-1024x576.webp\" class=\"attachment-large size-large wp-image-3974\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-2.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-858fb83 elementor-widget elementor-widget-text-editor\" data-id=\"858fb83\" 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<h5 data-start=\"2417\" data-end=\"2438\"><strong>Hybrid Maps<\/strong><\/h5><p><strong>Hybrid maps<\/strong> combine elements of both <strong>metric<\/strong> and <strong>topological<\/strong> representations, sometimes enriched with semantic information. For instance, a robot may rely on a global topological structure for efficient long-range planning while simultaneously maintaining local occupancy grids for precise navigation and obstacle avoidance.<\/p><p>In more advanced implementations, hybrid maps also integrate <strong>semantic labels<\/strong>, allowing robots not only to navigate but also to <strong>interpret their surroundings<\/strong> (e.g., identifying a space as a \u201ckitchen\u201d or \u201coffice\u201d).<\/p><p>This layered approach provides a <strong>powerful balance<\/strong> between computational efficiency, accuracy, and contextual understanding, making hybrid maps an increasingly common choice in modern robotic systems.<\/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-76eeeb3 elementor-widget elementor-widget-text-editor\" data-id=\"76eeeb3\" 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=\"2710\" data-end=\"2760\">\ud83d\udce1 <strong>How Robots Build Maps: The Role of Sensors<\/strong><\/h3><p data-start=\"3174\" data-end=\"3285\">Robots rely on sensors to perceive and model the environment, since odometry alone is not sufficient for accurate localization. Each sensor provides different types of information, and understanding their characteristics is essential to determine which technology best suits a specific application.<\/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-051d4bb elementor-widget elementor-widget-image\" data-id=\"051d4bb\" 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 loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-1024x576.webp\" class=\"attachment-large size-large wp-image-3978\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-3.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-fa0427a elementor-widget elementor-widget-text-editor\" data-id=\"fa0427a\" 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<h4><strong data-start=\"627\" data-end=\"653\">LIDAR (Laser Scanner).<\/strong><\/h4><p><strong>LIDAR sensors<\/strong> are among the most common in robotics for mapping and localization tasks. They operate by emitting <strong>laser<\/strong> beams and measuring the time of flight of the reflected signal, allowing them to calculate distances with <strong>high accuracy<\/strong>.<\/p><p>This makes them particularly effective for generating t<strong>wo-dimensional<\/strong> occupancy <strong>grid maps<\/strong>, widely used in mobile robots.\u00a0<\/p><p>Their main advantages are <strong>precision<\/strong> and <strong>robustness<\/strong>, although they tend to be expensive and may have limitations in vertical coverage in 2D models.<\/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-29c6520 elementor-widget elementor-widget-text-editor\" data-id=\"29c6520\" 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<h5><strong>Cameras (RGB and RGB-D).<\/strong><\/h5><p><strong>Cameras<\/strong> are another fundamental sensor for robotic perception. Traditional RGB cameras capture <strong>visual information<\/strong>, providing images rich in color and texture, while <strong>RGB-D<\/strong> cameras integrate <strong>depth data<\/strong>, combining <strong>visual detail<\/strong> with three-dimensional structure.<\/p><p>These sensors enable robots to build dense <strong>3D maps<\/strong>, recognize objects, and even associate <strong>semantic meaning<\/strong> with elements of the environment. Their flexibility makes them highly valuable, but they are sensitive to lighting conditions and can require significant <strong>computational resources<\/strong> to process images in real time.<\/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-1b831dc elementor-widget elementor-widget-text-editor\" data-id=\"1b831dc\" 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<h5><strong data-start=\"1986\" data-end=\"2009\">Ultrasonic Sensors.<\/strong><\/h5><p><strong>Ultrasonic sensors<\/strong> are based on the emission of high-frequency <strong>sound waves<\/strong> and the measurement of the returning echo. They provide approximate distance estimates, especially useful for <strong>detecting<\/strong> nearby obstacles.<\/p><p>Their main strengths are their <strong>low cost<\/strong>, simplicity, and small size, which make them suitable for integration in small robots or as complementary safety sensors. However, their accuracy is <strong>limited<\/strong>, and the measurements are often noisy, restricting their use to basic <strong>collision avoidance<\/strong> rather than precise mapping.<\/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-04fb8b9 elementor-widget elementor-widget-text-editor\" data-id=\"04fb8b9\" 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<h5><strong data-start=\"2544\" data-end=\"2565\">IMU and Odometry.<\/strong><\/h5><p><strong>Inertial Measurement Units (IMUs)<\/strong> and odometry provide <strong>motion-related<\/strong> data. IMUs measure accelerations and angular velocities, while odometry estimates displacement based on wheel rotations.<\/p><p>Together, these sensors give the robot an <strong>immediate<\/strong> sense of <strong>movement<\/strong> and <strong>orientation<\/strong>, which is essential for short-term navigation.<\/p><p>However, both are subject to <strong>cumulative errors<\/strong> over time: odometry suffers from wheel slippage and drift, while IMU signals can degrade due to integration errors.<\/p><p>For this reason, they are typically combined with <strong>external sensors<\/strong> like LIDARs or cameras to ensure consistent <strong>long-term<\/strong> localization.<\/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-020ba83 elementor-widget elementor-widget-text-editor\" data-id=\"020ba83\" 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=\"3579\" data-end=\"3640\">\ud83d\udd17 <strong>Localization, Maps, and Sensors: An Inseparable Chain<\/strong><\/h3><p data-start=\"215\" data-end=\"398\">In autonomous robotics, localization is the result of a tightly coupled process that links <strong data-start=\"306\" data-end=\"348\">sensors, maps, and position estimation<\/strong>. This relationship can be expressed as follows:<\/p><h3 style=\"text-align: center;\" data-start=\"400\" data-end=\"434\"><strong data-start=\"400\" data-end=\"432\">Sensors \u2192 Map \u2192 Localization<\/strong><\/h3>\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-30994bb elementor-widget elementor-widget-image\" data-id=\"30994bb\" 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 loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-1024x576.webp\" class=\"attachment-large size-large wp-image-3983\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-1024x576.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-300x169.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-768x432.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-1536x864.webp 1536w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4-18x10.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-4.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-8ba4088 elementor-widget elementor-widget-text-editor\" data-id=\"8ba4088\" 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 data-start=\"400\" data-end=\"434\">\u00a0<\/p><ol data-start=\"436\" data-end=\"791\"><li data-start=\"436\" data-end=\"544\"><p data-start=\"439\" data-end=\"544\">The <strong data-start=\"443\" data-end=\"454\">sensors<\/strong> acquire raw data from the environment, such as distances, images, or motion parameters.<\/p><\/li><li data-start=\"545\" data-end=\"662\"><p data-start=\"548\" data-end=\"662\">These data are processed and structured into a <strong data-start=\"595\" data-end=\"602\">map<\/strong>, which provides a computational model of the environment.<\/p><\/li><li data-start=\"663\" data-end=\"791\"><p data-start=\"666\" data-end=\"791\">The <strong data-start=\"670\" data-end=\"677\">map<\/strong> serves as a reference, enabling the robot to calculate its <strong data-start=\"737\" data-end=\"749\">position<\/strong> and orientation within the environment.<br \/><br \/><\/p><\/li><\/ol><p data-start=\"793\" data-end=\"947\">This chain illustrates how each stage depends on the previous one: without sensors, no map can be built; without a map, localization becomes unreliable.<br \/><br \/><\/p><p data-start=\"949\" data-end=\"982\"><strong data-start=\"949\" data-end=\"980\">Practical examples include:<br \/><br \/><\/strong><\/p><ul data-start=\"983\" data-end=\"1503\"><li data-start=\"983\" data-end=\"1148\"><p data-start=\"985\" data-end=\"1148\">Using a <strong data-start=\"993\" data-end=\"1012\">topological map<\/strong>, a robot can recognize that it is located in a specific area (e.g., <em data-start=\"1081\" data-end=\"1094\">the kitchen<\/em>), but it cannot determine exact metric coordinates.<\/p><\/li><li data-start=\"1149\" data-end=\"1311\"><p data-start=\"1151\" data-end=\"1311\">With a <strong data-start=\"1158\" data-end=\"1179\">2D occupancy grid<\/strong>, the robot can estimate its position in metric terms, such as <em data-start=\"1242\" data-end=\"1262\">(x = 3.2, y = 5.1)<\/em>, which is essential for precise path planning.<\/p><\/li><li data-start=\"1312\" data-end=\"1503\"><p data-start=\"1314\" data-end=\"1503\">With a <strong data-start=\"1321\" data-end=\"1331\">3D map<\/strong>, the robot gains the ability to navigate complex environments that include elevation and overhanging obstacles, extending its autonomy to fully three-dimensional spaces.<\/p><\/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-11dd7cb elementor-widget elementor-widget-text-editor\" data-id=\"11dd7cb\" 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 data-start=\"172\" data-end=\"545\">We have seen how maps represent the essential bridge between raw sensor data and a robot\u2019s ability to move autonomously. Without an adequate map, localization remains inaccurate; with overly complex maps, computations become unmanageable in real time. Only by finding the right balance between sensor quality and map type can a robot safely interact with its environment.<\/p><p data-start=\"172\" data-end=\"545\">\u00a0<\/p><p data-start=\"547\" data-end=\"831\">This is just a preview of what you will learn: in the <strong data-start=\"601\" data-end=\"616\">full course<\/strong> you will find in-depth explanations, practical examples, ready-to-use code, and all the material you need to systematically build the skills that will allow you to design and implement autonomous robotic systems.<\/p><p data-start=\"833\" data-end=\"1003\">\u00a0<\/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-c5d20e7 e-con-full e-flex e-con e-parent\" data-id=\"c5d20e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f5d4a8 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=\"6f5d4a8\" 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\/05\/map_localization.webp);\" role=\"img\" aria-label=\"map_localization\"><\/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\tDiscover how to design, build, and use maps in real robotic systems in the \"Self Driving and ROS 2 - Learn by doing! Map &amp; Localization\" 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 class=\"elementor-element elementor-element-180426a elementor-widget elementor-widget-spacer\" data-id=\"180426a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/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<\/div>","protected":false},"excerpt":{"rendered":"<p>To ensure autonomous navigation capabilities, a robot must be equipped with both a localization mechanism and a representation of the environment (map).Odometry alone, based on wheel rotation measurements, is not sufficient, as it introduces cumulative errors that increase over time.Therefore, a map is required to serve as an external reference, enabling the correction of these [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":3992,"comment_status":"closed","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[45,43],"tags":[314,308,313,316,321,318,310,66,307,74,105,306,106,319,315,311,110,312,296,100,75,71,107,72,61,320,309,317,73,60],"class_list":["post-3948","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ros-2","category-tutorials","tag-3d","tag-camera","tag-environment","tag-geometric","tag-grid","tag-hybrid","tag-imu","tag-learn-by-doing","tag-lidar","tag-linux","tag-localization","tag-map","tag-mapping","tag-maps","tag-metric","tag-mpu6050","tag-navigation","tag-perception","tag-raspberry","tag-robot","tag-robotics","tag-ros","tag-ros-2","tag-ros2","tag-sensor","tag-sensors","tag-sonar","tag-topological","tag-ubuntu","tag-ultrasonic"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Robots Understand Their Environment: Maps and Localization with ROS 2 - Learn by Doing!<\/title>\n<meta name=\"description\" content=\"Learn how autonomous robots use maps and sensors in ROS 2. The complete guide to localization, from core concepts to practical use.\" \/>\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\/how-robots-understand-their-environment\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Robots Understand Their Environment: Maps and Localization with ROS 2\" \/>\n<meta property=\"og:description\" content=\"Learn by Doing!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnbydoing.dev\/es\/how-robots-understand-their-environment\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn by Doing!\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-09T13:37:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-10T21:57:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.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=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"How Robots Understand Their Environment: Maps and Localization with ROS 2\",\"datePublished\":\"2025-09-09T13:37:08+00:00\",\"dateModified\":\"2026-01-10T21:57:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/\"},\"wordCount\":1262,\"publisher\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp\",\"keywords\":[\"3D\",\"Camera\",\"Environment\",\"Geometric\",\"Grid\",\"Hybrid\",\"IMU\",\"learn by doing\",\"Lidar\",\"Linux\",\"localization\",\"Map\",\"mapping\",\"Maps\",\"Metric\",\"MPU6050\",\"navigation\",\"Perception\",\"Raspberry\",\"robot\",\"Robotics\",\"ROS\",\"ROS 2\",\"ROS2\",\"sensor\",\"Sensors\",\"Sonar\",\"Topological\",\"Ubuntu\",\"ultrasonic\"],\"articleSection\":[\"ROS 2\",\"Tutorials\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/\",\"url\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/\",\"name\":\"How Robots Understand Their Environment: Maps and Localization with ROS 2 - Learn by Doing!\",\"isPartOf\":{\"@id\":\"https:\/\/learnbydoing.dev\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp\",\"datePublished\":\"2025-09-09T13:37:08+00:00\",\"dateModified\":\"2026-01-10T21:57:03+00:00\",\"description\":\"Learn how autonomous robots use maps and sensors in ROS 2. The complete guide to localization, from core concepts to practical use.\",\"breadcrumb\":{\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage\",\"url\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp\",\"contentUrl\":\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learnbydoing.dev\/es\/learn-by-doing-es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Robots Understand Their Environment: Maps and Localization with ROS 2\"}]},{\"@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":"How Robots Understand Their Environment: Maps and Localization with ROS 2 - Learn by Doing!","description":"Learn how autonomous robots use maps and sensors in ROS 2. The complete guide to localization, from core concepts to practical use.","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\/how-robots-understand-their-environment\/","og_locale":"es_ES","og_type":"article","og_title":"How Robots Understand Their Environment: Maps and Localization with ROS 2","og_description":"Learn by Doing!","og_url":"https:\/\/learnbydoing.dev\/es\/how-robots-understand-their-environment\/","og_site_name":"Learn by Doing!","article_published_time":"2025-09-09T13:37:08+00:00","article_modified_time":"2026-01-10T21:57:03+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#article","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/"},"author":{"name":"","@id":""},"headline":"How Robots Understand Their Environment: Maps and Localization with ROS 2","datePublished":"2025-09-09T13:37:08+00:00","dateModified":"2026-01-10T21:57:03+00:00","mainEntityOfPage":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/"},"wordCount":1262,"publisher":{"@id":"https:\/\/learnbydoing.dev\/es\/#organization"},"image":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp","keywords":["3D","Camera","Environment","Geometric","Grid","Hybrid","IMU","learn by doing","Lidar","Linux","localization","Map","mapping","Maps","Metric","MPU6050","navigation","Perception","Raspberry","robot","Robotics","ROS","ROS 2","ROS2","sensor","Sensors","Sonar","Topological","Ubuntu","ultrasonic"],"articleSection":["ROS 2","Tutorials"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/","url":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/","name":"How Robots Understand Their Environment: Maps and Localization with ROS 2 - Learn by Doing!","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage"},"image":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp","datePublished":"2025-09-09T13:37:08+00:00","dateModified":"2026-01-10T21:57:03+00:00","description":"Learn how autonomous robots use maps and sensors in ROS 2. The complete guide to localization, from core concepts to practical use.","breadcrumb":{"@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#primaryimage","url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp","contentUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/09\/Maps-5.webp","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/learnbydoing.dev\/how-robots-understand-their-environment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learnbydoing.dev\/es\/learn-by-doing-es\/"},{"@type":"ListItem","position":2,"name":"How Robots Understand Their Environment: Maps and Localization with ROS 2"}]},{"@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\/3948","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=3948"}],"version-history":[{"count":36,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/3948\/revisions"}],"predecessor-version":[{"id":5499,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/3948\/revisions\/5499"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media\/3992"}],"wp:attachment":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media?parent=3948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/categories?post=3948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/tags?post=3948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}