Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
4048c9a
Added promixity BT node and BT tree
Jakubach Aug 14, 2024
a3a63d7
Merge branch 'ros-navigation:main' into main
Jakubach Nov 9, 2024
a411a50
CI Limits: Moving MPPI, Smac to secondary job (#5401)
SteveMacenski Jul 30, 2025
f07bfc6
[DEX] Enforce 3 digits precision (#5398)
doisyg Jul 31, 2025
fba0358
[static_layer] limit comparison precision (#5405)
doisyg Jul 31, 2025
c5531cb
Moving Nav2 package builds to the system build job to balance CI time…
SteveMacenski Jul 31, 2025
8e3aee6
Add Pause and SequenceWithBlackboardMemory BT nodes (#5247)
redvinaa Aug 4, 2025
e8b1811
corner case bin check (#5413)
doisyg Aug 4, 2025
d93c129
Add backward_ros dependency (#5404)
Sushant-Chavan Aug 6, 2025
6330ee4
Add IndexType definition for Nanoflann KDTree in `node_spatial_tree`.…
Ericsii Aug 6, 2025
c7884f5
Update tf2 ros headers (#5381)
mini-1235 Aug 6, 2025
9cd0f9f
Move nav_2d_utils to nav2_util (#5414)
mini-1235 Aug 6, 2025
1468484
Construct TF listeners passing nodes, spinning on separate thread (#5…
roncapat Aug 7, 2025
ec2885d
Adding new API docs website
SteveMacenski Aug 7, 2025
d590533
Smooth path even if goal pose is so much near to the robot (#5423)
CihatAltiparmak Aug 7, 2025
df3effd
Make pause resume controller use nav2::LifecycleNode (#5427)
redvinaa Aug 8, 2025
773a8aa
Updating readme table for docs links (#5430)
SteveMacenski Aug 8, 2025
e690ef0
Add support for dynamically changing keepout zone (#5429)
mini-1235 Aug 8, 2025
2a947bf
Fix KeepoutFilter on the ARM architecture (#5436)
Sushant-Chavan Aug 11, 2025
bab2a86
Calculate next path point using lookahead for Graceful Controller (#5…
SakshayMahna Aug 11, 2025
935ffb9
Bump the cache for file movements to upload codecov results
SteveMacenski Aug 11, 2025
f7b6654
Fix lifecycle manager deadlock during shutdown (#5438)
SteveMacenski Aug 11, 2025
2a377c3
🛠️ Bump actions/checkout from 4 to 5 (#5445)
dependabot[bot] Aug 12, 2025
b066a18
Include option to use PointCloud Transport (#5264)
elsayedelsheikh Aug 12, 2025
920dff0
Add option to override lethal cost in keepout zone (#5433)
mini-1235 Aug 12, 2025
1ecf27c
Make MPPI Controller and Critics Apple Clang Friendly (#5455)
idesign0 Aug 14, 2025
1856b67
Fix missing dependency (#5460)
Timple Aug 15, 2025
57a639e
Support loading multiple behavior tree files as subtrees (#5426)
Jad-ELHAJJ Aug 19, 2025
16acda8
Revert "Unclamp noise velocity. (#5266)" (#5467)
SteveMacenski Aug 19, 2025
8aedf20
fix naming for nav2_path_expiring_timer_condition_bt_node (#5471)
DavidG-Develop Aug 21, 2025
69a60df
fix: Move SmootherParams declaration outside smooth_path conditional …
SteveMacenski Aug 21, 2025
7941300
Return early from edge interpolation for zero-length edges (#5453)
emersonknapp Aug 26, 2025
0acacb0
nav2_route vizualization marker rendering performance improvement (#5…
emersonknapp Aug 26, 2025
f01ee78
make Blackboard variable ID private to the navigators (#5466)
adivardi Aug 26, 2025
7603938
Fix dynamic param SmacPlannerLattice (#5478)
tonynajjar Aug 26, 2025
ff80727
Replace last pose if only orientation differs in Navfn (#5490)
mini-1235 Aug 27, 2025
c057c95
Fix duplicate poses with computePlanThroughPoses (#5488)
tonynajjar Aug 27, 2025
2b8cc4d
Revert double spin (#5477)
mini-1235 Aug 27, 2025
3c081db
Add custom window size and poly order for SG filter (#5489)
mini-1235 Aug 28, 2025
6c3005e
Adding 3Laws Sponsors Sept 2025 (#5505)
SteveMacenski Sep 2, 2025
15604f2
Include 3Laws Robotics in README partners section
SteveMacenski Sep 2, 2025
fbdf753
Fix seg fault (#5501)
tonynajjar Sep 3, 2025
1d399b8
Route graph vis fixes: Fixes regressions from #5452 (#5507)
SteveMacenski Sep 3, 2025
41bd110
Removing openMP dep on MPPI (#5506)
SteveMacenski Sep 3, 2025
491433a
Fix pose timestamp when using transformPoseInTargetFrame (#5499)
mini-1235 Sep 4, 2025
c0da22a
Use integral path distance for MPPI Critics (#5495)
tonynajjar Sep 4, 2025
f040318
🛠️ Bump actions/setup-python from 5 to 6 (#5510)
dependabot[bot] Sep 5, 2025
627a8b6
Add debug topic to visualize whether MPPI critic has an effect on cos…
tonynajjar Sep 5, 2025
ab4aaf8
fix(nav2_theta_star_planner): Correct typo in CMakeLists ament_export…
JPLDevMaster Sep 7, 2025
8aea1a8
default empty constructor (#5518)
doisyg Sep 10, 2025
97de6f2
Feature/vector object server (#5479)
Sushant-Chavan Sep 11, 2025
f5b12f3
Nav2 update
Jakubach Jan 4, 2026
d66a7b5
Merge branch 'main' of https://github.com/Jakubach/navigation2
Jakubach Jan 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ _commands:
- restore_cache:
name: Restore Cache << parameters.key >>
keys:
- "<< parameters.key >>-v36\
- "<< parameters.key >>-v39\
-{{ arch }}\
-{{ .Branch }}\
-{{ .Environment.CIRCLE_PR_NUMBER }}\
-{{ checksum \"<< parameters.workspace >>/lockfile.txt\" }}"
- "<< parameters.key >>-v36\
- "<< parameters.key >>-v39\
-{{ arch }}\
-main\
-<no value>\
Expand All @@ -58,7 +58,7 @@ _commands:
steps:
- save_cache:
name: Save Cache << parameters.key >>
key: "<< parameters.key >>-v36\
key: "<< parameters.key >>-v39\
-{{ arch }}\
-{{ .Branch }}\
-{{ .Environment.CIRCLE_PR_NUMBER }}\
Expand Down Expand Up @@ -532,7 +532,7 @@ jobs:

_parameters:
release_parameters: &release_parameters
packages_skip_regex: "nav2_system_tests"
packages_skip_regex: "'(nav2_system_tests|nav2_smac_planner|nav2_mppi_controller|nav2_route|nav2_rviz_plugins|nav2_rotation_shim_controller|nav2_waypoint_follower|nav2_smoother|opennav_docking|nav2_behaviors|nav2_bringup|navigation2)'"

workflows:
version: 2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_main_against_distros.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Docker build context
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 1

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
matrix:
linter: [xmllint, cpplint, uncrustify, pep257, flake8, mypy]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Install typeshed for mypy
if: matrix.linter == 'mypy'
Expand All @@ -30,8 +30,8 @@ jobs:
name: pre-commit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: actions/checkout@v5
- uses: actions/setup-python@v6
- uses: pre-commit/action@v3.0.1
env:
SKIP: >-
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update_ci_image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
- check_ci_image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
</p>

For detailed instructions on how to:
- [Getting Started](https://docs.nav2.org/getting_started/index.html)
- [Concepts](https://docs.nav2.org/concepts/index.html)
- [Build](https://docs.nav2.org/development_guides/build_docs/index.html#build)
- [Install](https://docs.nav2.org/development_guides/build_docs/index.html#install)
- [Concepts](https://docs.nav2.org/concepts/index.html) and [Getting Started](https://docs.nav2.org/getting_started/index.html)
- [First Time Setup Guide](https://docs.nav2.org/setup_guides/index.html)
- [ROS Distribution Statuses](https://docs.nav2.org/#distributions)
- [Build & Install](https://docs.nav2.org/development_guides/build_docs/index.html#build) and [Docker Containers](https://github.com/orgs/ros-navigation/packages/container/package/navigation2)
- [General Tutorials](https://docs.nav2.org/tutorials/index.html) and [Algorithm Developer Tutorials](https://docs.nav2.org/plugin_tutorials/index.html)
- [Configure](https://docs.nav2.org/configuration/index.html)
- [Configuration Guide](https://docs.nav2.org/configuration/index.html)
- [Navigation Plugins](https://docs.nav2.org/plugins/index.html)
- [ROSCon Talks](https://docs.nav2.org/about/roscon.html)
- [API Docs](https://api.nav2.org/)
- [ROSCon Talks](https://docs.nav2.org/about/roscon.html) and [Citations](https://docs.nav2.org/citations.html)
- [Migration Guides](https://docs.nav2.org/migration/index.html)
- [Container Images for Building Nav2](https://github.com/orgs/ros-navigation/packages/container/package/navigation2)
- [Contribute](https://docs.nav2.org/development_guides/involvement_docs/index.html)

Please visit our [documentation site](https://docs.nav2.org/). [Please visit our community Slack here](https://join.slack.com/t/navigation2/shared_invite/zt-uj428p0x-jKx8U7OzK1IOWp5TnDS2rA) (if this link does not work, please contact maintainers to reactivate).
Expand All @@ -29,7 +29,7 @@ Please visit our [documentation site](https://docs.nav2.org/). [Please visit our
Please thank our amazing sponsors for their generous support of Nav2 on behalf of the community to allow the project to continue to be professionally maintained, developed, and supported for the long-haul! [Open Navigation LLC](https://www.opennav.org/) provides project leadership, maintenance, development, and support services to the Nav2 & ROS community.

<p align="center">
<img src="doc/sponsors_july_2025.png" />
<img src="doc/sponsors_sept_2025.png" />
</p>

### [Dexory](https://www.dexory.com/) develops robotics and AI logistics solutions to drive better business decisions using a digital twin of warehouses to provide inventory insights.
Expand All @@ -40,6 +40,8 @@ Please thank our amazing sponsors for their generous support of Nav2 on behalf o

### [Stereolabs](https://www.stereolabs.com/) produces the high-quality ZED stereo cameras with a complete vision pipeline from neural depth to SLAM, 3D object tracking, AI and more.

### [3Laws Robotics](https://3laws.io/) provide Supervisor ROS and Pro, easy-to-use dynamic collision avoidance solutions to improve safety and application throughput.

## Citation

If you use the navigation framework, an algorithm from this repository, or ideas from it
Expand Down
Binary file added doc/sponsors_sept_2025.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion nav2_amcl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.8)
project(nav2_amcl)

find_package(ament_cmake REQUIRED)
find_package(backward_ros REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(message_filters REQUIRED)
find_package(nav_msgs REQUIRED)
Expand Down
6 changes: 3 additions & 3 deletions nav2_amcl/include/nav2_amcl/amcl_node.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@
#include "sensor_msgs/msg/laser_scan.hpp"
#include "nav2_ros_common/service_server.hpp"
#include "std_srvs/srv/empty.hpp"
#include "tf2_ros/message_filter.h"
#include "tf2_ros/transform_broadcaster.h"
#include "tf2_ros/transform_listener.h"
#include "tf2_ros/message_filter.hpp"
#include "tf2_ros/transform_broadcaster.hpp"
#include "tf2_ros/transform_listener.hpp"

#define NEW_UNIFORM_SAMPLING 1

Expand Down
1 change: 1 addition & 0 deletions nav2_amcl/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<buildtool_depend>ament_cmake</buildtool_depend>
<build_depend>nav2_common</build_depend>

<depend>backward_ros</depend>
<depend>geometry_msgs</depend>
<depend>message_filters</depend>
<depend>nav_msgs</depend>
Expand Down
12 changes: 6 additions & 6 deletions nav2_amcl/src/amcl_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@
#include "tf2/utils.hpp"
#include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
#include "tf2/LinearMath/Transform.hpp"
#include "tf2_ros/buffer.h"
#include "tf2_ros/message_filter.h"
#include "tf2_ros/transform_broadcaster.h"
#include "tf2_ros/transform_listener.h"
#include "tf2_ros/create_timer_ros.h"
#include "tf2_ros/buffer.hpp"
#include "tf2_ros/message_filter.hpp"
#include "tf2_ros/transform_broadcaster.hpp"
#include "tf2_ros/transform_listener.hpp"
#include "tf2_ros/create_timer_ros.hpp"

#include "nav2_amcl/portable_utils.hpp"
#include "nav2_ros_common/validate_messages.hpp"
Expand Down Expand Up @@ -1339,7 +1339,7 @@ AmclNode::initTransforms()
get_node_timers_interface(),
callback_group_);
tf_buffer_->setCreateTimerInterface(timer_interface);
tf_listener_ = std::make_shared<tf2_ros::TransformListener>(*tf_buffer_);
tf_listener_ = std::make_shared<tf2_ros::TransformListener>(*tf_buffer_, this, true);
tf_broadcaster_ = std::make_shared<tf2_ros::TransformBroadcaster>(shared_from_this());

sent_first_transform_ = false;
Expand Down
16 changes: 13 additions & 3 deletions nav2_behavior_tree/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.8)
project(nav2_behavior_tree CXX)

find_package(ament_cmake REQUIRED)
find_package(backward_ros REQUIRED)
find_package(action_msgs REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(geometry_msgs REQUIRED)
Expand All @@ -18,6 +19,7 @@ find_package(std_srvs REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(nav2_ros_common REQUIRED)
find_package(angles REQUIRED)

nav2_package()

Expand All @@ -32,6 +34,7 @@ target_include_directories(${library_name}
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
target_link_libraries(${library_name} PUBLIC
${action_msgs_TARGETS}
angles::angles
behaviortree_cpp::behaviortree_cpp
${geometry_msgs_TARGETS}
${nav_msgs_TARGETS}
Expand Down Expand Up @@ -122,8 +125,8 @@ list(APPEND plugin_libs nav2_is_path_valid_condition_bt_node)
add_library(nav2_time_expired_condition_bt_node SHARED plugins/condition/time_expired_condition.cpp)
list(APPEND plugin_libs nav2_time_expired_condition_bt_node)

add_library(nav2_path_expiring_timer_condition SHARED plugins/condition/path_expiring_timer_condition.cpp)
list(APPEND plugin_libs nav2_path_expiring_timer_condition)
add_library(nav2_path_expiring_timer_condition_bt_node SHARED plugins/condition/path_expiring_timer_condition.cpp)
list(APPEND plugin_libs nav2_path_expiring_timer_condition_bt_node)

add_library(nav2_distance_traveled_condition_bt_node SHARED plugins/condition/distance_traveled_condition.cpp)
list(APPEND plugin_libs nav2_distance_traveled_condition_bt_node)
Expand Down Expand Up @@ -218,6 +221,12 @@ list(APPEND plugin_libs nav2_nonblocking_sequence_bt_node)
add_library(nav2_round_robin_node_bt_node SHARED plugins/control/round_robin_node.cpp)
list(APPEND plugin_libs nav2_round_robin_node_bt_node)

add_library(nav2_pause_resume_controller_bt_node SHARED plugins/control/pause_resume_controller.cpp)
list(APPEND plugin_libs nav2_pause_resume_controller_bt_node)

add_library(nav2_persistent_sequence_bt_node SHARED plugins/control/persistent_sequence.cpp)
list(APPEND plugin_libs nav2_persistent_sequence_bt_node)

add_library(nav2_single_trigger_bt_node SHARED plugins/decorator/single_trigger_node.cpp)
list(APPEND plugin_libs nav2_single_trigger_bt_node)

Expand Down Expand Up @@ -268,6 +277,7 @@ foreach(bt_plugin ${plugin_libs})
${std_msgs_TARGETS}
${std_srvs_TARGETS}
nav2_ros_common::nav2_ros_common
angles::angles
)
target_compile_definitions(${bt_plugin} PRIVATE BT_PLUGIN_EXPORT)
endforeach()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ class BehaviorTreeEngine
*/
void resetGrootMonitor();

/**
* @brief Function to register a BT from an XML file
* @param file_path Path to BT XML file
*/
void registerTreeFromFile(const std::string & file_path);

/**
* @brief Function to explicitly reset all BT nodes to initial state
* @param tree Tree to halt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ class BtActionServer
OnGoalReceivedCallback on_goal_received_callback,
OnLoopCallback on_loop_callback,
OnPreemptCallback on_preempt_callback,
OnCompletionCallback on_completion_callback);
OnCompletionCallback on_completion_callback,
const std::vector<std::string> & search_directories = std::vector<std::string>{});

/**
* @brief A destructor for nav2_behavior_tree::BtActionServer class
Expand Down Expand Up @@ -102,7 +103,8 @@ class BtActionServer
* @return bool true if the resulting BT correspond to the one in bt_xml_filename. false
* if something went wrong, and previous BT is maintained
*/
bool loadBehaviorTree(const std::string & bt_xml_filename = "");
bool loadBehaviorTree(
const std::string & bt_xml_filename = "");

/**
* @brief Getter function for BT Blackboard
Expand Down Expand Up @@ -245,6 +247,7 @@ class BtActionServer
// The XML file that contains the Behavior Tree to create
std::string current_bt_xml_filename_;
std::string default_bt_xml_filename_;
std::vector<std::string> search_directories_;

// The wrapper class for the BT functionality
std::unique_ptr<nav2_behavior_tree::BehaviorTreeEngine> bt_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,11 @@ BtActionServer<ActionT, NodeT>::BtActionServer(
OnGoalReceivedCallback on_goal_received_callback,
OnLoopCallback on_loop_callback,
OnPreemptCallback on_preempt_callback,
OnCompletionCallback on_completion_callback)
OnCompletionCallback on_completion_callback,
const std::vector<std::string> & search_directories)
: action_name_(action_name),
default_bt_xml_filename_(default_bt_xml_filename),
search_directories_(search_directories),
plugin_lib_names_(plugin_lib_names),
node_(parent),
on_goal_received_callback_(on_goal_received_callback),
Expand Down Expand Up @@ -246,6 +248,8 @@ void BtActionServer<ActionT, NodeT>::setGrootMonitoring(
template<class ActionT, class NodeT>
bool BtActionServer<ActionT, NodeT>::loadBehaviorTree(const std::string & bt_xml_filename)
{
namespace fs = std::filesystem;

// Empty filename is default for backward compatibility
auto filename = bt_xml_filename.empty() ? default_bt_xml_filename_ : bt_xml_filename;

Expand All @@ -255,19 +259,38 @@ bool BtActionServer<ActionT, NodeT>::loadBehaviorTree(const std::string & bt_xml
return true;
}

// if a new tree is created, than the Groot2 Publisher must be destroyed
// Reset any existing Groot2 monitoring
bt_->resetGrootMonitor();

// Read the input BT XML from the specified file into a string
std::ifstream xml_file(filename);

if (!xml_file.good()) {
setInternalError(ActionT::Result::FAILED_TO_LOAD_BEHAVIOR_TREE,
"Couldn't open input XML file: " + filename);
"Couldn't open BT XML file: " + filename);
return false;
}

// Create the Behavior Tree from the XML input
const auto canonical_main_bt = fs::canonical(filename);

// Register all XML behavior Subtrees found in the given directories
for (const auto & directory : search_directories_) {
try {
for (const auto & entry : fs::directory_iterator(directory)) {
if (entry.path().extension() == ".xml") {
// Skip registering the main tree file
if (fs::equivalent(fs::canonical(entry.path()), canonical_main_bt)) {
continue;
}
bt_->registerTreeFromFile(entry.path().string());
}
}
} catch (const std::exception & e) {
setInternalError(ActionT::Result::FAILED_TO_LOAD_BEHAVIOR_TREE,
"Exception reading behavior tree directory: " + std::string(e.what()));
return false;
}
}

// Try to load the main BT tree
try {
tree_ = bt_->createTreeFromFile(filename, blackboard_);
for (auto & subtree : tree_.subtrees) {
Expand All @@ -281,15 +304,15 @@ bool BtActionServer<ActionT, NodeT>::loadBehaviorTree(const std::string & bt_xml
}
} catch (const std::exception & e) {
setInternalError(ActionT::Result::FAILED_TO_LOAD_BEHAVIOR_TREE,
std::string("Exception when loading BT: ") + e.what());
std::string("Exception when creating BT tree from file: ") + e.what());
return false;
}

// Optional logging and monitoring
topic_logger_ = std::make_unique<RosTopicLogger>(client_node_, tree_);

current_bt_xml_filename_ = filename;

// Enable monitoring with Groot2
if (enable_groot_monitoring_) {
bt_->addGrootMonitoring(&tree_, groot_server_port_);
RCLCPP_DEBUG(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

#include <memory>
#include <string>
#include <chrono>

#include "std_msgs/msg/string.hpp"

Expand Down Expand Up @@ -102,6 +103,7 @@ class ControllerSelector : public BT::SyncActionNode
rclcpp::executors::SingleThreadedExecutor callback_group_executor_;

std::string topic_name_;
std::chrono::milliseconds bt_loop_duration_;
};

} // namespace nav2_behavior_tree
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

#include <memory>
#include <string>
#include <chrono>

#include "std_msgs/msg/string.hpp"

Expand Down Expand Up @@ -102,6 +103,7 @@ class GoalCheckerSelector : public BT::SyncActionNode
rclcpp::executors::SingleThreadedExecutor callback_group_executor_;

std::string topic_name_;
std::chrono::milliseconds bt_loop_duration_;
};

} // namespace nav2_behavior_tree
Expand Down
Loading