// find entry
void PSPlanner::fe()
{
- if (this->ps().parallel())
+ this->c_ = 0;
+ if (this->ps().parallel()) {
return this->fe_parallel();
- else
- return this->fe_perpendicular();
+ } else {
+ this->guess_gc();
+ this->cc() = BicycleCar(this->gc());
+ return this->fer_perpendicular();
+ }
}
void PSPlanner::fe_parallel()
this->cc().rotate(
this->ps().x4(),
this->ps().y4() - 0.01,
- 0.01
+ ((this->ps().right()) ? 0.01 : -0.01)
);
}
// BFS - find entry current car `cc` and corresponding goal car `gc`