No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/waveshareteam/ugv_ws.git
VCS Type git
VCS Version ros2-humble-develop
Last Updated 2025-02-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann
README
No README found. See repository README.
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged teb_local_planner at Robotics Stack Exchange

Package symbol

teb_local_planner package from teb_local_planner repo

teb_local_planner

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 0.8.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)
Checkout URI https://github.com/rst-tu-dortmund/teb_local_planner.git
VCS Type git
VCS Version melodic-devel
Last Updated 2022-06-01
Dev Status DEVELOPED
Released RELEASED
Tags navigation path-planning ros mobile-robots trajectory-optimization optimal-control
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann

teb_local_planner ROS Package

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot’s trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Refer to http://wiki.ros.org/teb_local_planner for more information and tutorials.

Build status of the melodic-devel branch:

  • ROS Buildfarm (Melodic): Melodic Status

Citing the Software

Since a lot of time and effort has gone into the development, please cite at least one of the following publications if you are using the planner for your own research:

  • C. Rösmann, F. Hoffmann and T. Bertram: Integrated online trajectory planning and optimization in distinctive topologies, Robotics and Autonomous Systems, Vol. 88, 2017, pp. 142–153.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Trajectory modification considering dynamic constraints of autonomous robots. Proc. 7th German Conference on Robotics, Germany, Munich, May 2012, pp 74–79.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Efficient trajectory optimization using a sparse model. Proc. IEEE European Conference on Mobile Robots, Spain, Barcelona, Sept. 2013, pp. 138–143.
  • C. Rösmann, F. Hoffmann and T. Bertram: Planning of Multiple Robot Trajectories in Distinctive Topologies, Proc. IEEE European Conference on Mobile Robots, UK, Lincoln, Sept. 2015.
  • C. Rösmann, F. Hoffmann and T. Bertram: Kinodynamic Trajectory Optimization and Control for Car-Like Robots, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, Sept. 2017.

Buy Me A Coffee

Videos

The left of the following videos presents features of the package and shows examples from simulation and real robot situations. Some spoken explanations are included in the audio track of the video. The right one demonstrates features introduced in version 0.2 (supporting car-like robots and costmap conversion). Please watch the left one first.

teb_local_planner - An Optimal Trajectory Planner for Mobile Robots teb_local_planner - Car-like Robots and Costmap Conversion

License

The teb_local_planner package is licensed under the BSD license. It depends on other ROS packages, which are listed in the package.xml. They are also BSD licensed.

Some third-party dependencies are included that are licensed under different terms:

  • Eigen, MPL2 license, http://eigen.tuxfamily.org
  • libg2o / g2o itself is licensed under BSD, but the enabled csparse_extension is licensed under LGPL3+, https://github.com/RainerKuemmerle/g2o. CSparse is included as part of the SuiteSparse collection, http://www.suitesparse.com.
  • Boost, Boost Software License, http://www.boost.org

All packages included are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the licenses for more details.

Requirements

Install dependencies (listed in the package.xml and CMakeLists.txt file) using rosdep:

rosdep install teb_local_planner
CHANGELOG

Changelog for package teb_local_planner

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).
  • update to use non deprecated pluginlib macro (thanks to Mikael Arguedas)
  • Avoiding h signature interpolation between coincident poses (thanks to Marco Bassa)
  • New strategy for the deletion of detours: Detours are now determined w.r.t. the least-cost alternative and not w.r.t. just the goal heading. Deletion of additional alternatives applies if either an initial backward motion is detected, if the transition time is much bigger than the duration of the best teb and if a teb cannot be optimized (thanks to Marco Bassa). Optionally allowing the usage of the initial plan orientation when initializing new tebs.
  • Contributors: Christoph Rösmann, Mikael Arguedas, Devon Ash, Howard Cochran, Marco Bassa, ShiquLIU, Tobi Loew, corot

0.8.1 (2018-08-14)

  • bugfix in calculateHSignature. Fixes #90.
  • fixed centroid computation in a special case of polygon-obstacles
  • Contributors: Christoph Rösmann

