El objetivo de esta sección es llevar un breve resumen de lo que se ha realizado en las prácticas asi como dar información de los requerimientos para el siguiente día de prácticas, de cara a aquellos grupos que quieran adelantar trabajo.
RESUMEN DIA 14 DE MAYO DE 2002
Décimo día de prácticas. Entrega de la práctica 3 y explicación de la práctica 4.
Temas tratados hoy:
Entrega de la práctica 3. Explicación de la práctica 4: Esta práctica consiste en realizar una implementación del algoritmo de aprendizaje visto en clase. Para ello el el Robot debe construir un mapa espacial (cognitivo) para navegar autónomamente en el entorno. El entorno que vamos a manejar será un recorrido de color negro sobre fondo blanco en el cual podrán aparecer cruces de hasta dos direcciones. Para conocer cuantos caminos existen cuando llegamos a un cruce (o nodo) hay dos opciones: equipar al robot con dos sensores CNY70 laterales que le permitan "ver" unas marcas a los lados del camino (podeís usar los de los encoders de la práctica anterior ya que no van a hacer falta) que en función de si existen o no indicarán cuantos caminos hay, o bien, cuando se llegue a un cruce (posible situación blanco-blanco) se haga girar al robot 360 grados para adivinar cuantos caminos hay.
Partes de la práctica :Implementar en el PC el algoritmo y probar que funciona correctamente (simulación). Modificar el robot para que pueda recibir y enviar a comandos al PC mediante el puerto serie y además, que pueda descubrir el número de caminos disponibles en un cruce (o nodo). Desde el PC se mandarán las ordenés oportunas al robot para que explore el entorno y nos de la información del mismo (número de caminos disponibles en cada nodo). Es importante recordar que con cada nueva exploración el robot debe regresar al punto de partida. Esto se consigue almacenando en el PC los movimientos del robot hasta encontrar un nuevo nodo y después enviarle las ordenes correspondientes a los movimientos contrarios. ¿Que puedo ir haciendo?
La práctica 4: Es imporante disponer primero de un algoritmo que funcione en el PC. Primero probarlo de modo que pida datos por teclado y muestre los movimientos por pantalla. Posteriormente la entrada de teclado se sustituye por recebir del puerto serie y la salida por enviar por el puerto serie. Documentación de prácticas: Os recuerdo que en breve os voy a pedir la documentación de las prácticas. Recordar que se trata de un diario de trabajo y por tanto, se puntuará en función de como hayaís trabajado (debe de quedar reflejado en la documentación). El formato del trabajo es en HTML y el contenido lo dejo a vuestro gusto: fotos, esquemas, código, etc. En algunas de las prácticas solicitaré también el código por lo que espero que lo tengaís bien documentado. ¿Que haremos el proximo día?
Entrega de la práctica 3 (aquellos que no lo hayan hecho). Dudas de la práctica 4.
RESUMEN DIAS 30 DE ABRIL Y 7 DE MAYO DE 2002
Octavo y noveno día de prácticas. Dudas práctica 3.
Temas tratados hoy:
Dudas práctica 3: Montaje de los nuevos sensores: Se recomienda usar el conector J7. De él podeís sacar Vcc y GND, además de las entradas al puerto B (para lectura análogica). Montaje del receptor: El esquema mostrado en la web es correcto. Sin embargo, ayer un grupo de alumnos hizo unas pruebas y parece ser que cambiando la resistencia de 2K7 por una de 100K tambien funciona. ¡¡IMPORTANTE!! Asegurarse de montar correctamente el sensor (recordar que es como un diodo y por tanto, si lo colocaís invertido solo vaís a notar un pequeño cambio en la cantidad de potencia recibida). Partes de la práctica: Hay que realizar una primera parte de control todo o nada, de modo que el robot se comporta de una forma brusca (comportamiento similar a como si siguiera la línea). Después hay que realizar otro programa con el control PID, controlando velocidad y giro. Si no es posible llegar a implementar el PID al menos es necesario que exista algún tipo de control de velocidad y giro relacionado con la distancia - posición del emisor. Notas práctica 2: Ya están disponibles.
Baremo:
5 puntos por montaje de sensores en el robot. 1 por realizar el software en PC y micro. Hasta 7,5 si se ha pintado el recorrido mediante fichero y perfecto. (Puntuación hasta 7 por pintar de fichero más 0.5 según como pinta). Hasta 8 si se ha pintado el recorrido directamente y perfecto. (Puntuación hasta 8 por pintar directamente más 0.5 según como pinta). ¿Que puedo ir haciendo?
Terminar práctica 3. ¿Que haremos el proximo día?
Entrega de la práctica 3. Posiblemente se explique la práctica 4.
RESUMEN DIA 23 DE ABRIL DE 2002
Séptimo día de prácticas. Hoy se ha explicado la práctica 3.
Temas tratados hoy:
Explicación de la práctica 3: Hay documentación sobre está práctica en aquí. Corrección de la práctica 2. ¿Que puedo ir haciendo?
La práctica 3: La primera parte de la práctica consiste en realizar un seguimiento del robot "todo o nada". Tras el montaje de los sensores, la parte software es similar al seguimiento de línea. ¿Que haremos el proximo día?
Resolver dudas de las práctica 3.
RESUMEN DIA 16 DE ABRIL DE 2002
Sexto día de prácticas. Hoy tocaba entrega de la práctica 2.
Temas tratados hoy:
Corrección práctica 2. Resolución de problemas en práctica 2. ¿Que puedo ir haciendo?
La práctica 2: Todos aquellos grupos que no entregaron la práctica deben terminarla. La próxima semana se empieza la práctica 3. ¿Que haremos el proximo día?
Explicación de la práctica 3.
RESUMEN DIA 9 DE ABRIL DE 2002
Quinto día de prácticas. Hoy tocaba responder dudas sobre la segunda práctica.
Temas tratados hoy:
Revisión práctica 1: Algunos grupos han modificado sus programas para corregir los errores encontrados durante la evaluación de la práctica 1, lo cual les ha servido para mejorar la nota. Puerto serie: Debido a que en los ordenadores de las aulas de prácticas no existe ningún entorno de programación para llevar a cabo la implementación del programa requerido en la segunda práctica, debeís desarrollarlo en algún ordenador de otra aula. Para ello, lo mejor es cargar en la placa el programa de ejemplo del puerto serie, el cual nos devuelve el comando que le enviamos, para desarrollar un programa desde el PC que envie un comando y lo lea cuando la placa lo "rebote".
Además, en el aula de hardware solo hay Windows, con lo cual la librería de comunicación del puerto serie se debe realizar para Windows, así como el programa de dibujo. Es posible que cuando lleveís el programa al aula de hardware necesiteís algún .dll o .lib. En cuanto a la librería, aquí teneís un ejemplo que emplea el API de Windows. Este ejemplo se puede emplear con C o C++ sin problema.
En cuanto a la aplicación de dibujo, lo más fácil sería usar alguna clase de C++ como el Canvas, etc.Encoders: Muchos han comentado la posibilidad de emplear un único enconder en una rueda. Esta posibilidad es factible si para girar el robot se mueven las ruedas en direcciones contrarias, dado que el mismo desplazamiento se produce en ambas. Aquellos que giran parando uno de los motores necesitarán los dos. ¿Que puedo ir haciendo?
La práctica 2: La próxima semana es la entrega. La documentación: Os recuerdo que la documentación y el código son parte importante de la nota de cada práctica. ¿Que haremos el proximo día?
Entrega práctica 2
RESUMEN DIA 2 DE ABRIL DE 2002
Cuarto día de prácticas. Hoy tocaba entrega de la primera práctica. Se dispuso un circuito para comprobar que los robots presentados eran capaces de seguirlo correctamente.
Temas tratados hoy:
Explicación de los distintos errores cometidos: Durante la corrección de la prueba, aquellos grupos cuyos robots no realizaban correctamente el circuito explicaban el porqué de ello y se les comentaba la posible solución con el objetivo de que pudieran rectificar el programa y volver a probar su diseño. Esta rectificación no era obligatoria de cara a esta práctica, pero si podría requerirse en la siguiente.
Podeís ver las fotos de los robots aquí.
Aquellos grupos que no presentaron el robot deberán hacerlo cuanto antes.Notas: Ya están disponibles.
Baremo:
5 puntos por construir el robot. 3 puntos por seguir el recorrido perfectamente. 2 puntos por documentación y código (a entregar cuando se pida) ¿Que puedo ir haciendo?
La práctica 2: En principio el día de entrega de esta práctica es el día 9 de Abril. Sin embargo, y teniendo en cuenta que se lleva un retraso de una semana por la entrega de las placas, se retrasa a la siguiente semana, día 16 de Abril. La documentación: Recuerdo que se trata de ir haciendo una especie de diario de la construcción del robot, comentando los problemas que se ha tenido y como se han solucionado. Es importante incluir al menos una foto del robot al documento. La foto la podeís obtener de la página de fotos.
El documento debe estar en formato html.¿Que haremos el proximo día?
Se resolverán las dudas relacionadas con la segunda práctica. Quizás el tema más complicado sea utilizar el puerto serie del ordenador. Esto dependerá del lenguaje de programación elegido y del entorno de programación: Visual C++, Borland C, Turbo C, etc. Debeís buscar esta información.
RESUMEN DIA 26 DE MARZO DE 2002
No hubo clase.
RESUMEN DIA 19 DE MARZO DE 2002
No hubo clase.
RESUMEN DIA 12 DE MARZO DE 2002
Tercer día de prácticas. Hoy tocaba entrega de la primera práctica, el robot siguiendo una línea negra, sin embargo, debido al retraso con las placas se dejó un día más. Casualmente, los dos próximos días de prácticas son fiesta (días 19 y 26 de Marzo), por lo que la entrega de la primera práctica se deja para el día 2 de Abril. Igualmente, y debido a este mismo motivo, se procedió a explicar la segunda práctica, cuyo objetivo es dibujar en el ordenador el recorrido realizado por el robot.
Temas tratados hoy:
Explicación de la segunda práctica: El objetivo de esta práctica es dejar al robot siguiendo un circuito de línea negra y que este informe del recorrido al ordenador. Aunque inicialmente la idea es utilizar la radio como medio de comunicación entre robot y PC, se realizará una primera aproximación utilizando una comunicación serie. En el tema de la comunicación serie se recuerda que ya está disponible un ejemplo de utilización del puerto serie en el manual de programación (revisión 0.2), donde la placa recibe un comando por el puerto serie y lo devuelve. Es importante echar un vistazo al manual de usuario de la placa para entender como funciona la comunicación serie de la placa. En cuanto al tema de medición del desplazamiento del robot, es necesario construir un sistema de encoders, cuyo funcionamiento y modo de construcción se explica en este documento. Funcionamiento de los encoders: Breve explicación de como funciona uno de los posibles mecanismos de encoders (el que se explica en el documento mencionado anteriormente) y como van montados. Control de velocidad de los motores por software: Breve explicación de como controlar la velocidad de los motores por software. Esta posibilidad es una alternativa a la alimentación independiente de los motores con respecto a la placa, que se a propuesto a aquellos grupos cuyos motores van demasiado rápido con baterías de más de 7,5 voltios. Se ha añadido un nuevo ejemplo en el manual de programación (revisión 0.2) en el que se muestra un ejemplo de aceleración y deceleración de motores. ¿Que puedo ir haciendo?
Terminar la primera práctica: El día 2 de Abril se procederá a evaluarla. Ir haciendo la segunda práctica: Construcción del sistema de encoders: Tendreís que comprar al menos otro par de CNY70. Comunicación serie robot-PC: Necesitaís un cable de 3 hilos para conectar el robot al PC. Por el lado del robot debeís conseguir un conector similar al molex de 3. Por el lado del PC, un conector serie hembra de 9 pines. ¡Ojo con las conexiones! Mirar el manual de usuario de la placa. ¿Que haremos el proximo día?
El próximo día de clase se evaluará la primera práctica. Se valorará el montaje del robot, programación de los sensores, etc. y como no, que el robot sea capaz de seguir un circuito. Se recuerda que hay que ir haciendo una documentación en formato .html en la que se comenten todos los problemas que se han tenido durante la construcción del robot, montaje de sensores, manejo de la placa, programación, etc. Estaría bien añadir el codigo fuente de los programas en cada uno de los apartados dedicados a cada práctica.
RESUMEN DIA 5 DE MARZO DE 2002
En este segundo día el objetivo era comenzar a poner en marcha los motores. Inicialmente había que probarlos y comprobar no solo que funcionasen, sino realmente su rendimiento: velocidad, fuerza y sobretodo, la cantidad de voltaje con los que alimentarlos. Además se pretendía presentar el sistema de control y el sensor CNY70, con el cual nuestro robot puede comenzar a seguir la línea.
Ha sido un grata sorpresa que un gran número de grupos ya haya traido montados los motores e incluso los CNY70 y que haya sido posible la entrega de algunos sistemas de desarrollo e incluso, la conexión y puesta en marcha de algunos motores desde la placa.
Temas tratados hoy:
Sistema de desarrollo GP_Bot: Breve descripción de la placa que vamos a emplear durante las prácticas. Se ha comentado la necesidad de tener especial cuidado con la alimentación de la placa (fijarse que existe un dibujo de un '+' para señalar cual es el conector positivo de la clema de alimentación) y la disponibilidad de los manuales de su manejo (mirar referencia del día anterior) que es muy importante leer antes de nada. Os recuerdo que debeís comprar un cable para alimentar la placa desde la fuente de alimentación, o en su defecto, disponer de alguna batería o cargados de pilas. Motores: Breve explicación de que dispositivo de nuestro sistema maneja los motores y como se controlan estos desde la placa. Como resumen mejor echar un vistazo al manual de programación, donde se detalla un ejemplo de utilización de motores, incluido, un ejemplo de código.
Se comentó la posibilidad de poder alimentar a los motores con otra fuente de alimentación (pila, batería, etc.) distinta de la alimentación del micro. Para más información, consultar el manual de usuario del sistema de desarrollo. La conexión de los motores con la GP_Bot se realiza mediante conectores tipo molex de 2.Sensor CNY70: Breve descripción del funcionamiento del sensor CNY70, incluida una explicación de cada uno de sus pines y como se conectan estos a la GP_Bot. Es importante tener en cuenta esto a la hora de conectarlo a la placa para evitar dañar el sensor. Al mismo tiempo os recuerdo que el número de sensores necesarios es de dos y que estos se colocan juntos y paralelos al eje del motor, un poco por delante del mismo. Los conectores que hay que comprar para conectar los CNY70 a la GP_Bot son los molex de 4.
¿Que puedo ir haciendo?
Lo más importante es leerse la documentación sobre el sistema de desarrollo. Comprar material: Comprar el sensor CNY70: disponible documentación sobre el mismo en la web del Club de Robótica-Mecatrónica. Comenzar a familiarizarse con el entorno de programación: Obtener el entorno ICS08GP Software for 68HC908GP20/GP32 de aquí y seguir el manual de programación en lo que se refiere a conocer el ensamblador del 68HC08 y el entorno. Para aquellos que tengan placa: Comenzar a controlar los motores. Sería interesante que el próximo día algunos de vosotros tuvieraís ya los motores de robot controlados, y mucho mejor, que vuestro robot fuese capaz de realizar una secuencia mínima de movimientos. Recordar que es necesario añadir un bucle de retardo entre cada orden de movimiento para que el robot tenga tiempo para moverse un poco. Esta retardo depende de los motores del robot, su peso, etc. ¿Que haremos el proximo día?
Vuelvo a hacer incapié en que es necesario que todo el mundo tenga la estructura, motores y ruedas preparados. Apenas os quedan unos días para entregar la primera práctica y cuanto antes le cojaís el truco a esto mejor. Hacer que el robot siga una línea es muy fácil, pero primero hay que tener el robot. Suponiendo que todos tengáis los motores controlados, comenzareís a manejar el CNY70. Resolveremos todas las dudas sobre motores y sobre el sensor CNY70. Debeís tener en cuenta que este es el último día antes de la entrega de la primera práctica, el día 19, del cual también dispondreís para terminar la práctica, aunque espero poder ir evaluando a la gente que lo tenga más adelantado. Todo el mundo debería disponer del sistema de desarrollo para comenzar a realizar pequeñas pruebas con los motores.
RESUMEN DIA 26 DE FEBRERO DE 2002
En este primer día el objetivo era que todos los grupos hubieran traido montada la estructura del robot y los motores. Con esta idea, se procedería a explicar el entorno de programación y el manejo de los motores. Aquellos grupos que tuvieran todo montado podrían solicitar la placa para comenzar a trabajar durante esta semana.
Temas tratados hoy:
Entorno de programación: Breve descripción del entorno de programación para el micro GP32 de Motorola. Mas información en el manual de programación. Utilización de la fuente de alimentación: Manejo de la fuente de alimentación de las aulas con el objetivo de poder alimentar correctamente la placa. Se recuerda que el voltaje para alimentar las placas debe ser estar entre 7,5 y 12 V. Observación: Las nuevas placas pueden requerir un límite inferior más bajo (se comentará). Creación de grupos. Trucado de servos: Para aquellos que trajeron servos Futaba (o compatibles) se truco uno como ejemplo. Para más información consultar en el libro "Microbotica" (disponible en la biblioteca) o aquí. ¿Que puedo ir haciendo?
Leer la siguiente documentación: Datasheet del 68HC908GP32: disponible en reprografía (4 paginas por cara), o en formato pdf. Manual de usuario del sistema de desarrollo GP_Bot: disponible en formato pdf. Manual de programación del sistema de desarrollo GP_Bot: disponible una versión "inicial" en formato pdf. Comprar material: Comprar el sensor CNY70: disponible documentación sobre el mismo en la web del Club de Robótica-Mecatrónica. Comenzar a familiarizarse con el entorno de programación: Obtener el entorno ICS08GP Software for 68HC908GP20/GP32 de aquí y seguir el manual de programación en lo que se refiere a conocer el ensamblador del 68HC08 y el entorno. Solicitar placas: Para aquellos que ya quieran comenzar a utilizar la placa, la pueden solicitar al profesor de teoría (existe un número limitado, a esperas de que lleguen en breve las nuevas placas). Comenzar con el control de los motores: Los motores se conectan a la placa mediante conectores "de tipo molex" de 2. Una vez unidos al motor se deben conectar estos a la placa GP_Bot_Ifaz y seguir el ejemplo del manual de programación. ¿Que haremos el proximo día?
Es necesario que todo el mundo tenga la estructura, motores y ruedas preparados. Presentación de la placa y documentación asociada (mencionada en el apartado "¿Qué puedo ir haciendo?"). Pondremos los conectores tipo molex a los motores para poder conectarlos al sistema de desarrollo. Chequeo del funcionamiento de los motores y programación de los mismo siguiendo el ejemplo del manual de programación. Explicación del sensor CNY70.