sistemas de control automático y robótica móvil autónoma · elaborado por cristián calvo...
TRANSCRIPT
Elaborado por Cristián Calvo
Sistemas de control automáticoy robótica móvil autónoma
29-02-2016 1
Camilo Contreras (Valparaíso, 2015)
Manual guía para la programación de modelos físicos FischertechnikMétodos Computacionales en Arquitectura — ARQ232
Elaborado por Camilo Contreras
Elaborado por Cristián Calvo29-02-2016 2Elaborado por Camilo Contreras
ContenidoBienvenidos al Curso 3
Metodología 4
Informaciones Generales 6
Primeros Pasos: Modelo de Introducción 10
Modelos de Trabajo Iniciales 15
Interfaz grafica de Usuario 23
Robots Móviles: el Siguiente Desafio 16
ROBOTICS TXT FischerTechnik 6Sistema de control automático 7Diferentes componentes:Actuadores 8Diferentes componentes: Sensores 9
Desafío personal de programación 14
Elaborado por Cristián Calvo29-02-2016 3Elaborado por Camilo Contreras
Bienvenido al Curso Métodos Computacionales en la ArquitecturaEn esta asignatura, desarrollarán el pensamiento estructurado (analítico, lógico, crítico, analógico) aplicando en Arquitectura diferentes métodos y herramientas computacionales.
Se realizaran en equipos diferentes actividades prácticas, ensamblando juegos de construcción programables de sistemas de control automático y robots móviles autónomos.
Elaborado por Cristián Calvo29-02-2016 4Elaborado por Camilo Contreras
MetodologíaEnsamblaras modelos físicos simples de
sistemas de control automático y robótica móvil
autónoma, aplicando instrucciones de manuales
en forma autónoma.
Programaras estos modelos utilizando el
lenguaje de programación visual y reflexionando
sobre los procesos observados.
Elaborado por Cristián Calvo29-02-2016 5Elaborado por Camilo Contreras
MetodologíaElaboraras informes técnicos de experiencias
de ensamblaje y programación de sistemas de
control automático y robótica móvil
autónoma, explicando su teoría y aplicabilidad.
Desarrollaras proyectos de modelación de
problemas del “mundo real”, utilizando principios
y técnicas de nuevos medios y resolución de
problemas en arquitectura.
Elaborado por Cristián Calvo29-02-2016 6Elaborado por Camilo Contreras
ROBOTICS TXT FischerTechnikLos modelos físicos a utilizar corresponden a
diferentes Sets de la línea ROBOTICS de
FischerTechnik, con los cuales podrás realizar
gran cantidad de experimentos y resolver
interesantes desafíos.
Al seguir esta presentación aprenderás paso a paso como se pueden
programar y desarrollar diferentes tareas aumentando la complejidad
de ellas para finalmente autoimponerse nuevos desafíos. Mientras que
el la presentación sobre ENSAMBLADO pueden seguir las
instrucciones de construcción para cada modelo.
Elaborado por Cristián Calvo29-02-2016 7Elaborado por Camilo Contreras
Pero ¿Qué es un sistema de control automático? Es un conjunto de componentes físicos conectados o
relacionados entre sí, de manera que regulen o dirijan su
actuación por sí mismos, es decir sin intervención de
agentes exteriores, corrigiendo además los posibles
errores que se presenten en su funcionamiento.
En la actualidad estos sistemas automáticos juegan un
gran papel en muchos campos, desde la automatización
de procesos industriales hasta tareas cotidianas como
nuestra misma lavadora o un semáforo de alguna
concurrida calle.
Elaborado por Cristián Calvo29-02-2016 8Elaborado por Camilo Contreras
Los diferentes componentes físicos que componen un sistema de control automático
también se pueden diferenciar en dos tipos, Sensores y Actuadores.
ActuadoresEstos son todos los componentes
que pueden ejecutar una acción.
Esto significa que cuando se les
conecta a la corriente eléctrica, de
alguna forma se tornan “activos”.
En su mayoría esto se puede ver
directamente. Un motor girar, un
LED encenderse, etc.
Servomotores LED Lámpara de Lente
Elaborado por Cristián Calvo29-02-2016 9Elaborado por Camilo Contreras
SensoresEstos son los componentes que no
ejecutan acciones, si no que reaccionan a
determinadas situaciones y sucesos. Un
pulsador reacciona por ejemplo a la
“presión en un botón” dejando pasar o
interrumpiendo una corriente eléctrica o un
sensor de calor reacciona a la temperatura
de su entorno.
Fototransistores Pulsadores
Cámara USB Sensores de Calor
Y bien, tras toda esta introducción nos ponemos manos a la obra. Necesitaremos el
manual de construcción y el software RoboPRO instalado en tu equipo para continuar.
Elaborado por Cristián Calvo29-02-2016 10Elaborado por Camilo Contreras
Primeros pasos – Modelo de un SemáforoEmpezaremos a trabajar usando el modelo de un
semáforo peatonal como ejemplo para familiarizarnos
con el software RoboPRO, la conexión del sistema y la
relación que existe entre el sensor y los actuadores
LED
Tarea ejemplo 1.0 Programar el semáforo para iniciar en rojo, diez segundos después cambiar a
verde durante 5 segundos y luego volver a rojo.
Instrucciones para ensamblar el modelo desde la
pagina 7 del manual de construcción.
Elaborado por Cristián Calvo29-02-2016 11Elaborado por Camilo Contreras
La tarea uno es el ejemplo mas fácil de programar, el código sigue una sola línea sin
bifurcaciones ni bucles en el hasta volver a iniciar. Tenemos con ella un modelo que
representa el actuar de un semáforo. Pero es hora de incorporar el actuador I1 a su
funcionamiento
Tarea ejemplo 1.1 El semáforo debe empezar en rojo y esperar a que el usuario presione el
pulsador, tres segundos después de ello debe cambiar a verde por 5 segundos, luego volver a rojo.
Modelo de un Semáforo
El componente esperar entrada detiene la ejecución del programa hasta que
ocurra algo especificado por el usuario como por ejemplo oprimir un pulsador
Elaborado por Cristián Calvo29-02-2016 12Elaborado por Camilo Contreras
Modelo de un SemáforoLogramos hacer funcionar el pulsador e integrarlo a la configuración del semáforo, pero si te
das cuenta, el semáforo podría pasar meses en rojo hasta que alguien presione el botón para
cruzar y la luz verde cambiara de improviso lo que podría ocasionar un accidente.
Esta vez se debe mantener la ejecución del programa mientras se espera por el cambio en el
pulsador. Por lo que el comando esperar entrada no servirá.
Tarea ejemplo 1.2 El semáforo debe empezar en rojo y mantenerse por 10 segundos, pero
en caso de que se presione el pulsador, dos segundos después cambiar a verde. Esta fase se debe
mantener por 2 segundos e iniciar un parpadeo del LED que dure 4 segundos mas, luego
cambiar a rojo.
Elaborado por Cristián Calvo29-02-2016 13Elaborado por Camilo Contreras
Ahora que entendemos el bucle contador y el comando esperar entrada, podemos subir de
nivel. Un semáforo real en realidad no funciona así, estos tienen un margen de tiempo en el
que si presionas el pulsador funciona. Pasado ese margen de tiempo el semáforo funciona
como si no lo hubieses presionado.
Tarea ejemplo 1.3 Deben configurar un ciclo de 15 segundos en rojo y 6 segundos en verde. Pero
esta vez, en caso de que el usuario presione el pulsador durante los primeros 10 segundos del ciclo
rojo, se debe cambiar a verde 2 segundos después. En caso de que se presione durante los últimos
5 segundos del ciclo rojo el pulsador no debe actuar.
Modelo de un Semáforo
Utiliza los componentes de la pestaña comandos para configurar el margen
de tiempo y la comparación de datos para asignarle una función.
Elaborado por Cristián Calvo29-02-2016 14Elaborado por Camilo Contreras
Modelo de un SemáforoDesafío personal Hasta ahora logramos un semáforo funcionando con ambos ciclos
correctamente, y el pulsador acortando el ciclo de el LED rojo según la variable del tiempo.
¿Pero alguna vez haz visto una esquina con un solo semáforo?
Estos en realidad funcionan en cadena, y te invitamos a explorar como seria coordinar al menos
dos de ellos.
Desafío ejemplo Deben coordinar dos semáforos, cada uno con un pulsador individual
funcionando para acortar el ciclo rojo correspondiente y un ciclo verde de 6 segundos incluyendo el
pestañar de este LED. Ciclos que se deben adaptar al cambio de tiempo ligado al pulsador.
Ahora que acabamos los primeros pasos podemos empezar con el trabajo personal!
Elaborado por Cristián Calvo01-03-2016 15Elaborado por Camilo Contreras
Modelos 1 – Secador de ManosTodos alguna vez hemos utilizado un secador de
manos, en un centro comercial o en los baños de
la universidad. Estos están provistos con un
sensor de luz que controla el encendido y
apagado del ventilador.
Tarea 1 Programar el secador de manos para que funcione el ventilador cuando se interrumpa la
barrera de luz y luego de 3 segundos se apague.
Instrucciones para ensamblar el modelo desde la
pagina 10 del manual de construcción.
Elaborado por Cristián Calvo01-03-2016 16Elaborado por Camilo Contreras
Modelos Básicos – Secador de ManosDe esta manera podemos asignar el tiempo en el que el ventilador trabajara, pero si la
persona se va antes del tiempo el ventilador trabajara de más y si lo necesita por mas
tiempo del asignado el programa no responderá. Arreglaremos esto eliminando el
tiempo de funcionamiento y dejando este completamente dependiente del sensor.
Tarea 2 El programa debe iniciar cuando se interrumpa la barrera de luz y empezar a girar
hasta que las manos se retiren del sensor.
Desafío Propone con tu equipo una nueva configuración para el secador de manos.
Elaborado por Cristián Calvo01-03-2016 17Elaborado por Camilo Contreras
Modelo 2 – Regulador de temperaturaCon la diferencia de los sensores que regulan el
impulso eléctrico un regulador de temperatura
funciona de manera similar al secador de manos, pero
esta vez considerando una variable ambiental en vez
de una acción del usuario
Tarea Programar el regulador de temperatura para que funcione el ventilador con un aumento
de temperatura y se detenga en caso de que esta baje.
Instrucciones para ensamblar el modelo desde la
pagina 10 del manual de construcción.
Elaborado por Cristián Calvo01-03-2016 18Elaborado por Camilo Contreras
Modelos Básicos – Regulador de temperaturaUn regulador de temperatura no solo puede bajar la temperatura ambiental cuando esta pasa
un limite, puede también aumentarla para mantenerla dentro de un rango a elección.
Tarea ejemplo 2 Programar el regulador de temperatura para iniciar el ventilador cuando
la temperatura suba y encender un LED cuando la temperatura baje, de manera que pueda
mantener un rango definido por ustedes.
Desafío Propone con tu equipo una nueva configuración para el regulador de temperatura.
Elaborado por Cristián Calvo02-03-2016 19Elaborado por Camilo Contreras
Modelo 3 – Un Carrusel de FeriaEl primer carrusel accionado con un motor,
fue puesto en servicio el 1º de enero de
1863 en la ciudad inglesa de Bolton, hoy en
día podemos recrear su sistema en apenas
unos minutos.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programar el carrusel de modo tal que al presionar un pulsador este inicie su rotación
en un sentido, hasta que presiones nuevamente y se detenga.
Elaborado por Cristián Calvo01-03-2016 20Elaborado por Camilo Contreras
Modelos Básicos – Carrusel de FeriaTenemos un carrusel funcionando, pero podemos hacer que sea aun más divertido, o
¿nunca has visto un carrusel que aumenta y disminuye su velocidad?
Tarea 2 Programar el carrusel de modo tal que con más pulsadores se pueda ajustar la
velocidad a la que el carrusel se mueve, además de configurar un pulsador para inicio/apagado
Desafío Propone con tu equipo una nueva configuración para el carrusel de feria.
Elaborado por Cristián Calvo01-03-2016 21Elaborado por Camilo Contreras
Modelo 4 Barrera AutomáticaEstas barreras se encuentran en muchos
lugares, los centros comerciales, los peajes,
los supermercados y lugares con gran flujo
de personas, donde la automatización es
fundamental.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programar la barrera para levantarse luego de interrumpir la barrera de luz y volver a
bajar luego de 6 segundos.
Elaborado por Cristián Calvo01-03-2016 22Elaborado por Camilo Contreras
Modelos Básicos – Barrera AutomáticaQue pasaría si un vehículo llegase a la barrera antes de los seis segundos, o la barrera
bajara antes de que el vehículo avance, para impedir estos accidentes se debe notificar a las
personas que la barrera esta disponible y no utilizar un periodo de tiempo aleatorio.
Tarea 2 Programar la barrera para encender el LED rojo mientras esta cerrada. Al interrumpir
la luz levantarse y encender el LED verde. La barrera debe bajar 4 segundos después de que el
sensor de luz deja de estar interrumpido.
Desafío Propone con tu equipo una nueva configuración para la barrera automática.
Elaborado por Cristián Calvo02-03-2016 23Elaborado por Camilo Contreras
Modelo 5 LimpiaparabrisasEn 1903 la americana Mary Anderson obtuvo la patente para
la primer instalación de limpiaparabrisas en funcionamiento
del mundo.
Construye el modelo en función de las instrucciones de
construcción y conecta los cables de acuerdo al esquema de
circuitos.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programa el limpiaparabrisas de manera tan que con presionar un pulsador, este se
mueva en un sentido, y al interrumpir la barrera de luz este vuelva en sentido contrario. Además
de detener el movimiento en caso de presionar nuevamente el pulsador.
Elaborado por Cristián Calvo02-03-2016 24Elaborado por Camilo Contreras
Modelos Básicos – LimpiaparabrisasDe la manera en que se arma este modelo, el interruptor nos da 4 estados de entrada
diferentes, combinando los pulsadores I1 e I2. Utilizaremos las 4 configuraciones para
diseñar un limpiaparabrisas con mas funciones que solo encender y apagar.
Tarea 2 Programar el limpiaparabrisas con un ciclo de limpieza continuo rápido, uno continuo
lento (continuo refiriéndose a que limpiara hasta que se vuelva a la posición de apagado) y
además un ciclo pausado de limpieza (algunas pasadas cada ciertos segundos)
Desafío Propone con tu equipo una nueva configuración para el limpiaparabrisas.
Elaborado por Cristián Calvo02-03-2016 25Elaborado por Camilo Contreras
Modelo 6– Luz de RellanoUna luz de rellano es una luz configurada con
diferentes estados de entrada, generalmente la vemos
en escaleras de emergencia. Para ahorrar energía las
luces de la escalera no se mantienen encendidas
siempre. Se encienden con un detector de luz, o con
pulsadores y se apaga después de un tiempo.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programa la luz de rellano para encender la luz con cualquiera de los pulsadores y con la
barrera de luz. Luego de encenderse debe apagarse después de 10 segundos.
Elaborado por Cristián Calvo02-03-2016 26Elaborado por Camilo Contreras
Modelos Básicos – Luz de RellanoLa luz se configuro para apagarse después de un tiempo determinado, pero con ello no
sabemos en realidad si la luz aun es necesaria. La luz en las escaleras de emergencia por
ejemplo no puede llegar a apagarse por algo así. Cada vez que se presione un pulsador o se
interrumpa la barrera de luz el ciclo de 10 segundos debe volver a empezar.
Tarea 2 Configura la luz para encenderse con cualquier pulsador y con la barrera de luz, pero
esta vez el ciclo de 10 segundos debe volver a empezar cada vez que se repita un pulsador.
Desafío Propone con tu equipo una nueva configuración para la luz de rellano.
Elaborado por Cristián Calvo 27Elaborado por Camilo Contreras
Modelo 7 – RefrigeradorCon la difusión de la corriente eléctrica y los
refrigeradores, su antecesora la fresquera sin
corriente perdió atractivo. A partir de la historia,
la palabra fresquera se usa hasta en nuestro
tiempo en el idioma coloquial para denominarla
nevera que hoy utilizamos.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Configura el refrigerador para encender un LED en su interior al momento de abrir la
puerta. Esta se debe apagar una vez que la puerta se cierre denuevo.
Elaborado por Cristián Calvo 28Elaborado por Camilo Contreras
Modelos Básicos – RefrigeradorCon el tiempo se agregaron muchas mas funciones a las neveras que tenemos hoy en día,
algunos incluso integran una interfaz grafica de usuario en su funcionamiento. Empezaremos
por configurar un LED que permita ver el interior, pero ahorre energía apagándose cuando la
puerta se cierre.
Tarea 2 Configura la luz para encenderse con cualquier pulsador y con la barrera de luz, pero
esta vez el ciclo de 10 segundos debe volver a empezar cada vez que se repita un pulsador.
Desafío Propone con tu equipo una nueva configuración para el refrigerador.
Elaborado por Cristián Calvo 29Elaborado por Camilo Contreras
Modelo 8 – Puerta CorrederaUna puerta corrediza está constituida de una o
varias hojas de puerta. Estas están guiadas arriba o
bien abajo, y se abren hacia un lado. Pero no creas,
que esta es una invención reciente – puertas
corredizas ya existían en el siglo I d.C. en las
casas romanas. Esto lo demuestran excavaciones
en la ciudad italiana de Pompeya.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Configura el refrigerador para encender un LED en su interior al momento de abrir la
puerta. Esta se debe apagar una vez que la puerta se cierre de nuevo.
Elaborado por Cristián Calvo 30Elaborado por Camilo Contreras
Modelos Básicos – RefrigeradorCon el tiempo se agregaron muchas mas funciones a las neveras que tenemos hoy en día,
algunos incluso integran una interfaz grafica de usuario en su funcionamiento. Empezaremos
por configurar un LED que permita ver el interior, pero ahorre energía apagándose cuando la
puerta se cierre.
Tarea 2 Configura la luz interior para encenderse en el momento que la puerta se abra, en caso
de estar encendida mas de 5 segundos debe empezar a parpadear a modo de aviso.
Desafío Propone con tu equipo una nueva configuración para el refrigerador.
Elaborado por Cristián Calvo 31Elaborado por Camilo Contreras
Modelo 9 – Un VentiladorUn ventilador consta principalmente de las
aspas que responden al pulsador para
encender y apagar el sistema.
Las instrucciones para el ensamblaje
se encuentran en las paginas 21-26 de
esta presentación
Tarea 1 Configura el ventilador de modo tal que el inicie presionando el pulsador y se detenga
una vez que este vuelve a ser presionado.
Elaborado por Cristián Calvo 32Elaborado por Camilo Contreras
Modelos Básicos – VentiladorAdemás de el sistema básico de encendido y apagado los ventiladores tienen mas funciones
como regular la velocidad de ellos programar un auto apagado y mas.
Tarea 2 Agrega al sistema un nuevo pulsador, el cual debe controlar la velocidad de rotación
que tienen las aspas. Además configurar el pulsador para encender y apagar el programa.
Desafío Propone con tu equipo una nueva configuración para el refrigerador.
Elaborado por Cristián Calvo 33Elaborado por Camilo Contreras
Modelo 10 – Un ascensorTodos hemos utilizado un ascensor alguna vez,
pero alguna vez te has preguntado como funciona,
una de las características principales es que estos
cambian su funcionamiento según la interacción
del usuario, y se acciona óptimamente.
Las instrucciones para el ensamblaje
se encuentran en las paginas 21-26 de
esta presentación
Tarea 1 Programa el elevador de tal manera, que inicialmente se desplace hacia abajo a su
posición de partida. En esta posición la barrera de luz en I3 está interrumpida. Cuando se oprime
uno de ambos pulsadores (I1 en la planta baja o I2 en el primer piso) el elevador tiene que
desplazarse en cada caso a la otra planta y luego de unos segundos volver al inicio.
Elaborado por Cristián Calvo 34Elaborado por Camilo Contreras
Modelos Básicos – VentiladorAlgunos ascensores que no son utilizados durante un tiempo, bajan al primer piso para
esperar por personas, pero el tiempo es mucho mayor que los segundos que programamos
Tarea 2 Controlaremos el ascensor a modo de usuario, este debe iniciar bajando hasta
interrumpir la barrera de luz, cuando se presione un pulsador debe ir al piso correspondiente y
quedarse ahí hasta que se presione otro piso e ir a este. Considera que para ir del piso inicial a la
planta baja o al primer piso solo existe un piso de diferencia. Para ir del primer piso a la planta
baja existe una diferencia de dos pisos. y el programa debe responder a esta variable.
Elaborado por Cristián Calvo 35Elaborado por Camilo Contreras
Modelos Básicos – VentiladorFinalmente tenemos que considerar, todos los ascensores tienen un pequeño sistema para
interactuar con el usuario además de los pulsadores para los diferentes pisos.
Desafío Diseñar una interfaz grafica de Usuario para el sistema del ascensor, que
permita visualizar en tiempo real el numero de piso mientras este se mueve y
además interactúe mediante pequeños mensajes con el usuario.
Elaborado por Cristián Calvo 36Elaborado por Camilo Contreras
Modelo 10 – Un lavavajillasEl lavavajillas automatiza varios procesos
seguidos y simultáneos, por un lado debe advertir
al usuario mediante luces o palabras el estado del
proceso y además realizarlo
Las instrucciones para el ensamblaje
se encuentran en las paginas 21-26 de
esta presentación
Tarea 1 Confecciona un programa de lavado, que recién comience cuando la puerta está cerrada
y se oprime el botón de arranque I1. Como primero se lava, a continuación se seca. El estado de
servicio tiene que ser indicado a través de ambas lámparas M3 y M4 parpadeando rápido para
indicar lavado y lento para indicar secado. Luz continua para indicar que el lavado termino.
Elaborado por Cristián Calvo 37Elaborado por Camilo Contreras
Modelos Básicos – VentiladorUna de las curiosidades que tiene el programa para un lavavajillas es que siempre esta la
condición de detener el sistema en caso de que la puerta sea abierta.
Tarea 2 Debemos configurar el sistema de tal manera que el programa solo inicie con la puerta
cerrada y después de iniciar en caso de que esta se abra, el programa se pause, el pulsador de
inicio debe funcionar además como botón de pausa/reinicio para detener el programa, o
reanudar el funcionamiento cuando se abra la puerta.
Elaborado por Cristián Calvo 38Elaborado por Camilo Contreras
Modelos Básicos – VentiladorFinalmente tenemos que considerar, todos los ascensores tienen un pequeño sistema para
interactuar con el usuario además de los pulsadores para los diferentes pisos.
Desafío Diseñar una interfaz grafica de Usuario para el sistema del lavavajillas, el cual
interactúe con el usuario en los diferentes estados del funcionamiento (lavando, en pausa,
secando, con la puerta interrumpida o antes de empezar) y además integre una cuenta
regresiva para los diferentes procesos.
Elaborado por Cristián Calvo02-03-2016 39Elaborado por Camilo Contreras
Modelo 12 – Cámara de SeguridadAntes de empezar con los modelos móviles entraremos en una
nueva funcionalidad, la cámara. Utilizaremos la interfaz de
RoboPRO para configurar diferentes funciones de ella y
utilizarla como una cámara de seguridad.
Tarea 0. Configura la cámara para girar dentro de un rango constantemente, y
detenerse emitiendo una alarma cuando vea una esfera amarilla.
Instrucciones para el ensamblaje en las
paginas xx de la guía de ensamble
Elaborado por Cristián Calvo29-02-2016 40Elaborado por Camilo Contreras
Modelo 12 Cámara de SeguridadDe esta manera vemos como la cámara puede detectar e identificar la
esfera como objeto y actuar ante esto. Pero únicamente esta
reconociendo esta figura, probaremos configurar la cámara sensible a
cualquier movimiento en vez de solo a una figura.
Tarea 0.1 Configurar la cámara para girar desde su posición inicial, detenerse para
comprobar si existe movimiento en el ambiente. De ser así emitir una alarma, de no
existir movimiento debe girar otro tramo y volver a comprobar. Una vez alcanzado
el rango de giro hacia un lado, debe girar en sentido contrario comprobando que no
exista movimiento cada pequeños tramos.
Elaborado por Cristián Calvo29-02-2016 41Elaborado por Camilo Contreras
Modelo 12 Cámara de SeguridadQuizá si la alarma suene inmediatamente al detectar movimiento puede dar
mas de una falsa alarma, necesitamos estar seguros de que la cámara se
activo por un intruso y para ello una interfaz de usuario podría notificar a un
guardia y permitir que el decida si la alarma es pertinente.
Desafío Diseñar una interfaz grafica de Usuario que notifique cuando la cámara
detecte movimiento en el ambiente y permita discernir si dar la alarma o ignorar la
alerta para continuar vigilando.
Elaborado por Cristián Calvo29-02-2016 42Elaborado por Camilo Contreras
Modelo Móvil 1 & 2 - Modelos Básicos Para empezar con este nuevo nivel primero que nada debemos aclarar que
existen dos modelos básicos del robot móvil, y de cada uno podemos pasar a
modelos mas complejos que veremos mas adelante. Para la siguiente actividad
ambos funcionan perfectamente.
Instrucciones para el modelo v1 en las paginas xxx y para el modelo v2 en las
paginas xxx del manual de ensamblaje.
V1 V2
Elaborado por Cristián Calvo29-02-2016 43Elaborado por Camilo Contreras
Modelo Móvil 1 & 2 - Modelos BásicosPara empezar con este nuevo nivel primero que nada debemos contestarnos
algunas preguntas ¿como se mueve un robot móvil? ¿Qué relación existe
entre el movimiento de los motores y la dirección que tomar el robot?
Tarea 0.1 Configuraremos el robot inicialmente para que se mueva solamente tres
segundos hacia delante y tres segundos hacia atrás. Prueba el programa varias veces,
el robot realmente vuelve a su posición inicial?
Fijarse en que dirección deben tomar los motores para que esta
actividad resulte.
Elaborado por Cristián Calvo29-02-2016 44Elaborado por Camilo Contreras
Modelo Móvil Modelos BásicosAhora que logramos mover en robot en líneas rectas cambiaremos el
sentido de los motores de diferentes maneras, tenemos que explorar
con curvas esta vez!
Al mover los motores en sentidos opuestos durante el mismo tiempo se
mueven en línea recta, moviéndolos en la misma dirección el robot
empieza a dar vueltas en si mismo
Tarea 0.2 Configuraremos el robot para que se mueva tres segundos hacia delante
luego cambie de dirección trazando una curva y luego continúe tres segundos hacia
delante.
Elaborado por Cristián Calvo29-02-2016 45Elaborado por Camilo Contreras
Modelo Móvil 1 Modelos BásicosAhora que conocemos como desplazarnos en línea recta y como cambiar la
dirección para trazar curvas es hora de dejar de pensar en la dirección del
movimiento y pensar en la forma del recorrido
Tarea 0.3 Esta vez programaremos el robot para que este dibuje un cuadrado con su
trayectoria. Volviendo al punto inicial para cerrar la figura. ¿Que pasaría si fijamos un
lápiz en nuestro robot, la figura que traza realmente es un cuadrado?
La utilización de subprogramas para los cambios de dirección
agilizara la lectura del código principal
Elaborado por Cristián Calvo29-02-2016 46Elaborado por Camilo Contreras
Modelo Móvil Modelos BásicosSi probamos nuestros códigos varias veces podríamos notar que la respuesta no es
siempre exacta, pequeños fallos en los engranes o la corriente puede retrasar un
motor ya que hasta ahora solo los estamos controlando con intervalos de tiempo.
Para controlar los motores por la distancia que recorren en vez de
intervalos de tiempo necesitamos el componente “motor de codificador”
Tarea 0.4 Repite las ultimas tres tareas pero esta vez utilizando motores de
codificador en vez de intervalos de tiempo de espera y motores normales.
Elaborado por Cristián Calvo 47Elaborado por Camilo Contreras
Modelo móvil 3 – El rastreadorTu robot ahora puede desplazarse en línea recta y doblar
como se lo indiques, pero un robot en realidad debería
reaccionar de manera autónoma. Por esta razón le queremos
dar algo, a lo cual pueda reaccionar: Una línea negra en el
suelo como marcación. El objetivo es que el robot busque la
línea negra y se desplace a lo largo de ella
Las instrucciones para el ensamblaje
se encuentran en las paginas 21-26 de
esta presentación
Tarea 1 Programa el robot de tal manera, que siga una pista recta negra sobre la cual ha sido
colocado. Si pierde la pista o ha llegado a su final, el robot debe detenerse y ambas lámparas
deben parpadear 3 veces en cada caso.
Elaborado por Cristián Calvo 48Elaborado por Camilo Contreras
Tarea 2 Amplia tu programa en la función, que el robot al abandonar la pista corrija
adecuadamente su dirección y siga la pista. Prueba esta tarea primero con el recorrido 1a y
luego con el recorrido 1b.
Con esto estamos considerando un robot que se desvía de la línea a seguir, pero que
pasaría si el robot desde el principio no detecta ninguna pista que seguir, en este caso se
debe configurar previamente una función para que el robot explore a su alrededor, hasta
encontrar una pista que seguir y continuar con el programa.
Modelo móvil 3 – El rastreadorParte de la autonomía que el robot debe tener se encuentra en resolver el problema de que
hacer cuando un rastreador de pista no detecta una pista o la pierde de vista, este debiese
poder reencontrarla para continuar su función de seguirla.
Elaborado por Cristián Calvo 49Elaborado por Camilo Contreras
Tarea 3 Escribe un subprograma "buscar", con el que el robot busque una pista, cuando al
iniciar el programa no encuentra ninguna. Para ello el robot primero tiene que girar 1 vez en
círculo. Si en este caso no encuentra ninguna pista, debe avanzar un tramo en línea recta. En el
momento que el robot detecta una pista, deberá seguirla. En caso contrario la búsqueda debe
comenzar desde el inicio. Si ha girado 10 veces en círculo sin encontrar una pista, debe
detenerse y parpadear 3 veces
Desafío Propone con tu equipo una nueva configuración para el robot rastreador de pistas.
Con esto tenemos un robot automatizado para encontrar un pista para seguir, modificar su
recorrido en caso de desviarse y seguirla una vez que esta sobre ella. Esperamos que
puedan agregar una nueva configuración que beneficie de alguna forma al modelo.
Elaborado por Cristián Calvo 50Elaborado por Camilo Contreras
Modelo móvil 4 – Una cortadora de CéspedPodemos llegar a automatizar un proceso como cortar en
césped. Sólo se debe, mediante la programación decir
como deben contornar los obstáculos y delimitar el
espacio de trabajo.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programa la cortadora de césped de tal manera, que desde su posición de partida dentro
de los límites) avance en línea recta hasta que tropieza con un obstáculo o alcanza el límite del
césped (línea negra). Cuando la cortadora de césped tropieza con un obstáculo (parachoques
delantero), debe detenerse inmediatamente, parar el mecanismo cortador, retrocede un pequeño
tramo, girar hacia la izquierda, nuevamente desplazarse hacia delante y volver a conectar el
mecanismo cortador. Esta función la logras en el subprograma "desviar".
Elaborado por Cristián Calvo 51Elaborado por Camilo Contreras
Tarea 2 Modifica el programa de la cortadora de césped, de manera que esta cada vez al
desviarse asuma otro ángulo para el giro. Esta debe girar entonces una vez más y una vez
menos. Además debe desviarse de un obstáculo que reconoce con el parachoques derecho, hacia
la izquierda y viceversa.
Estamos imaginando por el momento una cortadora trabajando sobre los limites, se asegura
de cortar de un lado a otro evitando obstáculos y así completando todo, pero crees poder
realizar el corte completo sin recorridos lineales o sin la función únicamente de volver al
“salirse del limite”
Modelo móvil 4 – Una cortadora de césped El césped está simbolizado por la superficie blanca de nuestro estadio de fútbol de recorrido
1b, que está limitada por un borne negro Este borde no puede ser atravesado por la
cortadora de césped
Elaborado por Cristián Calvo 52Elaborado por Camilo Contreras
Tarea 3 Inicia la cortadora de césped dentro de los limites, pero esta vez busca nuevas
configuraciones para sus recorridos diferentes a la línea recta que ya programaron. Primero
prueben su configuración sin obstáculos y respetando los limites. ¿Que pros y contra tienen los
recorridos irregulares?
Desafío Propone con tu equipo una nueva configuración para el robot cortador de cesped.
Con esto podemos comparar las diferentes maneras que ejecuta el robot para describir una
superficie, Esperamos que puedan agregar una nueva configuración que beneficie de alguna
forma al modelo.
Elaborado por Cristián Calvo 53Elaborado por Camilo Contreras
Modelo móvil 5 – Carretilla elevadoraUn área, en que el robot se emplea preferentemente en la
industria, es la logística. O sea, en todo lugar donde
deben moverse objetos. Estas tareas de transporte las
puedes reproducir fantásticamente con el modelo de
carretilla elevadora.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Deben realizar dos subprogramas para que el sistema levante y baje la carretilla.
Además y debido a que durante la marcha la horquilla no puede estar demasiado arriba o
demasiado abajo, necesitas un subprograma extra que regule la "posición de desplazamiento".
Haz que la carretilla avance en línea recta, levante la horquilla, avance y vuelva abajarla.
Elaborado por Cristián Calvo 54Elaborado por Camilo Contreras
Tarea 2 Deben agregar al funcionamiento que permite mover la horquilla de manera
independiente el algoritmo para seguir una pista. Mientras la sigan debe verse interrumpida por
obstáculos que pueda levantar para probar el sistema completo. Seguir pista, detenerse, subir la
horquilla, avanzar y bajar la horquilla.
Tenemos la configuración para el funcionamiento básico de la horquilla pero un sistema de
guías para su desplazamiento, el siguiente paso es permitir al usuario su control.
Modelo móvil 5 – La carretilla elevadoraDespués que toda la mecánica ahora funciona correctamente, también la queremos utilizar.
Finalmente una carretilla elevadora debe transportar objetos y no sólo poder mover su
horquilla, así que debemos asignarle una rutina la cual seguir.
Elaborado por Cristián Calvo 55Elaborado por Camilo Contreras
Tarea 3 Diseña con tu equipo una interfaz grafica de usuario que integre funciones de
desplazamiento como avanzar, detenerse, girar y todas las necesarias para la carretilla y
además el sistema para el control de la horquilla.
Desafío Propone con tu equipo una nueva configuración para la carretilla elevadora
Con la interfaz podemos controlar remotamente al robot en todas sus características pero
confiamos en que puedan agregar una nueva configuración que beneficie de alguna forma al
modelo.
Elaborado por Cristián Calvo 56Elaborado por Camilo Contreras
Modelo móvil 6 – Robot MedidorÉl robot medidor está equipado con un sensor de
temperatura (NTC) y puede medir e indicar la temperatura
en diversos puntos. Adicionalmente el robot de medición
también tiene un sensor de pista, de manera tal que
puedes especificarle su trayecto a través de una línea
negra.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programa un sistema para el rastreo de pista y amplíalo con un subprograma para
controlar el brazo de medición. El robot debe desplazarse sobre el recorrido 1b y en determinados
intervalos, medir la temperatura. La temperatura debe ser indicada en el display del ROBO TX
Controllers..
Elaborado por Cristián Calvo 57Elaborado por Camilo Contreras
Tarea 2 Deben diseñar una interfaz grafica de usuario que permita controlar al robot medidor
libremente y visualizar los datos captados por el sensor de calor en la pantalla de la interfaz
Modelo móvil 6 – Robot medidorAdemás de medir la temperatura podemos configurarlo como un verdadero robot explorador,
y lograr que nos muestre el resultado de sus datos en tiempo real
Desafío Propone con tu equipo una nueva configuración para la carretilla elevadora
Elaborado por Cristián Calvo 58Elaborado por Camilo Contreras
Modelo móvil 7 – Detector de ObstáculosCon el modelo móvil logramos realizar movimientos
rectos, curvas y darle mayor precisión en su
desplazamiento, pero un robot debería funcionar de
manera autónoma, así que le posibilitaremos reaccionar
frente a obstáculos con la ayuda de un parachoques.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Deben programar el detector de obstáculos para detenerse y retroceder en cuanto uno
de los parachoques tropiece con algún obstáculo.
Elaborado por Cristián Calvo 59Elaborado por Camilo Contreras
Tarea 2 El detector de obstáculos debe circular en línea recta, en el momento que su
parachoques izquierdo se tropiece con un obstáculo debe detenerse, retroceder girar algo a la
derecha y continuar su tramo en línea recta. Además de manera inversa en caso de que el
parachoques que detecte el obstáculos sea el derecho.
Tenemos al detector reaccionando de manera autónoma según la posición del obstáculo,
veamos que tan fieles podemos ser a la dirección inicial del desplazamiento.
Modelo móvil 7 – Detector de ObstáculosEl detector de obstáculos es capas de reaccionar a ellos y retroceder, puede reaccionar pero
debemos darle mas autonomía a sus reacciones y buscar que este pueda continuar su
recorrido lo mas fiel posible.
Elaborado por Cristián Calvo 60Elaborado por Camilo Contreras
Tarea 3 Marca una línea recta que indique el camino a seguir por el robot detector y pon un
obstáculo en medio de ella. El robot debe circular por la línea hasta encontrarse con el
obstáculo. Detenerse y rodearlo para continuar su recorrido por la línea recta trazada.
Desafío Propone con tu equipo una nueva configuración para el detector de obstáculos.
Mientras mas fiel sea el recorrido después de desviarse a la línea que trazamos mejor,
podemos asegurar que el robot responda sin desviarse ni perder el rumbo, confiamos en que
pueden agregarle alguna nueva función.
Elaborado por Cristián Calvo 61Elaborado por Camilo Contreras
Modelo móvil 8 – Detector de Obstáculos con cámara integrada Hasta ahora el robot detector de obstáculos busca
continuar su recorrido simulando una línea recta, pero
como funcionaria si este pudiese ver por donde se dirige.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programar el detector de obstáculos de modo tal que al encontrase con uno se detenga,
pero no rodee hasta que se le muestre la tarjeta roja. Cuando la detecte debe continuar su
recorrido.
Elaborado por Cristián Calvo 62Elaborado por Camilo Contreras
Tarea 2 El detector de obstáculos debe circular en línea recta hasta encontrase con un
obstáculo y detenerse. Deben asignar un color para cada función (reversa, rodear, continuar) y
mediante la interacción con el robot tratar de que rodee el obstáculo.
De esta manera tenemos un sistema de control mediante la cámara y la interacción del
usuario, pero podemos utilizarla para mostrar directamente el camino y controlar al robot a
distancia.
Modelo móvil 8 – Detector de Obstáculos con cámara integradaHasta ahora estamos usando como parámetro de entrada para continuar su funcionamiento
una variable sensible a la cámara, pero ¿que tal si configuramos los colores de las tarjetas
como sistema de control para eludir los obstáculos?
Elaborado por Cristián Calvo 63Elaborado por Camilo Contreras
Tarea 3 Diseña una interfaz grafica de usuario que permita controlar al robot mediante una
conexión WLAN para darle instrucciones desde tu computadora y ver su recorrido, el robot se
debe detener al encontrarse un obstáculo e inhabilitar el botón para seguir en línea recta
mientras este el obstáculo en frente.
Desafío Propone con tu equipo una nueva configuración para el detector de obstáculos.
Mediante la interfaz podemos controlar los movimientos del robot y con la cámara podemos
ver su perspectiva, prueba diferentes situaciones, salir de una esquina, estar rodeado por
obstáculos, o obstáculos de gran tamaño.
Elaborado por Cristián Calvo 64Elaborado por Camilo Contreras
Modelo móvil 9 – Rastreador de pista con cámara integrada El rastreador que ya programamos podía continuar por
una línea sin problemas, con la cámara podemos no solo
reconocer si se dispone una pista o no, si no que
podemos reconocer la posición exacta de la línea en la
imagen y reaccionar a ello de manera análoga.
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programar el rastreador de modo que siga una línea recta sobra la cual debe ser
colocado para empezar. La imagen de la cámara para la posición de la línea se mapea entre
-100 a +100. Siendo 0 la línea centrada. Si esta se desvía el robot debe detenerse y retroceder.
Elaborado por Cristián Calvo 65Elaborado por Camilo Contreras
Tarea 2 Crear 5 intervalos para la posición de la línea en la imagen. Entre -10 y +10 debe seguir
recto. Entre -11 y +40 debe corregir hacia la izquierda. Entre +11 y -40 debe corregir a la derecha.
Si el valor es menor a -40 debe corregir intensamente a la izquierda y si es mayor a +40 debe
corregir intensamente a la derecha, además de detenerse en caso de que pierda la pista.
Prueba llegando hasta el final de la línea y programando el robot para girar y volver a
seguirla en sentido contrario. ¿De que manera vuelve a alinear la pista con el valor 0?
Modelo móvil 9 – Rastreador con cámara integrada Ahora que sabemos los valores análogos de entrada para la pista reconocida por la cámara
debemos asignar los intervalos para lograr que siga la pista a la perfección. Por ejemplo
continuar de manera recta mientras la línea se encuentre entre -10 y +10
Elaborado por Cristián Calvo 66Elaborado por Camilo Contreras
Tarea 3 Programaremos inicialmente el robot para buscar una pista que seguir. Diseña un
recorrido que permita al robot explorar de manera cíclica hasta encontrar una pista en la que
alinearse y continuar el recorrido.
Desafío Propone con tu equipo una nueva configuración para el rastreador de pista
¿En todos los casos el robot logra encontrar una pista que seguir? Que pasa en casos con
mas pistas cercanas, ¿ podrían programar al robot para terminar una y buscar mas a su
alrededor?
Elaborado por Cristián Calvo 67Elaborado por Camilo Contreras
Modelo móvil 10 – Robot exploradorPara este modelo integraremos varias de las funciones trabajadas
de manera independiente. Debe poder mirar hacia delante para
explorar su entorno y bajar la cámara para poder seguir diferentes
pistas. Además debe reunir datos sobre la temperatura como el
robot medidor, mediante una resistencia de NTC
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 Programaremos al robot inicialmente como el robot rastreador con cámara integrada.
La principal diferencia es que puede levantar y bajar la cámara para explorar a su alrededor o
para seguir una pista especifica. Prueba situándose sobre una pista mirando hacia abajo,
siguiéndola hasta el final y luego de vuelta.
Elaborado por Cristián Calvo 68Elaborado por Camilo Contreras
Consideraremos un real robot explorador, no limitaremos su movimiento únicamente a las
pistas definidas y dispondremos todas las funciones para el uso simultaneo.
Modelo móvil 10 – Rastreador con cámara integrada Tenemos la experiencia con el seguidor de pista con cámara integrada, pero debemos
coordinar todas las funciones extra que tiene el explorador. Para ello debemos considerar las
tarjetas de colores, el medidor de temperatura y recorrer pistas en ambos sentidos.
Tarea 2 Primero deben colocar el explorador en una pista que recorra hasta el final, de la
vuelta y continúe en dirección contraria. Cuando llegue a la pista ensanchada debe levantar
la cámara y esperar. Cuando le muestres una tarjeta de un color debe buscar la pista
correspondiente y continuar por ella. Cada vez que el robot se detenga debe medir la
temperatura y emitir los datos en el display del TXT controller.
Elaborado por Cristián Calvo 69Elaborado por Camilo Contreras
Desafío Propone con tu equipo una nueva configuración para el robot explorador
Coloca las diferentes pistas alrededor de la sala y prueba. Permite que las recorra o que siga
explorando la sala y mide la temperatura en diferentes lugares.
Tarea 3 Diseñar una interfaz grafica de usuario que permita el movimiento del robot
explorador y visualizar lo que la cámara ve. Al detectar una pista se debe poder decidir si
continuar por ella automáticamente o continuar explorando. También debe incluir un botón
para medir la temperatura y uno para bajar y subir la cabeza del robot.
Elaborado por Cristián Calvo29-02-2016 70Elaborado por Camilo Contreras
Modelo Móvil 11 - Robot de Futbol con control de movimiento¿Has escuchado alguna vez de la robo-cup?
Aunque no lo creas existen campeonatos de futbol
para robots y empezaremos a prepararnos para
organizar uno con nuestros modelos Fischertechnik
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Tarea 1 En primer lugar programaremos nuestro robot para ejecutar el comando de “disparar
el balón” al momento en que este interrumpe la barrera de luz integrada. Experimenta con la
velocidad del disparo y prueba la velocidad de respuesta ideal para no fallar ninguna jugada!
Elaborado por Cristián Calvo 71Elaborado por Camilo Contreras
Prueba el robot y entrénalo para el campeonato, busca el balo y prueba que tan difícil es
llegar a la portería con el.
Modelo Móvil 11 - Robot de Futbol con control de movimientoEl programa que acabamos de configurar debe ser independiente de los controles para el
movimiento del robot. Ejecutarse ambos programas de manera simultanea de manera que
ninguno interfiera en el correcto funcionamiento del otro. Configuraremos en paralelo el
control del robot mediante detección de movimiento .
Tarea 2 Programaremos ahora la movilidad del robot, manteniendo el archivo para
disparar el balón, configuraremos zonas de reconocimiento con la cámara. Si saludas con la
mano izquierda debe desplazarse hacia la izquierda. Si saludas con la derecha debe
desplazarse hacia la derecha y si saludas con ambas debe ir en línea recta.
Elaborado por Cristián Calvo 72Elaborado por Camilo Contreras
Con las actividades de entrenamiento realizadas estamos listos para realizar la ultima
actividad. Esperamos que sea de su agrado! Nesecitas realizar el ultimo detalle a tu modelo
para continuar.
Tarea 3 Configura una nueva zona de detección de movimiento para la cámara, esta vez
que control el lanzamiento del balón, si este se dispara inmediatamente no tenemos
posibilidad de apunar hacia la portería antes, intentaremos corregir esto para hacer un mejor
jugador de futbol…robot.
Elaborado por Cristián Calvo29-02-2016 73Elaborado por Camilo Contreras
Modelo Móvil Robot Futbolero Final Hemos llegado al final de las actividades y con ello al gran
cierre del campeonato USM para robots futbolistas. Sigue
las instrucciones para montar la cámara integrada en el
robot y poder ver lo que hace para manipularlo desde la
distancia!
Tarea Final Diseña una interfaz grafica de usuario, que permita ver a través de la cámara
incorporada al robot. Además debe integrar los botones básicos para disparar el balón y para
su movimiento según estimes conveniente (diferentes velocidades, giros, pausas, etc) ya que
competirás con el, mientras mas cómodo te sientas mejor para tu equipo!
Las instrucciones para el ensamblaje se encuentran
en las paginas 21-26 de esta presentación
Elaborado por Cristián Calvo 74Elaborado por Camilo Contreras
¡Gracias por seguir clase a clase las actividades realizadas para este manual!
Modelo Móvil 11 - Robot de FutbolPractica con el modelo todo lo que requieras para diseñar una interfaz cómoda y con los
mejores comandos de movimiento, esto será fundamental si quieres ganar el campeonato.
Desafío final Formen dos equipos con cuatro robots futboleros cada uno, limiten el espacio
de juego, las porterías, y quienes controlen a los robots lo deberán hacer a distancia.
(únicamente observando a través de la interfaz). Pueden empezar el juego y con ello finalizar
todas las actividades de este manual para programación!
Elaborado por Cristián Calvo29-02-2016 75
Contacto
Luis Felipe González Böhme
Profesor instructor
Universidad Técnica Federico Santa María
Departamento de Arquitectura
Teléfono: 56 (0)32 2654773
Fax: 56 (0)32 2654108
Email: [email protected]
Url: www.arq.utfsm.cl
Dirección: Avda. España 1680
Casilla: 110-V
Código postal: 2390123 Valparaíso - Chile
Camilo Hernán [email protected]
Elaborado por Camilo Contreras