From 15c5b2e9ce6444ac9c964f7554f2e9deebb20a3c Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Sun, 28 Jun 2026 23:08:10 +0200 Subject: [PATCH 1/7] Draft Learning about parameters - tutorial --- .../Understanding-ROS2-Parameters.rst | 115 +++++++++++------- 1 file changed, 70 insertions(+), 45 deletions(-) diff --git a/source/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst b/source/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst index c8ddf2d62f2..f1a086945a6 100644 --- a/source/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst +++ b/source/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst @@ -4,42 +4,51 @@ .. _ROS2Params: -Understanding parameters -======================== +Learning about parameters - tutorial +===================================== -**Goal:** Learn how to get, set, save and reload parameters in ROS 2. +Parameters are configuration values stored by each node in the ROS graph. +This article walks you through using the ``ros2 param`` command-line tools to inspect, change, save, and reload parameters. +A hands-on exercise with Turtlesim shows how parameters control node behaviour at runtime. -**Tutorial level:** Beginner - -**Time:** 5 minutes +**Area: Framework | Content-type: tutorial | Experience: beginner** .. contents:: Contents :depth: 2 :local: +Summary +------- + +Each node in the ROS graph stores its own set of configuration values, called parameters. +Use the ``ros2 param`` commands to get, set, save, and reload parameter values at runtime. + Background ---------- A parameter is a configuration value of a node. You can think of parameters as node settings. A node can store parameters as integers, floats, booleans, strings, and lists. -In ROS 2, each node maintains its own parameters. -For more background on parameters, please see :doc:`the concept document <../../../Concepts/Basic/About-Parameters>`. +In ROS, each node maintains its own parameters. + +For more details, see :doc:`About parameters <../../../Concepts/Basic/About-Parameters>`. Prerequisites ------------- -This tutorial uses the :doc:`turtlesim package <../Introducing-Turtlesim/Introducing-Turtlesim>`. - -As always, don't forget to source ROS 2 in :doc:`every new terminal you open <../Configuring-ROS2-Environment>`. +You will need the :doc:`turtlesim package <../Introducing-Turtlesim/Introducing-Turtlesim>`. -Tasks +Steps ----- +.. note:: + Do not forget to source ROS in every new terminal you open. + See :doc:`Configuring environment <../Configuring-ROS2-Environment>`. + 1 Setup ^^^^^^^ -Start up the two turtlesim nodes, ``/turtlesim`` and ``/teleop_turtle``. +Start up the two Turtlesim nodes, ``/turtlesim`` and ``/teleop_turtle``. Open a new terminal and run: @@ -57,7 +66,7 @@ Open another terminal and run: 2 ros2 param list ^^^^^^^^^^^^^^^^^ -To see the parameters belonging to your nodes, open a new terminal and enter the command: +To see the parameters belonging to your nodes, open a new terminal and run: .. code-block:: console @@ -81,21 +90,21 @@ To see the parameters belonging to your nodes, open a new terminal and enter the use_sim_time -You see the node namespaces, ``/teleop_turtle`` and ``/turtlesim``, followed by each node's parameters. +You should see the node namespaces, ``/teleop_turtle`` and ``/turtlesim``, followed by each node's parameters. -The namespaces of the parameter and its name are separated using dots as you can see, for example, in ``parameter_events.publisher.depth``. +The namespace and name of a parameter are separated by dots, as in ``parameter_events.publisher.depth``. -Every node has the parameter ``use_sim_time``; it's not unique to turtlesim. +Every node has the parameter ``use_sim_time``; it is not unique to Turtlesim. -Based on their names, it looks like ``/turtlesim``'s parameters determine the background color of the turtlesim window using RGB color values. +Based on their names, ``/turtlesim``'s parameters appear to control the background colour of the Turtlesim window using RGB values. -To determine a parameter's type, you can use ``ros2 param get``. +To determine a parameter's type, use ``ros2 param get``. 3 ros2 param get ^^^^^^^^^^^^^^^^ -To display the type and current value of a parameter, use the command: +To display the type and current value of a parameter, use the following command: .. code-block:: console @@ -107,16 +116,16 @@ You can also query a parameter across all nodes by omitting the node name: $ ros2 param get -Let's find out the current value of ``/turtlesim``'s parameter ``background_g``: +To find out the current value of ``/turtlesim``'s parameter ``background_g``, run: .. code-block:: console $ ros2 param get /turtlesim background_g Integer value is: 86 -Now you know ``background_g`` holds an integer value. +This tells you ``background_g`` holds an integer value. -If you run the same command on ``background_r`` and ``background_b``, you will get the values ``69`` and ``255``, respectively. +Running the same command on ``background_r`` and ``background_b`` should return the values ``69`` and ``255``, respectively. You can also check the ``use_sim_time`` parameter across all nodes: @@ -124,25 +133,25 @@ You can also check the ``use_sim_time`` parameter across all nodes: $ ros2 param get use_sim_time -This will display the parameter value for each node that has this parameter set. +This displays the parameter value for each node that has it set. 4 ros2 param set ^^^^^^^^^^^^^^^^ -To change a parameter's value at runtime, use the command: +To change a parameter's value at runtime, use the following command: .. code-block:: console $ ros2 param set -Let's change ``/turtlesim``'s background color: +Let's change ``/turtlesim``'s background colour: .. code-block:: console $ ros2 param set /turtlesim background_r 150 Set parameter successful -The background of your turtlesim window should change colors: +The background of the Turtlesim window should change colour, like this: .. image:: images/set.png @@ -158,15 +167,16 @@ You can view all of a node's current parameter values by using the command: $ ros2 param dump -The command prints to the standard output (stdout) by default but you can also redirect the parameter values into a file to save them for later. -To save your current configuration of ``/turtlesim``'s parameters into the file ``turtlesim.yaml``, enter the command: +The command prints to the standard output (stdout) by default, but you can also redirect the parameter values into a file to save them for later. +To save your current configuration of ``/turtlesim``'s parameters into the file ``turtlesim.yaml``, run: .. code-block:: console $ ros2 param dump /turtlesim > turtlesim.yaml -You will find a new file in the current working directory your shell is running in. -If you open this file, you'll see the following content: +A new file is created in the current working directory. + +Open the file to view the following content: .. code-block:: YAML @@ -189,13 +199,13 @@ Dumping parameters comes in handy if you want to reload the node with the same p 6 ros2 param load ^^^^^^^^^^^^^^^^^ -You can load parameters from a file to a currently running node using the command: +You can load parameters from a file to a currently running node using the following command: .. code-block:: console $ ros2 param load -To load the ``turtlesim.yaml`` file generated with ``ros2 param dump`` into ``/turtlesim`` node's parameters, enter the command: +To load the ``turtlesim.yaml`` file generated with ``ros2 param dump`` into ``/turtlesim`` node's parameters, run: .. code-block:: console @@ -211,7 +221,7 @@ To load the ``turtlesim.yaml`` file generated with ``ros2 param dump`` into ``/t .. note:: - Read-only parameters can only be modified at startup and not afterwards, that is why there are some warnings for the "qos_overrides" parameters. + Read-only parameters can only be modified at startup and not afterwards, which is why there are some ``failed`` warnings for the ``qos_overrides`` parameters. .. _LoadParameterFileOnNodeStartup: @@ -224,28 +234,43 @@ To start the same node using your saved parameter values, use: $ ros2 run --ros-args --params-file -This is the same command you always use to start turtlesim, with the added flags ``--ros-args`` and ``--params-file``, followed by the file you want to load. +This is the same command used to start Turtlesim, with the added flags ``--ros-args`` and ``--params-file``, followed by the file you want to load. -Stop your running turtlesim node, and try reloading it with your saved parameters, using: +Stop your running Turtlesim node, and try reloading it with your saved parameters: .. code-block:: console $ ros2 run turtlesim turtlesim_node --ros-args --params-file turtlesim.yaml -The turtlesim window should appear as usual, but with the purple background you set earlier. +The Turtlesim window should appear as usual, but with the purple background set in `4 ros2 param set`_. .. note:: When a parameter file is used at node startup, all parameters, including the read-only ones, will be updated. -Summary -------- +Related content +--------------- -Nodes have parameters to define their default configuration values. -You can ``get`` and ``set`` parameter values from the command line. -You can also save the parameter settings to a file to reload them in a future session. +More articles: -Next steps ----------- +* :doc:`Learning about nodes <../Understanding-ROS2-Nodes/Understanding-ROS2-Nodes>` +* :doc:`Learning about services <../Understanding-ROS2-Services/Understanding-ROS2-Services>` +* :doc:`About parameters ` + +FAQs +---- + +What types can a parameter hold? + Parameters can be integers, floats, booleans, strings, and lists. + +Do parameter changes persist after a node is restarted? + No. Changes made with ``ros2 param set`` apply only to the current session. + To persist them, use ``ros2 param dump`` to save the values to a YAML file and load that file when starting the node. + +Why do some parameters fail to load with ``ros2 param load``? + Parameters marked as read-only can only be set at node startup, not at runtime. + The ``qos_overrides`` parameters are read-only, which is why they show ``failed`` messages when loading a parameter file into a running node. -Jumping back to ROS 2 communication methods, in the next tutorial you'll learn about :doc:`actions <../Understanding-ROS2-Actions/Understanding-ROS2-Actions>`. +What is the difference between ``ros2 param dump`` and ``ros2 param load``? + ``ros2 param dump`` saves a node's current parameter values to a YAML file. + ``ros2 param load`` reads a YAML file and applies the values to a currently running node. From 1f73a643508a2a6ce9886a5088c6b8b3acd44964 Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Mon, 20 Jul 2026 19:30:57 +0200 Subject: [PATCH 2/7] Implement peer review feedback --- .../Understanding-ROS2-Parameters.rst | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst index dc10556de7e..01a48251cbe 100644 --- a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst +++ b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst @@ -65,14 +65,19 @@ Open another terminal and run: $ ros2 run turtlesim turtle_teleop_key -2 ros2 param list -^^^^^^^^^^^^^^^^^ +2 View the list of parameters for your nodes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To see the parameters belonging to your nodes, open a new terminal and run: .. code-block:: console $ ros2 param list + +You should see output similar to: + +.. code-block:: console + /teleop_turtle: qos_overrides./parameter_events.publisher.depth qos_overrides./parameter_events.publisher.durability @@ -91,20 +96,17 @@ To see the parameters belonging to your nodes, open a new terminal and run: qos_overrides./parameter_events.publisher.reliability use_sim_time - -You should see the node namespaces, ``/teleop_turtle`` and ``/turtlesim``, followed by each node's parameters. - +The output groups parameters under each node name, ``/teleop_turtle`` and ``/turtlesim``. The namespace and name of a parameter are separated by dots, as in ``parameter_events.publisher.depth``. -Every node has the parameter ``use_sim_time``; it is not unique to Turtlesim. +Before you continue, notice the following parameters: -Based on their names, ``/turtlesim``'s parameters appear to control the background colour of the Turtlesim window using RGB values. +* ``use_sim_time``: Specifies whether the node uses simulated time or the computer's clock. +* ``background_r``, ``background_g``, and ``background_b``: Define the RGB values for the background colour of the Turtlesim window -To determine a parameter's type, use ``ros2 param get``. - -3 ros2 param get -^^^^^^^^^^^^^^^^ +3 Identify the type and value of a parameter +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To display the type and current value of a parameter, use the following command: @@ -129,13 +131,17 @@ This tells you ``background_g`` holds an integer value. Running the same command on ``background_r`` and ``background_b`` should return the values ``69`` and ``255``, respectively. -You can also check the ``use_sim_time`` parameter across all nodes: +You can also omit the node name. As an example, you can try querying ``use_sim_time``, because every node has it: .. code-block:: console $ ros2 param get use_sim_time -This displays the parameter value for each node that has it set. +The command displays the value for each node that has that parameter. + +.. note:: + Omitting the node name works only on Lyrical, Rolling, and later distributions. + On earlier distributions, ``ros2 param get`` requires both a node name and a parameter name. 4 ros2 param set ^^^^^^^^^^^^^^^^ @@ -158,10 +164,12 @@ The background of the Turtlesim window should change colour, like this: .. image:: images/set.png Setting parameters with the ``set`` command will only change them in your current session, not permanently. -However, you can save your settings and reload them the next time you start a node. +However, you can save your settings and reload them the next time you start a node. See :ref:`dumping parameters ` and :ref:`loading a parameter file on node startup `. + +.. _DumpNodeParameters: -5 ros2 param dump -^^^^^^^^^^^^^^^^^ +5 Save the parameters of a node to a file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can view all of a node's current parameter values by using the command: @@ -198,8 +206,8 @@ Open the file to view the following content: Dumping parameters comes in handy if you want to reload the node with the same parameters in the future. -6 ros2 param load -^^^^^^^^^^^^^^^^^ +6 Load node parameters from a file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can load parameters from a file to a currently running node using the following command: @@ -248,7 +256,7 @@ The Turtlesim window should appear as usual, but with the purple background set .. note:: - When a parameter file is used at node startup, all parameters, including the read-only ones, will be updated. + When a parameter file is used at node startup, all parameters are updated, including the read-only ones. Related content --------------- From 04d30d6f4064a37d0ddece509d68b2180d7c3c53 Mon Sep 17 00:00:00 2001 From: Denise Marshall Date: Fri, 24 Jul 2026 13:23:01 +0000 Subject: [PATCH 3/7] Created How ROS Works article and added to TOC --- source/ROS-Framework.rst | 1 + source/ROS-Framework/How-ROS-Works.rst | 32 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 source/ROS-Framework/How-ROS-Works.rst diff --git a/source/ROS-Framework.rst b/source/ROS-Framework.rst index a44ba412db0..6a4fb0373bf 100644 --- a/source/ROS-Framework.rst +++ b/source/ROS-Framework.rst @@ -8,6 +8,7 @@ Coming Soon .. toctree:: :maxdepth: 3 + ROS-Framework/How-ROS-Works ROS-Framework/About-Nodes ROS-Framework/Interfaces-Topics-Services-Actions ROS-Framework/About-Parameters diff --git a/source/ROS-Framework/How-ROS-Works.rst b/source/ROS-Framework/How-ROS-Works.rst new file mode 100644 index 00000000000..71701b46550 --- /dev/null +++ b/source/ROS-Framework/How-ROS-Works.rst @@ -0,0 +1,32 @@ +How ROS works +============= + +.. toctree:: + :maxdepth: 1 + :hidden: + +Coming Soon + +**[Area: Framework | Content-type: concept | Experience: beginner]** + +.. contents:: Table of Contents + :local: + +Summary +------- + + +ROS Graph +--------- + + +Related content +--------------- +* :doc:`nodes/About-Discovery` +* :doc:`About-Client-Libraries` +* :doc:`About-Parameters` +* :doc:`Interfaces-Topics-Services-Actions` +* :doc:`nodes/Working-with-nodes` + +FAQs +---- From 9b1dda129a527fab5795e3be9b1b252c4d89ca61 Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Mon, 27 Jul 2026 01:19:33 +0200 Subject: [PATCH 4/7] Update Understanding-ROS2-Parameters.rst --- .../Understanding-ROS2-Parameters.rst | 8 -------- 1 file changed, 8 deletions(-) diff --git a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst index 01a48251cbe..3aa57e238b7 100644 --- a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst +++ b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst @@ -24,14 +24,6 @@ Summary Each node in the ROS graph stores its own set of configuration values, called parameters. Use the ``ros2 param`` commands to get, set, save, and reload parameter values at runtime. -Background ----------- - -A parameter is a configuration value of a node. -You can think of parameters as node settings. -A node can store parameters as integers, floats, booleans, strings, and lists. -In ROS, each node maintains its own parameters. - For more information, see :doc:`About parameters <../../../About-Parameters>`. Prerequisites From 9001169d6a33bf0d8f045cf04884e6f4414ec6a0 Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Mon, 27 Jul 2026 07:10:39 +0200 Subject: [PATCH 5/7] Update Understanding-ROS2-Parameters.rst --- .../Understanding-ROS2-Parameters.rst | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst index 3aa57e238b7..802853986d9 100644 --- a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst +++ b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst @@ -88,7 +88,7 @@ You should see output similar to: qos_overrides./parameter_events.publisher.reliability use_sim_time -The output groups parameters under each node name, ``/teleop_turtle`` and ``/turtlesim``. +The output groups the parameters under each node name, ``/teleop_turtle`` and ``/turtlesim``. The namespace and name of a parameter are separated by dots, as in ``parameter_events.publisher.depth``. Before you continue, notice the following parameters: @@ -117,6 +117,11 @@ To find out the current value of ``/turtlesim``'s parameter ``background_g``, ru .. code-block:: console $ ros2 param get /turtlesim background_g + +The terminal returns: + +.. code-block:: console + Integer value is: 86 This tells you ``background_g`` holds an integer value. @@ -135,8 +140,8 @@ The command displays the value for each node that has that parameter. Omitting the node name works only on Lyrical, Rolling, and later distributions. On earlier distributions, ``ros2 param get`` requires both a node name and a parameter name. -4 ros2 param set -^^^^^^^^^^^^^^^^ +4 Change a parameter value at runtime +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To change a parameter's value at runtime, use the following command: @@ -144,11 +149,16 @@ To change a parameter's value at runtime, use the following command: $ ros2 param set -Let's change ``/turtlesim``'s background colour: +Change ``/turtlesim``'s background colour: .. code-block:: console $ ros2 param set /turtlesim background_r 150 + +The terminal returns: + +.. code-block:: console + Set parameter successful The background of the Turtlesim window should change colour, like this: @@ -163,7 +173,9 @@ However, you can save your settings and reload them the next time you start a no 5 Save the parameters of a node to a file ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -You can view all of a node's current parameter values by using the command: +You can save parameters of a node to a file. +This comes in handy if you want to reload the node with the same parameters in the future. +Use the following command: .. code-block:: console @@ -196,8 +208,6 @@ Open the file to view the following content: reliability: reliable use_sim_time: false -Dumping parameters comes in handy if you want to reload the node with the same parameters in the future. - 6 Load node parameters from a file ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -212,6 +222,11 @@ To load the ``turtlesim.yaml`` file generated with ``ros2 param dump`` into ``/t .. code-block:: console $ ros2 param load /turtlesim turtlesim.yaml + +The terminal returns: + +.. code-block:: console + Set parameter background_b successful Set parameter background_g successful Set parameter background_r successful @@ -244,7 +259,7 @@ Stop your running Turtlesim node, and try reloading it with your saved parameter $ ros2 run turtlesim turtlesim_node --ros-args --params-file turtlesim.yaml -The Turtlesim window should appear as usual, but with the purple background set in `4 ros2 param set`_. +The Turtlesim window should appear as usual, but with the purple background you set earlier. .. note:: From b85fe9d64ba68ea3e386bed7c3a3f76c6d8a06b0 Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Thu, 30 Jul 2026 12:23:42 +0200 Subject: [PATCH 6/7] Update Understanding-ROS2-Parameters.rst --- .../Understanding-ROS2-Parameters.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst index 802853986d9..ddc101d95e9 100644 --- a/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst +++ b/source/ROS-Framework/parameters/Working-with-parameters/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.rst @@ -128,7 +128,8 @@ This tells you ``background_g`` holds an integer value. Running the same command on ``background_r`` and ``background_b`` should return the values ``69`` and ``255``, respectively. -You can also omit the node name. As an example, you can try querying ``use_sim_time``, because every node has it: +You can also omit the node name. +As an example, you can try querying ``use_sim_time``, because every node has it: .. code-block:: console @@ -166,7 +167,8 @@ The background of the Turtlesim window should change colour, like this: .. image:: images/set.png Setting parameters with the ``set`` command will only change them in your current session, not permanently. -However, you can save your settings and reload them the next time you start a node. See :ref:`dumping parameters ` and :ref:`loading a parameter file on node startup `. +However, you can save your settings and reload them the next time you start a node. +See :ref:`dumping parameters ` and :ref:`loading a parameter file on node startup `. .. _DumpNodeParameters: @@ -281,7 +283,8 @@ What types can a parameter hold? Parameters can be integers, floats, booleans, strings, and lists. Do parameter changes persist after a node is restarted? - No. Changes made with ``ros2 param set`` apply only to the current session. + No. + Changes made with ``ros2 param set`` apply only to the current session. To persist them, use ``ros2 param dump`` to save the values to a YAML file and load that file when starting the node. Why do some parameters fail to load with ``ros2 param load``? From c8b685a43a39be060ee005d5117f20f438adfa07 Mon Sep 17 00:00:00 2001 From: Kacper Bojakowski Date: Thu, 30 Jul 2026 12:52:06 +0200 Subject: [PATCH 7/7] Remove trailing whitespace in How-ROS-Works stub --- source/ROS-Framework/How-ROS-Works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ROS-Framework/How-ROS-Works.rst b/source/ROS-Framework/How-ROS-Works.rst index 71701b46550..4e53021c749 100644 --- a/source/ROS-Framework/How-ROS-Works.rst +++ b/source/ROS-Framework/How-ROS-Works.rst @@ -26,7 +26,7 @@ Related content * :doc:`About-Client-Libraries` * :doc:`About-Parameters` * :doc:`Interfaces-Topics-Services-Actions` -* :doc:`nodes/Working-with-nodes` +* :doc:`nodes/Working-with-nodes` FAQs ----