diff --git a/configuration/packages/configuring-loopback-sim.rst b/configuration/packages/configuring-loopback-sim.rst index c9cc015dd..185447bfb 100644 --- a/configuration/packages/configuring-loopback-sim.rst +++ b/configuration/packages/configuring-loopback-sim.rst @@ -86,34 +86,68 @@ Parameters ============== ============== Type Default -------------- -------------- - string 0.1 + double 0.1 ============== ============== Description The duration between publishing scan (in sec) +:odom_publish_dur: + + ============== ================= + Type Default + -------------- ----------------- + double + ============== ================= + + Description + The duration between publishing odometry (in sec). Defaults to ``update_duration``. + :publish_map_odom_tf: ============== ============== Type Default -------------- -------------- - string true + bool true ============== ============== Description Whether or not to publish tf from ``map_frame_id`` to ``odom_frame_id`` +:publish_scan: + + ============== ============== + Type Default + -------------- -------------- + bool true + ============== ============== + + Description + Whether or not to publish a fake laser scan. + :publish_clock: ============== ============== Type Default -------------- -------------- - string true + bool true ============== ============== Description Whether or not to publish simulated clock to ``/clock`` +:speed_factor: + + ============== ============== + Type Default + -------------- -------------- + double 1.0 + ============== ============== + + Description + Speed factor for the simulated clock, e.g. ``2.0`` runs simulation at 2x wall time. + Only used when ``publish_clock`` is ``true``. Dynamically reconfigurable. + :scan_range_min: ============== ============== @@ -181,6 +215,17 @@ Parameters Whether to use ``inf`` for out-of-range values. If ``false``, values are set to ``scan_range_max - 0.1`` instead. +:scan_noise_std: + + ============== ============== + Type Default + -------------- -------------- + double 0.01 + ============== ============== + + Description + Standard deviation of Gaussian noise added to scan ranges (in meters). + Example ******* .. code-block:: yaml @@ -192,9 +237,13 @@ Example map_frame_id: "map" scan_frame_id: "base_scan" # tb4_loopback_simulator.launch.py remaps to 'rplidar_link' update_duration: 0.02 + publish_scan: true + publish_clock: true + speed_factor: 1.0 scan_range_min: 0.05 scan_range_max: 30.0 scan_angle_min: -3.1415 scan_angle_max: 3.1415 scan_angle_increment: 0.02617 scan_use_inf: true + scan_noise_std: 0.01 diff --git a/migration/Kilted.rst b/migration/Kilted.rst index 3047eaea9..ce0d2a088 100644 --- a/migration/Kilted.rst +++ b/migration/Kilted.rst @@ -925,3 +925,16 @@ ValidatePath / IsPathValid parameter changes `PR #6027 `_ renames the ``check_full_path`` parameter to ``stop_at_first_collision`` in both the ``ValidatePath`` BT node and the ``IsPathValid`` service definition. The boolean semantics are inverted: ``check_full_path=false`` (old default) is equivalent to ``stop_at_first_collision=true`` (new default). Additionally, a new ``max_lookahead_distance`` parameter (default ``-1.0``) has been added to both the BT node and the service. When set to a positive value, only the portion of the path within that distance ahead of the robot is validated, improving efficiency when full path validation is not necessary. + +Nav2 Loopback Simulator converted to C++ +---------------------------------------- + +`PR #6062 `_ converts ``nav2_loopback_sim`` from Python to C++ for improved performance and consistency with the rest of the Nav2 stack. This results in roughly a 2x improvement in CPU consumption. + +Key changes: + +- The ``clock_publisher`` is no longer a separate node. It is now embedded within the ``loopback_simulator`` node. Launch files that previously launched both nodes should be updated to launch only the ``loopback_simulator`` node. +- A new ``speed_factor`` parameter (default ``1.0``) controls the simulated clock speed (e.g. ``2.0`` for 2x). This parameter is dynamically reconfigurable. +- New parameters ``publish_scan``, ``odom_publish_dur``, and ``scan_noise_std`` are available. + +See :ref:`configuring_loopback_sim` for full parameter documentation.