if (this->steered_.size() == 0) {
break;
}
- if (this->collide_steered()) {
+ unsigned int ss = this->steered_.size();
+ if (this->collide_steered()
+ || ss != this->steered_.size()) {
continue;
}
this->bc_.set_pose(this->steered_.back());
bool td = this->bc_.drivable(t);
- bool tn = this->bc_.edist(t) < this->eta_;
+ bool tn = this->bc_.edist(t) < 2.0 * this->eta_;
if (cost < t.cc() && td && tn) {
this->join_steered(&f);
t.p(this->nodes_.back());