Práctica 5 - docencia de la ETSIT-URJC - Universidad Rey Juan ...
Práctica 5 - docencia de la ETSIT-URJC - Universidad Rey Juan ...
Práctica 5 - docencia de la ETSIT-URJC - Universidad Rey Juan ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Figura 1: Medidas <strong>de</strong> distancia obtenidas durante <strong>la</strong> fase <strong>de</strong> aprendizaje <strong>de</strong> un<strong>de</strong>terminado puntoellos estará <strong>de</strong>sp<strong>la</strong>zado. Este valor <strong>de</strong> <strong>de</strong>sp<strong>la</strong>zamiento pue<strong>de</strong> usarse para calcu<strong>la</strong>r<strong>la</strong> orientación obtenida.Puesto que el cálculo <strong>de</strong> <strong>la</strong> orientación requiere gran cantidad <strong>de</strong> operacionespor cada histograma almacenado, es posible almacenar una firma <strong>de</strong> cada posición<strong>de</strong> manera invariante a <strong>la</strong> orientación. Una vez localizada nuestra posición po<strong>de</strong>mosrealizar el test <strong>de</strong> corre<strong>la</strong>ción para conocer nuestra orientación, pero ya sobreun único punto candidato. El histograma invariante a <strong>la</strong> orientación almacena elnúmero <strong>de</strong> veces que hemos recibido cada distancia durante <strong>la</strong> prueba. La figura2 muestra un ejemplo.Escribe un programa que sea capaz <strong>de</strong> reconocer los cinco puntos que se encuentranmarcados en el mapa. El robot <strong>de</strong>berá ser capaz <strong>de</strong> i<strong>de</strong>ntificar en cuál <strong>de</strong>los cinco puntos se encuentra y especificar cuál es su posible orientación. Deberásindicar mediante algún mensaje por el LCD el resultado.Pue<strong>de</strong>s utilizar el método dumpReadings() <strong>de</strong> <strong>la</strong> c<strong>la</strong>se RangeReadings para volcaren un fichero el resultado <strong>de</strong> un histograma. De esta manera podrás reutilizarlocuando tu programa termine. Para cargarlo <strong>de</strong>berás usar el método loadReadings().A continuación mostramos un fragmento <strong>de</strong> código para almacenar en un ficherosignature1.bin el estado actual <strong>de</strong>l objeto signature <strong>de</strong> tipo RangeReadings.4