1
$\begingroup$

On navigation plugin setup document , the TEB controller is mentioned, but I don't find any documentation to set up this controller in nav2 humble. And there is no humble branch in the teb_local_planner repository. So I copied the TEB parameters from foxy and launch the navigation node, but it told me the TEB controller plugin can't be found.

[controller_server-4] [FATAL] [1697706023.360686729] [controller_server]: Failed to create controller. Exception: According to the loaded plugin descriptions the class teb_local_planner::TebLocalPlannerROS with base class type nav2_core::Controller does not exist. Declared types are  dwb_core::DWBLocalPlanner nav2_mppi_controller::MPPIController nav2_regulated_pure_pursuit_controller::RegulatedPurePursuitController nav2_rotation_shim_controller::RotationShimController

So why TEB controller is not available in ros2 humble? or did I miss something? Thanks.

$\endgroup$

2 Answers 2

2
$\begingroup$

There was a recent post on the ROS Discourse, about a new MPPI controller. That post mentions:

I would be inundated with messages regarding TEB if I did not address it here. While TEB is quite a fantastic piece of software, the maintainer has since moved on from his academic career into a position where it is not possible to maintain it into the future. As such, its largely unmaintained and represents techniques which are bordering on a decade old. This work is very modern and state of the art in the same vertical of techniques as TEB (MPC) so it meets the same need that TEB serves. With MPPI’s modern methodology, performance, active maintenance, and documentation, I hope you all will agree with me over time that this is an improvement. There are certain characteristics of the Elastic Band approaches that I did not like in a production setting that are not present in this work.

So I conclude that TEB is indeed not supported anymore.

EDIT: that thread also mentions the upcoming ROSCon 2023 presentation On Use of Nav2 MPPI Controller which is scheduled today, so you might want to watch the live feed (or later on the recording, when it gets published).

EDIT 2: In the description of the ROSCon talk, MPPI is refered to as "the functional successor of the TEB and DWB controllers", so it seems that MPPI is effectively considered as the replacement for TEB:

We introduce the Nav2 project's MPPI Local Trajectory Planner. It is the functional successor of the TEB and DWB controllers, providing predictive time-varying trajectories reminiscent of TEB while providing tunable critic functions similar to DWB.

$\endgroup$
1
  • $\begingroup$ Oh, I see, thanks for sharing this $\endgroup$
    – Phymin
    Oct 20, 2023 at 0:49
1
$\begingroup$

If you still like to work with TEB, you can clone "ros2-master" branch of teb_local_planner, and build it (I cloned teb_local_planner to the nav2_ws/src (workspace of navigation2))

git clone https://github.com/rst-tu-dortmund/teb_local_planner.git --brach ros2-master

After build Nav2 work space, you can use teb_local_planner as a Nav2 plug-in by the same way as other plug-in controllers

$\endgroup$
1
  • $\begingroup$ Great, thanks for providing this alternatives $\endgroup$
    – Phymin
    Nov 27, 2023 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.