Skip to content

Commit 9f4ece2

Browse files
committed
Revert "Update setup_robot_localization.rst"
This reverts commit 1e8afe1.
1 parent 1e8afe1 commit 9f4ece2

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

setup_guides/odom/setup_robot_localization.rst

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ In this tutorial, we will discuss how various sources of odometry can be fused t
66

77
The ``robot_localization`` package is used to provide a fused and locally accurate smooth odometry information from the data provided by ``N`` odometry sensor inputs. These information can be provided to the package through ``nav_msgs/Odometry``, ``sensor_msgs/Imu``, ``geometry_msgs/PoseWithCovarianceStamped``, and ``geometry_msgs/TwistWithCovarianceStamped`` messages.
88

9-
A usual robot setup consists of at least the wheel encoders and IMU as its odometry sensor sources. When multiple sources are provided to ``robot_localization``, it is able to fuse the odometry information given by the sensors through the use of state estimation nodes. These nodes make use of either an Extended Kalman filter (``ekf_filter_node``) or an Unscented Kalman Filter (``ukf_node``) to implement this fusion. In addition, the package also implements a ``navsat_transform_node`` which transforms geographic coordinates into the robot’s world frame when working with GPS.
9+
A usual robot setup consists of at least the wheel encoders and IMU as its odometry sensor sources. When multiple sources are provided to ``robot_localization``, it is able to fuse the odometry information given by the sensors through the use of state estimation nodes. These nodes make use of either an Extended Kalman filter (``ekf_node``) or an Unscented Kalman Filter (``ukf_node``) to implement this fusion. In addition, the package also implements a ``navsat_transform_node`` which transforms geographic coordinates into the robot’s world frame when working with GPS.
1010

11-
Fused sensor data is published by the ``robot_localization`` package through the ``odometry/filtered`` and the ``accel/filtered`` topics, if enabled in its configuration. In addition, it can also publish the ``odom`` => ``base_link`` transform on the ``/tf`` topic. Do note that if you followed :ref:`setup_odom_gz`, you will need to remove the /tf bridge in ``bridge_config.yaml`` to get the transforms from ``ekf_filter_node`` instead of Gazebo.
11+
Fused sensor data is published by the ``robot_localization`` package through the ``odometry/filtered`` and the ``accel/filtered`` topics, if enabled in its configuration. In addition, it can also publish the ``odom`` => ``base_link`` transform on the ``/tf`` topic. Do note that if you followed :ref:`setup_odom_gz`, you will need to remove the /tf bridge in ``bridge_config.yaml`` to get the transforms from ``ekf_node`` instead of Gazebo.
1212

1313
.. seealso::
1414
More details on ``robot_localization`` can be found in the official `Robot Localization Documentation <http://docs.ros.org/en/noetic/api/robot_localization/html/index.html>`_.
@@ -23,20 +23,20 @@ For the rest of this section, we will show how to use ``robot_localization`` to
2323
Configuring Robot Localization
2424
==============================
2525

26-
Let us now configure the ``robot_localization`` package to use an Extended Kalman Filter (``ekf_filter_node``) to fuse odometry information and publish the ``odom`` => ``base_link`` transform.
26+
Let us now configure the ``robot_localization`` package to use an Extended Kalman Filter (``ekf_node``) to fuse odometry information and publish the ``odom`` => ``base_link`` transform.
2727

2828
First, install the ``robot_localization`` package using your machines package manager or by executing the following command:
2929

3030
.. code-block:: shell
3131
3232
sudo apt install ros-<ros2-distro>-robot-localization
3333
34-
Next, we specify the parameters of the ``ekf_filter_node`` using a YAML file. Create a directory named ``config`` at the root of your project and create a file named ``ekf.yaml``. Copy the following lines of code into your ``ekf.yaml`` file.
34+
Next, we specify the parameters of the ``ekf_node`` using a YAML file. Create a directory named ``config`` at the root of your project and create a file named ``ekf.yaml``. Copy the following lines of code into your ``ekf.yaml`` file.
3535

