Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
52073b6
skeleton of main server and visualization tools
SteveMacenski Jan 11, 2023
97f4dc4
adding complete Kd-tree search for initial and goal node iDs for search
SteveMacenski Jan 11, 2023
7340c27
initial planner complete
SteveMacenski Jan 13, 2023
797e1a0
added path converter
SteveMacenski Jan 13, 2023
1d7a7a7
fix conversion util
SteveMacenski Jan 13, 2023
38e4675
adding change graph service
SteveMacenski Jan 13, 2023
38fab85
added edge scoring to the search + pluginlib definitions + a plugin e…
SteveMacenski Jan 13, 2023
27b6fcb
moved to src directory
SteveMacenski Jan 13, 2023
fa125ce
linting
SteveMacenski Jan 13, 2023
99edae2
contextual error codes + default bringup
SteveMacenski Jan 13, 2023
b310869
adding rviz default views of rgaph
SteveMacenski Jan 13, 2023
0d3decb
adding missing exception file
SteveMacenski Jan 13, 2023
deae01f
fix segfault that was previously optimized out
SteveMacenski Jan 13, 2023
ff71fb7
whoops, removing duplicate plugin registration
SteveMacenski Jan 14, 2023
3ffd8e7
remove nanoflann TODO
SteveMacenski Jan 14, 2023
313ca89
adding 2 more edge plugins, use of closed edges in the API design, an…
SteveMacenski Jan 17, 2023
fdae215
fix indexing bug for certain request types
SteveMacenski Jan 18, 2023
13b6656
adding costmap scoring route plugin
SteveMacenski Jan 18, 2023
3f79415
readme todo list updates
SteveMacenski Jan 18, 2023
aa2ecac
readme details
SteveMacenski Jan 18, 2023
ea4ba6b
adding unit test coverage
SteveMacenski Jan 19, 2023
6440057
add dynamic cost adjustment by application systems
SteveMacenski Jan 19, 2023
9cad41a
adding in operations API
SteveMacenski Jan 20, 2023
4fdf282
minor fixes
SteveMacenski Jan 20, 2023
4fa461a
add compute and track route action def
SteveMacenski Jan 20, 2023
d9faaab
initial prototype compiling and basic interface working for tracking …
SteveMacenski Jan 27, 2023
95455ff
updates to TODO list
SteveMacenski Jan 27, 2023
0bb7a15
state management
SteveMacenski Jan 27, 2023
50da201
remove divide by zero potential error
SteveMacenski Jan 28, 2023
3fcd90a
added in working mostly demog
SteveMacenski Jan 28, 2023
8fb918d
adding rerouting service and a bunch of new tests for operations
SteveMacenski Jan 31, 2023
b9fa22e
adding new trigger event plugin + base class for service calls + test…
SteveMacenski Feb 1, 2023
eb9e7db
conventions
SteveMacenski Feb 1, 2023
526b6c0
adding initial (maybe working?) collision checker + added blocked ID …
SteveMacenski Feb 3, 2023
3a66468
adding in 3 new algorithms: Time Scorer, Time Marker, and Semantic Sc…
SteveMacenski Feb 7, 2023
d0bb885
adding complete unit testing for collision monitor
SteveMacenski Feb 7, 2023
5218412
adding tests for the planner on a fully connected 4x4 graph
SteveMacenski Feb 7, 2023
f35d6fc
adding rereouting with starting point to use for the initial conditio…
SteveMacenski Feb 8, 2023
095d125
sharing common shared action server code in main server
SteveMacenski Feb 8, 2023
f8b2425
refactor, added goal intent extractor, updated necessary tests
SteveMacenski Feb 10, 2023
3a8bab5
updating todo notes
SteveMacenski Feb 10, 2023
8118765
adding tests and functionoing goal intent extractor and pruning cost …
SteveMacenski Feb 14, 2023
01f186c
a little cleanup
SteveMacenski Feb 14, 2023
dd58ad1
adding readme
SteveMacenski Feb 14, 2023
164ed7d
completing unit tests
SteveMacenski Feb 14, 2023
9d6b405
large reorg of information around the rerouting state information and…
SteveMacenski Feb 17, 2023
5f56118
Nav2 route server parser (#3398)
jwallace42 Feb 22, 2023
bca4a41
adding unit tests for complex handling of reentrant requests
SteveMacenski Mar 1, 2023
bc0f541
adding demos for python3 API
SteveMacenski Mar 2, 2023
f0bbf19
adding conditions if graph is empty in routing request
SteveMacenski Mar 2, 2023
516d76f
working MVP tracking demos working
SteveMacenski Mar 4, 2023
3514c39
adding integration testing expanded TODO list before beta testers
SteveMacenski Mar 4, 2023
6ab3898
Example graph (#3438)
jwallace42 Mar 6, 2023
24fcdf6
testing system-wise, mostly working
SteveMacenski Mar 7, 2023
fa2adec
Merge branch 'nav2_route_server' of github.com:ros-planning/navigatio…
SteveMacenski Mar 7, 2023
8dffaab
update remaining TODO list
SteveMacenski Mar 7, 2023
c8f0fb6
updates for pruning starting in rerouting
SteveMacenski Mar 7, 2023
3c81a5b
adding a full roster of default plugins
SteveMacenski Mar 7, 2023
0796f58
complete tested feature set
SteveMacenski Mar 7, 2023
7f9b24e
adding configuration guide to readme
SteveMacenski Mar 8, 2023
07433e4
adding plugins info
SteveMacenski Mar 8, 2023
cb6901e
testing collapse
SteveMacenski Mar 8, 2023
0b7f300
smaller titles
SteveMacenski Mar 8, 2023
256570d
adding becnhmarking script
SteveMacenski Mar 9, 2023
2d94c9e
adding metrics to readme
SteveMacenski Mar 9, 2023
e8189c9
adding image for architecture
SteveMacenski Mar 9, 2023
fa311ad
resize
SteveMacenski Mar 9, 2023
343bbb4
resize
SteveMacenski Mar 9, 2023
ac810d5
adding design info
SteveMacenski Mar 9, 2023
3325c3b
new image
SteveMacenski Mar 9, 2023
aaf98dd
turtlebot3 world graph (#3472)
jwallace42 Mar 13, 2023
ba05061
scripts for route (#3490)
jwallace42 Mar 18, 2023
a3de543
tmp push for moving computers
SteveMacenski Nov 30, 2023
f515d48
Merge branch 'nav2_route_server' of github.com:ros-planning/navigatio…
SteveMacenski Nov 30, 2023
88b129e
Nav2 route server goal orientation scorer (#4866)
alexanderjyuen Jan 22, 2025
f803b7f
rebase to main
SteveMacenski Mar 17, 2025
75d1959
Merge branch 'nav2_route_server' of github.com:ros-navigation/navigat…
SteveMacenski Mar 17, 2025
afcf4dc
minor updates
SteveMacenski Mar 17, 2025
f901bca
fix a few bugs, clarify a few things
SteveMacenski Mar 17, 2025
4d9c862
more validation and inline comments to help readers understand comple…
SteveMacenski Mar 18, 2025
2efcc34
CI turning over
SteveMacenski Mar 18, 2025
5a2b3b8
adding error_msg
SteveMacenski Mar 18, 2025
1ef5419
updated cmake style to be in line with repo
SteveMacenski Mar 18, 2025
e33a84b
Adding afew mores features from TODO list
SteveMacenski Mar 27, 2025
78f9b4d
Nav2 route server start pose orientation scorer (#4950)
alexanderjyuen Mar 27, 2025
350de36
updates
SteveMacenski Mar 28, 2025
d4ea58d
better handle the route situation in the simple commander API
SteveMacenski Mar 28, 2025
5f9fe56
completed TB4 migration
SteveMacenski Mar 29, 2025
c840e66
route updates
SteveMacenski Mar 31, 2025
418db5c
updating radme
SteveMacenski Apr 1, 2025
7a666c5
one last comment for the day
SteveMacenski Apr 1, 2025
1942655
adding in BT ndoes, tests, and graphs for bringup
SteveMacenski Apr 2, 2025
6390a76
updating error code locations
SteveMacenski Apr 2, 2025
8e59f74
test for route planner complete
SteveMacenski Apr 3, 2025
0f5945f
merge into main
SteveMacenski Apr 3, 2025
013e148
Update to use service server from nav2_utils for service introspection
SteveMacenski Apr 3, 2025
d436679
fix small error
SteveMacenski Apr 3, 2025
0d3e900
adding in additional smoke tests, prototype working of tracking test …
SteveMacenski Apr 4, 2025
62739a3
updates
SteveMacenski Apr 4, 2025
02c4bd7
completed system tests
SteveMacenski Apr 4, 2025
aded6b5
reenable collision checking
SteveMacenski Apr 4, 2025
71468f6
remove unnecssary logging
SteveMacenski Apr 4, 2025
346cd9a
linting
SteveMacenski Apr 4, 2025
8e1c664
Merge branch 'main' of github.com:ros-navigation/navigation2 into nav…
SteveMacenski Apr 4, 2025
bc79b6b
Update package.xml
SteveMacenski Apr 7, 2025
97d07d6
closing test gap
SteveMacenski Apr 8, 2025
7ee15f8
a few more lines
SteveMacenski Apr 8, 2025
d3b7041
Merge branch 'nav2_route_server' of github.com:ros-navigation/navigat…
SteveMacenski Apr 8, 2025
bd86091
Merge branch 'main' into nav2_route_server
SteveMacenski Apr 8, 2025
66c1aac
changing permissions
SteveMacenski Apr 8, 2025
f4bc079
fix system test
SteveMacenski Apr 8, 2025
7b5c106
adding in additional coverage
SteveMacenski Apr 8, 2025
fb76cdf
finalized test coverage
SteveMacenski Apr 8, 2025
f2ca159
adding file
SteveMacenski Apr 8, 2025
1b87126
simple commander demo working
SteveMacenski Apr 9, 2025
7e3a611
python happiness
SteveMacenski Apr 9, 2025
d1e4740
precommit spelling happy
SteveMacenski Apr 9, 2025
ec6b3a9
wtf pprecommit, why didn't you mention this before
SteveMacenski Apr 9, 2025
3fe0731
spelling
SteveMacenski Apr 9, 2025
699d6ca
Update nav2_route/README.md
SteveMacenski Apr 9, 2025
604b7c6
Update route_planner.cpp
SteveMacenski Apr 9, 2025
4125d3a
merging conflict
SteveMacenski Apr 9, 2025
74acd85
fix mistake in merge conflict resolution
SteveMacenski Apr 9, 2025
14641d1
type check fix
SteveMacenski Apr 9, 2025
fa00c26
lint
SteveMacenski Apr 9, 2025
41631b4
linting
SteveMacenski Apr 9, 2025
5c86398
more design ideas
SteveMacenski Apr 11, 2025
66bbb1c
Configuring nav2_route_server branch to be mypy compliant (#5081)
leander-dsouza Apr 11, 2025
2fb655f
Demo 1 completed
SteveMacenski Apr 11, 2025
565af0a
Merge branch 'nav2_route_server' of github.com:ros-navigation/navigat…
SteveMacenski Apr 11, 2025
51e60fd
second demo completed
SteveMacenski Apr 12, 2025
0f289f8
final linting
SteveMacenski Apr 12, 2025
4ac95f0
adding route server for test to pass
SteveMacenski Apr 12, 2025
bb6384d
adding smoother server
SteveMacenski Apr 12, 2025
84b6398
Merge branch 'main' into nav2_route_server
SteveMacenski Apr 12, 2025
bcb539a
Configured nav2_system_tests to be mypy compliant. (#5085)
leander-dsouza Apr 13, 2025
33f4015
Route Tool Rviz Panel (#4775)
john-chrosniak Apr 14, 2025
882e4bf
Merge branch 'main' into nav2_route_server
SteveMacenski Apr 14, 2025
e669144
fixing linting
SteveMacenski Apr 15, 2025
5adba17
Updating readme table
SteveMacenski Apr 15, 2025
c770e3e
lint
SteveMacenski Apr 15, 2025
0f61752
adding multifloor
SteveMacenski Apr 16, 2025
4b49a2f
adding BFS goal intent search
SteveMacenski Apr 17, 2025
eac891a
fix bug
SteveMacenski Apr 17, 2025
043d484
adding unit tests for goal intent search
SteveMacenski Apr 17, 2025
49eb60d
fixing collision check
SteveMacenski Apr 17, 2025
20b8631
Update nav2_simple_commander/nav2_simple_commander/robot_navigator.py
SteveMacenski Apr 18, 2025
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
71 changes: 36 additions & 35 deletions README.md

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions nav2_behavior_tree/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,9 @@ list(APPEND plugin_libs nav2_transform_available_condition_bt_node)
add_library(nav2_goal_reached_condition_bt_node SHARED plugins/condition/goal_reached_condition.cpp)
list(APPEND plugin_libs nav2_goal_reached_condition_bt_node)

add_library(nav2_are_poses_near_condition_bt_node SHARED plugins/condition/are_poses_near_condition.cpp)
list(APPEND plugin_libs nav2_are_poses_near_condition_bt_node)

add_library(nav2_globally_updated_goal_condition_bt_node SHARED plugins/condition/globally_updated_goal_condition.cpp)
list(APPEND plugin_libs nav2_globally_updated_goal_condition_bt_node)

Expand Down Expand Up @@ -143,6 +146,9 @@ list(APPEND plugin_libs nav2_would_a_planner_recovery_help_condition_bt_node)
add_library(nav2_would_a_smoother_recovery_help_condition_bt_node SHARED plugins/condition/would_a_smoother_recovery_help_condition.cpp)
list(APPEND plugin_libs nav2_would_a_smoother_recovery_help_condition_bt_node)

add_library(nav2_would_a_route_recovery_help_condition_bt_node SHARED plugins/condition/would_a_route_recovery_help_condition.cpp)
list(APPEND plugin_libs nav2_would_a_route_recovery_help_condition_bt_node)

add_library(nav2_reinitialize_global_localization_service_bt_node SHARED plugins/action/reinitialize_global_localization_service.cpp)
list(APPEND plugin_libs nav2_reinitialize_global_localization_service_bt_node)

Expand All @@ -158,6 +164,9 @@ list(APPEND plugin_libs nav2_speed_controller_bt_node)
add_library(nav2_truncate_path_action_bt_node SHARED plugins/action/truncate_path_action.cpp)
list(APPEND plugin_libs nav2_truncate_path_action_bt_node)

add_library(nav2_concatenate_paths_action_bt_node SHARED plugins/action/concatenate_paths_action.cpp)
list(APPEND plugin_libs nav2_concatenate_paths_action_bt_node)

add_library(nav2_truncate_path_local_action_bt_node SHARED plugins/action/truncate_path_local_action.cpp)
list(APPEND plugin_libs nav2_truncate_path_local_action_bt_node)

Expand All @@ -182,9 +191,21 @@ list(APPEND plugin_libs nav2_remove_passed_goals_action_bt_node)
add_library(nav2_remove_in_collision_goals_action_bt_node SHARED plugins/action/remove_in_collision_goals_action.cpp)
list(APPEND plugin_libs nav2_remove_in_collision_goals_action_bt_node)

add_library(nav2_append_goal_pose_to_goals_action_bt_node SHARED plugins/action/append_goal_pose_to_goals_action.cpp)
list(APPEND plugin_libs nav2_append_goal_pose_to_goals_action_bt_node)

add_library(nav2_get_pose_from_path_action_bt_node SHARED plugins/action/get_pose_from_path_action.cpp)
list(APPEND plugin_libs nav2_get_pose_from_path_action_bt_node)

add_library(nav2_extract_route_nodes_as_goals_action_bt_node SHARED plugins/action/extract_route_nodes_as_goals_action.cpp)
list(APPEND plugin_libs nav2_extract_route_nodes_as_goals_action_bt_node)

add_library(nav2_get_next_few_goals_action_bt_node SHARED plugins/action/get_next_few_goals_action.cpp)
list(APPEND plugin_libs nav2_get_next_few_goals_action_bt_node)

add_library(nav2_get_current_pose_action_bt_node SHARED plugins/action/get_current_pose_action.cpp)
list(APPEND plugin_libs nav2_get_current_pose_action_bt_node)

add_library(nav2_pipeline_sequence_bt_node SHARED plugins/control/pipeline_sequence.cpp)
list(APPEND plugin_libs nav2_pipeline_sequence_bt_node)

Expand Down Expand Up @@ -212,6 +233,15 @@ list(APPEND plugin_libs nav2_progress_checker_selector_bt_node)
add_library(nav2_goal_updated_controller_bt_node SHARED plugins/decorator/goal_updated_controller.cpp)
list(APPEND plugin_libs nav2_goal_updated_controller_bt_node)

add_library(nav2_compute_and_track_route_cancel_bt_node SHARED plugins/action/compute_and_track_route_cancel_node.cpp)
list(APPEND plugin_libs nav2_compute_and_track_route_cancel_bt_node)

add_library(nav2_compute_and_track_route_bt_node SHARED plugins/action/compute_and_track_route_action.cpp)
list(APPEND plugin_libs nav2_compute_and_track_route_bt_node)

add_library(nav2_compute_route_bt_node SHARED plugins/action/compute_route_action.cpp)
list(APPEND plugin_libs nav2_compute_route_bt_node)

foreach(bt_plugin ${plugin_libs})
target_include_directories(${bt_plugin}
PRIVATE
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Copyright (c) 2025 Open Navigation LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__APPEND_GOAL_POSE_TO_GOALS_ACTION_HPP_
#define NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__APPEND_GOAL_POSE_TO_GOALS_ACTION_HPP_

#include <vector>
#include <memory>
#include <string>

#include "nav_msgs/msg/goals.hpp"
#include "nav2_msgs/msg/route.hpp"
#include "geometry_msgs/msg/pose_stamped.hpp"
#include "nav2_util/geometry_utils.hpp"
#include "nav2_util/robot_utils.hpp"
#include "behaviortree_cpp/action_node.h"

namespace nav2_behavior_tree
{

class AppendGoalPoseToGoals : public BT::ActionNodeBase
{
public:
AppendGoalPoseToGoals(
const std::string & xml_tag_name,
const BT::NodeConfiguration & conf);


static BT::PortsList providedPorts()
{
return {
BT::InputPort<geometry_msgs::msg::PoseStamped>("goal_pose", "Goal pose to append"),
BT::InputPort<nav_msgs::msg::Goals>("input_goals", "Input goals to append to"),
BT::OutputPort<nav_msgs::msg::Goals>("output_goals", "Output goals after appending")
};
}

private:
void halt() override {}
BT::NodeStatus tick() override;
};

} // namespace nav2_behavior_tree

#endif // NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__APPEND_GOAL_POSE_TO_GOALS_ACTION_HPP_
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
// Copyright (c) 2025 Open Navigation LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_ACTION_HPP_
#define NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_ACTION_HPP_

#include <string>
#include <memory>

#include "nav2_msgs/action/compute_and_track_route.hpp"
#include "nav2_behavior_tree/bt_action_node.hpp"

namespace nav2_behavior_tree
{

/**
* @brief A nav2_behavior_tree::BtActionNode class that wraps nav2_msgs::action::ComputeAndTrackRoute
*/
class ComputeAndTrackRouteAction : public BtActionNode<nav2_msgs::action::ComputeAndTrackRoute>
{
using Action = nav2_msgs::action::ComputeAndTrackRoute;
using ActionResult = Action::Result;

public:
/**
* @brief A constructor for nav2_behavior_tree::ComputeAndTrackRouteAction
* @param xml_tag_name Name for the XML tag for this node
* @param action_name Action name this node creates a client for
* @param conf BT node configuration
*/
ComputeAndTrackRouteAction(
const std::string & xml_tag_name,
const std::string & action_name,
const BT::NodeConfiguration & conf);

/**
* @brief Function to perform some user-defined operation on tick
*/
void on_tick() override;

/**
* @brief Function to perform some user-defined operation upon successful completion of the action
*/
BT::NodeStatus on_success() override;

/**
* @brief Function to perform some user-defined operation upon abortion of the action
*/
BT::NodeStatus on_aborted() override;

/**
* @brief Function to perform some user-defined operation upon cancellation of the action
*/
BT::NodeStatus on_cancelled() override;

/**
* @brief Function to perform some user-defined operation after a timeout
* waiting for a result that hasn't been received yet
* @param feedback shared_ptr to latest feedback message
*/
void on_wait_for_result(
std::shared_ptr<const Action::Feedback> feedback) override;

/**
* @brief Creates list of BT ports
* @return BT::PortsList Containing basic ports along with node-specific ports
*/
static BT::PortsList providedPorts()
{
return providedBasicPorts(
{
BT::InputPort<unsigned int>("start_id", "ID of the start node"),
BT::InputPort<unsigned int>("goal_id", "ID of the goal node"),
BT::InputPort<geometry_msgs::msg::PoseStamped>(
"start",
"Start pose of the path if overriding current robot pose and using poses over IDs"),
BT::InputPort<geometry_msgs::msg::PoseStamped>(
"goal", "Goal pose of the path if using poses over IDs"),
BT::InputPort<bool>(
"use_start", false,
"Whether to use the start pose or the robot's current pose"),
BT::InputPort<bool>(
"use_poses", false, "Whether to use poses or IDs for start and goal"),
BT::OutputPort<builtin_interfaces::msg::Duration>("execution_duration",
"Time taken to compute and track route"),
BT::OutputPort<ActionResult::_error_code_type>(
"error_code_id", "The compute route error code"),
BT::OutputPort<std::string>(
"error_msg", "The compute route error msg"),
});
}
};

} // namespace nav2_behavior_tree

#endif // NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_ACTION_HPP_
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Copyright (c) 2025 Open Navigation LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_CANCEL_NODE_HPP_
#define NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_CANCEL_NODE_HPP_

#include <memory>
#include <string>

#include "nav2_msgs/action/compute_and_track_route.hpp"

#include "nav2_behavior_tree/bt_cancel_action_node.hpp"

namespace nav2_behavior_tree
{

/**
* @brief A nav2_behavior_tree::BtActionNode class
* that wraps nav2_msgs::action::ComputeAndTrackRoute cancellation
*/
class ComputeAndTrackRouteCancel
: public BtCancelActionNode<nav2_msgs::action::ComputeAndTrackRoute>
{
public:
/**
* @brief A constructor for nav2_behavior_tree::ComputeAndTrackRouteCancel
* @param xml_tag_name Name for the XML tag for this node
* @param action_name Action name this node creates a client for
* @param conf BT node configuration
*/
ComputeAndTrackRouteCancel(
const std::string & xml_tag_name,
const std::string & action_name,
const BT::NodeConfiguration & conf);

/**
* @brief Creates list of BT ports
* @return BT::PortsList Containing basic ports along with node-specific ports
*/
static BT::PortsList providedPorts()
{
return providedBasicPorts(
{
});
}
};

} // namespace nav2_behavior_tree

#endif // NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__COMPUTE_AND_TRACK_ROUTE_CANCEL_NODE_HPP_
Loading
Loading