File truncated at 100 lines see the full file

Recent questions tagged teb_local_planner at Robotics Stack Exchange

Package symbol

teb_local_planner package from teb_local_planner repo

teb_local_planner

ROS Distro
noetic

Package Summary

Tags No category tags.
Version 0.9.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)
Checkout URI https://github.com/rst-tu-dortmund/teb_local_planner.git
VCS Type git
VCS Version noetic-devel
Last Updated 2024-01-06
Dev Status DEVELOPED
Released RELEASED
Tags navigation path-planning ros mobile-robots trajectory-optimization optimal-control
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Additional Links

Maintainers

  • Christoph Rösmann

Authors

  • Christoph Rösmann

teb_local_planner ROS Package

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot’s trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime.

Refer to http://wiki.ros.org/teb_local_planner for more information and tutorials.

Build status of the melodic-devel branch:

  • ROS Buildfarm (Melodic): Melodic Status

Citing the Software

Since a lot of time and effort has gone into the development, please cite at least one of the following publications if you are using the planner for your own research:

  • C. Rösmann, F. Hoffmann and T. Bertram: Integrated online trajectory planning and optimization in distinctive topologies, Robotics and Autonomous Systems, Vol. 88, 2017, pp. 142–153.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Trajectory modification considering dynamic constraints of autonomous robots. Proc. 7th German Conference on Robotics, Germany, Munich, May 2012, pp 74–79.
  • C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Efficient trajectory optimization using a sparse model. Proc. IEEE European Conference on Mobile Robots, Spain, Barcelona, Sept. 2013, pp. 138–143.
  • C. Rösmann, F. Hoffmann and T. Bertram: Planning of Multiple Robot Trajectories in Distinctive Topologies, Proc. IEEE European Conference on Mobile Robots, UK, Lincoln, Sept. 2015.
  • C. Rösmann, F. Hoffmann and T. Bertram: Kinodynamic Trajectory Optimization and Control for Car-Like Robots, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, Sept. 2017.

Buy Me A Coffee

Videos

The left of the following videos presents features of the package and shows examples from simulation and real robot situations. Some spoken explanations are included in the audio track of the video. The right one demonstrates features introduced in version 0.2 (supporting car-like robots and costmap conversion). Please watch the left one first.

teb_local_planner - An Optimal Trajectory Planner for Mobile Robots teb_local_planner - Car-like Robots and Costmap Conversion

License

The teb_local_planner package is licensed under the BSD license. It depends on other ROS packages, which are listed in the package.xml. They are also BSD licensed.

Some third-party dependencies are included that are licensed under different terms:

  • Eigen, MPL2 license, http://eigen.tuxfamily.org
  • libg2o / g2o itself is licensed under BSD, but the enabled csparse_extension is licensed under LGPL3+, https://github.com/RainerKuemmerle/g2o. CSparse is included as part of the SuiteSparse collection, http://www.suitesparse.com.
  • Boost, Boost Software License, http://www.boost.org

All packages included are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the licenses for more details.

Requirements

Install dependencies (listed in the package.xml and CMakeLists.txt file) using rosdep:

rosdep install teb_local_planner
CHANGELOG

Changelog for package teb_local_planner

0.9.1 (2020-05-29)

  • Fixed RobotFootprintModel visualization bug (thanks to Anson Wang)
  • Reserve the size of the relevant obstacles vector to avoid excessive memory allocations (thanks to João Monteiro)
  • CMake: Removed system include to avoid compiling issues on some platforms
  • Contributors: Anson Wang, Christoph Rösmann, João Carlos Espiúca Monteiro

0.9.0 (2020-05-26)

  • Added pill resp. stadium-shaped obstacle
  • Changed minimum CMake version to 3.1
  • Improved efficiency of 3d h-signature computation
  • Changed default value for parameter penalty_epsilon to 0.05
  • Improved efficiency of findClosedTrajectoryPose()
  • Removed obsolete method isHorizonReductionAppropriate()
  • Contributors: Christoph Rösmann, XinyuKhan

