Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions nav2_behaviors/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5)
project(nav2_behaviors)

find_package(ament_cmake REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(nav2_common REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
Expand Down Expand Up @@ -30,6 +31,7 @@ set(executable_name behavior_server)

set(dependencies
rclcpp
irobot_events_executor
rclcpp_action
rclcpp_lifecycle
rclcpp_components
Expand Down
1 change: 1 addition & 0 deletions nav2_behaviors/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<build_depend>nav2_common</build_depend>

<build_depend>rclcpp</build_depend>
<build_depend>irobot_events_executor</build_depend>
<build_depend>rclcpp_action</build_depend>
<build_depend>rclcpp_lifecycle</build_depend>
<build_depend>nav2_behavior_tree</build_depend>
Expand Down
6 changes: 5 additions & 1 deletion nav2_behaviors/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,18 @@
#include <memory>

#include "nav2_behaviors/behavior_server.hpp"
#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
auto recoveries_node = std::make_shared<behavior_server::BehaviorServer>();

rclcpp::spin(recoveries_node->get_node_base_interface());
auto executor = std::make_shared<rclcpp::executors::EventsExecutor>();

executor->add_node(recoveries_node->get_node_base_interface());
executor->spin();
rclcpp::shutdown();

return 0;
Expand Down
2 changes: 2 additions & 0 deletions nav2_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5)
project(nav2_controller)

find_package(ament_cmake REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(nav2_core REQUIRED)
find_package(nav2_common REQUIRED)
find_package(angles REQUIRED)
Expand Down Expand Up @@ -36,6 +37,7 @@ add_library(${library_name} SHARED
set(dependencies
angles
rclcpp
irobot_events_executor
rclcpp_action
rclcpp_components
std_msgs
Expand Down
8 changes: 7 additions & 1 deletion nav2_controller/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,19 @@
#include <memory>

#include "nav2_controller/controller_server.hpp"

#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
auto node = std::make_shared<nav2_controller::ControllerServer>();
rclcpp::spin(node->get_node_base_interface());

auto executor = std::make_shared<rclcpp::executors::EventsExecutor>();

executor->add_node(node->get_node_base_interface());
executor->spin();
rclcpp::shutdown();

return 0;
Expand Down
2 changes: 2 additions & 0 deletions nav2_costmap_2d/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5)
project(nav2_costmap_2d)

find_package(ament_cmake REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(laser_geometry REQUIRED)
find_package(map_msgs REQUIRED)
Expand Down Expand Up @@ -54,6 +55,7 @@ add_library(nav2_costmap_2d_core SHARED

set(dependencies
geometry_msgs
irobot_events_executor
laser_geometry
map_msgs
message_filters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@
#include "tf2/time.h"
#include "tf2/transform_datatypes.h"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp/executors/events_executor/events_executor.hpp"

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#include "tf2/utils.h"
Expand Down Expand Up @@ -313,7 +316,7 @@ class Costmap2DROS : public nav2_util::LifecycleNode

// Dedicated callback group and executor for tf timer_interface and message fillter
rclcpp::CallbackGroup::SharedPtr callback_group_;
rclcpp::executors::SingleThreadedExecutor::SharedPtr executor_;
rclcpp::executors::EventsExecutor::SharedPtr executor_;
std::unique_ptr<nav2_util::NodeThread> executor_thread_;

// Transform listener
Expand Down
1 change: 1 addition & 0 deletions nav2_costmap_2d/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
<depend>tf2_sensor_msgs</depend>
<depend>visualization_msgs</depend>
<depend>angles</depend>
<depend>irobot_events_executor</depend>

<test_depend>ament_lint_common</test_depend>
<test_depend>ament_lint_auto</test_depend>
Expand Down
2 changes: 1 addition & 1 deletion nav2_costmap_2d/src/costmap_2d_ros.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Costmap2DROS::on_configure(const rclcpp_lifecycle::State & /*state*/)
// Add cleaning service
clear_costmap_service_ = std::make_unique<ClearCostmapService>(shared_from_this(), *this);

executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
executor_ = std::make_shared<rclcpp::executors::EventsExecutor>();
executor_->add_callback_group(callback_group_, get_node_base_interface());
executor_thread_ = std::make_unique<nav2_util::NodeThread>(executor_);
return nav2_util::CallbackReturn::SUCCESS;
Expand Down
2 changes: 2 additions & 0 deletions nav2_lifecycle_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ project(nav2_lifecycle_manager)
find_package(ament_cmake REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(lifecycle_msgs REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(nav2_common REQUIRED)
find_package(nav2_msgs REQUIRED)
find_package(nav2_util REQUIRED)
Expand Down Expand Up @@ -36,6 +37,7 @@ set(dependencies
nav2_msgs
nav2_util
rclcpp
irobot_events_executor
rclcpp_action
rclcpp_lifecycle
rclcpp_components
Expand Down
1 change: 1 addition & 0 deletions nav2_lifecycle_manager/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
<build_depend>bondcpp</build_depend>
<build_depend>nav2_common</build_depend>
<build_depend>diagnostic_updater</build_depend>
<build_depend>irobot_events_executor</build_depend>

<exec_depend>geometry_msgs</exec_depend>
<exec_depend>lifecycle_msgs</exec_depend>
Expand Down
3 changes: 2 additions & 1 deletion nav2_lifecycle_manager/src/lifecycle_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <string>
#include <vector>

#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

using namespace std::chrono_literals;
Expand Down Expand Up @@ -99,7 +100,7 @@ LifecycleManager::LifecycleManager(const rclcpp::NodeOptions & options)
},
callback_group_);
}
auto executor = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
auto executor = std::make_shared<rclcpp::executors::EventsExecutor>();
executor->add_callback_group(callback_group_, get_node_base_interface());
service_thread_ = std::make_unique<nav2_util::NodeThread>(executor);
});
Expand Down
7 changes: 6 additions & 1 deletion nav2_lifecycle_manager/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,18 @@
#include <memory>

#include "nav2_lifecycle_manager/lifecycle_manager.hpp"
#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
auto node = std::make_shared<nav2_lifecycle_manager::LifecycleManager>();
rclcpp::spin(node);

auto executor = std::make_shared<rclcpp::executors::EventsExecutor>();

executor->add_node(node->get_node_base_interface());
executor->spin();
rclcpp::shutdown();

return 0;
Expand Down
2 changes: 2 additions & 0 deletions nav2_planner/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5)
project(nav2_planner)

find_package(ament_cmake REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(nav2_common REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
Expand Down Expand Up @@ -30,6 +31,7 @@ set(library_name ${executable_name}_core)

set(dependencies
rclcpp
irobot_events_executor
rclcpp_action
rclcpp_lifecycle
rclcpp_components
Expand Down
1 change: 1 addition & 0 deletions nav2_planner/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<buildtool_depend>ament_cmake</buildtool_depend>

<depend>rclcpp</depend>
<depend>irobot_events_executor</depend>
<depend>rclcpp_action</depend>
<depend>rclcpp_lifecycle</depend>
<depend>visualization_msgs</depend>
Expand Down
9 changes: 8 additions & 1 deletion nav2_planner/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,20 @@
#include <memory>

#include "nav2_planner/planner_server.hpp"

#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
auto node = std::make_shared<nav2_planner::PlannerServer>();
rclcpp::spin(node->get_node_base_interface());

auto executor = std::make_shared<rclcpp::executors::EventsExecutor>();

executor->add_node(node->get_node_base_interface());
executor->spin();

rclcpp::shutdown();

return 0;
Expand Down
2 changes: 2 additions & 0 deletions nav2_util/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5)
project(nav2_util)

find_package(ament_cmake REQUIRED)
find_package(irobot_events_executor REQUIRED)
find_package(nav2_common REQUIRED)
find_package(nav2_msgs REQUIRED)
find_package(tf2_ros REQUIRED)
Expand All @@ -21,6 +22,7 @@ find_package(action_msgs REQUIRED)
set(dependencies
nav2_msgs
tf2_ros
irobot_events_executor
tf2
tf2_geometry_msgs
geometry_msgs
Expand Down
3 changes: 2 additions & 1 deletion nav2_util/include/nav2_util/node_thread.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <memory>

#include "rclcpp/rclcpp.hpp"
#include "rclcpp/executors/events_executor/events_executor.hpp"

namespace nav2_util
{
Expand All @@ -38,7 +39,7 @@ class NodeThread
* @brief A background thread to process executor's callbacks constructor
* @param executor Interface to executor to spin in thread
*/
explicit NodeThread(rclcpp::executors::SingleThreadedExecutor::SharedPtr executor);
explicit NodeThread(rclcpp::executors::EventsExecutor::SharedPtr executor);

/**
* @brief A background thread to process node callbacks constructor
Expand Down
4 changes: 3 additions & 1 deletion nav2_util/include/nav2_util/service_client.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

#include <string>


#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

namespace nav2_util
Expand Down Expand Up @@ -145,7 +147,7 @@ class ServiceClient
std::string service_name_;
rclcpp::Node::SharedPtr node_;
rclcpp::CallbackGroup::SharedPtr callback_group_;
rclcpp::executors::SingleThreadedExecutor callback_group_executor_;
rclcpp::executors::EventsExecutor callback_group_executor_;
typename rclcpp::Client<ServiceT>::SharedPtr client_;
};

Expand Down
6 changes: 4 additions & 2 deletions nav2_util/include/nav2_util/simple_action_server.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
#include <future>
#include <chrono>


#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"
#include "rclcpp_action/rclcpp_action.hpp"
#include "nav2_util/node_thread.hpp"
Expand Down Expand Up @@ -122,7 +124,7 @@ class SimpleActionServer
options,
callback_group_);
if (spin_thread_) {
executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
executor_ = std::make_shared<rclcpp::executors::EventsExecutor>();
executor_->add_callback_group(callback_group_, node_base_interface_);
executor_thread_ = std::make_unique<nav2_util::NodeThread>(executor_);
}
Expand Down Expand Up @@ -521,7 +523,7 @@ class SimpleActionServer
typename rclcpp_action::Server<ActionT>::SharedPtr action_server_;
bool spin_thread_;
rclcpp::CallbackGroup::SharedPtr callback_group_{nullptr};
rclcpp::executors::SingleThreadedExecutor::SharedPtr executor_;
rclcpp::executors::EventsExecutor::SharedPtr executor_;
std::unique_ptr<nav2_util::NodeThread> executor_thread_;

/**
Expand Down
1 change: 1 addition & 0 deletions nav2_util/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<depend>launch</depend>
<depend>launch_testing_ament_cmake</depend>
<depend>action_msgs</depend>
<depend>irobot_events_executor</depend>

<exec_depend>libboost-program-options</exec_depend>

Expand Down
4 changes: 4 additions & 0 deletions nav2_util/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@

find_package(irobot_events_executor REQUIRED)

add_library(${library_name} SHARED
costmap.cpp
node_utils.cpp
Expand All @@ -12,6 +15,7 @@ add_library(${library_name} SHARED

ament_target_dependencies(${library_name}
rclcpp
irobot_events_executor
nav2_msgs
tf2
tf2_ros
Expand Down
6 changes: 4 additions & 2 deletions nav2_util/src/node_thread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,16 @@
#include <memory>

#include "nav2_util/node_thread.hpp"
#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

namespace nav2_util
{

NodeThread::NodeThread(rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_base)
: node_(node_base)
{
executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
executor_ = std::make_shared<rclcpp::executors::EventsExecutor>();
thread_ = std::make_unique<std::thread>(
[&]()
{
Expand All @@ -32,7 +34,7 @@ NodeThread::NodeThread(rclcpp::node_interfaces::NodeBaseInterface::SharedPtr nod
});
}

NodeThread::NodeThread(rclcpp::executors::SingleThreadedExecutor::SharedPtr executor)
NodeThread::NodeThread(rclcpp::executors::EventsExecutor::SharedPtr executor)
: executor_(executor)
{
thread_ = std::make_unique<std::thread>([&]() {executor_->spin();});
Expand Down
4 changes: 3 additions & 1 deletion nav2_util/test/test_lifecycle_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include "gtest/gtest.h"
#include "nav2_util/lifecycle_utils.hpp"
#include "rclcpp_lifecycle/lifecycle_node.hpp"

#include "rclcpp/executors/events_executor/events_executor.hpp"
#include "rclcpp/rclcpp.hpp"

using nav2_util::startup_lifecycle_nodes;
Expand All @@ -35,7 +37,7 @@ void SpinNodesUntilDone(
std::vector<rclcpp_lifecycle::LifecycleNode::SharedPtr> nodes,
std::atomic<bool> * test_done)
{
rclcpp::executors::SingleThreadedExecutor exec;
rclcpp::executors::EventsExecutor exec;
for (const auto & node : nodes) {
exec.add_node(node->get_node_base_interface());
}
Expand Down