[ROS2] Multiple controller plugins error
I would like to load multiple controller_plugins
in the controller server, e.g.:
controller_server:
ros__parameters:
controller_frequency: 25.0
min_x_velocity_threshold: 0.01
min_y_velocity_threshold: 0.01
min_theta_velocity_threshold: 0.01
failure_tolerance: 0.3
progress_checker_plugin: "progress_checker"
goal_checker_plugins: ["general_goal_checker"]
controller_plugins: ["RPP","TEB","DWB","MPPI"]
But when I do so I got the following error:
[controller_server-1] [ERROR] [controller_server]: Couldn't load critics! Caught exception: MultiLibraryClassLoader: Could not create object of class
type dwb_critics::RotateToGoalCritic as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary() (configure() at /home/user/ws/src/navigation2/nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp:135)
[controller_server-1] [FATAL] [controller_server]: Failed to create controller. Exception: MultiLibraryClassLoader: Could not create object of class type dwb_critics::RotateToGoalCritic as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary() (on_configure() at /home/user/ws/src/navigation2/nav2_controller/src/controller_server.cpp:180)
If I only add one plugin inside controller_plugin no error arise for each controller.
Asked by Mrmara on 2023-03-03 05:21:27 UTC
Comments
Update:
Apparently it is just an issue of DWB. with
controller_plugins: ["RPP","TEB","MPPI"]
no errors pops upAsked by Mrmara on 2023-05-04 05:14:42 UTC