Upload
sandra-rivero-espinoza
View
214
Download
0
Embed Size (px)
Citation preview
Patricio A. CastilloJosé M. Galarce
Septiembre 13 de 2008
Cuarta ClaseCuarta Clase
Fundamentos de Control Automático• ¿Qué es el control automático?
• Sistema en Lazo Abierto.• Sistema en Lazo Cerrado.
• Necesidad de la Realimentación.
Sistema en Lazo Abierto
• Tipo de Control en que se establecen una serie de acciones fijas para completar el objetivo.
• Ventaja: Fácil de implementar.• Desventaja: Sólo funciona si las condiciones no varían.
• No es “Control Automático”
Sistema en Lazo Cerrado
• Tipo de Control en que se realizan diferentes acciones para completar el objetivo de acuerdo a las condiciones del momento.
• Desventaja: Difícil de implementar.• Ventaja: Funciona aún si las condiciones varían, según las
limitaciones.
Necesidad de la Realimentación• La realimentación es necesaria para poder controlar las
situaciones reales.
• Se lleva a cabo por medio de dispositivos capaces de tomar datos de la realidad que puedan interpretarse como valores numéricos.
• Éstos valores numéricos son recibidos como variables de entrada que se pueden incorporar al código programable.
• De esta manera, el robot será capaz de “tomar decisiones” de acuerdo a los datos recibidos.
Actuadores y Sensores
• Componentes electrónicos:– Motores– Sensor de Contacto– Sensor de Luminosidad
Motores
• Familia
Motores
• Lego 43362.– 28 gr.– 9 V– 9 mA libre– 340 rpm máx.– 340 mA máx.– 5.5 N cm máx.
Sensor de Contacto
• Circuito esquemático.
Sensor de Luminosidad
• Circuito esquemático
Instrucciones de Movimiento Avanzadas• Anteriormente, se conocieron los comandos que permiten
realizar los movimientos básicos en el RCX:– Encender motor On(OUT_X);– Apagar motor Off(OUT_X);– Dirección Adelante Fwd(OUT_X);– Dirección Reversa Rev(OUT_X);
• Ahora se introducen nuevos comandos que permiten un control más específico de la potencia, estado y dirección:
– Establecer Potencia SetPower(OUT_X, POWER);0 <= POWER <= 7
– Establecer Estado SetOutput(OUT_X, MODE);MODE = {OUT_ON, OUT_OFF, OUT_FLOAT}
– Invertir Dirección Toggle(OUT_X);
Subrutinas
• Al elaborar distintos algoritmos, normalmente se repiten ciertos grupos de instrucciones (rutinas).
• Con las herramientas vistas hasta ahora, sólo se podría escribir el mismo bloque de código repetidamente, ocasionando un uso innecesario de memoria.
• Para optimizar la programación en estas situaciones, se cuenta con la posibilidad de emplear ‘subrutinas’ en el programa NQC.
• La forma de definir este tipo de estructura es la siguiente:
sub nombre(){instrucciones;
}
• Las subrutinas se escriben fuera de la tarea ‘main’.• La forma de “invocar” a una subrutina desde ‘main’ es la
siguiente:
nombre();
• En éste punto, se ejecutan las instrucciones de la subrutina y no se continúa la ejecución de las instrucciones de la tarea principal hasta que éstas se completan.
Mensajes
• Es posible enviar y recibir mensajes a través del puerto infrarrojo del RCX.
• Estos mensajes pueden ser entre la torre USB y el RCX, como ocurre cuando se cargan los programas o entre distintos RCX.
• Los mensajes sólo pueden ser valores de 8 bits, es decir, números entre 0 y 255.
• Sólo el último mensaje recibido es almacenado en una variable de sistema y se puede acceder a su valor a través de la instrucción:
– Message();
• Si no se ha recibido ningún mensaje, el valor será 0.• Para borrar el buffer de mensajes se emplea la función:
– ClearMessage();
• La forma de enviar un mensaje es la siguiente:
– SendMessage(mensaje);
Sonidos
• Una manera sencilla de conocer el estado del RCX mientras éste ejecuta algún programa es mediante sonidos.
• Con los sonidos se puede saber qué segmento del programa se está ejecutando si se le añade un sonido característico.
• De esta manera, es posible depurar programas o simplemente hacer del RCX un aparato más ruidoso.
• Existen dos formas de emitir sonidos con NQC:
– PlayTone(frecuencia, tiempo);Tono según frecuencia y tiempo
indicados.
– PlaySound(sonido);Sonidos Predeterminados:
- SOUND_CLICK
- SOUND_DOUBLE_BEEP
- SOUND_DOWN
- SOUND_UP
- SOUND_LOW_BEEP
- SOUND_FAST_UP
El Algoritmo
• La palabra “Algoritmo” proviene del nombre del matemático árabe padre de nuestro sistema de numeración: Muhammad ibn Musa al-Jwarizmi.
• El concepto de “Algoritmo” consiste en un conjunto finito y ordenado de operaciones que permiten completar un objetivo.
• Es decir, es un método, cuya importancia radica en que permite describir procesos y resolver problemas matemáticos.
• Los algoritmos reciben una “entrada” y entregan una “salida”, como una función, pero el algoritmo debe ser definido, finito y eficiente.
• En la vida cotidiana se emplean continuamente algoritmos que el cerebro humano desarrolla de manera inconciente.
Actividad en Clase
• Ruteo subrutina• Potencia• Mensajes• Sonidos
Patricio A. CastilloJosé M. Galarce
Septiembre 13 de 2008
Cuarta ClaseCuarta Clase