Comments (1)
Resultados de la prueba
Hemos realizado las pruebas en el parking de la Escuela de Ingeniería industrial, concretamente esta zona:
Realizar tres vueltas seguidas al circuito
- A la vista de la imagen vemos que la forma del circuito es la correcta pero que aparece invertido respecto al trazado real.
- La posición final es (-0.87609462, -0.48322882), siendo unos muy buenos resultados.
- Vemos que la trazada presenta un aspecto ruidoso (seguramente provocado por culpa del GPS, ya que es el mismo ruido que apareció cuando le aumentamos la tasa de actualización al módulo) que debemos intentar minimizar.
- Otro aspecto a tener en cuenta es la orientación inicial. Se observa claramente que la linea correspondiente al inicio de la prueba está más separada que el resto hasta llegar a la curva, momento en el que se junta con las demás. Deberíamos ver por qué sucede e intentar mejorarlo en la medida de lo posible.
Realizar una vuelta en la que pongamos a 0 el valor de los sensores cuando no detectemos cambios en la posición
- Finalmente hemos realizado dos vueltas en lugar de una.
- La trazada de las distintas vueltas coincide más, debemos hacer más pruebas para comprobar si es por este cambio o porque al haber pasado cierto tiempo con el GPS encendido ha cogido más satélites
- Relacionado con este punto, podríamos idear una forma de modificar la incertidumbre del GPS (a mayores de lo que ya haga Kalman) en función del número de satélites de los que reciba señal el módulo (dato que nos da la librería).
- Otra opción que debemos probar es poner sólo a 0 la aceleración, dado que es posible que el coche "rote" sin moverse del sitio (por ejemplo, porque lo levanten en peso o algo del estilo. No sé si es factible pero creo que habría que tenerlo en cuenta).
Probar distintas configuraciones del método smartdelay()
El método smartdelay() forma parte de la librería del GPS, y es donde se parsean las frases en formato NMEA que nos da el módulo GPS. El código es el siguiente:
static void smartdelay(unsigned long ms)
{
unsigned long start = millis();
do
{
while (Serial1.available())
gps.encode(Serial1.read());
} while (millis() - start < ms);
}
Hemos llegado a la conclusión de que el parametro que recibe es el tiempo entre actualizaciones del GPS (en nuestro caso 100ms). Como nosotros necesitamos que todo el proceso dure 100ms vamos a comprobar que ocurre si le introducimos un valor de 50ms a la función.
A priori no parece que haya ningún problema por usar ese valor, así que lo mantendremos. Si en un futuro necesitamos bajarlo todavía más para cumplir los requisitos temporales haremos más pruebas para comprobar que sea viable.
Probar a invertir el eje Y para solucionar el problema de imagen
Hasta ahora hemos visto que la trazada parece "reflejada" y no se corresponde por completo con la realidad. Hemos hecho varias pruebas, y los resultados son:
A la vista de las imágenes vemos que lo que debemos hacer para corregir la inversión de la imagen es multiplicar la componente px por menos uno.
Comprobar los valores de inicialización para el giroscopio
Hemos comprobado que los valores del giroscopio se innicializan a 0 independientemente de la posición inicial.
from justtelemetry.
Related Issues (20)
- Crear pestaña de graficas con respecto a la posicion HOT 2
- Implementar logica grafica fuerzas G
- Cortar datos sensores al cortar las vueltas
- Cargar datos de los sensores en las tablas
- Añadir mas campos a editar en sesiones
- Modificar dashboard de cara los lpro days HOT 2
- Fijar datos sensores en trazada
- Añadir retraso al mostrar datos de los sensores en la trazada
- Añadir leyenda a todas las graficas
- Boton recortar vueltas esta desplazado HOT 1
- Actualizar tabla automaticamente al borrar una sesion
- Si no hay datos de un sensor eliminar su grafica HOT 1
- Convertir eje de ms a segundos HOT 2
- Si no existen datos de un sensor, que su gráfica no aparezca. HOT 1
- Refactorizar codigo html usando templates
- Añadir posicion debajo de los datos del sensor
- Centrar verticalmente icono mientras se procesan las vueltas
- Renombrar y organizar variables HOT 7
- Nueva sesión de pruebas HOT 1
- Corregir el método para obtener las medidas de los sensores en bruto
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from justtelemetry.