Skip to content

Commit d4dbf5e

Browse files
satoshi-otashmpwk
authored andcommitted
fix(avoidance): transit rtc cooperate state to FAILED from RUNNING (autowarefoundation#6998)
fix(avoidance): transit to FAILED from RUNNING when the module reverts avoidance path Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
1 parent 12bf192 commit d4dbf5e

File tree

2 files changed

+22
-5
lines changed
  • planning/behavior_path_avoidance_module

2 files changed

+22
-5
lines changed

planning/behavior_path_avoidance_module/include/behavior_path_avoidance_module/scene.hpp

+22-4
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include <rclcpp/node.hpp>
2727
#include <rclcpp/time.hpp>
2828

29+
#include <limits>
2930
#include <memory>
3031
#include <string>
3132
#include <unordered_map>
@@ -136,9 +137,15 @@ class AvoidanceModule : public SceneModuleInterface
136137
void removeCandidateRTCStatus()
137138
{
138139
if (rtc_interface_ptr_map_.at("left")->isRegistered(candidate_uuid_)) {
139-
rtc_interface_ptr_map_.at("left")->removeCooperateStatus(candidate_uuid_);
140-
} else if (rtc_interface_ptr_map_.at("right")->isRegistered(candidate_uuid_)) {
141-
rtc_interface_ptr_map_.at("right")->removeCooperateStatus(candidate_uuid_);
140+
rtc_interface_ptr_map_.at("left")->updateCooperateStatus(
141+
candidate_uuid_, true, State::FAILED, std::numeric_limits<double>::lowest(),
142+
std::numeric_limits<double>::lowest(), clock_->now());
143+
}
144+
145+
if (rtc_interface_ptr_map_.at("right")->isRegistered(candidate_uuid_)) {
146+
rtc_interface_ptr_map_.at("right")->updateCooperateStatus(
147+
candidate_uuid_, true, State::FAILED, std::numeric_limits<double>::lowest(),
148+
std::numeric_limits<double>::lowest(), clock_->now());
142149
}
143150
}
144151

@@ -360,10 +367,21 @@ class AvoidanceModule : public SceneModuleInterface
360367

361368
unlockNewModuleLaunch();
362369

370+
for (const auto & left_shift : left_shift_array_) {
371+
rtc_interface_ptr_map_.at("left")->updateCooperateStatus(
372+
left_shift.uuid, true, State::FAILED, std::numeric_limits<double>::lowest(),
373+
std::numeric_limits<double>::lowest(), clock_->now());
374+
}
375+
376+
for (const auto & right_shift : right_shift_array_) {
377+
rtc_interface_ptr_map_.at("right")->updateCooperateStatus(
378+
right_shift.uuid, true, State::FAILED, std::numeric_limits<double>::lowest(),
379+
std::numeric_limits<double>::lowest(), clock_->now());
380+
}
381+
363382
if (!path_shifter_.getShiftLines().empty()) {
364383
left_shift_array_.clear();
365384
right_shift_array_.clear();
366-
removeRTCStatus();
367385
}
368386

369387
generator_.reset();

planning/behavior_path_avoidance_module/src/scene.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -1283,7 +1283,6 @@ void AvoidanceModule::updateData()
12831283
void AvoidanceModule::processOnEntry()
12841284
{
12851285
initVariables();
1286-
removeRTCStatus();
12871286
}
12881287

12891288
void AvoidanceModule::processOnExit()

0 commit comments

Comments
 (0)