PFC – It’s aliive!!!

 

… Sí, eso es, ¡ESTÁ VIVOOO!  Esta semana he hecho unos cuantos cambios, gracias a los cuales hoy he podido hacer un gran avance.  He traducido a código algunas de las cosas de las cuales hablé con mi tutor la semana pasada, muchas de las cuales tienen que ver con las pestañas que nos indican la información de cada wiimote, aquí está una captura del estado actual de las mismas:

Nueva ventana de información de cada wiimote

El tema de la calibración ha cambiado sustancialmente. Hay 8 cajas de texto en las que hay que introducir las coordenadas de cada uno de los cuatro puntos de calibración.  Dichas coordenadas son referentes a la habitación, en metros, y teniendo presente que el punto de origen (0,0) de la habitación es la esquina superior izquierda de la misma.  En la siguiente imagen se puede ver un poco más claramente:

¿No os encantan los bordes de las hojas de mi nueva libreta? A mi si :3

He hecho lo siguiente:

  • He tomado las medidas de mi habitación, en metros
  • He posicionado un wiimote a una altura y grados con respecto a la vertical y la horizontal determinados
  • He colocado mi plantilla de calibración y he medido a que posición se encontraban cada uno de los cuatro puntos de calibración de la plantilla, obteniendo así cuatro pares de coordenadas, todas ellas en metros

De esta forma tengo  las coordenadas absolutas de cada uno de los cinco elementos que hay arriba, de tal forma que, teniendo las coordenadas de los cuatro puntos de calibración (en metros) puedo ahora hacer un cambio de base directo entre las coordenadas del wiimote y las coordenadas absolutas de la habitación.

No se puede observar, pero cuando se rellenan todas las cajas de texto, aparece en medio de la plantilla en miniatura el botón “Calibrar”, de forma y manera que solo cuando hemos rellenado todos los datos, aunque sea con ceros, sea posible la calibración.

También he añadido dos botones adicionales en la parte superior de la ventana.  Sirven para cargar y guardar los datos de calibración del wiimote al que pertenece la pestaña en la que nos encontremos.  Por el momento tengo montado el asunto de la siguiente forma:

  • Cuando se han rellenado todos los datos y una vez que hemos pulsado el botón “Calibrar” y hemos terminado la calibración, pulsamos el botón “Guardar datos” y nos guardará un archivo que tendrá el siguiente nombre: “calibration_data_”número de wiimote”.dat”.  De tal forma que si calibramos 4 wiimotes, habrá cuatro archivos.
  • Si queremos cargar los datos de calibración que hayamos guardado, pulsamos el botón “Cargar datos” y nos cargará los datos de calibración del wiimote correspondiente a la pestaña activa.  De tal forma que si las condiciones de la instalación no han variado, podemos usar los datos de calibración anteriores.  (Esto lo he acabado de implementar después de haber estado media hora introduciendo los pares de coordenadas a mano @_@ )

De momento el tema del cargado y guardado de datos se queda así.  Si veo que puedo hacerlo de otra forma, con un solo archivo, pues lo haré, pero no voy a perder demasiado tiempo en esto.

Una vez he hecho todos estos cambios y he corregido algunos errores, he podido observar como en efecto funciona, o sea, que, de momento, con un solo mando soy capaz de ver un objeto infrarrojo y además indicar la posición X e Y relativas a la habitación, o sea, casi casi el objetivo de mi proyecto.  Como sabéis tengo un sistema de dibujado del área que teóricamente ve el wiimote, con colorines y tal:  pues bien, he podido comprobar como en cuanto saco el objeto infrarrojo de esos límites, el mando no ve el objeto, lo que quiere decir que las medidas teóricas se corresponden casi al 100% con la realidad, algo que me es encanta, ya que quiere decir que el sistema de dibujado es fiel a la realidad y que por lo tanto es útil.  (Me falta hacer el tema del redibujado de las áreas de visión una vez calibrado cada wiimote)

Con lo cual ahora lo que me falta es probar con dos wiimotes en posiciones distintas.  Voy a probar a poner un wiimote más a la izquierda del que tengo colocado, y lo voy a colocar de tal forma que entre ambos wiimotes compartan una cuarta parte de su área de visión, y haré comprobaciones con la media de la coordenadas que entreguen ambos mandos.  Dependiendo de como salga la prueba podré implementar un pequeño código que determine que coordenadas se utilizarán cuando me lleguen 7 pares de coordenadas, o sea, cuando el programa funcione a un 100% de capacidad.

Luego tan solo quedará trastear un poco con todo el programa para ver si encuentro algún que otro bug (ya he visto alguno ¬¬) y pasar a documentar bien las pruebas para poderlas usar en la memoria del proyecto y poder así entregar unos resultados definitivos de mi proyecto.  Así que a ver como se me dan estás dos semanas :D

 

¡Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s