From ccbf4e30ca026a30dc51f6c5fa97bcdd0b5180c8 Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Tue, 10 Dec 2024 19:00:44 +0530 Subject: [PATCH 1/6] Update setup_odom.rst for the new Gazebo Signed-off-by: Aarav Gupta --- setup_guides/odom/setup_odom.rst | 367 ++++++++++++++++++++++--------- setup_guides/urdf/setup_urdf.rst | 32 +-- 2 files changed, 278 insertions(+), 121 deletions(-) diff --git a/setup_guides/odom/setup_odom.rst b/setup_guides/odom/setup_odom.rst index 43ef324b4..330bebf78 100644 --- a/setup_guides/odom/setup_odom.rst +++ b/setup_guides/odom/setup_odom.rst @@ -77,32 +77,22 @@ As an overview for this section, we will first setup Gazebo and the necessary pa Setup and Prerequisites ======================= -`Gazebo `_ is a 3D simulator that allows us to observe how our virtual robot will function in a simulated environment. To start using Gazebo with ROS 2, follow the installation instructions in the `Gazebo Installation Documentation `_. +`Gazebo `_ is a 3D simulator that allows us to observe how our virtual robot will function in a simulated environment. To start using Gazebo with ROS 2, follow the installation instructions in the `Gazebo Installation Documentation `_. -We also need to install the ``gazebo_ros_pkgs`` package to simulate odometry and control the robot with ROS 2 in Gazebo: +Note that you may have described ``sam_bot`` using URDF. However, Gazebo uses `Simulation Description Format (SDF) `_ to describe a robot in its simulated environment. Fortunately, Gazebo automatically translates compatible URDF files into SDF. The main requirement for the URDF to be compatible with Gazebo is to have an ```` element within each ```` element. This requirement is already satisfied in the URDF file of ``sam_bot``, so it can already be used in Gazebo. -.. code-block:: shell - - sudo apt install ros--gazebo-ros-pkgs - -You can test if you have successfully set up your ROS 2 and Gazebo environments by following the instructions `given here `_. - -Note that we described ``sam_bot`` using URDF. However, Gazebo uses `Simulation Description Format (SDF) `_ to describe a robot in its simulated environment. Fortunately, Gazebo automatically translates compatible URDF files into SDF. The main requirement for the URDF to be compatible with Gazebo is to have an ```` element within each ```` element. This requirement is already satisfied in the URDF file of ``sam_bot``, so it can already be used in Gazebo. - -.. seealso:: - For more information on how to use URDF in Gazebo, see `Tutorial: Using a URDF in Gazebo `_. - -Adding Gazebo Plugins to a URDF -=============================== +Adding Gazebo Plugins to a URDF/SDF +=================================== -We will now add the IMU sensor and the differential drive plugins of Gazebo to our URDF. For an overview of the different plugins available in Gazebo, have a look at `Tutorial: Using Gazebo plugins with ROS `_. +We will now add the IMU sensor and the differential drive plugins of Gazebo to our URDF/SDF. For an overview of the different sensors available in Gazebo, have a look at the `Sensor Documentation `_. -For our robot, we will be using the `GazeboRosImuSensor `_ which is a SensorPlugin. A SensorPlugin must be attached to a link, thus we will create an ``imu_link`` to which the IMU sensor will be attached. This link will be referenced under the ```` element. Next, we will set ``/demo/imu`` as the topic to which the IMU will be publishing its information, and we will comply with `REP145 `_ by setting ``initalOrientationAsReference`` to ``false``. We will also add some noise to the sensor configuration using Gazebo's `sensor noise model `_. +A sensor must be attached to a link, thus we will create an ``imu_link`` to which the IMU sensor will be attached. This link will be referenced under the ```` element if using URDF. Next, we will set ``/demo/imu`` as the topic to which the IMU will be publishing its information, and we will comply with `REP145 `_ by setting ``initalOrientationAsReference`` to ``false``. We will also add some noise to the sensor configuration using Gazebo's `sensor noise model `_. -Now, we will set up our IMU sensor plugin according to the description above by adding the following lines before the ```` line in our URDF: +Now, we will set up our IMU sensor plugin according to the description above. +If using URDF add the following lines before the ```` line: .. code-block:: xml - :lineno-start: 132 + :lineno-start: 133 @@ -126,18 +116,12 @@ Now, we will set up our IMU sensor plugin according to the description above by - + - - - /demo - ~/out:=imu - - false - true 100 true + demo/imu @@ -195,108 +179,296 @@ Now, we will set up our IMU sensor plugin according to the description above by -Now, let us add the differential drive ModelPlugin. We will configure the plugin such that ``nav_msgs/Odometry`` messages are published on the ``/demo/odom`` topic. The joints of the left and right wheels will be set to the wheel joints of ``sam_bot``. The wheel separation and wheel diameter are set according to the values of the defined values of ``wheel_ygap`` and ``wheel_radius`` respectively. +If using SDF add the following lines before the ```` line: -To include this plugin in our URDF, add the following lines after the ```` tag of the IMU plugin: +.. code-block:: xml + :lineno-start: 184 + + + true + + + + 0.1 0.1 0.1 + + + + + + + + 0.1 0.1 0.1 + + + + + + + + true + 100 + true + demo/imu + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + + + + + base_link + imu_link + 0.0 0.0 0.01 0 0 0 + + +Now, let us add the DiffDrive ModelPlugin and the JointStatePublisher plugin. We will configure the plugin such that ``nav_msgs/Odometry`` messages are published on the ``/demo/odom`` topic and the ``sensor_msgs/msg/JointState`` messages for the two wheels are published on ``/joint_states``. The joints of the left and right wheels will be set to the wheel joints of ``sam_bot``. The wheel separation and wheel radius are set according to the values of the defined values of ``wheel_ygap`` and ``wheel_radius`` respectively. +We will configure the DiffDrive ModelPLugin to also publish ``tf2_msgs/msg/TFMessage`` messages on the ``/demo/tf`` topic, but instead of them the transform messages published by ``ekf_node`` will be used. See `Robot Localization Demo `_ + +If using URDF, add the following lines after the ```` tag of the IMU sensor: .. code-block:: xml - :lineno-start: 223 - + :lineno-start: 218 + - - - /demo - - + drivewhl_l_joint drivewhl_r_joint 0.4 - 0.2 + ${wheel_radius} + + + 0.1 - - 20 - 1.0 + + /demo/cmd_vel - true - false - true - - odom - base_link + /demo/odom + /demo/tf + + odom + base_link + + + + joint_states +If using SDF, add the following lines after the ```` tag of the IMU sensor: + +.. code-block:: xml + :lineno-start: 272 + + + + drivewhl_l_joint + drivewhl_r_joint + + + 0.4 + ${wheel_radius} + + + 0.1 + + + /demo/cmd_vel + + + /demo/odom + /demo/tf + + odom + base_link + + + + joint_states + Launch and Build Files ====================== -We will now edit our launch file, `launch/display.launch.py `_, to spawn ``sam_bot`` in Gazebo. Since we will be simulating our robot, we can remove the GUI for the joint state publisher by deleting the following lines inside the ``generate_launch_description()``: +We will now edit our launch file, `launch/display.launch.py `_, to spawn ``sam_bot`` in Gazebo. Since the DiffDrive ModelPLugin will now publish the ``joint_states``, we can remove everything related to the joint state publisher by deleting the following lines inside the ``generate_launch_description()``: -.. code-block:: shell +.. code-block:: python - joint_state_publisher_gui_node = launch_ros.actions.Node( - package='joint_state_publisher_gui', - executable='joint_state_publisher_gui', - name='joint_state_publisher_gui', - condition=launch.conditions.IfCondition(LaunchConfiguration('gui')) + joint_state_publisher_node = Node( + package='joint_state_publisher', + executable='joint_state_publisher', + name='joint_state_publisher', + parameters=[{'robot_description': Command(['xacro ', default_model_path])}], + condition=UnlessCondition(LaunchConfiguration('gui')) + ) + joint_state_publisher_gui_node = Node( + package='joint_state_publisher_gui', + executable='joint_state_publisher_gui', + name='joint_state_publisher_gui', + condition=IfCondition(LaunchConfiguration('gui')) ) -Remove the following `gui` param: +Remove the following from ``return LaunchDescription([])``: .. code-block:: shell - DeclareLaunchArgument(name='gui', default_value='True', - description='Flag to enable joint_state_publisher_gui') - -Remove the condition and parameters. Add arguments to the `joint_state_publisher_node`: + DeclareLaunchArgument(name='gui', default_value='True', description='Flag to enable joint_state_publisher_gui'), + joint_state_publisher_node, + joint_state_publisher_gui_node, + +Next, open `package.xml `_ and delete the lines: .. code-block:: shell - joint_state_publisher_node = launch_ros.actions.Node( - package='joint_state_publisher', - executable='joint_state_publisher', - name='joint_state_publisher', - arguments=[default_model_path], #Add this line - parameters=[{'robot_description': Command(['xarcro ', default_model_path])}], #Remove this line - condition=launch.conditions.UnlessCondition(LaunchConfiguration('gui')) # Remove this line - ) + joint_state_publisher + joint_state_publisher_gui -Next, open `package.xml `_ and delete the line: +To make ``robot_state_publisher`` ``use_sim_time`` change it in the following way: .. code-block:: shell - joint_state_publisher_gui + robot_state_publisher_node = Node( + package='robot_state_publisher', + executable='robot_state_publisher', + parameters=[{'robot_description': Command(['xacro ', LaunchConfiguration('model')])}, {'use_sim_time': LaunchConfiguration('use_sim_time')}] + ) -To launch Gazebo, add the following before the ``joint_state_publisher_node,`` line in ``display.launch.py`` +Also declare the ``use_sim_time`` argument in ``LaunchDescription([])`` by adding the below line to it: .. code-block:: shell - - launch.actions.ExecuteProcess(cmd=['gazebo', '--verbose', '-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so'], output='screen'), -We will now add a node that spawns ``sam_bot`` in Gazebo. Open `launch/display.launch.py `_ again and paste the following lines before the ``return launch.LaunchDescription([`` line. + DeclareLaunchArgument(name='use_sim_time', default_value='True', description='Flag to enable use_sim_time'), + +To launch Gazebo and spawn ``sam_bot`` in it, add the following after the ``rviz_node`` definition ``display.launch.py``: .. code-block:: shell - - spawn_entity = launch_ros.actions.Node( - package='gazebo_ros', - executable='spawn_entity.py', - arguments=['-entity', 'sam_bot', '-topic', 'robot_description'], - output='screen' + + gz_server = GzServer( + world_sdf_file=world_path, + container_name='ros_gz_container', + create_own_container='True', + use_composition='True', + ) + ros_gz_bridge = RosGzBridge( + bridge_name='ros_gz_bridge', + config_file=bridge_config_path, + container_name='ros_gz_container', + create_own_container='False', + use_composition='True', + ) + spawn_entity = IncludeLaunchDescription( + PythonLaunchDescriptionSource(gz_spawn_model_launch_source), + launch_arguments={ + 'world': 'my_world', + 'topic': '/robot_description', + 'entity_name': 'sam_bot', + }.items(), ) -Then add the line ``spawn_entity,`` before the ``rviz_node`` line, as shown below. +Also add the following lines to ``LaunchDescription([])``: .. code-block:: shell + + ExecuteProcess(cmd=['gz', 'sim', '-g'], output='screen'), + gz_server, + ros_gz_bridge, + spawn_entity, - robot_state_publisher_node, - spawn_entity, - rviz_node - ]) +Finally, create a file named ``bridge_config.yaml`` in the ``config`` directory of your package and add the following line to it to define what topics we want to bridge between ROS and Gazebo: +.. code-block:: shell + + --- + - ros_topic_name: "/clock" + gz_topic_name: "/clock" + ros_type_name: "rosgraph_msgs/msg/Clock" + gz_type_name: "gz.msgs.Clock" + direction: GZ_TO_ROS + + - ros_topic_name: "/demo/imu" + gz_topic_name: "/demo/imu" + ros_type_name: "sensor_msgs/msg/Imu" + gz_type_name: "gz.msgs.IMU" + direction: GZ_TO_ROS + + # Topic published by DiffDrive plugin + - ros_topic_name: "/demo/odom" + gz_topic_name: "/demo/odom" + ros_type_name: "nav_msgs/msg/Odometry" + gz_type_name: "gz.msgs.Odometry" + direction: GZ_TO_ROS + + # Topic published by JointStatePublisher plugin + - ros_topic_name: "/joint_states" + gz_topic_name: "/joint_states" + ros_type_name: "sensor_msgs/msg/JointState" + gz_type_name: "gz.msgs.Model" + direction: GZ_TO_ROS + + # Topic subscribed to by DiffDrive plugin + - ros_topic_name: "/demo/cmd_vel" + gz_topic_name: "/demo/cmd_vel" + ros_type_name: "geometry_msgs/msg/TwistStamped" + gz_type_name: "gz.msgs.Twist" + direction: ROS_TO_GZ Build, Run and Verification =========================== @@ -449,30 +621,15 @@ Now, let us add the ``ekf_node`` into the launch file. Open ``launch/display.lau .. code-block:: shell - robot_localization_node = launch_ros.actions.Node( - package='robot_localization', - executable='ekf_node', - name='ekf_filter_node', - output='screen', - parameters=[os.path.join(pkg_share, 'config/ekf.yaml'), {'use_sim_time': LaunchConfiguration('use_sim_time')}] + robot_localization_node = Node( + package='robot_localization', + executable='ekf_node', + name='ekf_filter_node', + output='screen', + parameters=[os.path.join(pkg_share, 'config/ekf.yaml'), {'use_sim_time': LaunchConfiguration('use_sim_time')}] ) -Next, add the following launch arguments within the ``return launch.LaunchDescription([`` block. - -.. code-block:: shell - - launch.actions.DeclareLaunchArgument(name='use_sim_time', default_value='True', - description='Flag to enable use_sim_time'), - -Lastly, add ``robot_localization_node,`` above the ``rviz_node`` line to launch the robot localization node. - -.. code-block:: shell - - robot_state_publisher_node, - spawn_entity, - robot_localization_node, - rviz_node - ]) +Lastly, add ``robot_localization_node,`` to ``LaunchDescription([])``. Next, we need to add the ``robot_localization`` dependency to our package definition. Open ``package.xml`` and add the following line below the last ```` tag. diff --git a/setup_guides/urdf/setup_urdf.rst b/setup_guides/urdf/setup_urdf.rst index 882d982e9..c836e9fef 100644 --- a/setup_guides/urdf/setup_urdf.rst +++ b/setup_guides/urdf/setup_urdf.rst @@ -201,35 +201,38 @@ Next, let us create our launch file. Launch files are used by ROS 2 to bring up .. code-block:: python - import launch + from launch import LaunchDescription + from launch.actions import DeclareLaunchArgument + from launch.conditions import IfCondition, UnlessCondition from launch.substitutions import Command, LaunchConfiguration - import launch_ros + from launch_ros.actions import Node + from launch_ros.substitutions import FindPackageShare import os def generate_launch_description(): - pkg_share = launch_ros.substitutions.FindPackageShare(package='sam_bot_description').find('sam_bot_description') + pkg_share = FindPackageShare(package='sam_bot_description').find('sam_bot_description') default_model_path = os.path.join(pkg_share, 'src/description/sam_bot_description.urdf') default_rviz_config_path = os.path.join(pkg_share, 'rviz/urdf_config.rviz') - robot_state_publisher_node = launch_ros.actions.Node( + robot_state_publisher_node = Node( package='robot_state_publisher', executable='robot_state_publisher', parameters=[{'robot_description': Command(['xacro ', LaunchConfiguration('model')])}] ) - joint_state_publisher_node = launch_ros.actions.Node( + joint_state_publisher_node = Node( package='joint_state_publisher', executable='joint_state_publisher', name='joint_state_publisher', parameters=[{'robot_description': Command(['xacro ', default_model_path])}], - condition=launch.conditions.UnlessCondition(LaunchConfiguration('gui')) + condition=UnlessCondition(LaunchConfiguration('gui')) ) - joint_state_publisher_gui_node = launch_ros.actions.Node( + joint_state_publisher_gui_node = Node( package='joint_state_publisher_gui', executable='joint_state_publisher_gui', name='joint_state_publisher_gui', - condition=launch.conditions.IfCondition(LaunchConfiguration('gui')) + condition=IfCondition(LaunchConfiguration('gui')) ) - rviz_node = launch_ros.actions.Node( + rviz_node = Node( package='rviz2', executable='rviz2', name='rviz2', @@ -237,13 +240,10 @@ Next, let us create our launch file. Launch files are used by ROS 2 to bring up arguments=['-d', LaunchConfiguration('rvizconfig')], ) - return launch.LaunchDescription([ - launch.actions.DeclareLaunchArgument(name='gui', default_value='True', - description='Flag to enable joint_state_publisher_gui'), - launch.actions.DeclareLaunchArgument(name='model', default_value=default_model_path, - description='Absolute path to robot urdf file'), - launch.actions.DeclareLaunchArgument(name='rvizconfig', default_value=default_rviz_config_path, - description='Absolute path to rviz config file'), + return LaunchDescription([ + DeclareLaunchArgument(name='gui', default_value='True', description='Flag to enable joint_state_publisher_gui'), + DeclareLaunchArgument(name='model', default_value=default_model_path, description='Absolute path to robot urdf file'), + DeclareLaunchArgument(name='rvizconfig', default_value=default_rviz_config_path, description='Absolute path to rviz config file'), joint_state_publisher_node, joint_state_publisher_gui_node, robot_state_publisher_node, From 8118513d5744af5c1cd5609e2325d8afaf51bf2f Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Sat, 4 Jan 2025 12:20:25 +0530 Subject: [PATCH 2/6] Update setup_odom tutorials, and add pages for other tutorials Signed-off-by: Aarav Gupta --- setup_guides/index.rst | 13 +- .../{setup_odom.rst => setup_odom_gz.rst} | 356 +++++------------- setup_guides/odom/setup_odom_gz_classic.rst | 355 +++++++++++++++++ .../odom/setup_robot_localization.rst | 227 +++++++++++ setup_guides/sdf/images/base-bot_1.png | Bin 0 -> 27883 bytes setup_guides/sdf/images/base-bot_2.png | Bin 0 -> 20356 bytes setup_guides/sdf/images/base-bot_3.png | Bin 0 -> 84157 bytes setup_guides/sdf/images/base-bot_4.png | Bin 0 -> 121142 bytes setup_guides/sdf/images/base-bot_5.png | Bin 0 -> 103764 bytes setup_guides/sdf/setup_sdf.rst | 4 + setup_guides/sensors/setup_sensors_gz.rst | 4 + ...nsors.rst => setup_sensors_gz_classic.rst} | 6 +- 12 files changed, 698 insertions(+), 267 deletions(-) rename setup_guides/odom/{setup_odom.rst => setup_odom_gz.rst} (55%) create mode 100644 setup_guides/odom/setup_odom_gz_classic.rst create mode 100644 setup_guides/odom/setup_robot_localization.rst create mode 100644 setup_guides/sdf/images/base-bot_1.png create mode 100644 setup_guides/sdf/images/base-bot_2.png create mode 100644 setup_guides/sdf/images/base-bot_3.png create mode 100644 setup_guides/sdf/images/base-bot_4.png create mode 100644 setup_guides/sdf/images/base-bot_5.png create mode 100644 setup_guides/sdf/setup_sdf.rst create mode 100644 setup_guides/sensors/setup_sensors_gz.rst rename setup_guides/sensors/{setup_sensors.rst => setup_sensors_gz_classic.rst} (99%) diff --git a/setup_guides/index.rst b/setup_guides/index.rst index 6d5b58b90..ebb8511b8 100644 --- a/setup_guides/index.rst +++ b/setup_guides/index.rst @@ -13,15 +13,14 @@ This section is a collection of guides that aims to provide readers a good resou To guide you through the first-time setup of your robot, we will be tackling the following topics: -- Introduce TF2 and setup your robot URDF +- Introduce TF2 and setup your robot URDF or SDF - Setup sensor sources for robot odometry - Setup sensor sources for perception - Configure round or arbitrary shaped footprints for your robot - Select and set up planner and controller navigation plugins for your robot's navigation tasks - Lifecycle node management for easy bringup of other related sensors or nodes -The simulator of record in these tutorials is Gazebo Classic, which is the default simulator in ROS 2 Humble, Iron and all previous distributions. -When using Jazzy or newer, consider that the simulation elements of the tutorial may be out of date and are worth looking at other resources like `nav2_minimal_turtlebot_simulation `_ which fully leverages modern Gazebo with Nav2. +There are tutorials below for the Gazebo Classic simulator and the Gazebo simulator. Gazebo Classic is used with ROS2 Humble and all previous ROS distributions, while Gazebo (Gazebo Harmonic or newer) is used with ROS2 Jazzy or newer. **Table of Contents:** @@ -30,8 +29,12 @@ When using Jazzy or newer, consider that the simulation elements of the tutorial transformation/setup_transforms.rst urdf/setup_urdf.rst - odom/setup_odom.rst - sensors/setup_sensors.rst + sdf/setup_sdf.rst + odom/setup_odom_gz.rst + odom/setup_odom_gz_classic.rst + odom/setup_robot_localization.rst + sensors/setup_sensors_gz.rst + sensors/setup_sensors_gz_classic.rst footprint/setup_footprint.rst algorithm/select_algorithm.rst diff --git a/setup_guides/odom/setup_odom.rst b/setup_guides/odom/setup_odom_gz.rst similarity index 55% rename from setup_guides/odom/setup_odom.rst rename to setup_guides/odom/setup_odom_gz.rst index 330bebf78..56080a60e 100644 --- a/setup_guides/odom/setup_odom.rst +++ b/setup_guides/odom/setup_odom_gz.rst @@ -1,25 +1,23 @@ -Setting Up Odometry -################### +Setting Up Odometry - Gazebo +############################ In this guide, we will be looking at how to integrate our robot's odometry system with Nav2. First we will provide a brief introduction on odometry, plus the necessary messages and transforms that need to be published for Nav2 to function correctly. Next, we will show how to setup odometry with two different cases. In the first case, we will show how to setup an odometry system for a robot with already available wheel encoders. In the second case, we will build a demo that simulates a functioning odometry system on ``sam_bot`` (the robot that we built in the previous section) using Gazebo. -Afterwards, we will discuss how various sources of odometry can be fused to provide a smoothed odometry using the ``robot_localization`` package. -Lastly, we will also show how to publish the ``odom`` => ``base_link`` transform using ``robot_localization``. .. seealso:: - The complete source code in this tutorial can be found in `navigation2_tutorials `_ repository under the ``sam_bot_description`` package. Note that the repository contains the full code after accomplishing all the tutorials in this guide. + The complete source code in this tutorial can be found in `navigation2_tutorials `_ repository under the ``sam_bot_description`` package. Note that the repository contains the full code after accomplishing all the tutorials in this guide. Odometry Introduction ********************* The odometry system provides a locally accurate estimate of a robot's pose and velocity based on its motion. The odometry information can be obtained from various sources such as IMU, LIDAR, RADAR, VIO, and wheel encoders. One thing to note is that IMUs drift over time while wheel encoders drift over distance traveled, thus they are often used together to counter each other's negative characteristics. -The ``odom`` frame and the transformation associated with it use a robot's odometry system to publish localization information that is continuous but becomes less accurate over time or distance (depending on the sensor modalities and drift). In spite of this, the information can still be used by the robot to navigate its immediate vicinity (e.g collision avoidance). To obtain consistently accurate odometry information over time, the ``map`` frame provides globally accurate information that is used to correct the ``odom`` frame. +The ``odom`` frame and the transformation associated with it use a robot's odometry system to publish localization information that is continuous but becomes less accurate over time or distance (depending on the sensor modalities and drift). In spite of this, the information can still be used by the robot to navigate its immediate vicinity (e.g collision avoidance). To obtain consistently accurate odometry information over time, the ``map`` frame provides globally accurate information that is used to correct the ``odom`` frame. -As discussed in the previous guides and in `REP 105 `_, the ``odom`` frame is connected to the rest of the system and Nav2 through the ``odom`` => ``base_link`` transform. This transform is published by a tf2 broadcaster or by frameworks such as ``robot_localization``, which also provide additional functionalities. We will be talking more about ``robot_localization`` in a following section. +As discussed in the previous guides and in `REP 105 `_, the ``odom`` frame is connected to the rest of the system and Nav2 through the ``odom`` => ``base_link`` transform. This transform is published by a tf2 broadcaster or by frameworks such as ``robot_localization``, which also provide additional functionalities. We will be talking more about ``robot_localization`` in a following section. In addition to the required ``odom`` => ``base_link`` transform, Nav2 also requires the publishing of ``nav_msgs/Odometry`` message because this message provides the velocity information of the robot. In detail, the ``nav_msgs/Odometry`` message contains the following information: @@ -41,7 +39,7 @@ In addition to the required ``odom`` => ``base_link`` transform, Nav2 also requi # Estimated linear and angular velocity relative to child_frame_id. geometry_msgs/TwistWithCovariance twist -This message tells us the estimates for the pose and velocity of the robot. The ``header`` message provides the timestamped data in a given coordinate frame. The ``pose`` message provides the position and orientation of the robot relative to the frame specified in ``header.frame_id``. The ``twist`` message gives the linear and angular velocity relative to the frame defined in ``child_frame_id``. +This message tells us the estimates for the pose and velocity of the robot. The ``header`` message provides the timestamped data in a given coordinate frame. The ``pose`` message provides the position and orientation of the robot relative to the frame specified in ``header.frame_id``. The ``twist`` message gives the linear and angular velocity relative to the frame defined in ``child_frame_id``. Setting Up Odometry on your Robot @@ -58,29 +56,27 @@ To start, we will use an example of a robot with wheel encoders as its odometry The ``right_wheel_est_vel`` and ``left_wheel_est_vel`` are the estimated velocities of the right and left wheels respectively, and the ``wheel separation`` is the distance between the wheels. The values of ``right_wheel_est_vel`` and ``left_wheel_est_vel`` can be obtained by simply getting the changes in the positions of the wheel joints over time. This information can then be used to publish the Nav2 requirements. A basic example on how to do this can be found in the Navigation documentation on odometry `located here `_ -An alternative to manually publishing this information that we recommend is through the ``ros2_control`` framework. The ``ros2_control`` framework contains various packages for real-time control of robots in ROS 2. For wheel encoders, ``ros2_control`` has a ``diff_drive_controller`` (differential drive controller) under the ``ros2_controller`` package. The ``diff_drive_controller`` takes in the ``geometry_msgs/Twist`` messages published on ``cmd_vel`` topic, computes odometry information, and publishes ``nav_msgs/Odometry`` messages on ``odom`` topic. Other packages that deal with different kind of sensors are also available in ``ros2_control``. +An alternative to manually publishing this information that we recommend is through the ``ros2_control`` framework. The ``ros2_control`` framework contains various packages for real-time control of robots in ROS 2. For wheel encoders, ``ros2_control`` has a ``diff_drive_controller`` (differential drive controller) under the ``ros2_controller`` package. The ``diff_drive_controller`` takes in the ``geometry_msgs/Twist`` messages published on ``cmd_vel`` topic, computes odometry information, and publishes ``nav_msgs/Odometry`` messages on ``odom`` topic. Other packages that deal with different kind of sensors are also available in ``ros2_control``. .. seealso:: - For more information, see the `ros2_control documentation `_ and the `Github repository of diff_drive_controller `_. + For more information, see the `ros2_control documentation `_ and the `Github repository of diff_drive_controller `_. For other types of sensors such as IMU, VIO, etc, their respective ROS drivers should have documentation on how publish the odometry information. Keep in mind that Nav2 requires the ``nav_msgs/Odometry`` message and ``odom`` => ``base_link`` transforms to be published and this should be your goal when setting up your odometry system. Simulating an Odometry System using Gazebo ****************************************** -In this section, we will be using Gazebo to simulate the odometry system of ``sam_bot``, the robot that we built in the previous section of this tutorial series. You may go through that guide first or grab the `complete source here `_. +In this section, we will be using Gazebo to simulate the odometry system of ``sam_bot``, the robot that we built in the previous section of this tutorial series. You may go through that guide first or grab the `complete source here `_. .. note:: If you are working on your own physical robot and have already set up your odometry sensors, you may opt to skip this section and head onto the next one where we fuse IMU and odometry messages to provide a smooth ``odom`` => ``base_link`` transformation. -As an overview for this section, we will first setup Gazebo and the necessary packages required to make it work with ROS 2. Next, we will be adding Gazebo plugins, which simulate an IMU sensor and a differential drive odometry system, in order to publish ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages respectively. Lastly, we will spawn ``sam_bot`` in a Gazebo environment and verify the published ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages over ROS 2. +As an overview for this section, we will first setup Gazebo and the necessary packages required to make it work with ROS 2. Next, we will be adding Gazebo plugins, which simulate an IMU sensor and a differential drive odometry system, in order to publish ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages respectively. Lastly, we will spawn ``sam_bot`` in a Gazebo environment and verify the published ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages over ROS 2. Setup and Prerequisites ======================= `Gazebo `_ is a 3D simulator that allows us to observe how our virtual robot will function in a simulated environment. To start using Gazebo with ROS 2, follow the installation instructions in the `Gazebo Installation Documentation `_. -Note that you may have described ``sam_bot`` using URDF. However, Gazebo uses `Simulation Description Format (SDF) `_ to describe a robot in its simulated environment. Fortunately, Gazebo automatically translates compatible URDF files into SDF. The main requirement for the URDF to be compatible with Gazebo is to have an ```` element within each ```` element. This requirement is already satisfied in the URDF file of ``sam_bot``, so it can already be used in Gazebo. - Adding Gazebo Plugins to a URDF/SDF =================================== @@ -92,7 +88,6 @@ Now, we will set up our IMU sensor plugin according to the description above. If using URDF add the following lines before the ```` line: .. code-block:: xml - :lineno-start: 133 @@ -122,6 +117,7 @@ If using URDF add the following lines before the ```` line: 100 true demo/imu + imu_link @@ -182,10 +178,15 @@ If using URDF add the following lines before the ```` line: If using SDF add the following lines before the ```` line: .. code-block:: xml - :lineno-start: 184 + + + base_link + imu_link + 0.0 0.0 0.01 0 0 0 + - true + @@ -209,6 +210,7 @@ If using SDF add the following lines before the ```` line: 100 true demo/imu + imu_link @@ -266,19 +268,62 @@ If using SDF add the following lines before the ```` line: - - base_link - imu_link - 0.0 0.0 0.01 0 0 0 - +Also set the friction of the caster wheel to near zero. This is to keep things simple. + +If using URDF, add the following: + +.. code-block:: xml + + + + + 0.001 + 0.001 + + + + +If using SDF, modify the caster link as shown below: + +.. code-block:: xml + + + + + + + + ${(wheel_radius+wheel_zoff-(base_height/2))} + + + + 0 1 1 1 + 0 1 1 1 + + + + + + + ${(wheel_radius+wheel_zoff-(base_height/2))} + + + + 0.001 + 0.001 + + + + + + -Now, let us add the DiffDrive ModelPlugin and the JointStatePublisher plugin. We will configure the plugin such that ``nav_msgs/Odometry`` messages are published on the ``/demo/odom`` topic and the ``sensor_msgs/msg/JointState`` messages for the two wheels are published on ``/joint_states``. The joints of the left and right wheels will be set to the wheel joints of ``sam_bot``. The wheel separation and wheel radius are set according to the values of the defined values of ``wheel_ygap`` and ``wheel_radius`` respectively. -We will configure the DiffDrive ModelPLugin to also publish ``tf2_msgs/msg/TFMessage`` messages on the ``/demo/tf`` topic, but instead of them the transform messages published by ``ekf_node`` will be used. See `Robot Localization Demo `_ +Now, let us add the DiffDrive plugin and the JointStatePublisher plugin. We will configure the plugins such that ``nav_msgs/Odometry`` messages are published on the ``/demo/odom`` topic, ``tf2_msgs/msg/TFMessage`` messages on the ``/tf`` topic, and the ``sensor_msgs/msg/JointState`` messages for the two wheels are published on ``/joint_states``. The joints of the left and right wheels will be set to the wheel joints of ``sam_bot``. +The wheel separation and wheel radius are set according to the values of the defined values of ``wheel_ygap`` and ``wheel_radius`` respectively. If using URDF, add the following lines after the ```` tag of the IMU sensor: .. code-block:: xml - :lineno-start: 218 @@ -298,7 +343,7 @@ If using URDF, add the following lines after the ```` tag of the IMU se /demo/odom - /demo/tf + /tf odom base_link @@ -314,7 +359,6 @@ If using URDF, add the following lines after the ```` tag of the IMU se If using SDF, add the following lines after the ```` tag of the IMU sensor: .. code-block:: xml - :lineno-start: 272 @@ -333,7 +377,7 @@ If using SDF, add the following lines after the ```` tag of the IMU senso /demo/odom - /demo/tf + /tf odom base_link @@ -348,7 +392,7 @@ If using SDF, add the following lines after the ```` tag of the IMU senso Launch and Build Files ====================== -We will now edit our launch file, `launch/display.launch.py `_, to spawn ``sam_bot`` in Gazebo. Since the DiffDrive ModelPLugin will now publish the ``joint_states``, we can remove everything related to the joint state publisher by deleting the following lines inside the ``generate_launch_description()``: +We will now edit our launch file to spawn ``sam_bot`` in Gazebo. Since the JointStatePublisher plugin will now publish the ``joint_states``, we can remove everything related to the joint state publisher by deleting the following lines inside the ``generate_launch_description()``: .. code-block:: python @@ -368,7 +412,7 @@ We will now edit our launch file, `launch/display.launch.py `_ and delete the lines: -.. code-block:: shell +.. code-block:: python joint_state_publisher joint_state_publisher_gui To make ``robot_state_publisher`` ``use_sim_time`` change it in the following way: -.. code-block:: shell +.. code-block:: python robot_state_publisher_node = Node( package='robot_state_publisher', @@ -393,14 +437,14 @@ To make ``robot_state_publisher`` ``use_sim_time`` change it in the following wa Also declare the ``use_sim_time`` argument in ``LaunchDescription([])`` by adding the below line to it: -.. code-block:: shell +.. code-block:: python DeclareLaunchArgument(name='use_sim_time', default_value='True', description='Flag to enable use_sim_time'), To launch Gazebo and spawn ``sam_bot`` in it, add the following after the ``rviz_node`` definition ``display.launch.py``: -.. code-block:: shell - +.. code-block:: python + gz_server = GzServer( world_sdf_file=world_path, container_name='ros_gz_container', @@ -425,8 +469,8 @@ To launch Gazebo and spawn ``sam_bot`` in it, add the following after the ``rviz Also add the following lines to ``LaunchDescription([])``: -.. code-block:: shell - +.. code-block:: python + ExecuteProcess(cmd=['gz', 'sim', '-g'], output='screen'), gz_server, ros_gz_bridge, @@ -434,8 +478,8 @@ Also add the following lines to ``LaunchDescription([])``: Finally, create a file named ``bridge_config.yaml`` in the ``config`` directory of your package and add the following line to it to define what topics we want to bridge between ROS and Gazebo: -.. code-block:: shell - +.. code-block:: yaml + --- - ros_topic_name: "/clock" gz_topic_name: "/clock" @@ -495,238 +539,32 @@ To see the active topics in the system, open a new terminal and execute: ros2 topic list -You should see ``/demo/imu`` and ``/demo/odom`` in the list of topics. - -To see more information about the topics, execute: - -.. code-block:: shell - - ros2 topic info /demo/imu - ros2 topic info /demo/odom - -You should see an output similar to below: - -.. code-block:: shell - - Type: sensor_msgs/msg/Imu - Publisher count: 1 - Subscription count: 0 - -.. code-block:: shell - - Type: nav_msgs/msg/Odometry - Publisher count: 1 - Subscription count: 0 - -Observe that the ``/demo/imu`` topic publishes ``sensor_msgs/Imu`` type messages while the ``/demo/odom`` topic publishes ``nav_msgs/Odometry`` type messages. The information being published on these topics come from the gazebo simulation of the IMU sensor and the differential drive respectively. Also note that both topics currently have no subscribers. In the next section, we will create a ``robot_localization`` node that will subscribe to these two topics. It will then use the messages published on both topics to provide a fused, locally accurate and smooth odometry information for Nav2. - -Robot Localization Demo -*********************** - -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. - -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. - -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. - -.. seealso:: - More details on ``robot_localization`` can be found in the official `Robot Localization Documentation `_. - -If your robot is only able to provide one odometry source, the use of ``robot_localization`` would have minimal effects aside from smoothing. In this case, an alternative approach is to publish transforms through a tf2 broadcaster in your single source of odometry node. Nevertheless, you can still opt to use ``robot_localization`` to publish the transforms and some smoothing properties may still be observed in the output. - -.. seealso:: - For more information on how to write a tf2 broadcaster, you can check Writing a tf2 broadcaster `(C++) `_ `(Python) `_. - -For the rest of this section, we will show how to use ``robot_localization`` to fuse the sensors of ``sam_bot``. It will use the ``sensor_msgs/Imu`` messages published on ``/demo/Imu`` and the ``nav_msgs/Odometry`` message published on ``/demo/odom`` and then it will publish data on ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics. - -Configuring Robot Localization -============================== - -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. - -First, install the ``robot_localization`` package using your machines package manager or by executing the following command: - -.. code-block:: shell - - sudo apt install ros--robot-localization - -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. - -.. code-block:: yaml - - ### ekf config file ### - ekf_filter_node: - ros__parameters: - # The frequency, in Hz, at which the filter will output a position estimate. Note that the filter will not begin - # computation until it receives at least one message from one of theinputs. It will then run continuously at the - # frequency specified here, regardless of whether it receives more measurements. Defaults to 30 if unspecified. - frequency: 30.0 - - # ekf_localization_node and ukf_localization_node both use a 3D omnidirectional motion model. If this parameter is - # set to true, no 3D information will be used in your state estimate. Use this if you are operating in a planar - # environment and want to ignore the effect of small variations in the ground plane that might otherwise be detected - # by, for example, an IMU. Defaults to false if unspecified. - two_d_mode: false - - # Whether to publish the acceleration state. Defaults to false if unspecified. - publish_acceleration: true - - # Whether to broadcast the transformation over the /tf topic. Defaultsto true if unspecified. - publish_tf: true - - # 1. Set the map_frame, odom_frame, and base_link frames to the appropriate frame names for your system. - # 1a. 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. - # 2. If you are 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 robot_localization's state estimation nodes. - # 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: - # 3a. Set your "world_frame" to your map_frame value - # 3b. MAKE SURE something else is generating the odom->base_link transform. Note that this can even be another state estimation node - # from robot_localization! However, that instance should *not* fuse the global data. - map_frame: map # Defaults to "map" if unspecified - odom_frame: odom # Defaults to "odom" if unspecified - base_link_frame: base_link # Defaults to "base_link" ifunspecified - world_frame: odom # Defaults to the value ofodom_frame if unspecified - - odom0: demo/odom - odom0_config: [true, true, true, - false, false, false, - false, false, false, - false, false, true, - false, false, false] - - imu0: demo/imu - imu0_config: [false, false, false, - true, true, true, - false, false, false, - false, false, false, - false, false, false] - -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 `_, and a sample ``efk.yaml`` can be found `here `_. - -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``. - -You can specify which values from a sensor are to be used by the filter using the ``_config`` parameter. The order of the values of this parameter is x, y, z, roll, pitch, yaw, vx, vy, vz, vroll, vpitch, vyaw, ax, ay, az. In our example, we set everything in ``odom0_config`` to ``false`` except the 1st, 2nd, 3rd, and 12th entries, which means the filter will only use the x, y, z, and the vyaw values of ``odom0``. - -In the ``imu0_config`` matrix, you'll notice that only roll, pitch, and yaw are used. Typical mobile robot-grade IMUs will also provide angular velocities and linear accelerations. For ``robot_localization`` to work properly, you should not fuse in multiple fields that are derivative of each other. Since angular velocity is fused internally to the IMU to provide the roll, pitch and yaw estimates, we should not fuse in the angular velocities used to derive that information. We also do not fuse in angular velocity due to the noisy characteristics it has when not using exceptionally high quality (and expensive) IMUs. - -.. seealso:: - For more advise on configuration of input data to ``robot_localization``, see `Preparing Your Data for Use with robot_localization `_, and `Configuring robot_localization `_. - - -Launch and Build Files -====================== - -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. - -.. code-block:: shell - - robot_localization_node = Node( - package='robot_localization', - executable='ekf_node', - name='ekf_filter_node', - output='screen', - parameters=[os.path.join(pkg_share, 'config/ekf.yaml'), {'use_sim_time': LaunchConfiguration('use_sim_time')}] - ) - -Lastly, add ``robot_localization_node,`` to ``LaunchDescription([])``. - -Next, we need to add the ``robot_localization`` dependency to our package definition. Open ``package.xml`` and add the following line below the last ```` tag. - -.. code-block:: shell - - robot_localization - -Lastly, open ``CMakeLists.txt`` and append the ``config`` directory inside the ``install(DIRECTORY...)``, as shown in the snippet below. - -.. code-block:: shell - - install( - DIRECTORY src launch rviz config - DESTINATION share/${PROJECT_NAME} - ) - - -Build, Run and Verification -=========================== - -Let us now build and run our package. Navigate to the root of the project and execute the following lines: - -.. code-block:: shell - - colcon build - . install/setup.bash - ros2 launch sam_bot_description display.launch.py - -Gazebo and RVIZ should launch. In the RVIZ window, you should see the model and TF frames of ``sam_bot``: - -.. image:: images/rviz.png - :width: 100% - :align: center - -Next, let us verify that the ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics are active in the system. Open a new terminal and execute: - -.. code-block:: shell - - ros2 topic list - -You should see ``odometry/filtered``, ``accel/filtered``, and ``/tf`` in the list of the topics. - -You can also check the subscriber count of these topics again by executing: +You should see the below topics in the list of topics: .. code-block:: shell - ros2 topic info /demo/imu - ros2 topic info /demo/odom + /clock + /demo/cmd_vel + /demo/imu + /demo/odom + /joint_states + /tf -You should see that ``/demo/imu`` and ``/demo/odom`` now both have 1 subscriber each. - -To verify that the ``ekf_filter_node`` are the subscribers of these topics, execute: +To see more information about the topics, execute: .. code-block:: shell - ros2 node info /ekf_filter_node + ros2 topic info /topic -You should see an output as shown below. - -.. code-block:: shell - - /ekf_filter_node - Subscribers: - /demo/imu: sensor_msgs/msg/Imu - /demo/odom: nav_msgs/msg/Odometry - /parameter_events: rcl_interfaces/msg/ParameterEvent - /set_pose: geometry_msgs/msg/PoseWithCovarianceStamped - Publishers: - /accel/filtered: geometry_msgs/msg/AccelWithCovarianceStamped - /diagnostics: diagnostic_msgs/msg/DiagnosticArray - /odometry/filtered: nav_msgs/msg/Odometry - /parameter_events: rcl_interfaces/msg/ParameterEvent - /rosout: rcl_interfaces/msg/Log - /tf: tf2_msgs/msg/TFMessage - Service Servers: - ... - -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. - -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: +Now set the fixed frame in RViz to ``odom`` and execute the below command in order to move the robot around: .. code-block:: shell - ros2 run tf2_ros tf2_echo odom base_link + ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -p stamped:=true --remap cmd_vel:=/demo/cmd_vel -You should see a continuous output similar to what is shown below. - -.. code-block:: shell - - At time 8.842000000 - - Translation: [0.003, -0.000, 0.127] - - Rotation: in Quaternion [-0.000, 0.092, 0.003, 0.996] - At time 9.842000000 - - Translation: [0.002, -0.000, 0.127] - - Rotation: in Quaternion [-0.000, 0.092, 0.003, 0.996] +You should see the robot moving in both Gazebo and RViz. +Something to note here is that we are using ``TwistStamped`` messages here as those are now the standard in most packages for ROS2 Jazzy and newer. Some Nav2 nodes come with the ``enable_stamped_cmd_vel`` parameter which you can set to ``true``. It defaults to true for any distro newer than ROS2 Jazzy. Conclusion ********** - -In this guide, we have discussed the messages and transforms that are expected by Nav2 from the odometry system. We have seen how to set up an odometry system and how to verify the published messages. We also have discussed how multiple odometry sensors can be used to provide a filtered and smoothed odometry using ``robot_localization``. We have also checked if the ``odom`` => ``base_link`` transform is being published correctly by ``robot_localization``. +In this guide, we have discussed the messages and transforms that are expected by Nav2 from the odometry system. We have seen how to set up an odometry system and how to verify the published messages. diff --git a/setup_guides/odom/setup_odom_gz_classic.rst b/setup_guides/odom/setup_odom_gz_classic.rst new file mode 100644 index 000000000..4574e8f15 --- /dev/null +++ b/setup_guides/odom/setup_odom_gz_classic.rst @@ -0,0 +1,355 @@ +Setting Up Odometry - Gazebo Classic +#################################### + +In this guide, we will be looking at how to integrate our robot's odometry system with Nav2. +First we will provide a brief introduction on odometry, plus the necessary messages and transforms that need to be published for Nav2 to function correctly. +Next, we will show how to setup odometry with two different cases. +In the first case, we will show how to setup an odometry system for a robot with already available wheel encoders. +In the second case, we will build a demo that simulates a functioning odometry system on ``sam_bot`` (the robot that we built in the previous section) using Gazebo. +Afterwards, we will discuss how various sources of odometry can be fused to provide a smoothed odometry using the ``robot_localization`` package. +Lastly, we will also show how to publish the ``odom`` => ``base_link`` transform using ``robot_localization``. + +.. seealso:: + The complete source code in this tutorial can be found in `navigation2_tutorials `_ repository under the ``sam_bot_description`` package. Note that the repository contains the full code after accomplishing all the tutorials in this guide. + +Odometry Introduction +********************* + +The odometry system provides a locally accurate estimate of a robot's pose and velocity based on its motion. The odometry information can be obtained from various sources such as IMU, LIDAR, RADAR, VIO, and wheel encoders. One thing to note is that IMUs drift over time while wheel encoders drift over distance traveled, thus they are often used together to counter each other's negative characteristics. + +The ``odom`` frame and the transformation associated with it use a robot's odometry system to publish localization information that is continuous but becomes less accurate over time or distance (depending on the sensor modalities and drift). In spite of this, the information can still be used by the robot to navigate its immediate vicinity (e.g collision avoidance). To obtain consistently accurate odometry information over time, the ``map`` frame provides globally accurate information that is used to correct the ``odom`` frame. + +As discussed in the previous guides and in `REP 105 `_, the ``odom`` frame is connected to the rest of the system and Nav2 through the ``odom`` => ``base_link`` transform. This transform is published by a tf2 broadcaster or by frameworks such as ``robot_localization``, which also provide additional functionalities. We will be talking more about ``robot_localization`` in a following section. + +In addition to the required ``odom`` => ``base_link`` transform, Nav2 also requires the publishing of ``nav_msgs/Odometry`` message because this message provides the velocity information of the robot. In detail, the ``nav_msgs/Odometry`` message contains the following information: + +.. code-block:: shell + + # This represents estimates of position and velocity in free space. + # The pose in this message should be specified in the coordinate frame given by header.frame_id + # The twist in this message should be specified in the coordinate frame given by the child_frame_id + + # Includes the frame id of the pose parent. + std_msgs/Header header + + # Frame id the pose is pointing at. The twist is in this coordinate frame. + string child_frame_id + + # Estimated pose that is typically relative to a fixed world frame. + geometry_msgs/PoseWithCovariance pose + + # Estimated linear and angular velocity relative to child_frame_id. + geometry_msgs/TwistWithCovariance twist + +This message tells us the estimates for the pose and velocity of the robot. The ``header`` message provides the timestamped data in a given coordinate frame. The ``pose`` message provides the position and orientation of the robot relative to the frame specified in ``header.frame_id``. The ``twist`` message gives the linear and angular velocity relative to the frame defined in ``child_frame_id``. + + +Setting Up Odometry on your Robot +********************************* + +Setting up the odometry system for Nav2 for your physical robot depends a lot on which odometry sensors are available with your robot. Due to the large number of configurations your robot may have, specific setup instructions will not be within the scope of this tutorial. Instead, we will provide some basic examples and useful resources to help you configure your robot for Nav2. + +To start, we will use an example of a robot with wheel encoders as its odometry source. Note that wheel encoders are not required for Nav2 but it is common in most setups. The goal in setting up the odometry is to compute the odometry information and publish the ``nav_msgs/Odometry`` message and ``odom`` => ``base_link`` transform over ROS 2. To calculate this information, you will need to setup some code that will translate wheel encoder information into odometry information, similar to the snippet below: + +.. code-block:: shell + + linear = (right_wheel_est_vel + left_wheel_est_vel) / 2 + angular = (right_wheel_est_vel - left_wheel_est_vel) / wheel_separation; + +The ``right_wheel_est_vel`` and ``left_wheel_est_vel`` are the estimated velocities of the right and left wheels respectively, and the ``wheel separation`` is the distance between the wheels. The values of ``right_wheel_est_vel`` and ``left_wheel_est_vel`` can be obtained by simply getting the changes in the positions of the wheel joints over time. This information can then be used to publish the Nav2 requirements. A basic example on how to do this can be found in the Navigation documentation on odometry `located here `_ + +An alternative to manually publishing this information that we recommend is through the ``ros2_control`` framework. The ``ros2_control`` framework contains various packages for real-time control of robots in ROS 2. For wheel encoders, ``ros2_control`` has a ``diff_drive_controller`` (differential drive controller) under the ``ros2_controller`` package. The ``diff_drive_controller`` takes in the ``geometry_msgs/Twist`` messages published on ``cmd_vel`` topic, computes odometry information, and publishes ``nav_msgs/Odometry`` messages on ``odom`` topic. Other packages that deal with different kind of sensors are also available in ``ros2_control``. + +.. seealso:: + For more information, see the `ros2_control documentation `_ and the `Github repository of diff_drive_controller `_. + +For other types of sensors such as IMU, VIO, etc, their respective ROS drivers should have documentation on how publish the odometry information. Keep in mind that Nav2 requires the ``nav_msgs/Odometry`` message and ``odom`` => ``base_link`` transforms to be published and this should be your goal when setting up your odometry system. + +Simulating an Odometry System using Gazebo +****************************************** + +In this section, we will be using Gazebo to simulate the odometry system of ``sam_bot``, the robot that we built in the previous section of this tutorial series. You may go through that guide first or grab the `complete source here `_. + +.. note:: If you are working on your own physical robot and have already set up your odometry sensors, you may opt to skip this section and head onto the next one where we fuse IMU and odometry messages to provide a smooth ``odom`` => ``base_link`` transformation. + +As an overview for this section, we will first setup Gazebo and the necessary packages required to make it work with ROS 2. Next, we will be adding Gazebo plugins, which simulate an IMU sensor and a differential drive odometry system, in order to publish ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages respectively. Lastly, we will spawn ``sam_bot`` in a Gazebo environment and verify the published ``sensor_msgs/Imu`` and ``nav_msgs/Odometry`` messages over ROS 2. + +Setup and Prerequisites +======================= + +`Gazebo `_ is a 3D simulator that allows us to observe how our virtual robot will function in a simulated environment. To start using Gazebo with ROS 2, follow the installation instructions in the `Gazebo Installation Documentation `_. + +We also need to install the ``gazebo_ros_pkgs`` package to simulate odometry and control the robot with ROS 2 in Gazebo: + +.. code-block:: shell + + sudo apt install ros--gazebo-ros-pkgs + +You can test if you have successfully set up your ROS 2 and Gazebo environments by following the instructions `given here `_. + +Note that we described ``sam_bot`` using URDF. However, Gazebo uses `Simulation Description Format (SDF) `_ to describe a robot in its simulated environment. Fortunately, Gazebo automatically translates compatible URDF files into SDF. The main requirement for the URDF to be compatible with Gazebo is to have an ```` element within each ```` element. This requirement is already satisfied in the URDF file of ``sam_bot``, so it can already be used in Gazebo. + +.. seealso:: + For more information on how to use URDF in Gazebo, see `Tutorial: Using a URDF in Gazebo `_. + +Adding Gazebo Plugins to a URDF +=============================== + +We will now add the IMU sensor and the differential drive plugins of Gazebo to our URDF. For an overview of the different plugins available in Gazebo, have a look at `Tutorial: Using Gazebo plugins with ROS `_. + +For our robot, we will be using the `GazeboRosImuSensor `_ which is a SensorPlugin. A SensorPlugin must be attached to a link, thus we will create an ``imu_link`` to which the IMU sensor will be attached. This link will be referenced under the ```` element. Next, we will set ``/demo/imu`` as the topic to which the IMU will be publishing its information, and we will comply with `REP145 `_ by setting ``initalOrientationAsReference`` to ``false``. We will also add some noise to the sensor configuration using Gazebo's `sensor noise model `_. + +Now, we will set up our IMU sensor plugin according to the description above by adding the following lines before the ```` line in our URDF: + +.. code-block:: xml + :lineno-start: 132 + + + + + + + + + + + + + + + + + + + + + + + + + + + + /demo + ~/out:=imu + + false + + true + 100 + true + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + 0.0 + 2e-4 + 0.0000075 + 0.0000008 + + + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + 0.0 + 1.7e-2 + 0.1 + 0.001 + + + + + + + +Now, let us add the differential drive ModelPlugin. We will configure the plugin such that ``nav_msgs/Odometry`` messages are published on the ``/demo/odom`` topic. The joints of the left and right wheels will be set to the wheel joints of ``sam_bot``. The wheel separation and wheel diameter are set according to the values of the defined values of ``wheel_ygap`` and ``wheel_radius`` respectively. + +To include this plugin in our URDF, add the following lines after the ```` tag of the IMU plugin: + +.. code-block:: xml + :lineno-start: 223 + + + + + /demo + + + + drivewhl_l_joint + drivewhl_r_joint + + + 0.4 + 0.2 + + + 20 + 1.0 + + + true + false + true + + odom + base_link + + + + +Launch and Build Files +====================== + +We will now edit our launch file, `launch/display.launch.py `_, to spawn ``sam_bot`` in Gazebo. Since we will be simulating our robot, we can remove the GUI for the joint state publisher by deleting the following lines inside the ``generate_launch_description()``: + +.. code-block:: shell + + joint_state_publisher_gui_node = launch_ros.actions.Node( + package='joint_state_publisher_gui', + executable='joint_state_publisher_gui', + name='joint_state_publisher_gui', + condition=launch.conditions.IfCondition(LaunchConfiguration('gui')) + ) + +Remove the following `gui` param: + +.. code-block:: shell + + DeclareLaunchArgument(name='gui', default_value='True', + description='Flag to enable joint_state_publisher_gui') + +Remove the condition and parameters. Add arguments to the `joint_state_publisher_node`: + +.. code-block:: shell + + joint_state_publisher_node = launch_ros.actions.Node( + package='joint_state_publisher', + executable='joint_state_publisher', + name='joint_state_publisher', + arguments=[default_model_path], #Add this line + parameters=[{'robot_description': Command(['xarcro ', default_model_path])}], #Remove this line + condition=launch.conditions.UnlessCondition(LaunchConfiguration('gui')) # Remove this line + ) + +Next, open `package.xml `_ and delete the line: + +.. code-block:: shell + + joint_state_publisher_gui + +To launch Gazebo, add the following before the ``joint_state_publisher_node,`` line in ``display.launch.py`` + +.. code-block:: shell + + launch.actions.ExecuteProcess(cmd=['gazebo', '--verbose', '-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so'], output='screen'), + +We will now add a node that spawns ``sam_bot`` in Gazebo. Open `launch/display.launch.py `_ again and paste the following lines before the ``return launch.LaunchDescription([`` line. + +.. code-block:: shell + + spawn_entity = launch_ros.actions.Node( + package='gazebo_ros', + executable='spawn_entity.py', + arguments=['-entity', 'sam_bot', '-topic', 'robot_description'], + output='screen' + ) + +Then add the line ``spawn_entity,`` before the ``rviz_node`` line, as shown below. + +.. code-block:: shell + + robot_state_publisher_node, + spawn_entity, + rviz_node + ]) + + +Build, Run and Verification +=========================== + +Let us run our package to check if the ``/demo/imu`` and ``/demo/odom`` topics are active in the system. + +Navigate to the root of the project and execute the following lines: + +.. code-block:: shell + + colcon build + . install/setup.bash + ros2 launch sam_bot_description display.launch.py + +Gazebo should launch and you should see a 3D model of ``sam_bot``: + +.. image:: images/gazebo_sam_bot.png + :width: 50% + :align: center + +To see the active topics in the system, open a new terminal and execute: + +.. code-block:: shell + + ros2 topic list + +You should see ``/demo/imu`` and ``/demo/odom`` in the list of topics. + +To see more information about the topics, execute: + +.. code-block:: shell + + ros2 topic info /demo/imu + ros2 topic info /demo/odom + +You should see an output similar to below: + +.. code-block:: shell + + Type: sensor_msgs/msg/Imu + Publisher count: 1 + Subscription count: 0 + +.. code-block:: shell + + Type: nav_msgs/msg/Odometry + Publisher count: 1 + Subscription count: 0 + +Observe that the ``/demo/imu`` topic publishes ``sensor_msgs/Imu`` type messages while the ``/demo/odom`` topic publishes ``nav_msgs/Odometry`` type messages. The information being published on these topics come from the gazebo simulation of the IMU sensor and the differential drive respectively. Also note that both topics currently have no subscribers. In the next section, we will create a ``robot_localization`` node that will subscribe to these two topics. It will then use the messages published on both topics to provide a fused, locally accurate and smooth odometry information for Nav2. + + +Conclusion +********** + +In this guide, we have discussed the messages and transforms that are expected by Nav2 from the odometry system. We have seen how to set up an odometry system and how to verify the published messages. diff --git a/setup_guides/odom/setup_robot_localization.rst b/setup_guides/odom/setup_robot_localization.rst new file mode 100644 index 000000000..7eb2ac480 --- /dev/null +++ b/setup_guides/odom/setup_robot_localization.rst @@ -0,0 +1,227 @@ +Smoothing Odometry using Robot Localization +########################################### + +In this tutorial, we will discuss how various sources of odometry can be fused to provide a smoothed odometry using the ``robot_localization`` package and we will also show how to publish the ``odom`` => ``base_link`` transform using ``robot_localization``. + + +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. + +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. + +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. + +.. seealso:: + More details on ``robot_localization`` can be found in the official `Robot Localization Documentation `_. + +If your robot is only able to provide one odometry source, the use of ``robot_localization`` would have minimal effects aside from smoothing. In this case, an alternative approach is to publish transforms through a tf2 broadcaster in your single source of odometry node. Nevertheless, you can still opt to use ``robot_localization`` to publish the transforms and some smoothing properties may still be observed in the output. + +.. seealso:: + For more information on how to write a tf2 broadcaster, you can check Writing a tf2 broadcaster `(C++) `_ `(Python) `_. + +For the rest of this section, we will show how to use ``robot_localization`` to fuse the sensors of ``sam_bot``. It will use the ``sensor_msgs/Imu`` messages published on ``/demo/Imu`` and the ``nav_msgs/Odometry`` message published on ``/demo/odom`` and then it will publish data on ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics. + +Configuring Robot Localization +============================== + +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. + +First, install the ``robot_localization`` package using your machines package manager or by executing the following command: + +.. code-block:: shell + + sudo apt install ros--robot-localization + +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. + +.. code-block:: yaml + + ### ekf config file ### + ekf_filter_node: + ros__parameters: + # The frequency, in Hz, at which the filter will output a position estimate. Note that the filter will not begin + # computation until it receives at least one message from one of theinputs. It will then run continuously at the + # frequency specified here, regardless of whether it receives more measurements. Defaults to 30 if unspecified. + frequency: 30.0 + + # ekf_localization_node and ukf_localization_node both use a 3D omnidirectional motion model. If this parameter is + # set to true, no 3D information will be used in your state estimate. Use this if you are operating in a planar + # environment and want to ignore the effect of small variations in the ground plane that might otherwise be detected + # by, for example, an IMU. Defaults to false if unspecified. + two_d_mode: false + + # Whether to publish the acceleration state. Defaults to false if unspecified. + publish_acceleration: true + + # Whether to broadcast the transformation over the /tf topic. Defaultsto true if unspecified. + publish_tf: true + + # 1. Set the map_frame, odom_frame, and base_link frames to the appropriate frame names for your system. + # 1a. 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. + # 2. If you are 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 robot_localization's state estimation nodes. + # 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: + # 3a. Set your "world_frame" to your map_frame value + # 3b. MAKE SURE something else is generating the odom->base_link transform. Note that this can even be another state estimation node + # from robot_localization! However, that instance should *not* fuse the global data. + map_frame: map # Defaults to "map" if unspecified + odom_frame: odom # Defaults to "odom" if unspecified + base_link_frame: base_link # Defaults to "base_link" ifunspecified + world_frame: odom # Defaults to the value ofodom_frame if unspecified + + odom0: demo/odom + odom0_config: [true, true, true, + false, false, false, + false, false, false, + false, false, true, + false, false, false] + + imu0: demo/imu + imu0_config: [false, false, false, + true, true, true, + false, false, false, + false, false, false, + false, false, false] + +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 `_, and a sample ``efk.yaml`` can be found `here `_. + +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``. + +You can specify which values from a sensor are to be used by the filter using the ``_config`` parameter. The order of the values of this parameter is x, y, z, roll, pitch, yaw, vx, vy, vz, vroll, vpitch, vyaw, ax, ay, az. In our example, we set everything in ``odom0_config`` to ``false`` except the 1st, 2nd, 3rd, and 12th entries, which means the filter will only use the x, y, z, and the vyaw values of ``odom0``. + +In the ``imu0_config`` matrix, you'll notice that only roll, pitch, and yaw are used. Typical mobile robot-grade IMUs will also provide angular velocities and linear accelerations. For ``robot_localization`` to work properly, you should not fuse in multiple fields that are derivative of each other. Since angular velocity is fused internally to the IMU to provide the roll, pitch and yaw estimates, we should not fuse in the angular velocities used to derive that information. We also do not fuse in angular velocity due to the noisy characteristics it has when not using exceptionally high quality (and expensive) IMUs. + +.. seealso:: + For more advise on configuration of input data to ``robot_localization``, see `Preparing Your Data for Use with robot_localization `_, and `Configuring robot_localization `_. + + +Launch and Build Files +====================== + +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. + +.. code-block:: shell + + robot_localization_node = Node( + package='robot_localization', + executable='ekf_node', + name='ekf_filter_node', + output='screen', + parameters=[os.path.join(pkg_share, 'config/ekf.yaml'), {'use_sim_time': LaunchConfiguration('use_sim_time')}] + ) + +Next, add the following launch arguments within the ``return launch.LaunchDescription([`` block. + +.. code-block:: shell + + launch.actions.DeclareLaunchArgument(name='use_sim_time', default_value='True', + description='Flag to enable use_sim_time'), + +Lastly, add ``robot_localization_node,`` above the ``rviz_node`` line to launch the robot localization node. + +.. code-block:: shell + + robot_state_publisher_node, + spawn_entity, + robot_localization_node, + rviz_node + ]) + +Next, we need to add the ``robot_localization`` dependency to our package definition. Open ``package.xml`` and add the following line below the last ```` tag. + +.. code-block:: shell + + robot_localization + +Lastly, open ``CMakeLists.txt`` and append the ``config`` directory inside the ``install(DIRECTORY...)``, as shown in the snippet below. + +.. code-block:: shell + + install( + DIRECTORY src launch rviz config + DESTINATION share/${PROJECT_NAME} + ) + + +Build, Run and Verification +=========================== + +Let us now build and run our package. Navigate to the root of the project and execute the following lines: + +.. code-block:: shell + + colcon build + . install/setup.bash + ros2 launch sam_bot_description display.launch.py + +Gazebo and RVIZ should launch. In the RVIZ window, you should see the model and TF frames of ``sam_bot``: + +.. image:: images/rviz.png + :width: 100% + :align: center + +Next, let us verify that the ``odometry/filtered``, ``accel/filtered``, and ``/tf`` topics are active in the system. Open a new terminal and execute: + +.. code-block:: shell + + ros2 topic list + +You should see ``odometry/filtered``, ``accel/filtered``, and ``/tf`` in the list of the topics. + +You can also check the subscriber count of these topics again by executing: + +.. code-block:: shell + + ros2 topic info /demo/imu + ros2 topic info /demo/odom + +You should see that ``/demo/imu`` and ``/demo/odom`` now both have 1 subscriber each. + +To verify that the ``ekf_filter_node`` are the subscribers of these topics, execute: + +.. code-block:: shell + + ros2 node info /ekf_filter_node + +You should see an output as shown below. + +.. code-block:: shell + + /ekf_filter_node + Subscribers: + /demo/imu: sensor_msgs/msg/Imu + /demo/odom: nav_msgs/msg/Odometry + /parameter_events: rcl_interfaces/msg/ParameterEvent + /set_pose: geometry_msgs/msg/PoseWithCovarianceStamped + Publishers: + /accel/filtered: geometry_msgs/msg/AccelWithCovarianceStamped + /diagnostics: diagnostic_msgs/msg/DiagnosticArray + /odometry/filtered: nav_msgs/msg/Odometry + /parameter_events: rcl_interfaces/msg/ParameterEvent + /rosout: rcl_interfaces/msg/Log + /tf: tf2_msgs/msg/TFMessage + Service Servers: + ... + +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. + +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: + +.. code-block:: shell + + ros2 run tf2_ros tf2_echo odom base_link + +You should see a continuous output similar to what is shown below. + +.. code-block:: shell + + At time 8.842000000 + - Translation: [0.003, -0.000, 0.127] + - Rotation: in Quaternion [-0.000, 0.092, 0.003, 0.996] + At time 9.842000000 + - Translation: [0.002, -0.000, 0.127] + - Rotation: in Quaternion [-0.000, 0.092, 0.003, 0.996] + +Conclusion +********** +In this guide we have discussed how multiple odometry sensors can be used to provide a filtered and smoothed odometry using ``robot_localization``. We have also checked if the ``odom`` => ``base_link`` transform is being published correctly by ``robot_localization``. diff --git a/setup_guides/sdf/images/base-bot_1.png b/setup_guides/sdf/images/base-bot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3755b8db07628d28d351787eff0dda2e00c2e0 GIT binary patch literal 27883 zcmXtg2RPf`_kZjadnERZJ%ZL=wf8QnL980JSM5>63TjhI1x2e=tBR@>n`(nrsUk+v z)~wp&|MvO*{(X2P@7#0Gx#ygF?zyjX(lm2ZJ!(oeN)QM{ZJ@7h2?7yH0>Av^q`(t_ z=|=>>AL3w518Z{NUo^Q}D)62)M8__~%Ku)-1Lq)jkcXeYue(IBYmmFUU$Cct$PQ7r z8VJM#GSI$d9bWe5M?^Ft^uyKO(Vx5+->G}|r(i$s&rMp|vv^VE4DjjqGEe_zP7?Ej z9IS`6FGT6+G^Haf8u?Nkn=rO4IS<8al36yoK9h6^dX;|g`Z~LQG&Ei^ZagtwR-))J zA+xi-lB4(CO{S!EWVPVaQPhO=+m;q$+eSpPPv_p?*M@}(;hEf+3HG(Wig``FRz?CE)JC+>RuT!)bM{{Ok{JCLeovY4pCD-i70_qX|uhUqm9?U zZ>cIhEdA0zUi;Wh$G&i4-9ybZaDQ*7LBI-A!*@x(QX(g=T^?*-`^R+ ziXWoitmg|H8B0h=+-jEZzw+4SF5gecHIlJMJmi~Hh7qM$U`!~mFs@peYQ0GN+>sP& zthP7aZCXJfB?CGLUb9s5H(zT(=|A?V6^Oip8TGi6oB@@T&asYsjPm5Hy_rwj(h`E@ zub<|RYU^LI7F1vTdqev-^ky}geL6#XU^>6l09FTFD>FApKEe&~tl2AV4LN_8t6LC| zHdK#(-6o(_vfP5omEOpyqvvoQASjXDQxFkKY z2&6E4k3Ri~mZ^Q0IoLs26mDNS8eo9ZXEVK@-z!2PVnT&~@jHN?f5sX$MaLH!V9%dr zp&5yBTY^d=mR};;z5DJkRDD7hlUIOJTSii+*mNn@UKkVV72$KYa?xK4i&OQv>@(OT z&|lKfJg4^!{srJhbI~}tO9l(^_M)c>FkZ`)<=S&Iofl5u%0}tdirgT0#=DL`{}SXV z<)Sidp7GlE)`N4p+&eu5Si~{aR^3 z?K5L_suT)%-@*;i2~%t`qNt24_&s6vldg)SL1}OOPf$svA($W`An{26MS4pX-UVJZ z3Z<<|YDt=6vt-A@Xahv6Ob{KsRrnTEPy#+TMWMigt5!gpG072IHmp)hw*G4Ny#3#&WN*|<_Vy(-3Q=59uaVlM==2M4?|FZC(%wV{&v%o4`# z0Aq}{!b=NVxrAJDY_c2d$Qos#scpF2qRVASY{&dWk%jO{H~r}l%vX( zG~$N%VwHdu!iA5oO5fw5%KCMAzl4ZGc2H0ZWTy7$mx;_m=mm=qNTfepdH4&`4#NOWiA)0}23vZ3u z=Ojw*FZS!c$l_6_xSo$yhL4o8M(d3pGrfg(+32HkxVb(J7{Zt6JpO17DqJmqqO#yx zVqg?WNYL~KtiHwzI2|XLX%cW+dIDg@z!+L!Ji|aeI#AmD+OM<)SY36Upu%q2!1Gbc zqT=Zxjml`ic6@gNMXNYSDe1AvsX_5pB?oZxR0h{JI*W-wQN}(EUPEr+gB!gY(yj;H z+!l>+M5_LqgSP&D5z3s`z_iuu_K)oWlIdPxDhI1bQLF~j>?DH)##w;#=a+#!%?4<&-1Vs^#1-Yqcl{dq6iQT7EW9X1$<90Zok@C!1>P4z4T2Alp6@ zmtpAWlLOKWqM(uyXke;*E>rjEp@0!0FcTl&T7YQYT`+{m`6(TJeYO>=yEGys6&O@4 zg=Rg0BW_$1xFHZOqhPEK5g@mAe?9sJxQN3A7;mAZP*9SJ$AAFV^df*qql|2>hg7#l zXRx9&h_C0LWaO8UmPTLzy`&DOqHh$8j0Iftvgn%nZ9VuI4=kULFIQK}id8F#iYPfX zRX^4q&FYZ+zt;}lQqo>Bi0etUPaplRM{gc}-ys*hxRr}rhNh>crpnZ=S_{eq(yOIf z;(9~?F)U(pgY~7I>xI9^U$ddN5G@%r?o*W%vu!ktB)gV~FE=kA_N=-z_&No}NC3$&2%Le>@;0-%a-rE(j?Ycv#Q-g7I_B zT#peTmOyR8r?Rol>#=L;KDFl_Jpk97Nw;nrdLq>IoS1JqEUfVBk@5pgG#{xuuU|q2 zup~zV&x~=)4`jbgO`i zg5F(h2Y3ufJjlW=mIil8J%IWDx7cC*YLuZ28p^jd1|$N&k`MH<%neZVTGb}tB4I$Z zElVZqT<3l|FEXqSF%e2X#`}NcL!}Y9OQepNd7O8h05+9(R25}JS=L1-qL^<1*tR z6kbgRW{yGjo2$`x#St=gr^opmG`Z? ztOGq3$S_F3FswPRBHTr|DF3u;FaQSyj0Dn3&Ih=`hE@L?#AE8TPpg$Y-Je?Nv&v_K z0S;0$fvXRid6G{TY*6#{NEnqt14p70Dm5dqsg>dF<&CMpK}=2roEoBT0_fuNXEi(O zUz2r)GJSK5T86AgRM>G$sL*RvZX#;+H+z1aB&?ONEb zm!UKiKf=kMl-}d_E~CqFBGtKPm0K4bySW)ffgRvEI54Oc(oJXP34GPR!i0J~kcv}N z{cmP4iXe}(Dmh)l`&GYd&m#_~^c?1BhY<`(1f=jnvxz=5PSgSOqgH!TEm9n7#ay70 zq|c6?+dRZ+>F{{`M}vS$kIGm!XuGzpCPdQ|M^i8-PTVrV33X^zh-TyolTG3Ouqr-e};|Jo#=vb z_h3IJ5rV2AWZGbOrF9F3bXj9{HeOT2ecuYCrNcF=ZFHkK9vAgW+qLtNwS6jd&@c=t zDRAd?ymQ^KS)*s#&%Y;NW^qCkl{?=IJ+_7?0*(;&1tMqPPeQVej*jVAVbnA2HsZv= ziy)6qbGiIRr{@fM&em@FESo5*o3S`ct9J(^zQCPjBbB}!b| z9?egt0VF|*cuo4*ZL9kFdgo3zgEUWqeIW#BkV-^P+yyGu4s1_XL!Y{}16VMc&FF+mRukhRs8eJ7ruullo+RO2koF4NB?NhFRXVJI z2u4buT+z@qX#`lCsxlXFagHh-MKEMk7qbbZ6w;$eAOS6O)d9=zX1TTqXYXllKH|4w zaPA*Y!DD12shFk9x;FUj=eL)KcQ~`0XSd~Npi=pUjTL!N>DlJz7a(Cp{v<;c{0OfT z(X+Zb{ha#LPTVq?IZY2SQor>KHc1Jq6~jD!JQ(*WV1yE@1IQwpwi?`1Y%B=cA0RDC zVGt7*UYbtk3%ZPEs9c-e&hP>kf@;HDvvR}9BjVmSCojg=Tk0CuTU1|BTHQ{M?uxhHe5SL1&F$E>lXeB`CY=Y7W3H2;D$%% zP)W=DA|j&mG%KTnmIV3lUQ`xcmTULRdNC1TNd4%TR<{iDhStuQ-X6r*TQ12w&yT8$4$u6Aj2d$@-&u%{{ZS&N<1tX46#6$SzW1zW41 z&e`+Z%}uM5IrqHWiKJ>J=K6x$J;`dt@~KfqtqL(XaaG?X6Vw!o%){u4#$9tyAemY1 z+03|C|2DcGfEEm!2|Y#a^kcygMS$lW-GwX7>YE5kKA1FOb#OD|*`@@t%~(6Kcaw4r zFrG+Rm*-<(2fFi(3IUQfN+a_7H#2^Et&s~zm$g2!3GC4Hc4^ZWh}3Vf28Na+^mqd2 zFup1RO2I(vr9>Gu2ApCd?B}lfyr{gAy`5-DDOtEEC8U540PYbbq~KZ!H>R@2M}^Xe z>7H<0atM)bac=R)pABk~wGyLv8H*s`Lm=~3}s!DYK?DSNP znVZ4@kad$9tK$p!t*#P#xa^azjhHzGPKmw>R;jrv`vwr0Wt0sIqrSs=Cm&oZ)lvC% zKPUDWBuE~(%(dvY0uZQfevu_*`zzi07%5br+t>9Z}To;M*Af>7Y(n<&#^20zL z+0wTiRz)69#Ho;cN8_VG8-W5Thqro5=g=l_oq_qLb23Pf6lH}NkQe@X?p^%xUdU01 zQ0L1pE(8y69S5l-vt}32Iq!{bswDI%%BtiM1r)s}03|1q?1~*98w)Zvuuz@HsuT9| zG~AO#%Ji-u8AV=&_&1T2HPU6SEO&5G5NLJmUltxM(N=Ve$t0xNt_CcnMQ!&U`G2@6 zlsyE9*0(jt^p3p%LBu!p#ZriT<=nAN)#Aa>Yx&*VvZBCSe1ty2&M zXsP$RAJ$*(D#BprzD&vP?vn@0GZklu@!$W#wJl6cOjc`NybwF`c+2c4?5cv%XDw^n zU&$^T@z#J^7-oc$j*=M^z#H;QAsb7;2zvJ(f=%fZ_G<(`v6bY2 z`!%tvx~kSam=QY+Cs=x;e$|dSYJxqNBq0DZPm-WA76NxNeo<0V3U*Go$>5hG{s#0m z+}R}~{C0l$UD{vjM(J*jk!0^!N;cAKDg<1np55JfBB&NU0#lGzL3dU1Hu(4r`pfxh z?kpi!FMdvcalY7JYr7f|A^_DSCwuyO^&X7m;SWz1l!xUgsVJ zJXrA8ix(Ca2((l8f#uv)*Njs*FNYj^Y_~fVi=3RxTAAYUmkg=pi?JeCKL^f~~ z5!OZdO9^IiY{9>O@%cB2OAgjHwGlpWY^HJQJoWCp>Z7u-Ql*$_LZppBB$H-#hMw3u zWe!X|8<^ku2ysHwqK@nem|2$JIUN&r1x}e1+uuop$=+Kkda#fdcQveseDHp6gVAhh z8jr2huDdyohd8r(GHIyCzwExeNy{zDXwhhA@i~FN6qutB3F#=F# zo*=%e$T6Kec0cbpCGVu@A=B7SkiYh86wQg;Xm&?VP7e?$O}NheSUBG zpy1^`U|%e42&Z$<*uAv*#!2%>Eeu@S@jh_#AxU_|RV+xOc`D6a*2858R|Nw0LZrxO zdV0XWciov&7Z*A1JfJ%86`xsL{u(S8At|5i5;2U@?{AXW-z1=ra^)0{2is)<-!tEb zIR}K?*!QUTM3((Mb8?^Z{B*4d*WpG11RBuOjuxgjwWb42j?wg>fT`!V!?%`hq03b> z(sxPkk_q~~W=8Q}fC?p?vh*(3oC5axl0orf5Q)CcI#?ln5tZ48e>QFv9~bh3ELKDM zepB~&XU25Yy_>1(dZ)$&_kcU<1k$v;9bu3l%>I;8p?2o8I{YHG+GLA$CC3CvB=0XI@D|o`k#QcQQaAs_ofL8)G^!xFRvD@UGSHNuN#E6bJm~=~wewI8|Ld4PA*lnD*k=KFPanbYk~D4Hge2ZvS0x-WsMyD8;D>78E#JdU=iS8_Kv?6?y(UB-VrIY$fE# zB6I7Tp7$}{eTR8nO1L$M_&oa$GD_EgFFkkSJ0&0UO@r=>-{Djoj_?2aw>ty^RWsmux)$N z8YRJK^wYodiqp2Xu8uLPgDPAcKK?}q;Xh4Fsot<2|E!{|{dYw7z5hi>kB@pJ)6vDr zr{hWf>?OwgGt0R*uC}IXN@{pWsn!TkMqS9xRrJg{_R^|$H`~@R%_~o^^4n(rDYMvT z#NE=vn2XS}uzZClZ6Dq;SE>GhZf%kZnxG;k-42MpUA}O_6WKbDMBQN>rKH;XSnAg& zQRI}xr?;`RUUalGRQ*~8(dB8e3g6uBy#>z7TAup-6<NK@t+SjSR5JD;U$u~vBc>*Z*;9yGO z+d`K5e2n~M_|cCxw*{5?qjhyG!&_RdbRbBCU+g-Im&s9ccm8Ap^_2AfRgewmV*W>c zyfF1?>DiYTd($&rD533kvYTsbZD-9xeCsz9qqaGePEXBmBhV&fnx*Eb!NCB`dv*yE zlkkYet`@HB0M8Jmt_OJEy13d{6=WwliE&`$QC=DjXEA@Zu3i=ANxs;2a_`P|-V`%m z=ry35uWVAAP#^YzuYLEG*PYa4qsH4dHfsljS(3I=(OsbQ3?Z{?9Gf*hnY>^`I9_sk zW=K*e)cQdZO(jhQy7KaAkjFy7Z|ke)6*v}T-Ef`wKv&~m35h##;O#&Qnoldaytk!V zg~=RcG+4N@$-;6>-nHj%Fc2E(@_9x1IdpP4mOo*Hp?FVxBCw9EfT zoVp$p;J|g$Tq`9js3fCE23~VTAtpyhjd*G7R15cZZ8H})b#kjJxR8oJ zXAghzqPB1Cm&w)V4G#UAzRnFB6?QG!jD)10Czw#H0B{>v)}{aR=*&4y*{D&2Y6_xJ zLfz@;528tlov3?y3Y=od5zFUDdaMX~Z#Q5=eDideuO12)fdSPiZ!$2?&c4NYC619c zC6?;nzxIsMV=t;&vB4aJ76D91KhxW{2C=434+57p>jO{u*k4L;>s%=^&T_H6WHPly zYfT{OS6wJqj?VbIJ^F`%1y8~qa}8S&OlC%7dKzH_j4_@q-zYYN>RVcvYHDgg3J%hg zFbvGTu`nkIfJTOaJMd)SN+YlP`vhBs8}`(iAp|{}Q|;~hEyAQ34fz1L5ajn$!u!6_ zv7Cvx0~-jNJUO(P!Ry{}J-nl7M_iDL<|X=gNMxq|Vye&1Lc6gFR*tYLo@0XCW^N4C z*#vZXPa$UHG0Wlm{xP?cx{gRuQRM^?(BykJ*GNpQSbL}36fu}(ppH`lH%U>vp)W$| zRDz&1`7rrMoAQbGO&noh9V-QO>z6%votSmwjJoUUrKB@uyJRkY6bu_oB?f&=k^1V+v zeSMms&xjsRUc2SMQwG4gqhnK>MqSW-RM(yYyJ$il<6>jK?sxPv2{iL<9X+EP5+rDr zs${`s9TxZ8BRv*_9HG735zCzN!}iqX(2%Dz8t%uR%vSg{eqVvKKppXs4?g&Ci*0#2 zzp9h8Xi2pYL$0Q>C?2(?;-_IrjF8bMDtDCj&n|W&KLjW}Nsj@)m_@(F@PRZIKRq7fvanU zMrFVKlgOcT|2HKixa#?9@=9dML-SYP2->hx0m)9{_#y_-O(6dyQ{v#P+m@;97)wf+ zT2W7PlJVzSIK4ayJR$=s{cXsv;++9IAC4!6)JQd4T5jAVFfnO+-Oj4qeNebIhxz}# z0I>PMy@8;MFCtn1;IPch!ZMhIo`*`D_NP(R^V2?)!tG&J4`7g76I;wW>jlV^sD}Xb z)=oss#r_gl&pn?Ra{>U&&N?g zdyGgkt?ss`MPv#2lAr?tHhJ28H}kz*DYavhZ4p6UhzR*g?r=PXSl^#~OXg*G~m%LrCJnM-H?@fa}nJsZdv!Gm)fI3wc-ui9e@mdR*Kx zMaaS7;C$GR<$>eXxwoE;FO$D`4^$q8sk8+0w{oaJ+cUrTpz2>r+^dp+2X-)Uie;2# zSa^$S=mdag=G#bVuP%0S*r&h$PH+^UDP~yOdn_L>x%Bl7q>`g~jF70;;)dN|6Z2p1 zC$v}p>c8(bvCA))zrDZL)gEl&`Nr8pkF4wB{IA0Nk0%FemwRbr>Egb(z>SjpWJu@x|YMP_%BPV5Nn~o(vT@N9o+y?GOJn&ehXdnXyeqP)> zTt|gu={^^h94wHK2$=I}3p)v7QsM|-dGY`bIO@O7h_=X0OCPmxx^+~FvrI|A-TPu) zQDYJt+^oGn-z^R{PncdG_&|E3adh%m;qYgvCkKc2=E>h;nx~*jyJpZX!ETDvDFFwG zd25KsV5D!cdj-nUieQ3lXm_M(A^vR!#Pwp?{oB=7i|{C2oD&metEG{Mp`MYnCmXR3 zUimG5%h&|zQ-*JMXA@$6(ulMA#gDjY(#21?QGFQqM7?p5$vS?&TXN+1@Mxku^Ld}9 zk8%V9zoV37sUo9Tt=W*+PFKdQBC23Pv%$AiEK46-`s0^8+8h(prO)tXeDq{P4$aCZwj zy`grri{03udSV2N6!Ek;p0PH%rStJ){8%#X;zQk={Hked5KrpVW$^Jne>UJxlK3m^O zBWv~PCA!<%v+}psTW$qk>OVN@HT9~Yl3**aLRm160%B5;Rk092bXcL9vGd_zGU@xH z==}0lfm}~YtVqTl9HCzdZaaeE%#zazv#WPcqr*K{blb2;zp03KkDr+w*S=^PoZpRQ zZ2FYqfBETZ>3l;N$lxXyJb%Av(yPQK@MVxBy1Eumd!?rp{=Ef>^nR$plL|T7!mclz zsUZSzDomI21RCc;*wcm6Z)^NKOz<@jTWLJ+lC)2TIB$uGV8b1C3a9TEk`O-6pbZMPENLL?}WsupQfa^I?gD<<13q`^OIaXk#5AF)K3I{fs9iQGF!7RcT>KF z9mD0gRZ_LKwuJruVg@V;?C2OJN`LGuy^OnP8jiVXZHB@+W6MTDzbSvs)^<7UZt!D^ zL-ygPoB>l1g%N&fQnYY#N;SwUE0(QgdgDRHPcOR~hV_x@_0CeoV$q|9=YQ9VTn)WM z{GtymI5NH;Y3<`QTeM|^T2{|+IzUZXEz!g&_vH{R4b3xVDJ{Mz3gBW4Tr%v$3n@HW zNOJvK{>k4!I=k|3`}q!Fyru$h0Hm@XI^(?d@4?dv2Fj5QPsJ_ul!}XPDd(YPR}g41 zm0d`JGoX+3-FK>}TB>ppgJ%XNCUtsN`_!GFSKy7UAm^!2rvv~aVOGB)C={>PzEi^K z?jCkPoaKCBwW#A!8?X=U@orvveDc>>y3|>&^IwS;{PU&F=McPNNqRSIhw6JD6RTQU#R`ja`POa~K=Tr{((U)9&*DA4; zI|{6qMDlwC@prcyNf2+P?#-C0gR$mtSp+n;MwnK-$$*U%0A30uVvcLztS)JT$w&>fb+w+fLc_5)%IbQo-+?-`OGG+9BV~?*6#z z*Xz;P$&mMcyx6%U|AxKX)gA#NxR>M=igu;-@yE7kcPhWGHOle33aSU7WIKbv*9y(D zD~=v_xs-_fG4b_j)KE~{Gv}LOTR~NrxJcvv@p6ZUX1VVm=MDNxCukjoE8=b+MT?jh>9(>s$!s&n1L9d%5W@t;_e;6)5YTwqJ#3qF?l@wrI5w0ObwFQxEx7(0Y)P;nbDV zMdO(7p>3ScN**xyFOlqWZ+n<0i=rbxY$(KWCE~Mj3x1kW@7bx>NHj*;_4^wfeKY=~ zY;G6E681#b)_MkRajBnF1yev+(eb6h?t|1FqB0sipyjEejqv&gjz#&&MfEP@$#1v> z*;ML6G&i>7v*m4JN0*}1tdmG{dt24mm0g)fucY72BS2K+P-@gNEH<&R`h`mE=b6v) zfkaLI=UcaxUo0=W6Xtml8xzjb`3h}45|jVTC^ z95OvU9Uq_o>K`<0kz;+R1CK}`F)SKpc;(v zR;6mSiyIq!4`UVrAy2xL)Y5YF zSzMq>sS^J^RPP>{$ui?d8?Tg9m@W>|#UotGYB15%5L3kP@eP$2gBuR?{C{FBy!R*P z|LE;uX7QdSrlZjcOGw5R;39_ucX*UQAdTpg+(`VbuU&d7mkkk zP3BfCZe*hHnkTok_Hs=dQk!RepzQ2<|M-GFzRVPsY;_6$mXVOKJiWu?VjIdm2;fE^ zzx^5h?I@n#Y9R*!%HeLMUF7txGXL}>&poHHFChQ2orJB72((Us>*9&lTITzpm?BuYMo*h!BpL{?APWTMOa8b zeD=&`7NaAzN(1dFPO;T9yW77igOtf;agL)}LM$7`S^-5Lsx_hHTB#s2+iF9oG~c?z zh=Bb8RAfY$9G(3F$BjW^Wj%nm%DGMWsq=3et~=Eb8B?bqX$OO$Z{O?$?3UNz zeeL$SIvF@V7;6oH#O&a|)IXDO$tMR26vlf%%ibMhrxq45kan%uUS6@06t(L16Xi1t zOBux`fTBH1!%*9>ABx}g_FIMlwboQ(FJq@^drCvYW#HOWdI8d0_inZ~f=ckMst}6g zxTVG&kk=lS@&R24UXww_f5X0DXG5TrWJHdlkh&4V zEeUW0Qy+iEfe_yE(VWMRk9>BZr>$~yX@wu6G9wI65tfleO~u-0&Z}8aSgnLhKcVh| z*VwTlV)(jc??~W+_{s0^5g8lew{H`M+wGwe`=bM-j?$5;ol2~{$Y`|+@uQ*Ow(DNM zeM?<--{8OzP{~6QWXq~%BT&a5i3ksEtd-bXO=po&18mEDr>l2ZH6};ehB)?$?(t*I zI9uI}{b?Gg#`hH4_40Ekt7=Xl9I5EgxE8veVl-ZnCoztHIQ51!d}SC=qZydg>;Y|Z zJH9+@(TQMF;(PQO0AaL7XBBNHpL7XB#U37Y4$**e7{@KP>zfm7(SXla2EE(xElEw$ zd;$183NvcfVfjo-k(?!d-5baDR&F=lAS68WV@@n_tsVX!DO~AS%Kh=`Un}{Gb#t^D z^xko5^=Wtv4;RA|_Q#4x4m6VKT;1cn!)5%d+H++(^M)9-7EQ8=pT{kyBNEdYhIu{nz6>#y9lN}v> z`rg2J!+b+9X#%gQ+aJK|fEy3d(F%X47=v@^A=gD&=^2~7qhiT$D9o;%Z>ce@Jc9wn z|3^QiZ5USC?GKE$s5|Sk1Pqy^--agdMiPPIFS|5oxI_lVj@ECXsJseU;`qKW05@V! zFCu@woK)#{3u`x>gek%oAJLCRexi$V^GjR%cO<5Mc8j=Y;WZ!k0X;h^y=Bd-ktf0{ ze_M%PO4D08ti{i|X-2fGu9rrBxpu{&01Ifgc&_em^+0cGGq{Jb{lb;ZtlQbGhNdw4vylLS458mS<>jCK zeOf;^MIC}b=?iBI;@kxxD!m*!V?gPEix$-5SF}zXRHEeb7=`_yvA3-yZQIoKx>`O6 zKg2jO?9{JeRY{IOlgP5HV0mRH8yr)K-UG^!dCF{4{Kb_5J$ z85-d(Sv1h*dLs-nP-(zP-F2{kCiH>ps(&02h{+))bbqJ-WCqvU9Q{cyP$LB2EPtnC zXQ;Uo-k)DEYhiQG%#}g*@fTN?I!^H$K(Ds|ZZd=5FDiI!*Dzzw6R+a)Ku@ zZ-a;}`8506F1y%G=q48S z*V0yqOI+5&u)As_K2Ry)r)G~0QSo^EB6SbJQ=Wsv=H|5CJW)5yml?gnbOxRA;l)ci z=aXS_+~kaH_Wu5gbX?`q$!fVD+bY9jC+BlNXWaLc|4h>G{vb~wXkQ?bl+~!yqU$_(rOW-;9%LV(=ScS&tEheo;BOt zzKz%7KBe;m>fYbB!oK;)H8{Lyskr##ft$|1Z1-l7M5OLSuPfVi$HvS73oUC~<&}^m z(P0Occ1~^Ss$+bR*Yc4iGE6qPslcTf)Yq#+L$*Zod>0;jbpBU3M9Ec<$+GBCesQbuj}LdF z`yPHS3Q>=r0tJ9He5W&$q^{a1jOm}d#i8rNKLB50Isf~uJye&^|iL2KZV} zwr8M-{%bc}uFom`m6dz=x7*Id@KFGZ}v z_WDu?NeGa9n$umLXVF5lXELxtW`faIi0y=ujwt!~Jqjv1c5w}1`!Gq0EqD5^Uk+qp zLe#}wm1<9^>ez-IdWZ=L%9KJWYfYbw&JNuGI=OniVmcW7`&wWYucl{+w6sQc#Ba5r zgI&){#7(0+L1{#T4DVW|zLD!6zmqJpO37tl5A#u?c;_25`km3h{bp(4=6K2RJgf*g zGF=Z1Zr`0-_z)gC)A;TC9r3n*zg`3y7*TP>Z7X(q9QrieX$5!3;Yn1^PJg%kepU+q z(8}U;Hv1`H=A*nT9+(Ed6Pp65ny6ge3x~JAW^g**O_6@nNW9Ls`yP6t&$eBmrpYA0S2C)lpn+ z*~ECMJZ<;+niK%G7|ciQd;kj9516ms*Cpd!%p=Ph`?ZZ;Q)GNA&+&A*e^ft_#Lmqf zAKnR?6oiXBlS+6Bfx#-zHn&2t^KZ#?@M9Eo?f{^N|M2D>K5E91Dh{6N;S@!Ek(gLK z^)1!xrBn7~pJq6wFtF263Mlv3OLfw@4-6>8{siml9KKe08zEcxsUq7Q0PYJom6x*T z8tx*@Dghvt3=)ZtAKU)T z-N)~T@Aj=^SB+aIW;dNF#O{`I8RUGb!@ZP@X9|03LI_sE~6EE<)Z&J#SP$W9dGf_X(V71vb%O-jsxzC&0$QhxXFpl z9W5VDbg7*mA9W91x(?BSNpW-!vZ}YpXfY3vAlYBP;BPzFI4z1g>{O!UIKq@^I8-Ss zKBWu*mir2HC~ZGj0BR>^cS8>U5rBa1ndm)!?%q+Ij8}h$={q~_L+l@y2KIJF9RHL3 zB%o?3tYjzo{wnr-`RbDP1<1OvkWi4Z>+eQYPWGFSZNz-cl!=|{eHO=1g(aFR(EhyZ zCwwm%cmJE(3eGE#Dkv$V=Tp2W0V6r_QhTv6cft-e~o!knDAxx$wSZpg`D z+S~6OM0{v(XLUMXhT#8223}npx$Z1{P>dM&UbfIttnSazanU2$l(Dbo5D}2`5}~Mg zDsiVpzkQnyq~X?NjCoYwNb>;*cfP;gXPv&kZF2|trUZUtV_>6B=k!U900qSC_fmCKDQ0q)_xEk9Bpxz9km$C?%?21 z_x$-o9k<8VV9N8u=bxW!YY96>(%EYU@iD=dmjy>C*?!7LQ{B{~{>Kin@@XZzm$G5ba z{Mz}Qy@jm}D#l|1IlPvx=ywkp4!v0aR3*F}5LYym2)JW-XES^MMQq$EdG*7Ggq^R0 zg}wrPbU%$tQ4&#yJuClQyhCsP1nMuqyQT2s`$!utqVapOeuy`uwheal!4+~Zn1LU>u;WUf#q{gL5@GaO;a&L8ApF+KkTW&e$mb2=$WKqSZcXdDG|f-} zKX=ocuAU!?wzR%mj!0T@3p}RAF+xE{%Z~GBl~H^1Lghx0akIN8(HonaX+F6u<=^#m zb%9(3`F1e&ePdl+&yf0MptxfvlveGS$1(0Abbzb$D;#0{$g6WBLPXfL9;0(CPp^Fc z<*H{6a)N{Bmyn*t-X4QqaZ7mZSJ!DS{m29Qm1G%rpi|BBP4CLz%KA5qi5C8UfhzfN zbgKH!o3WJyBOmpm-NRja{TMARg*jZpEHyRYQQA?qkgqT82r3q{9a3nqoC_~3EbYjN z6QNM9!B@j0?DAXlX%%sYZ|EktpZIW(b$6c2TyEKRKWwihyID~1E$$C=-qBwG5v|7k z$DlD4V{cn>!3UTYaT{x{Cqt!Z-lsMCc~pV zf)t3^#|O3QnW|BT$g9hXbQP|b&TVz#xPyU>sR97Dk*TF*(NM8p{`eSn8R`7-yDCMc z)kP`j7?e+xfL}c-xz)+ULL#J_!83rX;!%&;R6az=c6@r0ku)~)#zWd; z?#6h-i;N_rgTe1^z5BE37Zhe)r=nrqmr8`aJXxV3$a^uW2rk+(8Zw%4g#=8i9Fw7H zR46F}DfrP;yaCYA>M~X+(ROut26QAqR>lATwrelbf2r~Pw#@2LM)-W$3xd9b0djWV zH-dUC`T8F)`@{XV0~Np2t?<1>?12r{u+waEr+VXpB)IySM zuY%S@8^9p5RfB4Qvex07UL$rC@d^3wa&LqZm@7ny8loaC^)iq+J`JB~v9&rF<`q!; zW~b%s`-LKn{`36BXY0Eey*P{Ux|ajvr>7JUsIl$h$=~p^<3PlN&6)ru4u#M|@h~o> zBp`MHo%-m^Oy~7VExS;hj)kqSY1dwu=NHjqLIOlfxb&QoGLA9y1g*N$nOHj0sAF=6 zRnBid6&E5IE}Hmt-v(hFK))Tcz3^F#!DoqNx}*ol7gbJH^NM9XXs*+?2a7R~Z1u~w z%A@zdo_ig%cD( zNDlQ_j#7F5iH)v<|JUACe?|30`vIg;kp=}Mr3a)zKv8mNq=%sd1*E%C>I(?S5JQS| zcMU@+-8!VSL&=cRFx0!gKjW>p7C+3o+!K4BbI-2N-sjuo_&B?*Hr?PW5;``+9tLsP zt9)CGqW!*r*EpOHnm301?M}~r+`zZv#uzps^7-l$5)Icd=PMVep_T2wAE4#gpqrPF zVwsdZy;@l9LZ(QL-=##itY~1cl5e0YebfrX`DQIeG9TReeRPRAxv*?DeVO#2`5}N{ z0i=m{=3VCm;*OG>aZPS&KqUpF4b<7^4VDN5{L1o{1)va6%o(7ffxe9|wpyjLpbp(e z2YY^=_W4RA#&=rP`YqiML_&fXp0^x&iViu-L7=)xB zOPB+Bmj_STpc_AkN2r=j2F0BcMWG=6LS4ZS9#n{CLsFhfOB5KkX* z+9<`G@7kgy!AD0^Ko8cn9*fydkj-?t${in+SI)Z@dPTJ+V+v=K_roWS_*2K3bJRkS zN=Q!kjrV|xO?Gu`oE!ukQx9+D6gzLn2$mC@!Y4@@ZrGbu*cgE{AUnO(j|ETF+x}A? zzPecL)TRTw3qIgVUL!;6y#fqYd81)KZSySfdd3DT2u~DRUBA;;E%x%F>(SXsD}Qhu z)lDFngtbwU?&PAnFMJ)fT@@?6{_3eU#(h|@nKN*4!R!zBJ%;6QAA)c85ESw?XW08< z{?bi3*ek?;E71`UnIyVW43*C!6~aua_4TCQgU_e#iJPPwROWvM90Oe88K)jqip@dsJP;(co!N_sGpO+!gUIffNI7D&q{mm45J~iT zJ>izR+ZDf^Otk!Zthr&1e*87WzQOvw_eUZyGoq$|uUjo?d?Mx5@guNEPmv%#8!TDI zD0aZWx<8_W2I@?nb+2gB_^${@B3fF98qgw8P91*36|5jkIi5vRL9s|%+a+Cj`lyKp^jV6n%eMif`pjO< z)jX}iZA;Of=@ErFOqU!l$$=H(`HevY20FOgqI})T7Y9@}v0fiCFm7?DUGlYYTvKxD zS_krCqc5@pANR8{xCq4MC z3on2ubv$x1GBR4Ld-5vUb%jcWeZJ8}SW^=~t2gaHg%YaN^0+4V@%eFG<$^mJ@x58) zT(~pNGc4m!2>OYV|3HixtasL^ z%5_IWiICEZP2z&HL($VVg|Mlt?l0*E{L$&cPs$7waxwbHI=pmgX~0G0=2UX@%a4c# z?RaeL?EA4<(zQb?02< zs9~wDL(t2YE!hn{{SY`8`<@3IR}b+gCMjpYB9@FVN;w_U9&IE(z-1WfQL zC_wA$TXIB$+%Ps7%46%T$)C!<>)-Zse<@dri6r{kY8KhAQgH9~13~WcyWcyldhh%Q zs;5~JzF?n14*`XpxvU@X{=&wyo7Qy3sYlj73VW$Fu_1<)3O=8c#u`=!CI2@q@z((( z!VvA;6)}-A@{S$mX>~=0CIuYKyy8|gPx34Wcl_{?jxEiZ>0kb=v0rM0BT%=9g5|3{wlHJC8Fn;X62bd60P8Td;0*by|ee z|7~!UYhn9ZU4Gwy;1hji66(O))s=D`WsH9ht^VzEpctc2R@H!Z(m|d{1OxL4Kkk9N z+}nGm+uLq4O-@p>GEA3!Y*?cb!=zE`7cYDyw$n~)36$siv5 z-_MD)thjYTX#V0e5I{LXC-{y`T=F$|dA?m8x=W4J{`sUfUuSzLS0YA2oqBHRMlLBu z9h^^{>&uI$lXP?3Yt^`N03>&H`X6aN3puY5NLaL%$S51{jN^J7-*Ew`*aT6Jk|+COvAfka&? z`ZYm$rx=v-0x%lypfee}Z41xV4S%*)Mb=ZoKMT(9=bORU)_*B&d5ogJ?-SLY^h6gl zr@Sn)#1gwA%g79NF}$&q;O8U9N)Bzm1nEZZ-i8Yxnq_5cPjjOHw~79;RLtO;F2F1B zX!;`2`r@gTn$jSUu1;rLN(C%Pi8dM=YurFmq%pW7&$Z`b0=R*uY;ApO@;Nq6qCXOX ztmz{1RtrI{aV;26eo;SCqOh8{ILv7gHxz0{4&b7jWn|rII$1kWhw3|9dwt?>f8=dU z@&>+HS8prM#Z%IHqLm{XrQoz2KeOaVEDEF*b((w8LgiUmmYVKvXJqQabVAt>#0Q(FyHc*F0zzLz2%4)+BXD(31APanDl+7mZ|mGRmiBg%vGp(fC{m-5 zw@NwgKv|=zcd-r-mHhnYR=MmxL5l@y=aZAAiLTLiVy7~MjTcDFIhgWE4B`lDljxC{ z5%2lvfk`d~lHbKZs*rtQ;jg9H=%R5w=)`3BXtDOoUvy9l=qDBVBSxr{4G~PYjhlT73W~x5>z& zoIVkKIaA#)e)MNGPQUo4yl`mBMDeN(Jv8)op@CGvcb)c5-ii`Qs-G&0Ku+hb#G}2v zKFnz5KWy=jb;RmeEV!>K{@#vk0A01v^;_ua%6)4@eAi9uF73Z{x##6&g-PZ;|Gm;{ z%o;obFwQNnla*d8Gtws@z^$U0p2Jy^o0itfOP?CR;xh5^{S*-n)vcyy1$OX5Q`4Hg z+$dMzEg&$mBcMHuht z(+#8_;(B8b5`pwOOhU*fkNkY8r5R$7RM5>c?}lcZf!)YdrJU0oG(0N{ulrp0%L)bv zBR7>YfkP|sZ19CUOGuI|f~6g9$=GLj)oBEl{?cY;cju}`_dqBUL*1koLZO$i$VgBE zv8Ju`n1k*09EMhTBV59`^^clw;br-xR+CjVdF_Z_+)Q`}$Ox;S#1tuQ&ivbg!E zu)9bO;;ET+y~Uj%{RXMpuJ&4gp_jfqHO6&!xOEzu+X7j7LGXUnFTsL@*LwTLAMbNKA0zA7k zZ~c98>81}MziIGsd6O{QF!VFuRLYC*<^o%M(3J?(DhxB8S@@I#4UyYx-CzpbliE0k;j^*D>AU`okYWH#Xr~$hGb+^bMqYZN z-NvlK#tQnK7|?fypWRZmhkHB+Bwyt)`grW@>{2d)MIjg({pal#AKx)%SZHG3!Yx8V z>8#_*+gkB{`$6O>SN!kH%qesIe1%1%uB?OOdV{IBjBI&GPS#}eCC+o{PZH-WK3>pP zA!4#9V)(^)m!&i^p!o|E>r5B{K?WHSms)0+mrNxVa=@;%!sSlA2)Tqk-E6t`z7F(! zecN8FGJ&3{5(Llq`0S1^jcM)f?;8m}nhvY(C`-50G0V(6*=$`ZTn^b_yvA&d9!4pW zF-H0q7kmBQF$uc-67brodE3__r{lDTS_ZvbojPY~puAtn)~%yro^9&rAogexd{iz8 zxCE}R-IbmYur4)e7Dq-ND{5$1&5Ny{ zZO@9nUCYT#;w0?0lJh?<>9Pn>)y|PAJbUEpiaB1lvw!FND&diQ#gDdKCzM||k=*Iw zuzhDgJvVp5?Lx~r)eL3{cA~9a-kSe1Zffe_EWpuUW>?R6gr9&wMnsC?+MCJW%T?#Q zj_Sj$t?^(e+g9L4`T*-rdGq(SG{Lt7V04`~aOesUrW*;Z^jg=x`;%g{RjqK$);K-6 zspC=&{SbHf%*_68 z`tQlPu7tC+y1uaL{uxqIJp<&gI(Ry3b$-d3{I!rJA@j)J#iM@D!C~C%haAG~7AUw9 za=hy@Q(asnCMH|nZ1?sAd+Oa@pZlWoY|b%*f{6Ahg&cae^2EE<`}CUoP;vOznfu84 zc#46+R?WOP^WEsORJz55@w}M2r{V^N4h#D;10$aV;1bi5CG99v0+xip+|NS-bkY@u zL71Y{fkAme*j0K5`$_hmk;+S_TN1hL;~LHr|UMjIBO zsr^Mt#3f|-#L20wcHZka)*{QNG9~A_LSoq`XQ`++%=S6FRpcmgPH=bkaCFSU(!pVA zK5Eff6BlS|WK!DK(WfN2_k}?oyiG5kU##F|(f7kE*qWV11-_P@J(bpjgl$F|XUwcoP z6XI6y(!wI;+Y=Rq@p?2dp|`li)W(wyDp>Q!p$xz|R;_o2ZpEc?4tMhPra zs-6z+5XbW1t9YNyY$qpN^Y<5VMEE!`Gcy@e?932^+U!ig4?YRlb&cvj8DXT08>fZ+b{kr$7PD!>ECAQ)|XkA-!xK+-j#^Ky7f7?Ute>+_{2dulo zY^zboiEL;7e&=}}%QM&K`tmuCBr>(`-NhCcYw=Q2Y~_R;QhTXNlcuJTl^a-f>+tk? z+6Xbdfs5UsUAC@z!kZM1jCd0?Z})z56@_RFzK zM`!Ik_REm28Mi=xQ>}6Xgn{9ZLoLr622^{gS{ST4*y|u~Z+FiyVv5hqB%QCqaQD5- zj2{BhRQFW+y##Rdj7D~&P#v%+V&aqN{UGfLQPC|%=BcqNp;>{WkZdM6Y!iznmy>g- zC>x&|9rZsunc1dp^~UaOmIS-*q(v?|-)&jM-6Vum+!G8|e<%H&N_6F*q`m_tt_Go5 zH!R=c=UzpMY185!75#o zg=vMEbyC?{aVnCu)WZDr#@{Ff9bMEgU7m$v0+KMGB1dCK?u#E;aUIkNP# z-&*|YIk9VN1>E>}i*wUOoxhqi?|QfL4Gq1vtuM_-naU&h4~JW-v~H`bwOQo?ji+d7 zP4+F)A?Lj8lDcnPcLl~C)576F*ur}Pa7DN_F^ah>(4((XN#na*{AF*ql`j+dJlj6F*P+=AQSa+0*L0BXKRTY8Vt(H zmVdxv{f3o#dFE}|iYIsz`nv&4Bo#qX*^nA??FE3xG*q8(U+J}~FRg2XF4flh^*iXd zG-g1?ubJdKyM~KF_@-CpQNL%{-mF z8cl)fDK|`0hUI($bS8py;;G=k@gp__E+4XaYI#kr9qHi%X_-mDmR&vwZSBrefL38$zrd2Q8$5r=(*{82rn3X{ye1R zZGsST(V?^=Ilx(~7!a1l?dCI87GT7W;>zsoI%5H*>5biZsdYg!!LGDNHt^x7Fzd;*2Z=&w9cQS8iFP^AZ+3lWtruz0I>S z#?xlXaYO1s_WQ87fOeeKvDk#dqh}>&ORiz^O*T=$r_n-ywLAm}1{)0mx9=?P=`RhFzTB zvkZ;2y2_N49UChgT(-Nrn~6n!Z0jY90F%&_jb-TpRm|Qj5N94jf`9WbE~0XCUxZxF zIr^_1+Y@$KF-GQkdAG8(?@C-3Kgs#DV`1;|1Bp4k299xs>uZP1%p|?tN@0o!F1f2| zGu%wL+|#3xF$al9hEd&Y5#5RT4fXYjw>{^9?&mv)l0-u0IxXx8q$OFM`?dm}K{dYWaCjM@gyf-YTPw#oudR{Sp8yjDcP4 zW>s~F`45F_&py)Ou(QSDeHQtwB-#CV|7W2@X-G8NrbkT2Ad~0v>XY=X)%qrvF`z#1Q zY3i>@u1M_gP%pP&?Q&wP_b%paohhAONWOA3rTc)X8Lv2X5`ItQxlAHUu_=jBa!@0TR-g)PV@R@Q2{~eJj=|@a5K{D%b zo##hkg{yOpQ;*279@@`xOKmmo-8(tm8jE5zv=}GNBlz=Ud-CUJrn0iv&W#R2G~>xX zibbk@mM(W?0}NFzFB<`5BOsMVBNa0;(sgZ0bo~vO_8)2cy~oXBj5vcdY+%(LwJtds z*;=zs5*J}F?zS#wMBmKkFg%)^?>x#T%sHFr<>0HE*+d(#A^tZx@BPJnOl|Sa3*0W68#c zC16C{PrUqHbpSoY(*RJN9$tU2FxSn!bZIvTX?vS+GoSm?AGe}38qv)cE3{nD%G}v- zev?uUtNs|7`&3DbBqDEE4iNCb-}lYqb%SOzf)Am=)h#9o$7kD$$0$Ja+%2h`TDI_r z3l@G>;Q~W`J~?}{RJ6Dj1ddtQU)M}fp>K!nI=}nrq^T(*BhKaGNxC}l^RvAFZX?QO zRk_kf=HyqpsEmjNw;GC_?R=xl>LlRV)|qcXzKU0GJTsgUfP2BtHA@h>!VBG`D%8M*U_^NAw**04$! z;1t!n`gj0{xc6OaPIlhjOTk$^XOJ6Q(e;fVTm9VhimxbMy%_eifm6$Z>Q>f$xX+h- zc3=bZ>6)4vcX68gGl3e&Yp|3CVVDV+`er5A9Ht4cW zW=ufo<2t`t(`MQ*mjw@J@o3Tf!-s$su$z%I}97@x66ScO_Ub($!Q$5-PECkA$qlC&w?)rT>Ks**wJ zcZp6WZ2I2-a^~!G7dN-)Gb~I&C`i{nIa9oU|E|5IoiZRXZ#bC*(?8k{InPW@P2pkz zVg!K@NQh%Og%UT#o~6!heeshHjWzO!WM zVRfbg{=rw{=q0OaBYLRNwX+cdx8Tfd_I^Ju*{gxmY>YQ|FaF-FlgT3qXg*NWSu%)m z#y1dW?d>RHHAn;2^PWJImhw*hxv<}NbSi!FA3(kpc5e?hSHFl?nA0XTG(2T!^dyR1 z#q0X+T^aYAHU|lpv8{W}FtwSc=JLD>4X~0no_I2%e9_q`Ws1+ylW~BV!r|L~0=QE( zk@^)tZ&{tGI5k=6%pd*tsd^@cMfaj!dP!tf(8c0oYPdHx#283=5GjDF=h@Po%U5nt z9nenpDnX^6D*}?|cL}q;Ezd}ziSN<$ir{d!=0lM-l~-wvrlcH3D9U`H6l$cUotymm zHT}bf3kY+6LirMQa$`&@PE*^lrc%=YFcz&BWf&t9-AxL9eKPCkc<588`YoKZg-c0W zUXn%pZQI&vd~<9sBu@iRUmXLFwfRxux<-WgXgh4T94m?Xa8T4DEw1M8wGUHEXZ2;6 zS?V|>AGQ1Vxl#);vRkmFV?w|{0=kf^A=m2 zZaNF?V_utv$0*NZLr(QR^8(cx z&OHl}q-$Ak)j@~~@5r4n6c*75MecJARfpK;dX4okF%P!svon9tPM6)v}y0d_3lR7trer~j#kZq3XnP>SE<25ihP%uH~a#RkV_ z@WR>QihQYsJJip7%_%)E!j^r4zra#0*$K%RL#Rb%fl!(q-p08LF(4;0M!a$Eo4S; zi;Lh>N}w?1a9}slV@Pd4J7>9;@8jRk2ndGdw;Z|eCCJsu)4|2+z!R`93nE7FE5UwFK_G?c zod|I~5rhw7BJ=bTuFIwb;oAvGPtaE~riIAyG1F(Zy{W(DV%1xalPv5Z)f>n1_N)4A zTq3`{j^Q=7woXEzZ9AuSEK`eSF-)fL>-rl+}`e$~{)4y^YmnLdNk zneC~2?F5iw^s=|NRmNy+Y6Q6Tzoj{CSw~u$Xq3AA=7QF28Pb5AoJyBFlG98^T?f5g zwA|Y$g^CQ-zr#z6S9(X#RQf{`^ug@bQ?^HMuw2{w7UxYVT6T3J!ZmF{Lc?yS6=l_} z&Q9|5b$Vsrsq`s^ReC7}_3Xi{B5vO^VtOH3MMAT`YOF9lwuMj9QmKU?*+@!3!s5w% zu375?y#alMb#&@$bzVzgOSW{#1xyP8<==-zJGGk(MWJI~QaJMpLn#HYg=A@ppAgpZ zsjmttg#iYS_G&${?eGguWH;6LU^y7in3|x@Wm<3nQSD^{Yd}9s1_hiBv<3%l_y{yb zL&{v)Ov#A8*9Ar&!1qfbyuCx#F0zAZV7BqMH4Yd_ zYDA2nr7@o(tQQfdl>?i*HjlwW>k0pty5KI8?TGSxRZ(E{{>kSw^bRg#vw{cC2t~(`3 zy)v;MpyY3{nGR)x>gbI3L2@lb%jiWW8RCy7WCINRKRzuu&B&kz2P1LGDXJa3I z6WQ@>QeC5a)!AFK-wkqn>r{MsGgqsz%En zt*pEf!f859hsJ;Ng97g*@~dTG9OBJvk49BDmwp8&6C<1PG{bj%0Sh)_3ZReF!@+UA zEnl_NN1~9s2YDVoHKY*AKh}Ssibv!GmyCB=Ql2 z1mRFFei#)QnGymkP^tly7k`%cOC=;6mpp+e>>F0^<{Ew%O$?#H)H#sQSvt`S9Y?r+ zDCO*r<@Dp{OFd-=oGN0Ny2pl84}{7;zQdb_b^IFxTOkDl3Ow7}a6Q1l^?^*FkP9+~ zF2bT@J{Y_(E`7Z(c0N0(f|CPg_{kEF?1w2p1OCJiHw@lu!>x&Y{bNMn3_i{Q{Woi} zWm6|$<6AlmMl!WMCwSWD>fso@>?wV4#V94baEP%NkIjec=Rs7ok$= z<5l271P)V>fF!WVX(~U)(sxBz;?;c90|rE5HELHs%NH5n!6A>1VJQ0VoL_=)!XNj1Y7&?zgFPBe|17`5pgp&d^~H z-g9{`mZ58onOH_N{^Mn1KKzErVP$S}At1+;hAcG(RQtYx;UnSmTsCMZ&&oR0zn|>T z&^v`JU|^<-DoBu;x(E#D-|l-U`{RhQmr?2)JrB_M-!#&YAbXmlV}N2y<#6)PFKT=|ND*-5;Uw+ zasZIT;~h?3qY**#@3GzsB#8g>zAwPNWG0C}`25M$cUxZp&wF|Z2R<}r{p(Ym5re-r z;Ls0@3IfL0FMj~E1VOCraGK25dEdI_7JL3H>|Tqyu%Bf1ejom z)-j(y$IaJ;8!H}{2SlWPs-p92&56FuLJ^p6CHS_xo zaCqw|Dy{Mk_;|fD3I)yyog_4zlx5Mdg<7#5KN5YU`ea1?X_Cq&OsQD)$iA?)PD;qfGBKw%-&0|{ zP$=Ki7h3atlbSxgU0>(IS6kXYS6f#nb(Ab#owQ2zJL>H_{dHudq}|(obfXVQAN2eh zH?JGY8sTqO9LGaG4Yuq(FUs!j?&^pGAM_5v<@f(#VPT;p21JC0hJFbCpTqx5!T(sn z|7?W+@df|K+@W(F@ka`Z?%5UJ*E`zQYkasMWK4NSOY!Uo!1)f~2H|n$9W~CEk=o1Z zOYX5F5@10RO*pJ%>o-_)K2kb{0T+Gf0$~tM%c&AVWN<;^Mw*|^#Cd`U+3105-{5kJ zYs(s-qcT$<4ZwVc>VN*fb=Cy7S@42KOJn5qBYA<7;CWiBiyx3}t#Ce;^Nb9g+7 zv5F229Z13j?PV$IQ%~$B>Ixq}Rt7{q7UuVP3kMNnL70GL8*{;->H@CuKMxpkqro;3 zMZw@fWv8HE|B1@%IHS@%q!AE^F3ULbc>uVX5naOw)-<6?7u%mA*@9D=AVMJSN_6&i zmpuqLl&P)E) z#%_y`$0Z^n3T~@kKB-)&Iy&Goiy}iK&CdsWWQ>}0 zn^bSQG>3FWhJIs3O#IBPE++FaC~+Vq+9vZG5kt${A8uGNinyR`MRW6mmUm2nxH=TH z$p|u;S65dR@R3C<6xgzz)I%fr9oXMCjSnNSHQ@^%fFb5?U`y;-ni1j-!r0g0BeBGW zKL!E2=^gM0wsqj-{Zbk)Wk|x;Lw@Xk1}gq0C?N({r;p$y(2iDYmH>+o95BqNY(|*Y zHN3y4sfY3xMnPeyWCxKzW!hGDBQ$6J|9(69xnTr5C;?_Zaf*2PspjpEYYFiH^TF4j znG@{x!0V>+JJVClhp$%#<_)ue2Wm}*ywDi^r>3XHZ1DaYIdL(p)G*1EpkPl?v4`lR zGR4&!4aP3obd@BHXBjJcc<`$gJFlb+8YQ3Pg%5Bl+r_xkS@uUS+62fdIyg9JKwj}_FcQ)3>+6f=otvL0 zn1sGlS61$hC-bGJ<`QLMYr8&T*>ajapwsR?I*0$=W+g$D%*iyexBmbFR;P>q%&DWC zhL)CR>ttYXFgGWMvcwSw8=KXALFbiHTA%HfW&@~Ix)yu=j&Jfh53@wQizo! zRmWJGt^A?=+_#XR!u@0PGm)Ia(7X)SyrdDwax38vf_X#FGjSR=zUxU)bo48!okp52 zi`p$0Pm?G2C<-PfrjpBt$NXDY)9POFr{u!IO}RI;E0=qXe-L~1(|BTTGs1q65UzUP zdNb~vD@ufXnS;DTo22?7awd*bKgwNep8Onk9_M3aYkL--E! zKxh#sK^eptdi=eywR%mJ)4@aYFMPiW!o=ZhF{PR_-BLZcjo2o1pq7T7+vNsXFr@p0 zjO5t5%K(Lx_;jbAWBy~NW&C!a?aAUILDzRNvFDn4De*jTRzO6InfohDf&y+A3YD_S zJZ1EXm6Mi+%%G>n`vsve(clD~pQF3ArXC%H8C?b^@jp~fVe$q?Q>S?O58GTkyZ-Q+ z7I1rIWl|6+nhZAKhO6w2c=tq%KZ=)#0tw0xTb00m4}|7`w_s<;DNj?OiYC12iBW&= z`8Y9i-r~WIZM}8M%=K2W_aP21prVNS(b<1Gp{9hz8eN&nZc3b*+q zW`xV^A2jvccu|Zn7S={KuS;{PEHhC#Xs|=6=ZuVd_c?Z2R@$mX|KF!h^SHyA9s z7(-!l;7j}m@^Nsz)uxjvZHCvSoUGrdl}X1ois$v8{6!VjGr`p zp?Halp#I*^k@%-T7>p_W6}YnHlSyi~tuX^vjzzrxcs0$z-fh+-DwD7} zmK=$WU8=V9__(;dB755rq-wKWsx~w=Jy^3`nIv1on|53-Ea3D?r;a02^0PYt74(i_ z1C0?;2DL%h`~ATxnZXGD5{W!L(NYJROI(yjTol6nNql;QVJ%n2%@Ub~(8(u+k<5T! zZ|6*mU}}bxrSi1IRaLAISrQBLEJ2RA)COJ;ZRRy|%k9)|w&O~au&@nG=EBNKkd{i% zZYtD2@Z4t64&gL+zI2El{d!$%yACY|s_$xC+bEsW9%n_skX6kZ1FM?6vo zd49Xjf5A(!iulGu8*33w&e2gaILsfuyCb#m*jP7M?YwB4JSq!CpV7hwc4;nC$|yV2?#yC_D(CA5 zXYItO#l@$i&cLU=9qASwmRlyRK9TrD$KkFZL6@z!4AWD0OD`gqcBS5C0->?7R34tI zGqcx<>hoe`gxy69f&RN2w8BI4F67(2L_9pWxsJ+8Smf(%X(!DJ{~1;(rYCk!UNTvQ z|NIq%mg1R*2mPTtEnUV3aZ_e2+`IFGn|`My`Rd-%5nRGJ=HhIBTU@?%;nvVr@%zkb zsmHpv_vvr8!NNVHu+Yn5_dEB_4s23gXVXlJ7++>T7bUW)HXszlYGM~QX9qX=b7^WJ zVV`xqm|2LKU|dCY^IRP#UC1**H+AK!T0&Z`jCGB&jC2!A!PRvmpI1ZF)CzWb!yb{1 z*PZl5gW@VNIwN7PyV37{?edncdwI0qosTjOZqHBdE}Wctnn{t3O^Jq4OpG-TqBjPX z_@?-vg|x=%38Xihh#zN=m~+KbqQEO|Y~VH+_r}p$;cFKy-{fQ`d2z9O zTT}9-kkD15wTjY+TYrTu)yQ5bR`+1Z4B zcJg9ore`iew>!evSSyfwu5Ie9-tD-|*@K8mUHxU&yefiXpGUY%9 z`^=zTRb3gwa=gTa`|e_U`+nzew!3V7ZGC*4f#H5O3}>gO*Z!wG#`;Qye-4w-Q@bm_ z`SA(VO98W;-@eP$=aFw|`LTh`WVFE=6Hf<@9z@XOGQ>=8;5%WJS$Wk2@-lq&u^`3p zu{+51I@pT1@2_7Yx@1!;R^0}PqxT8E&{6c&0O=sx88|EqESgx^-xlgCaNQ3RFA zqaby~FL|rci#x^oE%^nZw@jM9dW{S^wzK9oHx@Ze?L1p|dLR2bj(OKRjrsVfG)g(S z)wZuaD&0$sl5m34mmTX2XEO4uCnQ_* z!#xvNpf}Vq!K%jMJ$EYhF?>uvvJ5-Zg;JL*J^|T}x}F4L2MMQq@8-A53_^wP-zAvz5!G+Jn)f4I6eHvh1=M)nw=@C zS6bT3Y>_=28>jGizr%pt-d+vgraV#meH;BidGx%a#0&PzQ8Hh_1cYM&&dT2P zu_o{NAud`3J?#T3E-wEaS9kr`qXBpS^;E&Zhbt#xWt}mB(oz)*CH@#bu}%q^&-zcw zMpF)s-l|x-w_w{oSzB8>#W$hk=NdR|&*3**JeL;Qq?lzO>8}P9`TPQnkF)B0Q%k5F zw-}^b8FS^(;iLKKiRIyGRaLK7nEqO`8CC`p!?yn)hWiyQTc!2o;Z?D++>@Nhpqxaud z$(GjDh5wD%5EfOMRd<7qf}%Dxg{tv0@mnz88)AHqmggBy{t&q^vZ&Ujdfx2n{VtW` zAT-a=i0Y}eH3jeIeTI|hKCGIeQ!{jdKI7DLfi2|%>Q^XM|ifnzP`SA_pnNC zKIUCuxUI#R-mL=6Z)xK+!wjF?w)Z4`37XN-!M=aI=!T86{Q2{@k9>{b?S8}jE0UZ^ zIBhJTIKzTS5(Erw@Zx!DY^y}}SaEMUHSwvdjt(uv{P{Y*h!O4cLYX7%bA9H+bLhRg zYObPkSHzN=>zyjN7}OufcX;oQjg8$^))X3Q4`3DIing{=9bL9Sv~GUA)4K(iiww*I zS!imw(k_&RDyzwM=24{0`!T-E_r|J4q=jmFZB3}Kj1mh%3}k z6KDJKt18d#E;9y6(%P#|*8xAOt6!N3e%ObQfMHy7`m2@Sv0GXngn0|DctKZJAPr6* zH#5k3iP~j+{#S)ruYGIV}6h4YmbWye97a7>CW>WoHiEt!0&1aXGfjhb*XPKD>S_7 z7c{=fbSr6jZn{oPBdo4cfjkZ(YqX8(J_GZIOQMo0zb;VZDX!=rrlM+MSlw%8RGSQQ z`^W>+yM;NTb}!AtL>ms?Zy%Q}R0hiH%}@SO-*dPy;$U@9U0Y1mCN|5cnZH-}p z@+}~+T-u7Ur+=H*dFa+#0eq$qLhICIy2c|eqT+<8Nj+(@{kq%`^H^`2pH-hYE%R}EW*=&5|H(?$*?Xe{P9-^( z-Nx=`dh$@>(D34g*QnzBWRtUwj&E!Fj?sFDcDd_Lra}F((AI(qU%Cfsc!bm%7JW_R z?p8#n$s3Q3HTIW#2&B7PMk%ITXm%Er#lQ`f+2DgRVLrBX3X}Yw;qA=?0^QVFD7Z8# zS0HoVL`H{feW}8KwEea9H8jG;mq1bx6Z^HsM<|z$Zsqc@*icw1cC;^oXKjGz_6!Ps z3IAH~A5TJzwv@J$%TmAZ2JU;+pETH-qN-Y5SOf%3hu9=KaN*%9-dNqrb`W^Epmd#0 zWW4oO$=ib}b{pNA(7rVtAXbH_BDOh9N&o@$Z%@x}a`JIcU5_vVn+E?3Rkf;53=!hR zf56tu+)giY5)xkKtNhHKr+ngAm*3#$()uS>iw2Ht33oRCk6`2 zIB@MPhxBu%CJvL+3e!**L#~uX$D`7gqaXq}jnw!aU6!9+**iuCqb4sWF#U7^PnRX# zl&b{|oyG$i;mbKK5}@k2Zhv5CYjR~#heDN8ZGPuULQ01IAa)$CKzQ;FTnzrf$fgtD&&BNh#&F8B9D-vuy72ke3Pi zlQCY&y}rNTt63j?+`zkbf=ND)hYN$@soSlhu~f9SrQb4Z_N3?0V3()?hQ_hsQZ2~! zCyU)-^}LbzeWX2uNpdI{pw{T zSfGoo?Rzjo`OcZ^@y545AuAwcL`0Ml-LoTp0N{LgjT^^qqUT>JHf&VPwE2OlC9{&n zKvq*u#za;B`RiOW!{A8O?^G*Fn!d4vb%}v%XTmfG(pNFxX?CBNK`%q|CBDjL``tzIRXP~ZWychz-#-&k~2@ooy zGR0t9xJ+e^DBDI=$^sSzH;z)YvGft=jv?-5s#fwX1P{X>inTmh;iwQ!`G7pf}Yfx**gAf^G-XdE3 z$s23JcNQ`MvqLO(Hq@OKyO;p{v_F7_S**skTb7g60Uw9SH2u>W1-Iw|zPl;<%Pc{d z55QoQN}|yR662@WXoJB~oYeEoy^C{w-HnO0 zt@cxIPi)xCP#Y-BYTgh0_WlB{dL#QWbnQKrR#rd0fIK^AaG;n zXbf1Inv}_=_@p-0#&RAH6^4n>y&nX9Nd9pB0{mwC2b-A*aO$r+bG_ zPgxt-rj`FT4h-yhqX?8cXGKK~R01izgM-Jm=AGNuQ^0l<=7@_+OXIw{iPh&(bFEzXR#; zsJjdC`Ka2^u(xf4v~(TT*W9wQkc1UsjfyuH@MI(gD0lbA`G5WhdagP@T|Qj5eXVqN z=LA>lNLM5t9o{YDG3jp8BEN7_#S>Yq z3epTQG~2M0@D#|728e&EBSY57rhBi95chfFziBZWQ@=_%2|4wfnJn*Th&l4S?aO+KM$eNn_?>?wc z39+)O^d20aLDM>T&e(urE`*DAaD4zu7t!8A%%b!H4})Ay$-xI2EqSVwro0%p+9fY*j`|0W+~wqcb29 z{iVSa6T|dw8l=vm*~4`-f0@|o$>*>)LZwOP-&U)S&`#_YVH@<$1rt%0+E;J)J1RD| zWb2sNH0z0AyrRrAvMcGyVPN?%?>8`f?z4yt5+ubA@iynNR2X%kSPowyCF;35_ zqVNlc^$bJz-uD02oKWgh%ow3#5Wbi0_220>G%PIX(HfY~-j`OZV}3A-f3P^kM<%AI zAT$DOa&qwW!QZ+%eC3HQ(Bk4EqfSdwQ4#&t_V(cLa1JoOu`zkI5{<743YfrJ8*leT zaq{pu^6O2qz!fi!Ty%+U85k@$ZoP%$jtD}8Kz8zSu?%asj?eP5TGI~uBwIR+8PxQu zH5R;|cw65D(yQa*$Nq`!nmn{f77z%DPTbj5`VARe%baaU*x8GXO9<|@%3Iysn7O~a zy1JITb9Q(TQ$YL;NgXN5rjVbXH)Mx=9vRB6YlKusMTtQpO$|HdX)>uqGHQCnG1OGq zHXM{R>b3by#wbXEy;G^YZ;{X{oc8}aAQ7VV$X z%ASwEe0A8`I_;TCOUb6nbrgzb#dR}6qN6kY1Y#_P-}cqZO8@wAw+-qmYI>_UE0OIF z)MEgrXb(+ut@60GNKQ`PKRGeh)AQr_s*OQSO}*l}?rjBtt+BD#;o;$TqqaU`#>Uiu z_zSbPww6T5BVNmb3U3kWP|Lx z@JokBpsLRdfX7V zGvh@2!HeCM$LBKy)(scOlO|_StI2zlYKYaVuf}V$E%`s+_iV@*%ALNIN+SF(du{L) zaW^+-Wca+%m?i)eoZ>%6Ov>n3Oi!{Uo~8}KlZ(^cT$b}yR4ib1Oj3i(B2~D*J-zzi zu+853^*xacACDQhI+sCgvZhCyqOlCqv-54r)AHp8ww@dsnwfM7?A)PYbL;E>GB&8$ zI=`#ox0O*I9b3Dz=FAvVDT#L)qspfX4vzAykMueJNJw10SL03AyM=x&RJMxFA+q@)iP zmX?cc-T;_ZdKK)JQ&v!rSzZoi(yBujXsa!WyeutEJy-B=dC872v$BOM*tW|xcYjs4 zWqE&c@^m<>Ub$=q`l;487LK|^iZMjM(sz8;M6cWO0onoA%)mf5HrQ!$Ui!BFBV{14 z1?vzQc@y;NFT0@`P>>9oc55rAvlDEnGw?4J)$er9+N@fga)RnbSyx*YmeXY^F;9VL zX(y2=+E3gGuRiz27AYy-O-UtX!{nHA{1O^Z< zh=Azm=YY%!Y=Z|!%VOmEWf_a`sQCE(MK~wT`{IO+;-=6Me8faL)|Am5D0F&a;*0J? zicJAToD3Y|2px;!GpoqX4!F5-VQ$>PHh78<>+SEauB?flzP_HhC%D(tQS|GzGBGr# z;{kb{Pn241iVEtm{G_9E5=bK{Eu#@)i}8Ae|9OE_nfxxgz9GdD-}Mi3|~DSdT!=etSz zu*T=MXIQ{(A)xE?`$v*U47z$%kfEDxFDIr z0MA8|QomN;eZ=jl*-=e{$uLskdt}au+OGr>t9}D}W1}!d<2m>!pcn85IX)=+C zoDJ_k+T~$sA8DP}9Y?5N>6-VwmwA9UF&tds(IJ>*72^oAYWpd5VDdxRD$A6VaL~)*ef)!Lc{NPn#AHU)<8-`n7bp#1sshm(_2@yCy@sazR4dit%jYEyIc z&!cmkJaMtV{YEWvZT0l__gtC>rRAvS*3$v+f{?EemytdOBo!4&qb-g%j5gp9j`#0N z80jgvKKZv?Ini5MLQnWiE->xfCD5thXaQCu0Kz%qXQy{29Ax|f03_i4?!h?PpH)UEe0+Rj{g)RP8qF>z z@nz46?N31^C5&Zl4;IHR0>GZ+Ier1WR}SDtFM1Slr#udwP%r&t$>2gq#rn zt4$kRLgJ(5u#u0zX0~etJ)OF?ciYroPJ(^n1S!7VD+AbaVtZ-3xnbB{_gVtX_sC?L=)*Fqe&4xduR&$h@zVY}%h)Y?=;e zh=_^ZU+$siR#rySd2*kciMl2i7YD;|XcubCamIxo8Ot)OTnwd<*M0X0ZI&8his#FW zkCM4KU7cXLih0{<>8G_(P{}4+4FQEE< zTtd094jqj-5yXBYF;@clQjGLX0o+?RmZ$_1h!cnxRDYOrb3CCojEGIU$LLqIy=9oe`w~Qhz$#%v2 zc7ll2@cv1`m;cav{Sg+@?NL@)#+H^>y#%j0Z_J!B?@1aa{yQK-d}OoQG^|qoq>?r&3=NkG?dkA&BkQw^FKIZhBP!1?)Ezw92H7)@4xG$%fO(3v1i{1bqzC9T^m zbMIRIi+z+6*boH@EX_PlRvwb>Ip?MdJ#DKJNPPTccf>RwYwJmJ(e+VCUt{P9Zj^nP z-*!KE+y%!ddh%+&k;SdEN#C;Vo4A?Y>B`@5KrgD+(;P}6%<5|8uPsG4SO;s4rs+7i zd7qkg>Mnwj&p~fOKvy#24QM%)h6)U|z-ndJ`z|m#$z$1o)AD@+qMNJKLs;RwR|%oRSn2ZhMs7g+EP?(n#@5FeXyc zNQYl+ENspZP`5E$0%XTmDiR_7tt9+hG;oXwE+U7;tZ|b>RfO3R@}B$`yLlzk{(-2E zA@uZWv{dl^0zV@0G12%4h9!;jzY zoyv}N!nJAfI3Wv7K@MIGSkJBkSA{-kMAmE7c7^}S-oXCU4<^ru$$h2NukuI6^)Lx6 zV(uQ@PiCqvsGa4o;&;NLl}yDU_sVp?s~3X1drXl$a7D!sfs=LkeWHTAPhaqj_aA1U zvI`*%oX)}1>*Lv+*t!lF6@6xYd_S3v*z3z?j zY*Kgxg|4?IctNOw&(F_T=E_u~^{^>G`+4XcS621b^N6Y8YH9#viHjc>HX0TtxV}bK zX_bL_UhAL!VRF5<78EvAwuNo@bOf?`^tQ(~_sOg8BB?5y8qqa$>i`{QYv zYoC|Z=<}^Yjkz+nZr89=Fn;swP%QwO?+dK!>&s&#H1HNJFT1FWh* zk}$axjaIu)=lE!38>0#MZN5*ucrQcJ;iG-DGT+@4Y?ueRiJ8k2=U#l$gP zoWm}vjC%lvJR`PiQ?>ZcK<+(@lS`~oB`iH2S2*>LMA>LCik+LF;Ox>6i>9X8+bKqT zpBlY4!0XX2E#Du;Qj;7WZUu&5hFn*lHr;4?AR{$6Lgk54xZhs_yE|RiJR+c5+x91m z-J^cB?HMcKs2;^dc~_oTgc1LAU$fLray0>4=aKCpvYTKZ&cZrbF4)K}j2%Zcf#Krf zZV#yEpNh*b0`t?mstgdxLDj+JD{hp`;1FmuDdn8OrpWpwP&GZ?t4SbQKR+`{f7{5y zW6;1QA3w2emB=6NMF4>3tSy6=qZzuJx>|j1NCP8f;CN!fmWA2IW}jr6s(Qa;Ztk%I z@7-aeW9sQqH+%~V*B@H~{EOl}6P@FIy^bSe2@pxf=qUB1)m{n{lUs`pQi~4$l9gam zOeZB57l|`(7g@%oi0K$?vNz%V{}tr`=)}P4>H!t z+_-0gE%W`Z`8~1Q#R6M;QNhPi8z`~5&Y+0R%D@2*E$`ZtC_vAP`_NKsE7<|61EOYk zcnJ#FNH3uj#}wDwl}0PVYat=8%gTPUgX6c=5YpLMlII=T#TL6y$8O;29z|9FBl z0YVa#OG!tLM1X7Ymd6;5i(6b>8uGljC^$IS3`-`mc(&aVNKRRtUHUHPzz&D^Ldb8; zOyEh{7M%)8iMlm4g4K0*CR$n^Tq4KtG&K#>E#4`b(1@7X_U~SAA*wB&JjuzuAD^As zfOKST(OOuznf0RL_w`p-=LP}P(4WDI%V>ULy3U>}P4)zJ|YW6q)Zwf17u0At*n?R45zr;=~i6*%HoaXshx15*5 zhsB}nkJw?wZm;CRT|PIn(Rj-5b|I}x?BO~1Jnu`&Z)+;|-qPnztO^HPLscz!)~fF< zp!op^$3eAq-<;*-lt$N0QQ;~xEQK@yDMwv$YXpRrnF%;Hwyb2hFGamw-<#8*OUpkA z33!g%)Dk0Pi~mrwv8g=t7hHL?KDAXlie@2ZmH~Vq1~NlzTxGKC-vuj1IoX|<>HJ12 z%D}34T;NeOdSV{@;8cFDs|Du#xM!(o^dNjc4ko4^jnba`X2Up751JXWn86=*ScDQa z!3mX-1W7FEJI4^nJ3$UYO(f&~-pRFfU;UHB{}7zwfQox-Z`6vJx$o$D%Cvs_#^Y!F zZ#Y)YxIJA41~!CxCXEj7-d+_aXZwPjKy@PGdmL8Hkx;f2=}OH;Vd@~c7fU4msbv{Z zhgDjz|C^P#)V602WgN>N%3;+S1GUR+DYBfrX)P+c<5BMJMtwcM4eR6d*zF%y_^>rK zLo1ieD#S$dzo!)2>;|>eiZxHG#4IopLAT$j z|Me3K-w&E&G6B`SHaw*Aw6|qi{eubkKDT26GcGQowk&{i zeDcdZk@H(M=sdapv1_NeYX|#oNC^h&JI6%bF@npByR*H_>$_(UK{6s_q=Bl%0t})! zJX3BQL-t8acKwKsBc)xt4PfnJlLl0QVye8nUsYG3ezebTS#UZn?i0Pm`eL5q%oEDh+zLb_z|7a^-kc}>kw z@R3EwOcxO;oTps4U(=DVueG%%k0^TEi2#x*^heTs50O_xMuehmsYnwH(y7zVQlirb< z4hvn@YY$3U%P~8E9ROYpsRMj_yqQ(1bw4z#UY%c;5IgnbVtdQ2tSow*S$k;o{{G2U z458JA$5&T#sA)!J4FCr$xT}S^{z#ypcr~}B>wuBL^D@oDy-mN~wy7$1)Ri&6%uIHU zrz9^V{q7hiVA=|b#^7JIVFm(7HgJiSu0r{|%obIDEET$oh_llMCxllCH1e3p+zS}N z=2_m6Yct=>RM&c`c0{k$-nApNtGPiW6EAvll@|NoBIXw?vDbC{hrmH@6iqHdHkrw; zDiuw#S)K9Bc)RW^;_H3Cn}p9~06kq@c?}VbAB;!qaV&KWiO0_4?>rsa44D{Mz z{$N`02WX@f0-3qG-A2?oJl<&<`rZaq_~e5_T^8(0lgq>X+$kr*U*2j9wIpGYwh^}W(hF4CWTuRj=`eCGqQOybPWLean5GXv7FA(3x@z+)WRFMrPiI zBzEu|baVnym1DkQ5u4)fbIpJi&}5@u)Fhrz#Kf+RT3ua8crrHhU88Q~)|r>XBJw|* zfO@JA#orxw2CnKPjDTJ@_VU6d3PaRcV@|@-(yV;W5KDS6;{I{!!u<vn2wWW+g^1C?$RD#3+Tz$;z#Kw=vaT@Vo5@m=wxr|Whgtj}{D0Jn(w9x+ z2R@SMtQ27UggGvRa(@rmwN@pRbD1f^D3VoisX68N1vk~SNInUZN=}#cu-74sB75oH z)xV`LXUJ&ndrM@UptNzdZ^j;T&Xl97H6uZ#B-u$F{<%d~zTh{uY!-DBDX$$I>IYPM z5SE=Oks{BfH7fN^my=_vXoNU1(BG5;V{Zb0*>;h}zbT); zY&JU1Flw+akA7Gd&;N?7Ob{bZ2Rtbk=HM?HVJ}xuw54m`=B0jx_(u_SJT0fs=GHqd zX7iClv%e|QINl-x7#YLA=C1YbVIz37&o$x^zIkvK=c|5D_)~#9<5vPDkSdB))-=i& zIho<0K-00i7e?mv^BY+WJ+s2==WNuYY@;tR1E2pjuPe<3GIs76x+(qXZNMP8bB(UX z^W)e~ZT61e_W#tcViT#zq2f&#pCNLCFg2xje*t3_o@@;lb;b$ObjfOT-$w=xOr8sb-u5He=haoYmC@LNH3ov|X-;)eUZ zl=~A~Ut$-#e>foV`W@2kny0M>G_d^9>~qV^Y!sQ!(h?26P8XN|M0N*-+xyR@8#M=(gPY3(^ADY?=3PP7{nxnS1fH=zHd3(A$NSpDuyc`oQZm=g$E~Vk+ z;b?GVN=pg}vOiXGlcgPcAPHpRP8$KOE%K){u6&wm)iD zRaY-o=p$f?JhA?RwpdzV@Bjl}k0zOw=HI+m@Lm1Go->#2~ zJavoc-M0JNEY*aWrn>`3CAXrgs)Vnv$iH|hat|a&S4*dBttkLC2(*>D9hKG>6c%<` zabJchcmV3N!vSKzPpS2x-Z2j;2eHjzfR)~mFFk(O{M>e-Ig8^GXtzRAu#1#JK?JYzT z7v_1^nutv9^?P?X5ePh3r;SiD3^Kui_1EWh%u@Ci8$iMbFgjM;#FdqmUi)I?*;Q4s z3f_mxH8nMQ?2v|s!{Ylf*S79|JR^>RAeNe^FJMFGo0z^yLqp$v?uT`^T$&df>?vJW zoe99g51&N08VecT^p`6?7!Qg6_EyH55U-n0cg40 z_xWhWXMgQ-X&kc|8Cl&GW+Bc!v3{GfhXwa{3JOz9iU9p6*goiFH==Ur=s_?yjTob%qPmfy`P1Y{Fpz;D&=F)$ zSFBdrWm5g7jb6^miqWL{jAP)o?N+D_pqeiO$)Eh@=G4}F9&fbAG zuxlJ))b_rol^9u^bjXz&I=gS}T<~ZmyY>)TT3RvyJhJ_&^L%dvOWOyLmpj9e(b3+A z>mx(p``#lksQ~`C&@E`iuKT?`;AQ&(r}-b?@kPDvHba1Y61^qlda{J4>vi7y>a`ZM z(sOZq6vf-RWnTtWzexV$)pws>Jb%Q-!*d%l?`blNG$7Uh>U*KXss>o?tSWfRxstHp z;NYzc+eT0{;1%dCYBd4Z)7RvDWB~lTfZ;KZgOd{`Bu8Q*B7@l?RW=R|9ApfVPy}R* zo)p_QLcqQH9FVlm_vGYc z!K$S}nqlkXWCaD){pS2QEGn&FZmbvH;cd#jx#ZomGtOJqoQW;J8#+faNNZ}+=VxaP zZEa=m15?$N*I$3U-F|;j^2zIIz&X!j6(0_=FAmXiEiNtwmRd(XpSPEvZI-K*q^6XV zm8B&nCbnqhN==~md;0rE)8=KSp*TjF?`k4FUMR$2uZ*T9M zJ3BV+XnXeTS;eQ5>Wib+9s^d!0>IJt{`dR;+X3sgkeueJUP~*!Ty#$^EZi6|clPYr z-OH9O%dmXC<9E?cnc3#~dfSSvtgRoPvwq)`zwhU=8Mk*v0F7I;aiig^*|YUu{bmwB z*L7O-S<;$ADbj4`l7Ktq3YKyjSH{Z2;_v4kz z=lu$9KfU(IN8lEi!a_qfHnybu`)YwjS$*Jr`5&L9w5Oih|LglH|LbQNuQ}V$Uefi=7Oi6qG|N9NpFArQu=dGioa|GBd6%||_ zE&+`5J>PC+8=9Di7#ka3ymwE|+1c69%1TODSQx~cJ9jQ9nZDoqJ?_n|t*dXa&6+c( zr~F=}IjO0fA80@J)cf#YtQ12e04249~5pse!X7b{d4NYix({_J|u)_ zO^w)`=34^{hl{}T3FK=&IDRa?nq>;ieT&wv)m^v$->(@nXLjD*UG5$qA8%Ox379~S zfB8}pQ+(F6@Xd{lpqQ_Iw^KcD-_K_^Hl=!l@{+IlT@m2OLFZiS@?+EE>mvWyuHXCZ z){X7?@jiZjV)Jiay($XKJm22kmFDH;y?FPoY&)N9)VA2Gw{A&I^-{I_`{gn)3x2%p zZ+~=U@bX8%i0e~!?>q7$a`|7T>GNjmFlE{Rm3%y*+V>N%eM z^UfbSbf{}z9#6qWPVt19z!bR6;>6n+U|8CGK4U!nMHj=r(_w-ee0IjzJ(tu@2WH0o zHP24BYD_yYc+LFp|D4B63`-Pa7#d7kxEUt2 z6)-Yf63}CCkUGT5;NiT3fgzJaoI!#2;i#g~AQ+OV;E!~8{|TQPKUc^DkI`fBboFyt I=akR{0ByV$?EnA( literal 0 HcmV?d00001 diff --git a/setup_guides/sdf/images/base-bot_3.png b/setup_guides/sdf/images/base-bot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..74f3a2dd04c0c64a42352ee5d9013b3ade80c50e GIT binary patch literal 84157 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≫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

!LRSk-Lo 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 K|a{>!}aMw(eLEemOVj>ZgD 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∨-n}SDiN_Dk*e=Q;wI>d9*ijpKfIP+eFJa^UU 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 E56Q?0OaK4? literal 0 HcmV?d00001 diff --git a/setup_guides/sdf/images/base-bot_5.png b/setup_guides/sdf/images/base-bot_5.png new file mode 100644 index 0000000000000000000000000000000000000000..97dcaf8bc62f293a5a40848a7e5ad38026931d61 GIT binary patch literal 103764 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%0AB}Z#(eAJtwFX^RU_OIC(tuSJ%jKi_G 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 tW(i~COtVV Date: Wed, 8 Jan 2025 18:20:21 +0530 Subject: [PATCH 3/6] Apply suggestions from code review Co-authored-by: Steve Macenski Signed-off-by: Aarav Gupta --- setup_guides/index.rst | 3 ++- setup_guides/sdf/setup_sdf.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/setup_guides/index.rst b/setup_guides/index.rst index ebb8511b8..94a30d5fa 100644 --- a/setup_guides/index.rst +++ b/setup_guides/index.rst @@ -20,7 +20,8 @@ To guide you through the first-time setup of your robot, we will be tackling the - Select and set up planner and controller navigation plugins for your robot's navigation tasks - Lifecycle node management for easy bringup of other related sensors or nodes -There are tutorials below for the Gazebo Classic simulator and the Gazebo simulator. Gazebo Classic is used with ROS2 Humble and all previous ROS distributions, while Gazebo (Gazebo Harmonic or newer) is used with ROS2 Jazzy or newer. +There are tutorials below for the Gazebo Classic simulator and the Gazebo simulator. Gazebo Classic is used with ROS 2 Humble and previous ROS distributions, while Gazebo (Gazebo Harmonic or newer) is used with ROS 2 Jazzy or newer. + **Table of Contents:** diff --git a/setup_guides/sdf/setup_sdf.rst b/setup_guides/sdf/setup_sdf.rst index eb10eac61..5cb9c1f04 100644 --- a/setup_guides/sdf/setup_sdf.rst +++ b/setup_guides/sdf/setup_sdf.rst @@ -1,4 +1,4 @@ .. _sdf_handson: -Setting Up The SDF +Setting Up The SDF - Gazebo ####################### From 2f929644a5a334709b1bbfea187c43eb139d4e0f Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Wed, 8 Jan 2025 18:45:56 +0530 Subject: [PATCH 4/6] Update Table of Contents - from code review Signed-off-by: Aarav Gupta --- setup_guides/index.rst | 37 ++++++++++++++++++++++++++++++++-- setup_guides/sdf/setup_sdf.rst | 2 +- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/setup_guides/index.rst b/setup_guides/index.rst index 94a30d5fa..bb6e42b03 100644 --- a/setup_guides/index.rst +++ b/setup_guides/index.rst @@ -23,20 +23,53 @@ To guide you through the first-time setup of your robot, we will be tackling the There are tutorials below for the Gazebo Classic simulator and the Gazebo simulator. Gazebo Classic is used with ROS 2 Humble and previous ROS distributions, while Gazebo (Gazebo Harmonic or newer) is used with ROS 2 Jazzy or newer. -**Table of Contents:** +Table of Contents +================= + +.. raw:: html + +

+ .. note:: These tutorials are not meant to be full tuning and configuration guides since they only aim to help you get your robot up and running with a basic configuration. For more detailed discussions and guides on how to customize and tune Nav2 for your robot, head on to the :ref:`configuration` section. diff --git a/setup_guides/sdf/setup_sdf.rst b/setup_guides/sdf/setup_sdf.rst index 5cb9c1f04..9b3bfc7ec 100644 --- a/setup_guides/sdf/setup_sdf.rst +++ b/setup_guides/sdf/setup_sdf.rst @@ -1,4 +1,4 @@ .. _sdf_handson: Setting Up The SDF - Gazebo -####################### +########################### From 4209601c369b2d292a7dd8507cf9e4f25dc5bac5 Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Wed, 8 Jan 2025 19:25:14 +0530 Subject: [PATCH 5/6] Complete tutorial for setting up SDF Signed-off-by: Aarav Gupta --- setup_guides/sdf/setup_sdf.rst | 497 +++++++++++++++++++++++++++++++ setup_guides/urdf/setup_urdf.rst | 10 +- 2 files changed, 503 insertions(+), 4 deletions(-) diff --git a/setup_guides/sdf/setup_sdf.rst b/setup_guides/sdf/setup_sdf.rst index 9b3bfc7ec..983cfe51b 100644 --- a/setup_guides/sdf/setup_sdf.rst +++ b/setup_guides/sdf/setup_sdf.rst @@ -2,3 +2,500 @@ Setting Up The SDF - Gazebo ########################### + +.. note:: You can also setup a URDF description, see :ref:`urdf_handson`. It is recommended to setup a SDF instead of URDF if you are going to be using Gazebo. There is no need to setup both URDF and SDF, only one of them is needed. + +For this guide, we will be creating the SDF (Simulation Description Format) file for a simple differential drive robot to give you hands-on experience on working with SDF. We will also setup the robot state publisher and visualize our model in RVIZ. Lastly, we will be adding some kinematic properties to our robot SDF to prepare it for simulation purposes. These steps are necessary to represent all the sensor, hardware, and robot transforms of your robot for use in navigation. + +.. seealso:: + The complete source code in this tutorial can be found in `navigation2_tutorials `_ repository under the ``sam_bot_description`` package. Note that the repository contains the full code after accomplishing all the tutorials in this guide. + +SDF and the Robot State Publisher +================================== + +As discussed in the previous tutorial, one of the requirements for Navigation2 is the transformation from ``base_link`` to the various sensors and reference frames. This transformation tree can range from a simple tree with only one link from the ``base_link`` to ``laser_link`` or a tree comprised of multiple sensors located in different locations, each having their own coordinate frame. Creating multiple publishers to handle all of these coordinate frame transformations may become tedious. Therefore, we will be making use of the Robot State Publisher package to publish our transforms. + +The Robot State Publisher is a package of ROS 2 that interacts with the tf2 package to publish all of the necessary transforms that can be directly inferred from the geometry and structure of the robot. We need to provide it with the correct SDF and it will automatically handle publishing the transforms. This is very useful for complex transformations but it is still recommended for simpler transform trees. + +SDF is a description format primarly used by the Gazebo simulator to define various properties of a robot or other models and to also define a Gazebo world. In this tutorial we are going to be looking at how we can describe a robot using SDF. + +.. seealso:: + If you want to learn more about the SDF and the Robot State Publisher, we encourage you to have a look at the official `SDFormat Website `__ and `Robot State Publisher Documentation `__ + +Setting Up the Environment +========================== + +In this guide, we are assuming that you are already familiar with ROS 2 and how to setup your development environment, so we'll breeze through the steps in this section. + +Let's begin by installing some additional ROS 2 packages that we will be using during this tutorial. + +.. code-block:: shell + + sudo apt install ros--joint-state-publisher-gui + sudo apt install ros--xacro + sudo apt install ros--sdformat_urdf + +Next, create a directory for your project, initialize a ROS 2 workspace and give your robot a name. For ours, we'll be calling it ``sam_bot``. + +.. code-block:: shell + + ros2 pkg create --build-type ament_cmake sam_bot_description + +Writing the SDF +================ + +Now that we have our project workspace set up, let's dive straight into writing the SDF. Below is an image of the robot we will be trying to build. + +.. image:: images/base-bot_1.png + :width: 49% +.. image:: images/base-bot_2.png + :width: 49% + +| + + To get started, create a file named ``sam_bot_description.sdf`` under ``src/description`` and input the following as the initial contents of the file. + +.. code-block:: xml + + + + + + + + + +.. note:: The following code snippets should be placed within the ```` tags. We suggest to add them in the same order as introduced in this tutorial. + +Next, let us define some constants using Xacro properties that will be reused throughout the SDF. + +.. code-block:: xml + + + + + + + + + + + + + + +Here is a brief discussion on what these properties will represent in our sdf. The ``base_*`` properties all define the size of the robot's main chassis. The ``wheel_radius`` and ``wheel_width`` define the shape of the robot's two back wheels. The ``wheel_ygap`` adjusts the gap between the wheel and the chassis along the y-axis whilst ``wheel_zoff`` and ``wheel_xoff`` position the back wheels along the z-axis and x-axis appropriately. Lastly, the ``caster_xoff`` positions the front caster wheel along the x-axis. + +Let us then define our ``base_link`` - this link will be a large box and will act as the main chassis of our robot. In SDF, a ``link`` element describes a rigid part or component of our robot. The robot state publisher then utilizes these definitions to determine coordinate frames for each link and publish the transformations between them. + +We will also be defining some of the link's visual properties which can be used by tools such as Gazebo and Rviz to show us a 3D model of our robot. Amongst these properties are ```` which describes the link's shape and ```` which describes it's color. + +For the code block below, we access the ``base`` properties from the robot constants sections we defined before using the ``${property}`` syntax. In addition, we also set the material color of the main chassis. Note that we set these parameters under the ```` tag so they will only be applied as visual parameters which dont affect any collision or physical properties. + +.. code-block:: xml + + + + true + + + + ${base_length} ${base_width} ${base_height} + + + + 0 1 1 1 + 0 1 1 1 + + + + +Next, let us define a ``base_footprint`` link. The ``base_footprint`` link is a virtual (non-physical) link which has no dimensions or collision areas. Its primary purpose is to enable various packages determine the center of a robot projected to the ground. For example, Navigation2 uses this link to determine the center of a circular footprint used in its obstacle avoidance algorithms. Again, we set this link with no dimensions and to which position the robot's center is in when it is projected to the ground plane. + +After defining our base_link, we then add a joint to connect it to ``base_link``. In SDF, a ``joint`` element describes the kinematic and dynamic properties between coordinate frames. For this case, we will be defining a ``fixed`` joint with the appropriate offsets to place our ``base_footprint`` link in the proper location based on the description above. Remember that we want to set our base_footprint to be at the ground plane when projected from the center of the main chassis, hence we get the sum of the ``wheel_radius`` and the ``wheel_zoff`` to get the appropriate location along the z-axis. + +.. code-block:: xml + + + + + + + + base_link + base_footprint + 0.0 0.0 ${-(wheel_radius+wheel_zoff)} 0 0 0 + + +Now, we will be adding two large drive wheels to our robot. To make our code cleaner and avoid repetition, we will make use of macros to define a block of code that will be repeated with differing parameters. Our macro will have 3 params: ``prefix`` which simply adds a prefix to our link and joint names, and ``x_reflect`` and ``y_reflect`` which allows us to flip the positions of our wheels with respect to the x and y axis respectively. Within this macro, we can also define the visual properties of a single wheel. Lastly, we will also define a ``revloute`` joint with infinite limits (a continuous joint should have been used, but it isn't supported by Gazebo at the time of writing) to allow our wheels to freely rotate about an axis. This joint also connects our wheel to the ``base_link`` at the appropriate location. + +At the end of this code block, we will be instantiating two wheels using the macro we just made through the ``xacro:wheel`` tags. Note that we also define the parameters to have one wheel on both sides at the back of our robot. + +.. code-block:: xml + + + + + + + + 0 0 0 ${pi/2} 0 0 + + + ${wheel_radius} + ${wheel_width} + + + + 0.3 0.3 0.3 1.0 + 0.7 0.7 0.7 1.0 + + + + + + base_link + ${prefix}_link + ${x_reflect*wheel_xoff} ${y_reflect*(base_width/2+wheel_ygap)} ${-wheel_zoff} 0 0 0 + + 0 1 0 + + -inf + inf + + + + + + + + +Next, we will be adding a caster wheel at the front of our robot. We will be modelling this wheel as a sphere to keep things simple. Again, we define the wheel's geometry, material and the joint to connect it to ``base_link`` at the appropriate location. + +.. code-block:: xml + + + + + + + + + ${(wheel_radius+wheel_zoff-(base_height/2))} + + + + 0 1 1 1 + 0 1 1 1 + + + + + + base_link + front_caster + ${caster_xoff} 0.0 ${-(base_height/2)} 0 0 0 + + +And that's it! We have built a SDF for a simple differential drive robot. In the next section, we will focus on building the ROS Package containing our SDF, launching the robot state publisher, and visualizing the robot in RVIz. + +Build and Launch +================ + +Let's start this section by adding some dependencies that will be required once we build this project. Open up the root of your project directory and add the following lines to your ``package.xml`` (preferably after the ```` tag) + +.. code-block:: xml + + joint_state_publisher + joint_state_publisher_gui + robot_state_publisher + rviz + sdformat_urdf + xacro + +Next, let us create our launch file. Launch files are used by ROS 2 to bring up the necessary nodes for our package. From the root of the project, create a directory named ``launch`` and a ``display.launch.py`` file within it. The launch file below launches a robot publisher node in ROS 2 that uses our SDF to publish the transforms for our robot. In addition, the launch file also automatically launches RVIZ so we can visualize our robot as defined by the SDF. Copy and paste the snippet below into your ``display.launch.py`` file. + +.. code-block:: python + + from launch import LaunchDescription + from launch.actions import DeclareLaunchArgument + from launch.conditions import IfCondition, UnlessCondition + from launch.substitutions import Command, LaunchConfiguration + from launch_ros.actions import Node + from launch_ros.substitutions import FindPackageShare + import os + + def generate_launch_description(): + pkg_share = FindPackageShare(package='sam_bot_description').find('sam_bot_description') + default_model_path = os.path.join(pkg_share, 'src', 'description', 'sam_bot_description.sdf') + default_rviz_config_path = os.path.join(pkg_share, 'rviz', 'config.rviz') + + robot_state_publisher_node = Node( + package='robot_state_publisher', + executable='robot_state_publisher', + parameters=[{'robot_description': Command(['xacro ', LaunchConfiguration('model')])}] + ) + joint_state_publisher_node = Node( + package='joint_state_publisher', + executable='joint_state_publisher', + name='joint_state_publisher', + parameters=[{'robot_description': Command(['xacro ', default_model_path])}], + condition=UnlessCondition(LaunchConfiguration('gui')) + ) + joint_state_publisher_gui_node = Node( + package='joint_state_publisher_gui', + executable='joint_state_publisher_gui', + name='joint_state_publisher_gui', + condition=IfCondition(LaunchConfiguration('gui')) + ) + rviz_node = Node( + package='rviz2', + executable='rviz2', + name='rviz2', + output='screen', + arguments=['-d', LaunchConfiguration('rvizconfig')], + ) + + return LaunchDescription([ + DeclareLaunchArgument(name='gui', default_value='True', description='Flag to enable joint_state_publisher_gui'), + DeclareLaunchArgument(name='model', default_value=default_model_path, description='Absolute path to robot model file'), + DeclareLaunchArgument(name='rvizconfig', default_value=default_rviz_config_path, description='Absolute path to rviz config file'), + joint_state_publisher_node, + joint_state_publisher_gui_node, + robot_state_publisher_node, + rviz_node + ]) + +.. seealso:: For more information regarding the launch system in ROS 2, you can have a look at the official `ROS 2 Launch System Documentation `__ + +To keep things simpler when we get to visualization, we have provided an RVIz config file that will be loaded when we launch our package. This configuration file initializes RVIz with the proper settings so you can view the robot immediately once it launches. Create a directory named ``rviz`` in the root of your project and a file named ``config.rviz`` under it. Place the following as the contents of ``config.rviz`` + +.. code-block:: shell + + Panels: + - Class: rviz_common/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /RobotModel1/Links1 + - /TF1 + Splitter Ratio: 0.5 + Tree Height: 557 + Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz_default_plugins/Grid + Color: 160; 160; 164 + Enabled: true + Name: Grid + - Alpha: 0.6 + Class: rviz_default_plugins/RobotModel + Description Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_description + Enabled: true + Name: RobotModel + Visual Enabled: true + - Class: rviz_default_plugins/TF + Enabled: true + Name: TF + Marker Scale: 0.3 + Show Arrows: true + Show Axes: true + Show Names: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Fixed Frame: base_link + Frame Rate: 30 + Name: root + Tools: + - Class: rviz_default_plugins/Interact + Hide Inactive Objects: true + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + Transformation: + Current: + Class: rviz_default_plugins/TF + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Name: Current View + Target Frame: + Value: Orbit (rviz) + Saved: ~ + +Lastly, let us modify the ``CMakeLists.txt`` file in the project root directory to include the files we just created during the package installation process. Add the following snippet to ``CMakeLists.txt`` file preferably above the ``if(BUILD_TESTING)`` line: + +.. code-block:: shell + + install( + DIRECTORY src launch rviz + DESTINATION share/${PROJECT_NAME} + ) + +We are now ready to build our project using colcon. Navigate to the project root and execute the following commands. + +.. code-block:: shell + + colcon build + . install/setup.bash + +After a successful build, execute the following commands to install the ROS 2 package and launch our project. + +.. code-block:: shell + + ros2 launch sam_bot_description display.launch.py + +ROS 2 should now launch a robot publisher node and start up RVIZ using our SDF. We'll be taking a look at our robot using RVIZ in the next section. + +Visualization using RVIZ +======================== + +RVIZ is a robot visualization tool that allows us to see a 3D model of our robot using its SDF. Upon a successful launch using the commands in the previous section, RVIZ should now be visible on your screen and should look like the image below. You may need to move around and manipulate the view to get a good look at your robot. + +.. image:: images/base-bot_3.png + +As you can see, we have successfully created a simple differential drive robot and visualized it in RVIz. It is not necessary to visualize your robot in RVIz, but it's a good step in order to see if you have properly defined your SDF. This helps you ensure that the robot state publisher is publishing the correct transformations. + +You may have noticed that another window was launched - this is a GUI for the joint state publisher. The joint state publisher is another ROS 2 package which publishes the state for our non-fixed joints. You can manipulate this publisher through the small GUI and the new pose of the joints will be reflected in RVIz. Sliding the bars for any of the two wheels will rotate these joints. You can see this in action by viewing RVIZ as you sweep the sliders in the Joint State Publisher GUI. + +.. image:: images/base-bot_4.png + +.. note:: We won't be interacting much with this package for Nav2, but if you would like to know more about the joint state publisher, feel free to have a look at the official `Joint State Publisher Documentation `_. + +At this point, you may already decide to stop with this tutorial since we have already achieved our objective of creating a SDF for a simple differential drive robot. The robot state publisher is now publishing the transforms derived from the SDF. These transforms can now be used by other packages (such as Nav2) to get information regarding the shape and structure of your robot. However, to properly use this SDF in a simulation, we need physical properties so that the robot reacts to physical environments like a real robot would. The visualization fields are only for visualization, not collision, so your robot will drive straight through obstacles. We'll get into adding these properties in our SDF in the next section. + +Adding Physical Properties +========================== + +As an additional section to this guide, we will be modifying our current SDF to include some of our robot's kinematic properties. This information may be used by physics simulators such as Gazebo to model and simulate how our robot will act in the virtual environment. + +Let us first define macros containing the inertial properties of the geometric primitives we used in our project. Place the snippet below after our constants section in the SDF: + +.. code-block:: xml + + + + + 0 0 0 ${pi/2} 0 ${pi/2} + ${m} + + ${(m/12) * (h*h + d*d)} + 0.0 + 0.0 + ${(m/12) * (w*w + d*d)} + 0.0 + ${(m/12) * (w*w + h*h)} + + + + + + + 0 0 0 ${pi/2} 0 0 + ${m} + + ${(m/12) * (3*r*r + h*h)} + 0.0 + 0.0 + ${(m/12) * (3*r*r + h*h)} + 0.0 + ${(m/2) * (r*r)} + + + + + + + + ${m} + + ${(2/5) * m * (r*r)} + 0.0 + 0.0 + ${(2/5) * m * (r*r)} + 0.0 + ${(2/5) * m * (r*r)} + + + + +Let us start by adding collision areas to our ``base_link`` using the ```` tag. We will also be using the box_inertia macro we defined before to add some inertial properties to our ``base_link``. Include the following code snippet within ```` tag of base_link in our SDF. + +.. code-block:: xml + + + + + ${base_length} ${base_width} ${base_height} + + + + + + +Next, let us do the same for our wheel macros. Include the following code snippet within the ```` tag of our wheel macros in our SDF. + +.. code-block:: xml + + + 0 0 0 ${pi/2} 0 0 + + + ${wheel_radius} + ${wheel_width} + + + + + + +Lastly, let us add the similar properties to our spherical caster wheels. Include the following in the ```` tag of our caster wheel in the SDF. + +.. code-block:: xml + + + + + ${(wheel_radius+wheel_zoff-(base_height/2))} + + + + + + +.. note:: We did not add any inertial or collision properties to our ``base_footprint`` link since this is a virtual and non-physical link. + +Build your project and then launch RViz using the same commands in the previous section. + +.. code-block:: shell + + colcon build + . install/setup.bash + ros2 launch sam_bot_description display.launch.py + +You can verify whether you have properly set up the collision areas by enabling ``Collision Enabled`` under ``RobotModel`` on the left pane (it may be easier to see if you also turn off ``Visual Enabled``). For this tutorial we defined a collision area which is similar to our visual properties. Note that this may not always be the case since you may opt for simpler collision areas based on how your robot looks. + +.. image:: images/base-bot_5.png + +For now, we will have to stop here since we will need to set up a lot more components to actually start simulating our robot in Gazebo. We will be coming back to this project during the course of these setup guides, and we will eventually see our robot move in a virtual environment once we get to the simulation sections. The major components that are missing from this work are the simulation plugins required to mimic your robot controllers. We will introduce those and add them to this SDF in the appropriate section. + +Conclusion +========== + +And that's it. In this tutorial, you have successfully created a SDF for a simple differential drive robot. You have also set up a ROS 2 project that launches a robot publisher node, which then uses your SDF to publish the robot's transforms. We have also used RViz to visualize our robot to verify whether our SDF is correct. Lastly, we have added in some physical properties to our SDF in order to prepare it for simulation. + +Feel free to use this tutorial as a template for your own robot. Remember that your main goal is to publish the correct transforms from your base_link up to your sensor_frames. Once these have been setup, then you may proceed to our other setup guides. diff --git a/setup_guides/urdf/setup_urdf.rst b/setup_guides/urdf/setup_urdf.rst index c836e9fef..c131db767 100644 --- a/setup_guides/urdf/setup_urdf.rst +++ b/setup_guides/urdf/setup_urdf.rst @@ -3,6 +3,8 @@ Setting Up The URDF ################### +.. note:: You can also setup a SDF description if using Gazebo (not Gazebo Classic), see :ref:`sdf_handson`. It is recommended to setup a SDF instead of URDF if you are going to be using Gazebo. There is no need to setup both URDF and SDF, only one of them is needed. + For this guide, we will be creating the Unified Robot Description Format (URDF) file for a simple differential drive robot to give you hands-on experience on working with URDF. We will also setup the robot state publisher and visualize our model in RVIZ. Lastly, we will be adding some kinematic properties to our robot URDF to prepare it for simulation purposes. These steps are necessary to represent all the sensor, hardware, and robot transforms of your robot for use in navigation. .. seealso:: @@ -211,8 +213,8 @@ Next, let us create our launch file. Launch files are used by ROS 2 to bring up def generate_launch_description(): pkg_share = FindPackageShare(package='sam_bot_description').find('sam_bot_description') - default_model_path = os.path.join(pkg_share, 'src/description/sam_bot_description.urdf') - default_rviz_config_path = os.path.join(pkg_share, 'rviz/urdf_config.rviz') + default_model_path = os.path.join(pkg_share, 'src', 'description', 'sam_bot_description.urdf') + default_rviz_config_path = os.path.join(pkg_share, 'rviz', 'config.rviz') robot_state_publisher_node = Node( package='robot_state_publisher', @@ -242,7 +244,7 @@ Next, let us create our launch file. Launch files are used by ROS 2 to bring up return LaunchDescription([ DeclareLaunchArgument(name='gui', default_value='True', description='Flag to enable joint_state_publisher_gui'), - DeclareLaunchArgument(name='model', default_value=default_model_path, description='Absolute path to robot urdf file'), + DeclareLaunchArgument(name='model', default_value=default_model_path, description='Absolute path to robot model file'), DeclareLaunchArgument(name='rvizconfig', default_value=default_rviz_config_path, description='Absolute path to rviz config file'), joint_state_publisher_node, joint_state_publisher_gui_node, @@ -252,7 +254,7 @@ Next, let us create our launch file. Launch files are used by ROS 2 to bring up .. seealso:: For more information regarding the launch system in ROS 2, you can have a look at the official `ROS 2 Launch System Documentation `__ -To keep things simpler when we get to visualization, we have provided an RVIz config file that will be loaded when we launch our package. This configuration file initializes RVIz with the proper settings so you can view the robot immediately once it launches. Create a directory named ``rviz`` in the root of your project and a file named ``urdf_config.rviz`` under it. Place the following as the contents of ``urdf_config.rviz`` +To keep things simpler when we get to visualization, we have provided an RVIz config file that will be loaded when we launch our package. This configuration file initializes RVIz with the proper settings so you can view the robot immediately once it launches. Create a directory named ``rviz`` in the root of your project and a file named ``config.rviz`` under it. Place the following as the contents of ``config.rviz`` .. code-block:: shell From 8d831d25a32fac5593e83ee26bc8e30de002b951 Mon Sep 17 00:00:00 2001 From: Aarav Gupta Date: Wed, 8 Jan 2025 19:30:59 +0530 Subject: [PATCH 6/6] Codespell fix Signed-off-by: Aarav Gupta --- setup_guides/sdf/setup_sdf.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup_guides/sdf/setup_sdf.rst b/setup_guides/sdf/setup_sdf.rst index 983cfe51b..26a767920 100644 --- a/setup_guides/sdf/setup_sdf.rst +++ b/setup_guides/sdf/setup_sdf.rst @@ -17,7 +17,7 @@ As discussed in the previous tutorial, one of the requirements for Navigation2 i The Robot State Publisher is a package of ROS 2 that interacts with the tf2 package to publish all of the necessary transforms that can be directly inferred from the geometry and structure of the robot. We need to provide it with the correct SDF and it will automatically handle publishing the transforms. This is very useful for complex transformations but it is still recommended for simpler transform trees. -SDF is a description format primarly used by the Gazebo simulator to define various properties of a robot or other models and to also define a Gazebo world. In this tutorial we are going to be looking at how we can describe a robot using SDF. +SDF is a description format primarily used by the Gazebo simulator to define various properties of a robot or other models and to also define a Gazebo world. In this tutorial we are going to be looking at how we can describe a robot using SDF. .. seealso:: If you want to learn more about the SDF and the Robot State Publisher, we encourage you to have a look at the official `SDFormat Website `__ and `Robot State Publisher Documentation `__ @@ -387,7 +387,7 @@ Let us first define macros containing the inertial properties of the geometric p .. code-block:: xml - + 0 0 0 ${pi/2} 0 ${pi/2}