0.8.4 (2019-12-02)

  • Fixed TEB autoResize if last TimeDiff is small
  • Add a rotational threshold for identifying a warm start goal
  • Contributors: Rainer Kümmerle

0.8.3 (2019-10-25)

  • Limiting the control look-ahead pose to the first that execeeds the expected look-ahead time (thanks to Marco Bassa)
  • test_optim_node fix circular obstacles (thanks to dtaranta)
  • Fix shadow variable warning (thanks to Victor Lopez)
  • Use SYSTEM when including external dependencies headers (thanks to Victor Lopez)
  • Robustify initTrajectoryToGoal if a plan is given (thanks to Rainer Kuemmerle)
  • Adding the option to shift ahead the target pose used to extract the velocity command (thanks to Marco Bassa)
  • Fixed segfault in optimal_planner.cpp when clearing graph with unallocated optimizer. Fixes #158.
  • On footprintCost, fail only if footprint is in collision, not outside the map or on unknown space (thanks to corot)
  • Native MoveBaseFlex support added: Implements both nav_core::BaseLocalPlanner and mbf_costmap_core::CostmapController abstract interfaces (thanks to corot)
  • added warning if parameter optimal_time is <= 0
  • Nonlinear obstacle cost from EdgeInflatedObstacle also added to EdgeObstacle. See #140.
  • Fixed proper initialization of parameter obstacle_cost_exponent in case it is not loaded from the parameter server
  • Contributors: Christoph Rösmann, Marco Bassa, Rainer Kuemmerle, Victor Lopez, corot, dtaranta

0.8.2 (2019-07-02)

  • Allow scripts to be executable and usable by rosrun after catkin_make install and through the catkin release process (thanks to Devon Ash)
  • Add nonlinear part to obstacle cost to improve narrow gap behavior. Parameter [obstacle_cost_exponent]{.title-ref} defines the exponent of the nonlinear cost term. The default linear behavior is achieved by setting this parameter to 1 (default). A value of 4 performed well in some tests and experiments (thanks to Howard Cochran).
  • Parameter [global_plan_prune_distance]{.title-ref} added via ros parameter server.
  • Fixed SIGSEGV in optimizeAllTEBs() if main thread is interrupted by boost (thanks to Howard Cochran)
  • Fixed SIGSEGV crash in deleteTebDetours() (thanks to Howard Cochran)
  • On footprint visualization, avoid overshadowing by obstacles (thanks to corot)
  • Do not ignore robot model on the association stage. Important mostly for polygon footprint model (thanks to corot).
  • Adjustable color for footprint visualization
  • Showing (detected) infeasible robot poses in a separate marker namespace and color
  • Added edge for minimizing Euclidean path length (parameter: [weight_shortest_path]{.title-ref})
  • Ackermann steering conversion (python script): fixed direction inversion in backwards mode when [cmd_angle_instead_rotvel]{.title-ref} is true (thanks to Tobi Loew)
  • Fixed wrong skipping condition in AddEdgesKinematicsCarlike() (thanks to ShiquLIU)
  • Never discarding the previous best teb in renewAndAnalyzeOldTebs (thanks to Marco Bassa)
  • Allowing for the fallback to a different trajectory when the costmap check fails. This prevents the switch to unfeasible trajectories (thanks to Marco Bassa).
  • Skipping the generation of the homotopy exploration graph in case the maximum number of allowed classes is reached (thanks to Marco Bassa)
  • Changed isTrajectoryFeasible function to allow for a more accurate linear and angular discretization (thanks to Marco Bassa)
  • Function TebOptimalPlanner::computeError() considers now the actual optimizer weights. As a result, the default value of [selection_obst_cost_scale]{.title-ref} is reduced (thanks to Howard Cochran).

File truncated at 100 lines see the full file

Recent questions tagged teb_local_planner at Robotics Stack Exchange