{"id":2633,"date":"2025-07-12T16:08:02","date_gmt":"2025-07-12T16:08:02","guid":{"rendered":"https:\/\/learnbydoing.dev\/?p=2633"},"modified":"2026-01-10T22:22:11","modified_gmt":"2026-01-10T22:22:11","slug":"autonomous-navigation-in-ros2-with-nav2-and-behavior-tree","status":"publish","type":"post","link":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/","title":{"rendered":"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"2633\" class=\"elementor elementor-2633\" 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\">Nav2<\/span>, <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-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=\"534\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d-1024x683.webp\" class=\"attachment-large size-large wp-image-2648\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d-1024x683.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d-300x200.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d-768x512.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d-18x12.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.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-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 SCXW161050496 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW161050496 BCX0\">In this tutorial, you will learn how to perform autonomous navigation in ROS2 using the Nav2 stack with integrated Behavior Trees (BT). The Nav2 framework provides a powerful modular system that allows robots to navigate in a known map using planning, localization, and behavior control components.<\/span><\/span><span class=\"EOP SCXW161050496 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<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 SCXW17788283 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW17788283 BCX0\">&#8211; ROS2 installed (e.g., Humble or Foxy)<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW17788283 BCX0\"><span class=\"SCXW17788283 BCX0\">\u00a0<\/span><br class=\"SCXW17788283 BCX0\" \/><\/span><span class=\"TextRun SCXW17788283 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW17788283 BCX0\">&#8211; A robot simulation (e.g., TurtleBot3 in Gazebo)<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW17788283 BCX0\"><span class=\"SCXW17788283 BCX0\">\u00a0<\/span><br class=\"SCXW17788283 BCX0\" \/><\/span><span class=\"TextRun SCXW17788283 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW17788283 BCX0\">&#8211; `nav2_bringup` package and configured parameters<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW17788283 BCX0\"><span class=\"SCXW17788283 BCX0\">\u00a0<\/span><br class=\"SCXW17788283 BCX0\" \/><\/span><span class=\"TextRun SCXW17788283 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW17788283 BCX0\">&#8211; <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW17788283 BCX0\">Pre-built<\/span><span class=\"NormalTextRun SCXW17788283 BCX0\"> map and localization (AMCL)<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW17788283 BCX0\"><span class=\"SCXW17788283 BCX0\">\u00a0<\/span><br class=\"SCXW17788283 BCX0\" \/><\/span><span class=\"TextRun SCXW17788283 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW17788283 BCX0\">&#8211; <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW17788283 BCX0\">RViz<\/span><span class=\"NormalTextRun SCXW17788283 BCX0\"> for goal setting and diagnostics<\/span><\/span><span class=\"EOP SCXW17788283 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 SCXW254348653 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW254348653 BCX0\" data-ccp-parastyle=\"heading 1\"> Launch Nav2 stack<\/span><\/span><span class=\"EOP SCXW254348653 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><\/b><\/h3><p><span data-contrast=\"auto\">Launch the full Nav2 stack including AMCL and map loading:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p><p><b><i><span data-contrast=\"none\">ros2 launch nav2_bringup bringup_launch.py use_sim_time:=True map:=\/path\/to\/map.yaml<\/span><\/i><\/b><span 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><p>\u00a0<\/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\/adc7867a-0614-4581-a390-c499468b9b82-1024x683.webp\" class=\"attachment-large size-large wp-image-2636\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/adc7867a-0614-4581-a390-c499468b9b82-1024x683.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/adc7867a-0614-4581-a390-c499468b9b82-300x200.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/adc7867a-0614-4581-a390-c499468b9b82-768x512.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/adc7867a-0614-4581-a390-c499468b9b82-18x12.webp 18w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/adc7867a-0614-4581-a390-c499468b9b82.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 SCXW40786267 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW40786267 BCX0\" data-ccp-parastyle=\"heading 1\">Send a Navigation Goal<\/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 SCXW255264873 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW255264873 BCX0\">In <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW255264873 BCX0\">RViz<\/span><span class=\"NormalTextRun SCXW255264873 BCX0\">, click on the &#8216;Nav2 Goal&#8217; tool and select a target pose. This will <\/span><span class=\"NormalTextRun SCXW255264873 BCX0\">initiate<\/span><span class=\"NormalTextRun SCXW255264873 BCX0\"> the autonomous navigation behavior tree to begin planning and execution.<\/span><\/span><span class=\"EOP SCXW255264873 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<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\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/b2fbd169-8fdd-4fb0-85d5-17e338610211.webp\" title=\"b2fbd169-8fdd-4fb0-85d5-17e338610211\" alt=\"b2fbd169-8fdd-4fb0-85d5-17e338610211\" loading=\"lazy\" \/>\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 SCXW34737411 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW34737411 BCX0\" data-ccp-parastyle=\"heading 1\">Understand the Behavior Tree Execution<\/span><\/span><span class=\"EOP SCXW34737411 BCX0\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:480,&quot;335559739&quot;:0}\">\u00a0<\/span><\/span><\/span><\/h3><p><span data-contrast=\"auto\">Nav2 uses a Behavior Tree (BT) to structure the navigation task. This BT includes conditions and actions like path planning, obstacle checking, controller execution, and recovery behaviors. You can visualize the current tree being executed by launching the Behavior Tree visualizer:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p><p>\u00a0<\/p><p><b><i><span data-contrast=\"none\">ros2 run nav2_bt_navigator bt_navigator_cli &#8211;print_tree<\/span><\/i><\/b><span 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-3ff3efc elementor-widget elementor-widget-image\" data-id=\"3ff3efc\" 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\/12b2c781-24fe-4a3b-a52b-e322eab44092.webp\" class=\"attachment-large size-large wp-image-2639\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b2c781-24fe-4a3b-a52b-e322eab44092.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b2c781-24fe-4a3b-a52b-e322eab44092-300x300.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b2c781-24fe-4a3b-a52b-e322eab44092-150x150.webp 150w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b2c781-24fe-4a3b-a52b-e322eab44092-768x768.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b2c781-24fe-4a3b-a52b-e322eab44092-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-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 <span class=\"TextRun SCXW256724133 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW256724133 BCX0\" data-ccp-parastyle=\"heading 1\">4: Reach the Goal and Confirm Success<\/span><\/span><\/span><\/b><\/h3><p><span class=\"TextRun SCXW115172558 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW115172558 BCX0\">If all goes well, the robot should reach the target location while avoiding obstacles. You can <\/span><span class=\"NormalTextRun SCXW115172558 BCX0\">monitor<\/span><span class=\"NormalTextRun SCXW115172558 BCX0\"> the result in <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW115172558 BCX0\">RViz<\/span><span class=\"NormalTextRun SCXW115172558 BCX0\"> or through logs. On success, the BT transitions to an idle state.<\/span><\/span><span class=\"EOP SCXW115172558 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<div class=\"elementor-element elementor-element-2cc3b7f elementor-widget elementor-widget-image\" data-id=\"2cc3b7f\" 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=\"737\" src=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b53f1c-b474-4420-88fe-659fe29e04cf.webp\" class=\"attachment-large size-large wp-image-2640\" alt=\"\" srcset=\"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b53f1c-b474-4420-88fe-659fe29e04cf.webp 1024w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b53f1c-b474-4420-88fe-659fe29e04cf-300x276.webp 300w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b53f1c-b474-4420-88fe-659fe29e04cf-768x707.webp 768w, https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/12b53f1c-b474-4420-88fe-659fe29e04cf-13x12.webp 13w\" 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-6fbd50c elementor-widget elementor-widget-text-editor\" data-id=\"6fbd50c\" 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 5: <\/span><\/b><b><span data-contrast=\"none\">Troubleshooting<\/span><\/b><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:480,&quot;335559739&quot;:0}\">\u00a0<\/span><\/h3><p><span data-contrast=\"auto\"><strong>&#8211; Robot doesn\u2019t move:<\/strong><\/span><\/p><p><span data-contrast=\"auto\"> ensure all Nav2 nodes are running (e.g., controller_server, planner_server).<\/span>\u00a0<br \/><span data-contrast=\"auto\"><strong>&#8211; Planning failed:<\/strong><\/span><\/p><p><span data-contrast=\"auto\"> check the map and robot pose accuracy.<\/span>\u00a0<br \/><span data-contrast=\"auto\"><strong>&#8211; BT gets stuck:<\/strong><\/span><\/p><p><span data-contrast=\"auto\"> verify the recovery behaviors are active and well defined in the XML tree.<\/span>\u00a0<br \/><span data-contrast=\"auto\"><strong>&#8211; Localization drift:<\/strong><\/span><\/p><p><span data-contrast=\"auto\"> use AMCL parameters tuning or re-initialize robot pose in RViz.<\/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 perform autonomous navigation in ROS2 using the Nav2 stack with integrated Behavior Trees (BT). The Nav2 framework provides a powerful modular system that allows robots to navigate in a known map using planning, localization, and behavior control components.\u00a0 \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS2 installed (e.g., Humble or Foxy)\u00a0&#8211; [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":2648,"comment_status":"closed","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[47,49,45,43],"tags":[180,179,66,74,182,181,110,100,178,71,73],"class_list":["post-2633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-nav2","category-ros-2","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.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Autonomous Navigation in ROS2 with Nav2 and Behavior Tree - 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\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/\" \/>\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 perform autonomous navigation in ROS2 using the Nav2 stack with integrated Behavior Trees (BT). The Nav2 framework provides a powerful modular system that allows robots to navigate in a known map using planning, localization, and behavior control components.\u00a0 \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS2 installed (e.g., Humble or Foxy)\u00a0&#8211; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnbydoing.dev\/es\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn by Doing!\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-12T16:08:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-10T22:22:11+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=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree\",\"datePublished\":\"2025-07-12T16:08:02+00:00\",\"dateModified\":\"2026-01-10T22:22:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/\"},\"wordCount\":341,\"publisher\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/learnbydoing.dev\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp\",\"keywords\":[\"amc\",\"lbd\",\"learn by doing\",\"Linux\",\"move_base\",\"nav\",\"navigation\",\"robot\",\"robot operating sistem\",\"ROS\",\"Ubuntu\"],\"articleSection\":[\"Linux\",\"Nav2\",\"ROS 2\",\"Tutorials\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/\",\"url\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/\",\"name\":\"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree - Learn by Doing!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/learnbydoing.dev\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp\",\"datePublished\":\"2025-07-12T16:08:02+00:00\",\"dateModified\":\"2026-01-10T22:22:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#primaryimage\",\"url\":\"https:\\\/\\\/learnbydoing.dev\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp\",\"contentUrl\":\"https:\\\/\\\/learnbydoing.dev\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/learnbydoing.dev\\\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/learnbydoing.dev\\\/es\\\/learn-by-doing-es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree\"}]},{\"@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":"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree - 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\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/","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 perform autonomous navigation in ROS2 using the Nav2 stack with integrated Behavior Trees (BT). The Nav2 framework provides a powerful modular system that allows robots to navigate in a known map using planning, localization, and behavior control components.\u00a0 \u00a0\ud83d\udcdd Requirements\u00a0 &#8211; ROS2 installed (e.g., Humble or Foxy)\u00a0&#8211; [&hellip;]","og_url":"https:\/\/learnbydoing.dev\/es\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/","og_site_name":"Learn by Doing!","article_published_time":"2025-07-12T16:08:02+00:00","article_modified_time":"2026-01-10T22:22:11+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":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#article","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/"},"author":{"name":"","@id":""},"headline":"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree","datePublished":"2025-07-12T16:08:02+00:00","dateModified":"2026-01-10T22:22:11+00:00","mainEntityOfPage":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/"},"wordCount":341,"publisher":{"@id":"https:\/\/learnbydoing.dev\/es\/#organization"},"image":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp","keywords":["amc","lbd","learn by doing","Linux","move_base","nav","navigation","robot","robot operating sistem","ROS","Ubuntu"],"articleSection":["Linux","Nav2","ROS 2","Tutorials"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/","url":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/","name":"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree - Learn by Doing!","isPartOf":{"@id":"https:\/\/learnbydoing.dev\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#primaryimage"},"image":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#primaryimage"},"thumbnailUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp","datePublished":"2025-07-12T16:08:02+00:00","dateModified":"2026-01-10T22:22:11+00:00","breadcrumb":{"@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#primaryimage","url":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp","contentUrl":"https:\/\/learnbydoing.dev\/wp-content\/uploads\/2025\/07\/35f6a63e-c0c0-48ed-91a8-a9cd3a45d75d.webp","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/learnbydoing.dev\/autonomous-navigation-in-ros2-with-nav2-and-behavior-tree\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learnbydoing.dev\/es\/learn-by-doing-es\/"},{"@type":"ListItem","position":2,"name":"Autonomous Navigation in ROS2 with Nav2 and Behavior Tree"}]},{"@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\/2633","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=2633"}],"version-history":[{"count":21,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/2633\/revisions"}],"predecessor-version":[{"id":5556,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/posts\/2633\/revisions\/5556"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media\/2648"}],"wp:attachment":[{"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/media?parent=2633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/categories?post=2633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learnbydoing.dev\/es\/wp-json\/wp\/v2\/tags?post=2633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}