Closed ManuLG closed 7 years ago
acelx = (float)myIMU.accelCount[0] * myIMU.aRes * gravedad; // - accelBias[0]; Aceleración X acely = (float)myIMU.accelCount[1] * myIMU.aRes * gravedad; // - accelBias[1]; Aceleración Y // Comprobamos que nos hemos movido del origen if (dist_actual != 0) { z[0] = distancia * sin(grado_to_radian * angulo); // Para invertir la imagen z[1] = distancia * cos(grado_to_radian * angulo); z[2] = acelx * cos((90 - orientacion) * grado_to_radian) + acely * sin((90 - orientacion) * grado_to_radian); z[3] = acely * cos((90 - orientacion) * grado_to_radian) - acelx * sin((90 - orientacion) * grado_to_radian); z[4] = velocidad * sin(grado_to_radian * orientacion); z[5] = velocidad * cos(grado_to_radian * orientacion); } else { z[2] = 0.0; z[3] = 0.0; z[4] = 0.0; z[5] = 0.0; } float orientacion_acelerometro(float lat, float lon, float lat_ant, float lon_ant) { return 90.0 * grado_to_radian - (2 * M_PI + atan2(lon - lon_ant, lat - lat_ant)); }
Solución