You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port to Dashing: melodic-devel 2.6.3 to current (#530)
* Fixing Euler body-to-world transformations
(cherry picked from commit 58bef05)
* fix RLE/RLL tests
* Enabling the user to override the output child_frame_id
(cherry picked from commit f642190)
* Add const& to catch values to prevent the error: catching polymorphic type ‘class tf2::TransformException’ by value
And ZoneNumber by 0x3fU to prevent error: directive output may be truncated writing between 1 and 11 bytes into a region of size 4
(cherry picked from commit c1963c3)
* Rename odomBaseLinkTrans to baseLinkOdomTrans
Adhere to the naming convention <fromFrame><toFrame>Trans used for worldBaseLinkTrans and mapOdomTrans.
(cherry picked from commit 17d4f10)
* Enable build optimisations if no build type configured.
The selected build type can have a significant influence on processor usage (tenths of %). As setting a build type is often forgotten by users, from-source builds of robot_localization on resource constraint platforms can run into issues of low update rates, starvation and issues with stability.
If a build type is configured (on the ROS buildfarm fi), the added stanzas respect it and do not overwrite it. If nothing is configured, a warning is printed and the CMake-standard `RelWithDebInfo` type is configured.
(cherry picked from commit cc93cef)
* fix differential init typo, compiler warning
* Add broadcast_utm_transform_as_parent_frame
(cherry picked from commit e8deb5d)
* Fixing title underline
(cherry picked from commit da80adf)
* Change note about transform publishing
(cherry picked from commit 0eecd5f)
* Meridian convergence adjustment added to navsat_transform.
(cherry picked from commit 2b57df6)
* Add missing undocumented params
(cherry picked from commit 2585e9f)
* Fix bug with tf_prefix
(cherry picked from commit 492c494)
* Created service for converting to / from lat long
(cherry picked from commit fbd3a72)
* Fixed linting errors.
(cherry picked from commit 46396c0)
* Refactored common conversion methods out
(cherry picked from commit 1efe3a3)
* Remove unused variable utm_odom_tf_yaw_ for clang compatibility
(cherry picked from commit 2f0289d)
* Mask IMU update vector to ignore position and linear velocity
* They are both not contained in sensor_msgs/Imu but so far
were still introduced if the param in the config file was
set to true
(cherry picked from commit 0d32daf)
* Warning log output if for invalid IMU config settings
(cherry picked from commit e2f75c3)
* Set the filtered gps frame_id to base_link
This is actually the frame_id of the information, not the 'gps' frame which might not even exist
(cherry picked from commit 791953a)
* Log initial pose once and continue with debug streams
(cherry picked from commit a59e1e5)
* Skip the debug log
(cherry picked from commit 0e6cf56)
* linter
* alphabetize cmake srv list
Co-authored-by: Tom Moore <[email protected]>
Co-authored-by: Matthew Jones <[email protected]>
Co-authored-by: thallerod <[email protected]>
Co-authored-by: G.A. vd. Hoorn <[email protected]>
Co-authored-by: diasdm <[email protected]>
Co-authored-by: Pavlo Kolomiiets <[email protected]>
Co-authored-by: Charles Brian Quinn <[email protected]>
Co-authored-by: oswinso <[email protected]>
Co-authored-by: Timon Engelke <[email protected]>
Co-authored-by: Jonathan Huber <[email protected]>
Co-authored-by: Tim Clephas <[email protected]>
Copy file name to clipboardExpand all lines: doc/navsat_transform_node.rst
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,15 @@ If *true*, ``navsat_transform_node`` will wait to get a datum from either:
47
47
* The ``datum`` parameter
48
48
* The ``set_datum`` service
49
49
50
+
~broadcast_utm_transform_as_parent_frame
51
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
+
If *true*, ``navsat_transform_node`` will publish the utm->world_frame transform instead of the world_frame->utm transform.
53
+
Note that for the transform to be published ``broadcast_utm_transform`` also has to be set to *true*.
54
+
55
+
~transform_timeout
56
+
^^^^^^^^^^^^^^^^^^
57
+
This parameter specifies how long we would like to wait if a transformation is not available yet. Defaults to 0 if not set. The value 0 means we just get us the latest available (see ``tf2`` implementation) transform.
58
+
50
59
Subscribed Topics
51
60
=================
52
61
* ``imu/data`` A `sensor_msgs/Imu <http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html>`_ message with orientation data
@@ -63,4 +72,4 @@ Published Topics
63
72
64
73
Published Transforms
65
74
====================
66
-
* ``world_frame->utm`` (optional) - If the ``broadcast_utm_transform`` parameter is set to *true*, ``navsat_transform_node`` calculates a transform from the *utm* frame to the ``frame_id`` of the input odometry data. By default, the *utm* frame is published as a child of the odometry frame by using the inverse transform. With use of the ``broadcast_utm_as_parent_frame`` parameter, the *utm* frame will be published as a parent of the odometry frame. This is useful if you have multiple robots within one TF tree.
75
+
* ``world_frame->utm`` (optional) - If the ``broadcast_utm_transform`` parameter is set to *true*, ``navsat_transform_node`` calculates a transform from the *utm* frame to the ``frame_id`` of the input odometry data. By default, the *utm* frame is published as a child of the odometry frame by using the inverse transform. With use of the ``broadcast_utm_transform_as_parent_frame`` parameter, the *utm* frame will be published as a parent of the odometry frame. This is useful if you have multiple robots within one TF tree.
Copy file name to clipboardExpand all lines: doc/state_estimation_nodes.rst
+12-2Lines changed: 12 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,21 +43,23 @@ Specific parameters:
43
43
* ``~map_frame``
44
44
* ``~odom_frame``
45
45
* ``~base_link_frame``
46
+
* ``~base_link_output_frame``
46
47
* ``~world_frame``
47
48
48
49
These parameters define the operating "mode" for ``robot_localization``. `REP-105 <http://www.ros.org/reps/rep-0105.html>`_ specifies three principal coordinate frames: *map*, *odom*, and *base_link*. *base_link* is the coordinate frame that is affixed to the robot. The robot's position in the *odom* frame will drift over time, but is accurate in the short term and should be continuous. The *map* frame, like the *odom* frame, is a world-fixed coordinate frame, and while it contains the most globally accurate position estimate for your robot, it is subject to discrete jumps, e.g., due to the fusion of GPS data. Here is how to use these parameters:
49
50
50
51
1. Set the ``map_frame``, ``odom_frame``, and ``base_link_frame`` parameters to the appropriate frame names for your system.
51
52
52
53
.. note:: If your system does not have a ``map_frame``, just remove it, and make sure ``world_frame`` is set to the value of ``odom_frame``.
54
+
.. note:: If you are running multiple EKF instances and would like to "override" the output transform and message to have this frame for its ``child_frame_id``, you may set this. The ``base_link_output_frame`` is optional and will default to the ``base_link_frame``. This helps to enable disconnected TF trees when multiple EKF instances are being run. When the final state is computed, we "override" the output transform and message to have this frame for its ``child_frame_id``.
53
55
54
56
2. If you are only fusing continuous position data such as wheel encoder odometry, visual odometry, or IMU data, set ``world_frame`` to your ``odom_frame`` value. This is the default behavior for the state estimation nodes in ``robot_localization``, and the most common use for it.
55
57
3. If you are fusing global absolute position data that is subject to discrete jumps (e.g., GPS or position updates from landmark observations) then:
56
58
57
59
i. Set your ``world_frame`` to your ``map_frame`` value
58
60
ii. **Make sure** something else is generating the *odom->base_link* transform. This can even be another instance of a ``robot_localization`` state estimation node. However, that instance should *not* fuse the global data.
59
61
60
-
The default values for ``map_frame``, ``odom_frame``, and ``base_link_frame`` are *map*, *odom,* and *base_link,* respectively. The ``world_frame`` parameter defaults to the value of ``odom_frame``.
62
+
The default values for ``map_frame``, ``odom_frame``, and ``base_link_frame`` are *map*, *odom,* and *base_link,* respectively. The ``base_link_output_frame`` parameter defaults to the value of ``base_link_frame``. The ``world_frame`` parameter defaults to the value of ``odom_frame``.
61
63
62
64
~transform_time_offset
63
65
^^^^^^^^^^^^^^^^^^^^^^
@@ -286,6 +288,14 @@ The estimate covariance, commonly denoted *P*, defines the error in the current
286
288
^^^^^^^^^^^^^^^^^^^
287
289
If set to *true* and ``ros::Time::isSimTime()`` is *true*, the filter will reset to its uninitialized state when a jump back in time is detected on a topic. This is useful when working with bag data, in that the bag can be restarted without restarting the node.
288
290
291
+
~predict_to_current_time
292
+
^^^^^^^^^^^^^^^^^^^^^^^^
293
+
If set to *true*, the filter predicts and corrects up to the time of the latest measurement (by default) but will now also predict up to the current time step.
294
+
295
+
~disabled_at_startup
296
+
^^^^^^^^^^^^^^^^^^^^
297
+
If set to *true* will not run the filter on start.
298
+
289
299
Node-specific Parameters
290
300
------------------------
291
301
The standard and advanced parameters are common to all state estimation nodes in ``robot_localization``. This section details parameters that are unique to their respective state estimation nodes.
@@ -319,4 +329,4 @@ Published Transforms
319
329
Services
320
330
========
321
331
322
-
* ``set_pose`` - By issuing a `geometry_msgs/PoseWithCovarianceStamped <http://docs.ros.org/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html>`_ message to the ``set_pose`` topic, users can manually set the state of the filter. This is useful for resetting the filter during testing, and allows for interaction with ``rviz``. Alternatively, the state estimation nodes advertise a ``SetPose`` service, whose type is `robot_localization/SetPose <http://docs.ros.org/api/robot_localization/html/srv/SetPose.html>`_.rejection
332
+
* ``set_pose`` - By issuing a `geometry_msgs/PoseWithCovarianceStamped <http://docs.ros.org/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html>`_ message to the ``set_pose`` topic, users can manually set the state of the filter. This is useful for resetting the filter during testing, and allows for interaction with ``rviz``. Alternatively, the state estimation nodes advertise a ``SetPose`` service, whose type is `robot_localization/SetPose <http://docs.ros.org/api/robot_localization/html/srv/SetPose.html>`_.
0 commit comments