X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fstrat_base.c;h=023db360331a0ca02404d981d79deda7947e034f;hp=d68f5a608c65a2979e2ea835d8fa34f7e05a6d78;hb=d78a81c0df6dfe318d873a6f877e53cfb957ad8e;hpb=f1fab48d45873bc23dccbae5db393afd2942570c diff --git a/projects/microb2010/mainboard/strat_base.c b/projects/microb2010/mainboard/strat_base.c index d68f5a6..023db36 100644 --- a/projects/microb2010/mainboard/strat_base.c +++ b/projects/microb2010/mainboard/strat_base.c @@ -414,11 +414,12 @@ uint8_t strat_obstacle(void) y_rel = sin(RAD(opp_a)) * (double)opp_d; /* opponent too far */ - if (opp_d > 500) + if (opp_d > 650) return 0; /* opponent is in front of us */ - if (mainboard.speed_d > 0 && (opp_a > 325 || opp_a < 35)) { + if ((mainboard.speed_d > 0 && opp_d < 500 && (opp_a > 325 || opp_a < 35)) && + (mainboard.speed_d > 0 && opp_d < 650 && (opp_a > 340 || opp_a < 20))) { DEBUG(E_USER_STRAT, "opponent front d=%d, a=%d " "xrel=%d yrel=%d (speed_d=%d)", opp_d, opp_a, x_rel, y_rel, mainboard.speed_d); @@ -426,7 +427,8 @@ uint8_t strat_obstacle(void) return 1; } /* opponent is behind us */ - if (mainboard.speed_d < 0 && (opp_a < 215 && opp_a > 145)) { + if ((mainboard.speed_d < 0 && opp_d < 500 && (opp_a < 215 && opp_a > 145)) && + (mainboard.speed_d < 0 && opp_d < 650 && (opp_a < 200 && opp_a > 160))) { DEBUG(E_USER_STRAT, "opponent behind d=%d, a=%d xrel=%d yrel=%d", opp_d, opp_a, x_rel, y_rel); sensor_obstacle_disable();