From c88c692a1090f5f7e142d7c2b92e1458ad3e2718 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:03:26 +0300 Subject: [PATCH 01/14] Update using_collision_monitor.rst --- tutorials/docs/using_collision_monitor.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index cff777573..2acab2dd6 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -114,7 +114,7 @@ The Collision Monitor is designed to operate below Nav2 as an independent safety This acts as a filter on the ``cmd_vel`` topic coming out of the Controller Server. If no such zone is triggered, then the Controller's ``cmd_vel`` is used. Else, it is scaled or set to stop as appropriate. -For correct operation of the Collision Monitor with the Controller, it is required to add the ``cmd_vel -> cmd_vel_raw`` remapping to the ``navigation_launch.py`` bringup script as presented below: +For correct operation of the Collision Monitor with the Controller, it is required to change the ``cmd_vel -> cmd_vel_nav`` remapping in the ``navigation_launch.py`` bringup script as presented below: .. code-block:: python @@ -125,6 +125,7 @@ For correct operation of the Collision Monitor with the Controller, it is requir respawn=use_respawn, respawn_delay=2.0, parameters=[configured_params], + - remappings=remappings + [('cmd_vel', 'cmd_vel_nav')]), + remappings=remappings + [('cmd_vel', 'cmd_vel_raw')]), ... ComposableNode( @@ -132,6 +133,7 @@ For correct operation of the Collision Monitor with the Controller, it is requir plugin='nav2_controller::ControllerServer', name='controller_server', parameters=[configured_params], + - remappings=remappings + [('cmd_vel', 'cmd_vel_nav')]), + remappings=remappings + [('cmd_vel', 'cmd_vel_raw')]), Please note, that the remapped ``cmd_vel_raw`` topic should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. From e8f222831660bfa49e9bcc55309cabecbe500c74 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:05:23 +0300 Subject: [PATCH 02/14] Update configuring-collision-monitor.rst --- configuration/packages/configuring-collision-monitor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration/packages/configuring-collision-monitor.rst b/configuration/packages/configuring-collision-monitor.rst index 4a8f66d9f..a040fedfb 100644 --- a/configuration/packages/configuring-collision-monitor.rst +++ b/configuration/packages/configuring-collision-monitor.rst @@ -86,7 +86,7 @@ Parameters ============== ============================= Type Default -------------- ----------------------------- - string "cmd_vel" + string "cmd_vel_nav" ============== ============================= Description: @@ -405,7 +405,7 @@ For more information how to bring-up your own Collision Monitor node, please ref base_frame_id: "base_footprint" odom_frame_id: "odom" cmd_vel_in_topic: "cmd_vel_raw" - cmd_vel_out_topic: "cmd_vel" + cmd_vel_out_topic: "cmd_vel_nav" state_topic: "collision_monitor_state" transform_tolerance: 0.5 source_timeout: 5.0 From b0c8ec2921f3a74a9b770884eba3550a3eed9099 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:08:47 +0300 Subject: [PATCH 03/14] Update using_collision_monitor.rst --- tutorials/docs/using_collision_monitor.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 2acab2dd6..9e38d96af 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -82,7 +82,7 @@ The whole ``nav2_collision_monitor/params/collision_monitor_params.yaml`` file i base_frame_id: "base_footprint" odom_frame_id: "odom" cmd_vel_in_topic: "cmd_vel_raw" - cmd_vel_out_topic: "cmd_vel" + cmd_vel_out_topic: "cmd_vel_nav" transform_tolerance: 0.5 source_timeout: 5.0 stop_pub_timeout: 2.0 From ad89e884316447db91686f5262a361b68672f1c5 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Wed, 16 Aug 2023 13:05:35 +0300 Subject: [PATCH 04/14] Update configuring-collision-monitor.rst --- configuration/packages/configuring-collision-monitor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration/packages/configuring-collision-monitor.rst b/configuration/packages/configuring-collision-monitor.rst index a040fedfb..4828b3a79 100644 --- a/configuration/packages/configuring-collision-monitor.rst +++ b/configuration/packages/configuring-collision-monitor.rst @@ -75,7 +75,7 @@ Parameters ============== ============================= Type Default -------------- ----------------------------- - string "cmd_vel_raw" + string "cmd_vel_smoothed" ============== ============================= Description: @@ -86,7 +86,7 @@ Parameters ============== ============================= Type Default -------------- ----------------------------- - string "cmd_vel_nav" + string "cmd_vel" ============== ============================= Description: From a34e96e4b9afe98e036b64c1eee50d63de9035c8 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Wed, 16 Aug 2023 13:06:40 +0300 Subject: [PATCH 05/14] Update configuring-collision-monitor.rst --- configuration/packages/configuring-collision-monitor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration/packages/configuring-collision-monitor.rst b/configuration/packages/configuring-collision-monitor.rst index 4828b3a79..5bdc2b9b2 100644 --- a/configuration/packages/configuring-collision-monitor.rst +++ b/configuration/packages/configuring-collision-monitor.rst @@ -404,8 +404,8 @@ For more information how to bring-up your own Collision Monitor node, please ref ros__parameters: base_frame_id: "base_footprint" odom_frame_id: "odom" - cmd_vel_in_topic: "cmd_vel_raw" - cmd_vel_out_topic: "cmd_vel_nav" + cmd_vel_in_topic: "cmd_vel_smoothed" + cmd_vel_out_topic: "cmd_vel" state_topic: "collision_monitor_state" transform_tolerance: 0.5 source_timeout: 5.0 From dce80f694f5eee403a5458226f26426a1e19857b Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Wed, 16 Aug 2023 13:24:17 +0300 Subject: [PATCH 06/14] Update using_collision_monitor.rst --- tutorials/docs/using_collision_monitor.rst | 36 ++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 9e38d96af..d5ab4224f 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -81,8 +81,8 @@ The whole ``nav2_collision_monitor/params/collision_monitor_params.yaml`` file i use_sim_time: True base_frame_id: "base_footprint" odom_frame_id: "odom" - cmd_vel_in_topic: "cmd_vel_raw" - cmd_vel_out_topic: "cmd_vel_nav" + cmd_vel_in_topic: "cmd_vel_smoothed" + cmd_vel_out_topic: "cmd_vel" transform_tolerance: 0.5 source_timeout: 5.0 stop_pub_timeout: 2.0 @@ -111,37 +111,41 @@ Preparing Nav2 stack ==================== The Collision Monitor is designed to operate below Nav2 as an independent safety node. -This acts as a filter on the ``cmd_vel`` topic coming out of the Controller Server. -If no such zone is triggered, then the Controller's ``cmd_vel`` is used. +This acts as a filter on the ``cmd_vel`` topic coming out of the Velocity Smoother Server. +If no such zone is triggered, then the Velocity Smoother's ``cmd_vel`` message is used. Else, it is scaled or set to stop as appropriate. -For correct operation of the Collision Monitor with the Controller, it is required to change the ``cmd_vel -> cmd_vel_nav`` remapping in the ``navigation_launch.py`` bringup script as presented below: +For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's `cmd_vel_smoothed` remapping in the ``navigation_launch.py`` bringup script as presented below: .. code-block:: python Node( - package='nav2_controller', - executable='controller_server', + package='nav2_velocity_smoother', + executable='velocity_smoother', + name='velocity_smoother', output='screen', respawn=use_respawn, respawn_delay=2.0, parameters=[configured_params], - - remappings=remappings + [('cmd_vel', 'cmd_vel_nav')]), - + remappings=remappings + [('cmd_vel', 'cmd_vel_raw')]), + arguments=['--ros-args', '--log-level', log_level], + remappings=remappings + + - [('cmd_vel', 'cmd_vel_nav'), ('cmd_vel_smoothed', 'cmd_vel')]), + + [('cmd_vel', 'cmd_vel_nav')]), ... ComposableNode( - package='nav2_controller', - plugin='nav2_controller::ControllerServer', - name='controller_server', + package='nav2_velocity_smoother', + plugin='nav2_velocity_smoother::VelocitySmoother', + name='velocity_smoother', parameters=[configured_params], - - remappings=remappings + [('cmd_vel', 'cmd_vel_nav')]), - + remappings=remappings + [('cmd_vel', 'cmd_vel_raw')]), + remappings=remappings + + - [('cmd_vel', 'cmd_vel_nav'), ('cmd_vel_smoothed', 'cmd_vel')]), + + [('cmd_vel', 'cmd_vel_nav')]), -Please note, that the remapped ``cmd_vel_raw`` topic should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. +In case you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. Demo Execution ============== -Once Collision Monitor node has been tuned and ``cmd_vel`` topics remapped, Collision Monitor node is ready to run. +Once Collision Monitor node has been tuned and ``cmd_vel`` topics adjusted, Collision Monitor node is ready to run. For that, run Nav2 stack as written in :ref:`getting_started`: .. code-block:: bash From 4c3ac1ed0d30a891df4b1a6fd2d5da319e52fe13 Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Wed, 16 Aug 2023 14:26:51 +0300 Subject: [PATCH 07/14] Update using_collision_monitor.rst --- tutorials/docs/using_collision_monitor.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index d5ab4224f..00b2b6a15 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -140,7 +140,7 @@ For correct operation of the Collision Monitor with the Velocity Smoother, it is - [('cmd_vel', 'cmd_vel_nav'), ('cmd_vel_smoothed', 'cmd_vel')]), + [('cmd_vel', 'cmd_vel_nav')]), -In case you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. +If you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. Demo Execution ============== From 3e85ae45db2cc7a67786012342817a1467d24e0c Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Thu, 17 Aug 2023 11:53:18 +0300 Subject: [PATCH 08/14] Update configuring-collision-monitor.rst Fix PR comment --- configuration/packages/configuring-collision-monitor.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/configuration/packages/configuring-collision-monitor.rst b/configuration/packages/configuring-collision-monitor.rst index 5bdc2b9b2..fe1dd6e57 100644 --- a/configuration/packages/configuring-collision-monitor.rst +++ b/configuration/packages/configuring-collision-monitor.rst @@ -80,6 +80,7 @@ Parameters Description: Input ``cmd_vel`` topic with desired robot velocity. + Please note, pre-`Jazzy` this was set to `cmd_vel_raw` by default. :cmd_vel_out_topic: From d5a738ec0bc2e8566764d951cbd9f82f574a165a Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Thu, 17 Aug 2023 11:58:18 +0300 Subject: [PATCH 09/14] Update using_collision_monitor.rst Fix PR comments --- tutorials/docs/using_collision_monitor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 00b2b6a15..10a5cf604 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -111,10 +111,10 @@ Preparing Nav2 stack ==================== The Collision Monitor is designed to operate below Nav2 as an independent safety node. -This acts as a filter on the ``cmd_vel`` topic coming out of the Velocity Smoother Server. +It acts as a filter for the `cmd_vel` messages from the controller to avoid potential collisions. If no such zone is triggered, then the Velocity Smoother's ``cmd_vel`` message is used. Else, it is scaled or set to stop as appropriate. -For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's `cmd_vel_smoothed` remapping in the ``navigation_launch.py`` bringup script as presented below: +For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's `cmd_vel_smoothed` remapping in the ``navigation_launch.py`` bringup script as presented below to make the output topic of the server ``cmd_vel_smoothed``, which will be the input to the newly added collision monitor: .. code-block:: python From 7126525c022ab5c13e6e152d373f9e085c62e90e Mon Sep 17 00:00:00 2001 From: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Date: Mon, 21 Aug 2023 07:24:45 +0300 Subject: [PATCH 10/14] Update using_collision_monitor.rst Fix PR comments --- tutorials/docs/using_collision_monitor.rst | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 10a5cf604..6847a8a61 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -111,10 +111,13 @@ Preparing Nav2 stack ==================== The Collision Monitor is designed to operate below Nav2 as an independent safety node. -It acts as a filter for the `cmd_vel` messages from the controller to avoid potential collisions. -If no such zone is triggered, then the Velocity Smoother's ``cmd_vel`` message is used. -Else, it is scaled or set to stop as appropriate. -For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's `cmd_vel_smoothed` remapping in the ``navigation_launch.py`` bringup script as presented below to make the output topic of the server ``cmd_vel_smoothed``, which will be the input to the newly added collision monitor: +It acts as a filter for the ``cmd_vel`` messages from the controller to avoid potential collisions. +If no such zone is triggered, then the ``cmd_vel`` message is used. +Else, it is scaled or set to stop as appropriate. + +Using with NAV2 Bringup +----------------------- +By default, the Collision Monitor is configured for usage with the NAV2 bringup package, using the ``navigation_launch.py`` launch file. For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's ``cmd_vel_smoothed`` remapping in the ``navigation_launch.py`` bringup script as presented below to make the output topic of the server equal ``cmd_vel_smoothed``, which will be the input to the newly added collision monitor: .. code-block:: python @@ -140,7 +143,11 @@ For correct operation of the Collision Monitor with the Velocity Smoother, it is - [('cmd_vel', 'cmd_vel_nav'), ('cmd_vel_smoothed', 'cmd_vel')]), + [('cmd_vel', 'cmd_vel_nav')]), -If you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. +If you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. + +Using with a custom launch file +------------------------------- +As the Collision Monitor acts as a safety node, it must be the last link in the velocity message chain, making it the node that publishs to the ``cmd_vel`` topic. Therefore, in any custom NAV2 launch configuration, the current node publishing to the ``cmd_vel`` topic, should be remapped to publish to the topic configured in Collision Montior's ``cmd_vel_in_topic`` configuration (``cmd_vel_smoothed`` by default). Demo Execution ============== From f57526796ff717ffabfd0368be766ff1680d0243 Mon Sep 17 00:00:00 2001 From: Omer Spalter Date: Sun, 3 Sep 2023 13:50:23 +0300 Subject: [PATCH 11/14] Fix CR comments --- tutorials/docs/using_collision_monitor.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 6847a8a61..63c18ca55 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -115,9 +115,7 @@ It acts as a filter for the ``cmd_vel`` messages from the controller to avoid po If no such zone is triggered, then the ``cmd_vel`` message is used. Else, it is scaled or set to stop as appropriate. -Using with NAV2 Bringup ------------------------ -By default, the Collision Monitor is configured for usage with the NAV2 bringup package, using the ``navigation_launch.py`` launch file. For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's ``cmd_vel_smoothed`` remapping in the ``navigation_launch.py`` bringup script as presented below to make the output topic of the server equal ``cmd_vel_smoothed``, which will be the input to the newly added collision monitor: +By default, the Collision Monitor is configured for usage with the Nav2 bringup package, using the ``navigation_launch.py`` launch file. For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's ``cmd_vel_smoothed`` remapping in the ``navigation_launch.py`` bringup script as presented below. This will make the output topic of the Velocity Smoother to be untouched, which will be the input to the newly added Collision Monitor: .. code-block:: python @@ -145,9 +143,7 @@ By default, the Collision Monitor is configured for usage with the NAV2 bringup If you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. -Using with a custom launch file -------------------------------- -As the Collision Monitor acts as a safety node, it must be the last link in the velocity message chain, making it the node that publishs to the ``cmd_vel`` topic. Therefore, in any custom NAV2 launch configuration, the current node publishing to the ``cmd_vel`` topic, should be remapped to publish to the topic configured in Collision Montior's ``cmd_vel_in_topic`` configuration (``cmd_vel_smoothed`` by default). +.. note:: As the Collision Monitor acts as a safety node, it must be the last link in the velocity message post-processing chain, making it the node that publishes to the ``cmd_vel`` topic. It could be placed after smoothed velocity, as in our demonstration, or after non-smoothed velocity from Controller Server, e.g. if Velocity Smoother was not enabled in the system, or going after any other module in custom configuration producing the end-velocity. Therefore, in any custom Nav2 launch configuration, the last node publishing to the ``cmd_vel`` topic, should be remapped to publish to the Collision Monitor input topic configured by cmd_vel_in_topic ROS-parameter (``cmd_vel_smoothed`` by default). Demo Execution ============== From 35b311f153fb04097c31184788de73df453f6286 Mon Sep 17 00:00:00 2001 From: Omer Spalter Date: Mon, 4 Sep 2023 18:15:24 +0300 Subject: [PATCH 12/14] Fix PR comments --- tutorials/docs/using_collision_monitor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/docs/using_collision_monitor.rst b/tutorials/docs/using_collision_monitor.rst index 63c18ca55..24516a1cb 100644 --- a/tutorials/docs/using_collision_monitor.rst +++ b/tutorials/docs/using_collision_monitor.rst @@ -115,7 +115,7 @@ It acts as a filter for the ``cmd_vel`` messages from the controller to avoid po If no such zone is triggered, then the ``cmd_vel`` message is used. Else, it is scaled or set to stop as appropriate. -By default, the Collision Monitor is configured for usage with the Nav2 bringup package, using the ``navigation_launch.py`` launch file. For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's ``cmd_vel_smoothed`` remapping in the ``navigation_launch.py`` bringup script as presented below. This will make the output topic of the Velocity Smoother to be untouched, which will be the input to the newly added Collision Monitor: +By default, the Collision Monitor is configured for usage with the Nav2 bringup package, running in parallel with the ``navigation_launch.py`` launch file. For correct operation of the Collision Monitor with the Velocity Smoother, it is required to remove the Velocity Smoother's ``cmd_vel_smoothed`` remapping in the ``navigation_launch.py`` bringup script as presented below. This will make the output topic of the Velocity Smoother to be untouched, which will be the input to the newly added Collision Monitor: .. code-block:: python @@ -143,7 +143,7 @@ By default, the Collision Monitor is configured for usage with the Nav2 bringup If you have changed Collision Monitor's default ``cmd_vel_in_topic`` and ``cmd_vel_out_topic`` configuration, make sure Velocity Smoother's default output topic ``cmd_vel_smoothed`` should match to the input velocity ``cmd_vel_in_topic`` parameter value of the Collision Monitor node, and the output velocity ``cmd_vel_out_topic`` parameter value should be actual ``cmd_vel`` to fit the replacement. -.. note:: As the Collision Monitor acts as a safety node, it must be the last link in the velocity message post-processing chain, making it the node that publishes to the ``cmd_vel`` topic. It could be placed after smoothed velocity, as in our demonstration, or after non-smoothed velocity from Controller Server, e.g. if Velocity Smoother was not enabled in the system, or going after any other module in custom configuration producing the end-velocity. Therefore, in any custom Nav2 launch configuration, the last node publishing to the ``cmd_vel`` topic, should be remapped to publish to the Collision Monitor input topic configured by cmd_vel_in_topic ROS-parameter (``cmd_vel_smoothed`` by default). +.. note:: As the Collision Monitor acts as a safety node, it must be the last link in the velocity message post-processing chain, making it the node that publishes to the ``cmd_vel`` topic. It could be placed after smoothed velocity, as in our demonstration, or after non-smoothed velocity from Controller Server, e.g. if Velocity Smoother was not enabled in the system, or going after any other module in custom configuration producing the end-velocity. Therefore, in any custom Nav2 launch configuration, the last node publishing to the ``cmd_vel`` topic, should be remapped to publish to the Collision Monitor input topic configured by ``cmd_vel_in_topic`` ROS-parameter (``cmd_vel_smoothed`` by default). Demo Execution ============== From 6d4a46407171ba4a7b37ea665269e40e9a2d38b6 Mon Sep 17 00:00:00 2001 From: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Date: Wed, 6 Sep 2023 08:29:55 +0300 Subject: [PATCH 13/14] Update configuration/packages/collision_monitor/configuring-collision-monitor-node.rst --- .../collision_monitor/configuring-collision-monitor-node.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst b/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst index 214a907fa..b69ce8ba3 100644 --- a/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst +++ b/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst @@ -80,7 +80,7 @@ Parameters Description: Input ``cmd_vel`` topic with desired robot velocity. - Please note, pre-`Jazzy` this was set to `cmd_vel_raw` by default. + Please note, pre-`Jazzy` this was set to ``cmd_vel_raw`` by default. :cmd_vel_out_topic: From 95b8977028e60d6142126bbcc5a7f304a4e398a4 Mon Sep 17 00:00:00 2001 From: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Date: Wed, 6 Sep 2023 08:31:17 +0300 Subject: [PATCH 14/14] Update configuration/packages/collision_monitor/configuring-collision-monitor-node.rst --- .../collision_monitor/configuring-collision-monitor-node.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst b/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst index b69ce8ba3..a8a9870a2 100644 --- a/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst +++ b/configuration/packages/collision_monitor/configuring-collision-monitor-node.rst @@ -80,7 +80,7 @@ Parameters Description: Input ``cmd_vel`` topic with desired robot velocity. - Please note, pre-`Jazzy` this was set to ``cmd_vel_raw`` by default. + Please note, pre-``Jazzy`` this was set to ``cmd_vel_raw`` by default. :cmd_vel_out_topic: