From dbbec0a8ef13e6fe647cd399d7896bef5ea6a4b5 Mon Sep 17 00:00:00 2001 From: vinzenzm Date: Tue, 14 Jan 2025 13:36:35 +0100 Subject: [PATCH 1/2] Started integration of teb_local_planner. Dockerfile now automatically installs the teb_local_planner. Started on documentation of usage. --- build/docker/agent/Dockerfile | 8 +++++- doc/acting/teb_local_planner.md | 43 +++++++++++++++++++++++++++++++ doc/assets/acting/single_teb.png | Bin 0 -> 107767 bytes 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 doc/acting/teb_local_planner.md create mode 100644 doc/assets/acting/single_teb.png diff --git a/build/docker/agent/Dockerfile b/build/docker/agent/Dockerfile index ec491689d..0b46ed50c 100644 --- a/build/docker/agent/Dockerfile +++ b/build/docker/agent/Dockerfile @@ -71,7 +71,7 @@ RUN apt-get update && apt-get install -y \ ros-noetic-rviz ros-noetic-rqt ros-noetic-pcl-ros ros-noetic-rosbridge-suite ros-noetic-rosbridge-server \ ros-noetic-robot-pose-ekf ros-noetic-ros-numpy \ ros-noetic-py-trees-ros ros-noetic-rqt-py-trees ros-noetic-rqt-reconfigure \ - ros-noetic-ros-pytest + ros-noetic-ros-pytest SHELL ["/bin/bash", "-c"] @@ -102,6 +102,12 @@ RUN source /opt/ros/noetic/setup.bash && \ ENV CARLA_ROS_BRIDGE_ROOT=/catkin_ws/src/ros-bridge +# Install teb_local_planner as well as teb_planner_pa +RUN sudo apt-get install -y \ + ros-noetic-teb-local-planner +ARG TEB_PLANNER_PA_GITHUB_URL=https://github.com/TUC-ProAut/ros_teb_planner.git +RUN git clone $TEB_PLANNER_PA_GITHUB_URL src/ros_teb_planner + # avoid python warnings about missing bin directory in PATH # (as we're not running as root, pip installs into ~/.local/bin) ENV PATH=$PATH:/home/$USERNAME/.local/bin diff --git a/doc/acting/teb_local_planner.md b/doc/acting/teb_local_planner.md new file mode 100644 index 000000000..b53440d9a --- /dev/null +++ b/doc/acting/teb_local_planner.md @@ -0,0 +1,43 @@ + +# TEB Local Planner (Timed elastic bands) + +**Summary**: This page provides an overview on what the Timed elastic bands local planner is. +How it works and the way it is integrated into our code. + +- [Timed elastic bands](#timed-elastic-bands) +- [Integration with the PAF project](#integration-with-the-paf-project) + - [Ros TEB Planner](#ros-teb-planner) + - [Interface package](#interface-package) +- [About move\_base](#about-move_base) + +## Timed elastic bands + +![MISSING: TEB-Example](./../assets/acting/single_teb.png) + +Timed elastic bands + +## Integration with the PAF project + +How we integrated + +### [Ros TEB Planner](http://wiki.ros.org/teb_local_planner) + +What and how the teb planner works + +### [Interface package](https://github.com/TUC-ProAut/ros_teb_planner) + +Why do we need the interface packaage + +## About [move_base](http://wiki.ros.org/move_base) + +move_base is a ros package providing a full navigation stack. +The planning in move_base is separated into two stages: global and local planning. +The concept behind the local planning scheme is such that it can be easily expanded with custom planners. +[base_local_planner](http://wiki.ros.org/base_local_planner) acts a base implementation. +Several different local planners where implemented into this setup such as the [dwa_local_planner](http://wiki.ros.org/dwa_local_planner), or trajectory rollout. +But also the [teb_local_planner](http://wiki.ros.org/teb_local_planner) we are using. +An early goal was to integrate the full move_base interface into our code. +However the complete stack relies heavily on bitmapped costmaps which would be constantly changing in our situation. Also we are only interested in the local_planner which is not seperable from move_base (at least not without major efforts). +Because the teb_local_planner was already one of the preferred local_planners and a direct ros-interface ([ros_teb_planner](https://github.com/TUC-ProAut/ros_teb_planner)) was already available we decided to focus on this planner. +It is therefore not possible to exchange the teb_local_planner with any other planner easily. +For this we would need to integrate move_base. \ No newline at end of file diff --git a/doc/assets/acting/single_teb.png b/doc/assets/acting/single_teb.png new file mode 100644 index 0000000000000000000000000000000000000000..92ef0352f3dd095c66360c823cd80bf3118e7ae0 GIT binary patch literal 107767 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

r^ZU}yHztAmmY5!5LbD!O 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 Vd Date: Sun, 26 Jan 2025 22:06:03 +0100 Subject: [PATCH 2/2] Added documentation to the teb_planner. This includes a guide on tuning and links to all relevant sources. --- doc/acting/teb_local_planner.md | 130 ++++++++++++++++++++++++++++++-- 1 file changed, 123 insertions(+), 7 deletions(-) diff --git a/doc/acting/teb_local_planner.md b/doc/acting/teb_local_planner.md index b53440d9a..4b90a1f2f 100644 --- a/doc/acting/teb_local_planner.md +++ b/doc/acting/teb_local_planner.md @@ -8,31 +8,147 @@ How it works and the way it is integrated into our code. - [Integration with the PAF project](#integration-with-the-paf-project) - [Ros TEB Planner](#ros-teb-planner) - [Interface package](#interface-package) +- [Parameter Tuning](#parameter-tuning) - [About move\_base](#about-move_base) ## Timed elastic bands -![MISSING: TEB-Example](./../assets/acting/single_teb.png) +Timed elastic bands is a local planning approach which tries to optimize a trajectory around obstacles. +The image below shows the basic principle of operation. +A start pose, and an end pose is given and a trajectory between them is planned. +The trajectory tries to avoid the obstacles. -Timed elastic bands +![MISSING: TEB-Example](./../assets/acting/single_teb.png) ## Integration with the PAF project -How we integrated +We decided to use a preexisting ROS-TEB-implementation. +The implementation is from the TU-Dortmund and is usually directly integrated into the move_base framework of ROS. +We do not use move_base and therefore need an interface package for this. ### [Ros TEB Planner](http://wiki.ros.org/teb_local_planner) -What and how the teb planner works +The ROS-TEB Planner is a local_planning_algorithm for base_local_planner ROS-package. +For our usage we need the package to be installed, but the interface package will take care of launching the required components. +The planner is integrated with dynamic reconfigure, therefor RQT reconfigure panel can be used to adjust the hyperparameters. +To read up on tuning the parameters I suggest this [article](https://mowito-navstack.readthedocs.io/en/latest/step_5c.html) and the official [documentation](http://wiki.ros.org/teb_local_planner). + +Note that due to the interface package used maybe not all parameters are used in our case. +Also see below section for further talk about the parameters for our project. ### [Interface package](https://github.com/TUC-ProAut/ros_teb_planner) -Why do we need the interface packaage +We are using this interface package because it interfaces directly into the code of the teb_local_planner. +This allows us to not having to create costmap, odom and other mocks just to use move base. +The package gets started with the following launch syntax. + +```xml + + + +``` + +As mentioned above this snipped launches the interface as well as the underlying planner. +The config file must at least contain information about the robot footprint as this cannot be set during runtime. +This could be of type: + +```param +footprint_model: + type: "circular" + radius: 1.8 +``` + +When launched a service is provided called "/teb_planner_node_pa/plan". +Documentation on this service request and response can be found [here](https://github.com/TUC-ProAut/ros_teb_planner/tree/main/teb_planner_pa_msgs) +In short a request with start and end position as well as viapoints and obstacles is sent and the service responds with a path. +This [launch config](https://github.com/TUC-ProAut/ros_teb_planner/blob/main/teb_planner_pa/launch/rviz.launch) is also useful as it shows the scene created by your requests. + +## Parameter Tuning + +There are many parameters which can be set in the param file or during live operation with RQT dynamic reconfigure. +It is good practice to tune the parameters in RQT and then bit by bit set them in the config file. +As there are many parameters we do not need and get ignored anyway I recommend not to export the config but only set relevant parameters which automatically lets non set parameters at default values. + +Our current parameters are as follows: + +```param +odom_topic: global +map_frame: global +``` + +These frame do not get checked in the code and are not strictly necessary but good practice. +But the response trajectory will have the frame_id correctly set if this is set. + +```param +dt_ref: 0.3 +dt_hysteresis: 0.1 +``` + +The tooltip asks for dt_h beeing 0.1 * dt_ref. +These values however worked good at testing. +Smaller dts lead to more sampling points and therefor a smoother trajectory. + +```param +no_inner_iterations: 30 +no_outer_iterations: 3 +optimization_activate: True +``` + +Obviously optimization should be activated. +The more iterations the longer the solver takes to calculate the trajectory. +Especially more outer loops drastically increase computation time, while inner loops way less harm + +```param +enable_homotopy_class_planning: False +``` + +This setting is very important for performance. +If homotopy is activated multiple trajectories get calculated in each service call. +In our testing this did not perform better than "single-shot" optimization but drastically increased computation time. +With this set only ~4 Hz where possible. +Without this setting we reached nearly 20 Hz. + +```param +min_obstacle_dist: 0.4 +inflation_dist: 0.75 + +weight_obstacle: 10.0 +weight_inflation: 3.0 +weight_shortest_path: 3.0 +``` + +These parameters had the greatest impact on the performance of the planner in our testing. +With the obstacle and inflation distance we define how much space there should be between our vehicle and the obstacle. +The weights then try to accomplish this behavior. +Obstacle and inflation weight are obvious. +The shortest path weight needs to be in same range as the obstacle weights. +Slightly less is best. +This is because we want to avoid obstacles but still stay on an optimized trajectory and not ZIGZAG through the world because nobody optimizes for a smooth and short path. + +```param +footprint_model: + # maybe use two circles + type: "circular" + radius: 1.8 + #type: "polygon" + #vertices: [ [2.5, -0.9], [-2.5, -0.9], [-2.5, 0.9], [2.5, 0.9] ] # for type "polygon" but car-like + weight_viapoint: 10.0 +wheelbase: 2.85 +min_turning_radius: 12 +``` + +In an ideal case the polygon shape would be optimal for this planning. +In testing the optimizer however failed miserable when trying this. +We are currently checking if "two_circles" might be a better trade off. +I strongly advise against following the polygon way but rather adjust parameters mentioned above for better performance. +The shape in the uncommented section was based on [this](https://www.motortrend.com/cars/lincoln/mkz/2020/specs/?trim=Base+Sedan) ## About [move_base](http://wiki.ros.org/move_base) move_base is a ros package providing a full navigation stack. The planning in move_base is separated into two stages: global and local planning. -The concept behind the local planning scheme is such that it can be easily expanded with custom planners. +The concept behind the local planning scheme is such that it can be easily expanded with custom planners. [base_local_planner](http://wiki.ros.org/base_local_planner) acts a base implementation. Several different local planners where implemented into this setup such as the [dwa_local_planner](http://wiki.ros.org/dwa_local_planner), or trajectory rollout. But also the [teb_local_planner](http://wiki.ros.org/teb_local_planner) we are using. @@ -40,4 +156,4 @@ An early goal was to integrate the full move_base interface into our code. However the complete stack relies heavily on bitmapped costmaps which would be constantly changing in our situation. Also we are only interested in the local_planner which is not seperable from move_base (at least not without major efforts). Because the teb_local_planner was already one of the preferred local_planners and a direct ros-interface ([ros_teb_planner](https://github.com/TUC-ProAut/ros_teb_planner)) was already available we decided to focus on this planner. It is therefore not possible to exchange the teb_local_planner with any other planner easily. -For this we would need to integrate move_base. \ No newline at end of file +For this we would need to integrate move_base.