From 243a8c7871dc47789ac4c8e78ad6a52c6a533aea Mon Sep 17 00:00:00 2001 From: Yathartha Tuladhar <yathartha3@gmail.com> Date: Thu, 12 Sep 2019 12:48:14 -0700 Subject: [PATCH] Using dwb as plugin --- nav2_dwb_controller/dwb_core/CMakeLists.txt | 2 ++ nav2_dwb_controller/dwb_core/dwb_core.xml | 7 +++++++ .../dwb_core/include/dwb_core/dwb_local_planner.hpp | 2 ++ nav2_dwb_controller/dwb_core/package.xml | 1 + nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp | 5 +++-- nav2_dwb_controller/dwb_plugins/plugins.xml | 4 ++-- .../dwb_plugins/src/simple_goal_checker.cpp | 2 +- .../dwb_plugins/src/stopped_goal_checker.cpp | 3 +-- 8 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 nav2_dwb_controller/dwb_core/dwb_core.xml diff --git a/nav2_dwb_controller/dwb_core/CMakeLists.txt b/nav2_dwb_controller/dwb_core/CMakeLists.txt index 5bd5dd8a..c5f0027f 100644 --- a/nav2_dwb_controller/dwb_core/CMakeLists.txt +++ b/nav2_dwb_controller/dwb_core/CMakeLists.txt @@ -75,4 +75,6 @@ ament_export_include_directories(include) ament_export_libraries(dwb_core) ament_export_dependencies(${dependencies}) +pluginlib_export_plugin_description_file(nav2_core dwb_core.xml) + ament_package() diff --git a/nav2_dwb_controller/dwb_core/dwb_core.xml b/nav2_dwb_controller/dwb_core/dwb_core.xml new file mode 100644 index 00000000..abd34148 --- /dev/null +++ b/nav2_dwb_controller/dwb_core/dwb_core.xml @@ -0,0 +1,7 @@ +<class_libraries> + <library path="dwb_core"> + <class type="dwb_core::DWBLocalPlanner" base_class_type="nav2_core::LocalPlanner"> + <description></description> + </class> + </library> +</class_libraries> diff --git a/nav2_dwb_controller/dwb_core/include/dwb_core/dwb_local_planner.hpp b/nav2_dwb_controller/dwb_core/include/dwb_core/dwb_local_planner.hpp index 16251f51..4e441935 100644 --- a/nav2_dwb_controller/dwb_core/include/dwb_core/dwb_local_planner.hpp +++ b/nav2_dwb_controller/dwb_core/include/dwb_core/dwb_local_planner.hpp @@ -49,6 +49,7 @@ #include "rclcpp/rclcpp.hpp" #include "rclcpp_lifecycle/lifecycle_node.hpp" #include "pluginlib/class_loader.hpp" +#include "pluginlib/class_list_macros.hpp" namespace dwb_core { @@ -209,6 +210,7 @@ protected: pluginlib::ClassLoader<TrajectoryGenerator> traj_gen_loader_; TrajectoryGenerator::Ptr traj_generator_; + pluginlib::ClassLoader<nav2_core::GoalChecker> goal_checker_loader_; nav2_core::GoalChecker::Ptr goal_checker_; pluginlib::ClassLoader<TrajectoryCritic> critic_loader_; diff --git a/nav2_dwb_controller/dwb_core/package.xml b/nav2_dwb_controller/dwb_core/package.xml index d1897b3d..b2e69fd2 100644 --- a/nav2_dwb_controller/dwb_core/package.xml +++ b/nav2_dwb_controller/dwb_core/package.xml @@ -48,5 +48,6 @@ <export> <build_type>ament_cmake</build_type> + <LocalPlanner plugin="${prefix}/dwb_core.xml" /> </export> </package> diff --git a/nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp b/nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp index a124f0ea..fdce54b2 100644 --- a/nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp +++ b/nav2_dwb_controller/dwb_core/src/dwb_local_planner.cpp @@ -569,5 +569,6 @@ DWBLocalPlanner::transformGlobalPlan( } // namespace dwb_core -// Register this planner as a LocalPlanner plugin -// PLUGINLIB_EXPORT_CLASS(dwb_core::DWBLocalPlanner, nav_core2::LocalPlanner) +// Register this planner as a nav2_core plugin +PLUGINLIB_EXPORT_CLASS(dwb_core::DWBLocalPlanner, + nav2_core::LocalPlanner) diff --git a/nav2_dwb_controller/dwb_plugins/plugins.xml b/nav2_dwb_controller/dwb_plugins/plugins.xml index 0616c2ff..afa3b939 100644 --- a/nav2_dwb_controller/dwb_plugins/plugins.xml +++ b/nav2_dwb_controller/dwb_plugins/plugins.xml @@ -1,6 +1,6 @@ <class_libraries> <library path="simple_goal_checker"> - <class type="dwb_plugins::SimpleGoalChecker" base_class_type="dwb_core::GoalChecker"> + <class type="dwb_plugins::SimpleGoalChecker" base_class_type="nav2_core::GoalChecker"> <description></description> </class> </library> @@ -13,7 +13,7 @@ </class> </library> <library path="stopped_goal_checker"> - <class type="dwb_plugins::StoppedGoalChecker" base_class_type="dwb_core::GoalChecker"> + <class type="dwb_plugins::StoppedGoalChecker" base_class_type="nav2_core::GoalChecker"> <description></description> </class> </library> diff --git a/nav2_dwb_controller/dwb_plugins/src/simple_goal_checker.cpp b/nav2_dwb_controller/dwb_plugins/src/simple_goal_checker.cpp index 486a310e..832f0faf 100644 --- a/nav2_dwb_controller/dwb_plugins/src/simple_goal_checker.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/simple_goal_checker.cpp @@ -75,4 +75,4 @@ bool SimpleGoalChecker::isGoalReached( } // namespace dwb_plugins -PLUGINLIB_EXPORT_CLASS(dwb_plugins::SimpleGoalChecker, dwb_core::GoalChecker) +PLUGINLIB_EXPORT_CLASS(dwb_plugins::SimpleGoalChecker, nav2_core::GoalChecker) diff --git a/nav2_dwb_controller/dwb_plugins/src/stopped_goal_checker.cpp b/nav2_dwb_controller/dwb_plugins/src/stopped_goal_checker.cpp index b33cf3a5..b280df6f 100644 --- a/nav2_dwb_controller/dwb_plugins/src/stopped_goal_checker.cpp +++ b/nav2_dwb_controller/dwb_plugins/src/stopped_goal_checker.cpp @@ -32,7 +32,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include "dwb_plugins/stopped_goal_checker.hpp" #include <cmath> #include <memory> #include "dwb_plugins/stopped_goal_checker.hpp" @@ -76,4 +75,4 @@ bool StoppedGoalChecker::isGoalReached( } // namespace dwb_plugins -PLUGINLIB_EXPORT_CLASS(dwb_plugins::StoppedGoalChecker, dwb_core::GoalChecker) +PLUGINLIB_EXPORT_CLASS(dwb_plugins::StoppedGoalChecker, nav2_core::GoalChecker) -- GitLab