Skip to content

Commit

Permalink
fix(avoidance): fix trimmed shift line alignment
Browse files Browse the repository at this point in the history
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
  • Loading branch information
satoshi-ota committed Aug 15, 2023
1 parent 1d39724 commit 8723196
Showing 1 changed file with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1421,12 +1421,19 @@ void AvoidanceModule::trimSmallShiftLine(AvoidLineArray & shift_lines, const dou
AvoidLineArray input = shift_lines;
shift_lines.clear();

for (const auto & s : input) {
if (s.getRelativeLongitudinal() < threshold) {
for (size_t i = 0; i < input.size(); ++i) {
if (input.at(i).getRelativeLongitudinal() > threshold) {
shift_lines.push_back(input.at(i));
continue;
}

shift_lines.push_back(s);
if (shift_lines.empty()) {
continue;
}

utils::avoidance::setEndData(
shift_lines.back(), input.at(i).end_shift_length, input.at(i).end, input.at(i).end_idx,
input.at(i).end_longitudinal);
}
}

Expand Down Expand Up @@ -2347,12 +2354,16 @@ AvoidLineArray AvoidanceModule::findNewShiftLine(const AvoidLineArray & candidat
std::abs(candidates.at(i).getRelativeLength()) >
parameters_->lateral_small_shift_threshold) {
if (has_large_shift) {
break;
return;
}

has_large_shift = true;
}

if (!isComfortable(AvoidLineArray{candidates.at(i)})) {
return;
}

subsequent.push_back(candidates.at(i));
}
};
Expand All @@ -2361,10 +2372,18 @@ AvoidLineArray AvoidanceModule::findNewShiftLine(const AvoidLineArray & candidat
const auto get_subsequent_shift = [&, this](size_t i) {
AvoidLineArray subsequent{candidates.at(i)};

if (!isComfortable(subsequent)) {
return subsequent;
}

if (candidates.size() == i + 1) {
return subsequent;
}

if (!isComfortable(AvoidLineArray{candidates.at(i + 1)})) {
return subsequent;
}

if (
std::abs(candidates.at(i).getRelativeLength()) < parameters_->lateral_small_shift_threshold) {
const auto has_large_shift =
Expand Down

0 comments on commit 8723196

Please sign in to comment.