n.rotate(n.ccr().x(), n.ccr().y(), a);
WVPASS(p.goal_found(n)); // pass near drivable border
}
- for (double a = 0; a > -M_PI/2; a -= 0.01) {
+ for (double a = -0.1; a > -M_PI/2; a -= 0.01) {
+ // = -0.1 -- compensate for near goal
n = RRTNode(g);
n.x(n.x() - 0.1*cos(n.h()));
n.y(n.y() - 0.1*sin(n.h()));
n.rotate(n.ccl().x(), n.ccl().y(), a);
WVPASS(p.goal_found(n)); // pass near drivable border
}
- for (double a = 0; a < M_PI / 2; a += 0.01) {
+ for (double a = 0.1; a < M_PI / 2; a += 0.01) {
+ // = 0.1 -- compensate for near goal
n = RRTNode(g);
n.x(n.x() - 0.1*cos(n.h()));
n.y(n.y() - 0.1*sin(n.h()));
n.rotate(n.ccr().x(), n.ccr().y(), a);
WVPASS(p.goal_found(n)); // pass near drivable border
}
- for (double a = 0; a < M_PI / 2; a += 0.01) {
+ for (double a = 0.1; a < M_PI / 2; a += 0.01) {
+ // = 0.1 -- compensate for near goal
n = RRTNode(g);
n.x(n.x() + 0.1*cos(n.h()));
n.y(n.y() + 0.1*sin(n.h()));
n.rotate(n.ccl().x(), n.ccl().y(), a);
WVPASS(p.goal_found(n)); // pass near drivable border
}
- for (double a = 0; a > -M_PI/2; a -= 0.01) {
+ for (double a = -0.1; a > -M_PI/2; a -= 0.01) {
+ // = -0.1 -- compensate for near goal
n = RRTNode(g);
n.x(n.x() + 0.1*cos(n.h()));
n.y(n.y() + 0.1*sin(n.h()));