3636
.. code-block:: yaml
3737
3838
### ekf config file ###
39-
ekf_filter_node:
39+
ekf_node:
4040
ros__parameters:
4141
# The frequency, in Hz, at which the filter will output a position estimate. Note that the filter will not begin
4242
# computation until it receives at least one message from one of the inputs. It will then run continuously at the
@@ -85,7 +85,7 @@ Next, we specify the parameters of the ``ekf_filter_node`` using a YAML file. Cr
8585
8686
In this configuration, we defined the parameter values of ``frequency``, ``two_d_mode``, ``publish_acceleration``, ``publish_tf``, ``map_frame``, ``odom_frame``, ``base_link_frame``, and ``world_frame``. For more information on the other parameters you can modify, see `Parameters of state estimation nodes <http://docs.ros.org/en/melodic/api/robot_localization/html/state_estimation_nodes.html#parameters>`_, and a sample ``efk.yaml`` can be found `here <https://github.com/cra-ros-pkg/robot_localization/blob/ros2/params/ekf.yaml>`_.
8787

88-
To add a sensor input to the ``ekf_filter_node``, add the next number in the sequence to its base name (odom, imu, pose, twist). In our case, we have one ``nav_msgs/Odometry`` and one ``sensor_msgs/Imu`` as inputs to the filter, thus we use ``odom0`` and ``imu0``. We set the value of ``odom0`` to ``demo/odom``, which is the topic that publishes the ``nav_msgs/Odometry``. Similarly, we set the value of ``imu0`` to the topic that publishes ``sensor_msgs/Imu``, which is ``demo/imu``.
88+
To add a sensor input to the ``ekf_node``, add the next number in the sequence to its base name (odom, imu, pose, twist). In our case, we have one ``nav_msgs/Odometry`` and one ``sensor_msgs/Imu`` as inputs to the filter, thus we use ``odom0`` and ``imu0``. We set the value of ``odom0`` to ``demo/odom``, which is the topic that publishes the ``nav_msgs/Odometry``. Similarly, we set the value of ``imu0`` to the topic that publishes ``sensor_msgs/Imu``, which is ``demo/imu``.
8989

9090
To understand how ``robot_localization`` is configured and understand the reasoning behind the config have a look at `Configuring robot_localization <http://docs.ros.org/en/melodic/api/robot_localization/html/configuring_robot_localization.html>`_.
9191

@@ -96,14 +96,14 @@ To understand how ``robot_localization`` is configured and understand the reason
9696
Launch and Build Files
9797
======================
9898

99-
Now, let us add the ``ekf_filter_node`` into the launch file. Open ``launch/display.launch.py`` and paste the following lines before the ``return launch.LaunchDescription([`` line.
99+
Now, let us add the ``ekf_node`` into the launch file. Open ``launch/display.launch.py`` and paste the following lines before the ``return launch.LaunchDescription([`` line.
100100

101101
.. code-block:: shell
102102
103103
robot_localization_node = Node(
104104
package='robot_localization',
105-
executable='ekf_filter_node',
106-
name='ekf_filter_node',
105+
executable='ekf_node',
106+
name='ekf_node',
107107
output='screen',
108108
parameters=[os.path.join(pkg_share, 'config/ekf.yaml'), {'use_sim_time': LaunchConfiguration('use_sim_time')}]
109109
)
@@ -175,17 +175,17 @@ You can also check the subscriber count of these topics again by executing:
175175
176176
You should see that ``/demo/imu`` and ``/demo/odom`` now both have 1 subscriber each.
177177

178-
To verify that the ``ekf_filter_node`` are the subscribers of these topics, execute:
178+
To verify that the ``ekf_node`` are the subscribers of these topics, execute:
179179

180180
.. code-block:: shell
181181
182-
ros2 node info /ekf_filter_node
182+
ros2 node info /ekf_node
183183
184184
You should see an output as shown below.
185185

186186
.. code-block:: shell
187187
188-
/ekf_filter_node
188+
/ekf_node
189189
Subscribers:
190190
/demo/imu: sensor_msgs/msg/Imu
191191
/demo/odom: nav_msgs/msg/Odometry
@@ -201,7 +201,7 @@ You should see an output as shown below.
201201
Service Servers:
202202
...
203203
204-
From the output above, we can see that the ``ekf_filter_node`` is subscribed to ``/demo/imu`` and ``/demo/odom``. We can also see that the ``ekf_filter_node`` publishes on the ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics.
204+
From the output above, we can see that the ``ekf_node`` is subscribed to ``/demo/imu`` and ``/demo/odom``. We can also see that the ``ekf_node`` publishes on the ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics.
205205

206206
You may also verify that ``robot_localization`` is publishing the ``odom`` => ``base_link`` transform by using the tf2_echo utility. Run the following command in a separate command line terminal:
207207

0 commit comments

Comments
 (0)