void set_initial_position()
{
robot_set_est_pos_trans(ROBOT_AXIS_TO_BACK_M,
- PLAYGROUND_HEIGHT_M - (ROBOT_WIDTH_M/2.0) - 0.05,
+ PLAYGROUND_HEIGHT_M - (ROBOT_WIDTH_M/2.0),
0);
}
x1 = robot.odo_distance_a;
y1 = robot.odo_distance_b;
ROBOT_UNLOCK(est_pos_odo);
- printf("Distance for calibration: \n");
- printf("Left%f\n", x1);
- printf("Right%f\n", y1);
- FILE * file;
- file = fopen ("odometry_cal_data","a+");
- sprintf(buffer, "%4.4f", -1/x1);
- fputs (buffer,file);
- fputs (" ", file);
- sprintf(buffer, "%4.4f", -1/y1);
- fputs (buffer,file);
- fputs ("\n", file);
- fclose(file);
+ if(x1 != 0 || y1 != 0) {
+ printf("Distance for calibration: \n");
+ printf("Left%f\n", x1);
+ printf("Right%f\n", y1);
+ FILE * file;
+ file = fopen ("odometry_cal_data","a+");
+ sprintf(buffer, "%4.4f", -1/x1);
+ fputs (buffer,file);
+ fputs (" ", file);
+ sprintf(buffer, "%4.4f", -1/y1);
+ fputs (buffer,file);
+ fputs ("\n", file);
+ fclose(file);
+ }
SUBFSM_RET(NULL);
break;
case EV_TIMER: