Skip to content

Commit 4e8469e

Browse files
authored
Add double spin_some in some BT nodes (ros-navigation#5055)
* Add a double spin Signed-off-by: Alberto Tudela <[email protected]> * Add comment Signed-off-by: Alberto Tudela <[email protected]> * Move spin to constructor Signed-off-by: Alberto Tudela <[email protected]> --------- Signed-off-by: Alberto Tudela <[email protected]>
1 parent c3d41d6 commit 4e8469e

File tree

6 files changed

+18
-2
lines changed

6 files changed

+18
-2
lines changed

nav2_behavior_tree/plugins/action/controller_selector_node.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ ControllerSelector::ControllerSelector(
3333
: BT::SyncActionNode(name, conf)
3434
{
3535
initialize();
36+
37+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
38+
callback_group_executor_.spin_some(std::chrono::nanoseconds(1));
3639
}
3740

3841
void ControllerSelector::initialize()

nav2_behavior_tree/plugins/action/planner_selector_node.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ PlannerSelector::PlannerSelector(
3333
: BT::SyncActionNode(name, conf)
3434
{
3535
initialize();
36+
37+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
38+
callback_group_executor_.spin_some(std::chrono::nanoseconds(1));
3639
}
3740

3841
void PlannerSelector::initialize()

nav2_behavior_tree/plugins/action/smoother_selector_node.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ SmootherSelector::SmootherSelector(
3434
: BT::SyncActionNode(name, conf)
3535
{
3636
initialize();
37+
38+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
39+
callback_group_executor_.spin_some(std::chrono::nanoseconds(1));
3740
}
3841

3942
void SmootherSelector::initialize()

nav2_behavior_tree/plugins/condition/is_battery_charging_condition.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ IsBatteryChargingCondition::IsBatteryChargingCondition(
2727
is_battery_charging_(false)
2828
{
2929
initialize();
30+
31+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
32+
callback_group_executor_.spin_some(std::chrono::nanoseconds(1));
3033
}
3134

3235
void IsBatteryChargingCondition::initialize()

nav2_behavior_tree/plugins/condition/is_battery_low_condition.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ IsBatteryLowCondition::IsBatteryLowCondition(
3030
is_battery_low_(false)
3131
{
3232
initialize();
33+
34+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
35+
callback_group_executor_.spin_some(std::chrono::nanoseconds(1));
3336
}
3437

3538
void IsBatteryLowCondition::initialize()

nav2_behavior_tree/plugins/decorator/goal_updater_node.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ GoalUpdater::GoalUpdater(
3636
goals_updater_topic_("goals_update")
3737
{
3838
initialize();
39+
40+
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
41+
callback_group_executor_.spin_all(std::chrono::milliseconds(1));
3942
}
4043

4144
void GoalUpdater::initialize()
@@ -92,8 +95,6 @@ inline BT::NodeStatus GoalUpdater::tick()
9295
getInput("input_goal", goal);
9396
getInput("input_goals", goals);
9497

95-
// Spin multiple times due to rclcpp regression in Jazzy requiring a 'warm up' spin
96-
callback_group_executor_.spin_all(std::chrono::milliseconds(1));
9798
callback_group_executor_.spin_all(std::chrono::milliseconds(49));
9899

99100
if (last_goal_received_set_) {

0 commit comments

Comments
 (0)