Top Banner
TEMA 4: CONTROL Y ROBÓTICA I. INTRODUCCIÓN A LA ROBÓTICA Sistema de control Definición. Dispositivos o conjunto de dispositivos, capaces de ordenar, dirigir y regular su propio comportamiento, o el de otros sistemas. Según el método de control utilizado se clasifican en: 1) Sistema de lazo abierto. 2) Sistema de lazo cerrado.
19

TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Nov 02, 2018

Download

Documents

phammien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

TEMA 4: CONTROL Y ROBÓTICA

I. INTRODUCCIÓN A LA ROBÓTICA

Sistema de control

• Definición.

Dispositivos o conjunto de dispositivos, capaces de ordenar, dirigir y regular su propio comportamiento, o el de otros

sistemas.

Según el método de control utilizado se clasifican en:

1) Sistema de lazo abierto.

2) Sistema de lazo cerrado.

Page 2: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Robótica

• Definición.

La robótica se ocupa del diseño y la construcción de máquinas capaces de desempeñar tareas que resultan

repetitivas, requieren una alta precisión o son peligrosas o imposibles de realizar por los seres humanos.

• Evolución de la robótica, (fases).

Se entiende por MECANIZACIÓN la incorporación de máquinas para ejecutar determinadas tareas; el propósito no es

otro que realizar, de forma automática, una serie de acciones que anteriormente se llevan a cabo de modo manual.

El resultado final es una mayor rapidez en el trabajo y, en determinados casos, una mejor calidad en el resultado.

La AUTOMATIZACIÓN consiste en eliminar, de forma parcial o total, la intervención de personas en la ejecución del

trabajo. Las máquinas automáticas pueden repetir continuamente la acción para la que están diseñadas, pero sin

posibilidad de variar su funcionamiento. Las consecuencias más directas son el aumento de la productividad y la

ejecución de tareas desagradables o peligrosas sin participación humana.

La ROBOTIZACIÓN también es una automatización, pero en este caso, las máquinas utilizadas son capaces de llevar a

cabo diferentes acciones según se las programe; además serán capaces de captar información de su alrededor y

procesarla, para variar posteriormente su acción en función del resultado obtenido.

DEFINICIÓN DE ROBOT

Podemos decir que un robot es una máquina que cumple dos características básicas:

• Hace un trabajo físico en sustitución de las personas

• Tiene algo de inteligencia, lo que le permite variar su forma de trabajar en función de la tarea que tiene que

hacer.

Luego un robot es una máquina que puede ejecutar distintas tareas en sustitución de las personas, bien bajo su

supervisión directa, bien de forma autónoma. Los más avanzados son capaces de adaptar su comportamiento a las

circunstancias de cada momento.

Un robot es capaz de captar información del entorno y, en función de los datos que recibe, realiza alguna

acción como respuesta. La diferencia entre un robot y un mecanismo es que los mecanismos realizan funciones

repetitivamente, independientemente de que cambien las condiciones de su entorno. En cambio, los robots solo

reaccionan cuando se producen determinados cambios en sus proximidades.

Hay robots de muchos tipos, que se pueden clasificar atendiendo a distintos criterios: por su forma, según la

función que realizan, por su nivel de inteligencia. La mayoría de los robots actuales son industriales. Más del 90% de

los robots se utilizan en las industrias, especialmente en la industria automovilística, donde hacen trabajos de

soldadura, montaje, pintura,..

COMPONENTES DE UN ROBOT

Los robots constan de tres componentes principales:

• Los sensores que facilitan la información necesaria para que los robots interpreten el entorno en el que se

desenvuelven. Percibe las características del entorno y el estado del mismo robot y los envían a la unidad de

control, que decide qué secuencia de órdenes tienen que ejecutar los actuadores. Podemos dividir los

sensores en dos grandes grupos:

o Sensores internos, que captan la información relacionada con el estado y las características del

robot. Entre otras captan la información relacionada con

� la posición y movimiento de los motores

� la posición de las articulaciones y brazos

Page 3: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

� la fuerza que realiza la herramienta

� la temperatura de cierta parte del robot

� …

o Sensores externos que son los encargados de captar el estado del entorno del robot y proporcionar

información sobre la posición de un objeto, la presencia de un obstáculo,… Los robots pueden estar

equipados con sensores de temperatura, humedad, de presión, de luz… No obstante, gran parte de

los robots suelen estar provistos de sensores táctiles y de presencia.

• La unidad de control que se ocupa de procesar la información que recibe de los sensores y tomar decisiones

de acuerdo con ella. Generalmente es un ordenador el que se encarga de controlar los diferentes

componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una

controladora que dispone de una serie de entradas y salidas a través de las cuales recibe las señales de los

sensores y envía instrucciones a los actuadores

• Los actuadores que son aquellos elementos encargados de proporcionar la fuerza necesaria para dotar de

movimiento a las articulaciones y extremidades del robot. Pueden ser hidráulicos, neumáticos o eléctricos,

dependiendo de la fuerza y precisión que se quieran conseguir.

o Los actuadores eléctricos se usan en robots que no precisan una alta potencia y velocidad y en

aquellas aplicaciones que piden exactitud y repetitividad.

o Los actuadores neumáticos. La fuente de energía es el aire comprimido. Ofrecen poca precisión en el

posicionamiento y se usan en circunstancias en las que es suficiente el posicionamiento de dos

estados, como en la apertura y el cierre de unas pinzas.

o Los actuadores hidráulicos. La fuente de energía es el aceite mineral a alta presión. Se emplean en

robots de gran envergadura en los que se precisa una velocidad alta y la manipulación de cargas

pesadas.

Unidos a los actuadores están los elementos terminales que son los elementos encargados de interaccionar

directamente con el entorno del robot. Se pueden clasificar en dos categorías:

• Elementos de sujeción, que se utilizan para coger y sujetar los objetos y normalmente se los llama

pinzas.

• Herramientas, cuando el robot tiene que usar una herramienta en concreto (pintar, soldar, cortar,

perfilar, pulir,…)

ROBOT INDUSTRIAL

Un robot industrial es un manipulador capaz de manejar herramientas o instrumentos especializados a

través de movimientos programados. Los más habituales consisten en un brazo articulado en cuyo extremo se

acopla una herramienta. Los movimientos que puede realizar el brazo dependen del tipo y número de articulaciones.

Básicamente encontramos, de nuevo, tres partes en un robot industrial:

• Ordenador, que controla el robot y envía las órdenes que ejecuta el brazo robótico. Está protegido por un

armario metálico.

• El brazo que está compuesto por una estructura metálica y motores neumáticos, hidráulicos o eléctricos que

le dan movimiento

• La herramienta de trabajo que hace el trabajo para el que está programado el robot.

Entre muchos otros usos los robots se emplean en:

• Soldadura

• Aplicación de materiales, tales como pinturas, esmalte o partículas de metal, con fines decorativos o de

protección

• Aplicación de sellantes y adhesivos

• Alimentación de máquinas como hornos, estampadoras o prensas

• Corte

• Montaje y ensamblado

Page 4: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

• Paletización, que consiste en disponer piezas sobre una plataforma (palet) procurando que la disposición sea

estable, fácil de manipular y con la menor extensión posible.

Llamamos configuración de un robot industrial a la forma que le ha sido dada al brazo y al tipo de movimientos que

puede realizar. Hay seis configuraciones básicas:

1. Cartesiana: tres movimientos lineales

2. Cilíndrica: dos movimientos lineales y uno de rotación

3. Polar o esférica: Tiene tres articulaciones y cada una de ellas puede realizar un movimiento distinto:

rotacional, angular y lineal

4. Angular o de brazo articulado: Tiene una articulación con movimiento rotacional y dos con movimientos

angulares. Son los más comunes, presenetan gran maniobrabilidad y son capaces de hacer movimientos

rápidos y muy complejos.

5. Scara: El brazo tiene dos articulaciones rotacionales y una tercera que le permite hacer movimiento lineal.

6. En paralelo: La herramienta o elemento terminal se acciona por, al menos, dos cadenas de mecanismos

independientes.

Page 5: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone
Page 6: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

ROBOT DE SERVICIOS

Están diseñados para ayudarnos a hacer las tareas domésticas. De momento hay pocos modelos, ya que se trata de

un campo nuevo y de mucha complejidad. Se pueden encontrar robots que aspiran el polvo del suelo, cortan el

césped de los jardines,…

También se utilizan en ámbitos en los que existen unas condiciones extremas del entorno de trabajo (ambientes

contaminantes, construcción, salas asépticas…) o bien en aquellos donde es necesaria una elevada exigencia en los

resultados (robots médicos).

ROBOTS TELEMANIPULADORES

Son robots controlados directamente por personas a través de un mando o desde la pantalla de un ordenador. No

tienen la capacidad de tomar decisiones de forma autónoma y se utilizan para llegar a lugares donde no pueden

llegar las personas o es peligroso ir.

ROBOTS ESPACIALES

Resulta más barato y sencillo enviar un pequeño robot, en lugar de a una persona, a explorar un planeta. Muchos de

estos robots son telemanipuladores (controlados manualmente desde la Tierra), a pesar que los nuevos modelos

tienen cada vez más capacidad de tomar decisiones propias, lo que los hace más autónomos y eficaces.

Page 7: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

II. EL ORDENADOR COMO DISPOSITIVO DE CONTROL

El ordenador es el medio que habitualmente se utiliza para controlar un robot o cualquier otro dispositivo

robotizado. Este control suele hacerse mediante un lenguaje de programación que permite indicar las acciones que

debe llevar a cabo, y cómo debe procesar la información que le llega del exterior a través de sensores para tomar las

decisiones en función de los resultados.

Una tarjeta de control o controladora es un sistema o equipo electrónico que permite la comunicación entre el

ordenador y el sistema o máquina a controlar. Es un dispositivo que actúa de intermediario entre el mundo exterior

y el ordenador. Por un lado, se encarga de digitalizar la información analógica procedente de los sensores para que

el ordenador pueda procesarla, y por otro lado se ocupa de realizar el proceso contrario, transformando la

información suministrada por el ordenador para que los actuadores puedan comprenderla y comportarse de

acuerdo con la señal que reciban

CONTROLADORA CNICE

Salidas digitales Entradas digitales

Masa

Entradas analógicas

Conector 25 pines

Conector alimentación

La controladora CNICE es una interfaz de control que dispone de los siguientes elementos:

• Ocho entradas digitales con niveles TTL. Para que se pueda recoger la señal en una entrada digital se ha de

conectar un cable a la entrada de la fuente emisora de la señal y otro a la conexión MASA, recogiendo,

únicamente, la activación o no activación de dicha entrada. Hay que recordar que en esta controladora se

utiliza lógica negativa para las entradas digitales, es decir, cuando las entradas están al aire o se les introduce

un valor 1, se interpreta un 0; por el contrario, si se le introduce un 0 en la entrada se leerá un 1.

• Ocho salidas digitales. En esta controladora cuando una salida digital no está activada emite una señal de

0V, por el contrario, si se activa emitirá una señal de 5 V.

• Cuatro entradas analógicas. Las entradas analógicas, al contrario que las digitales, recogen una señal

variable de entre 0 y 5 V. También debemos saber que la lectura de las entradas, tanto analógicas como las

digitales, se realiza en dos partes: primero se lee la parte alta y después la parte baja del dato de entrada.

Page 8: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

• Conector de fuente de alimentación. La fuente de alimentación es el circuito que se encarga de suminsitrar

energía eléctrica adecuada a toda la placa controladora. Al conector de entrada se le conectará un

transformador con un voltaje de salida de 12 V. Si la conexión a la red es correcta se debe encender un led

rojo.

• Conector macho de 25 pines. La comunicación entre la controladora y el ordenador se realiza a través del

puerto paralelo LPT y para ello la placa controladora tiene un conector macho de 25 pines. Se debe unir el

puerto paralelo del PC al conector de 25 pines mediante un cable de 25 contactos macho-hembra.

• Masa. Sirve para conectarse a MASA o a tierra, es decir, a 0 V. Para que exista corriente eléctrica tiene que

existir diferencia de potencial entre dos puntos.

En el proceso de conexión deberemos tener en cuenta las siguientes consideraciones:

• Una salida digital, cuando se activa, emite una señal de 5 Voltios. Si no lo está la señal será de 0 voltios.

Cuando una salida digital está activada su LED correspondiente debe estar encendido.

• Para que se pueda recoger la señal en una entrada digital se ha de conectar un cable desde la fuente

emisora de la señal (pulsador, motor, etc.) a la entrada y otro a la conexión MASA de la tarjeta de control. En

este caso sólo se recoge la activación o no activación de dicha entrada al ser de tipo digital.

• Las entradas analógicas, al contrario que las digitales, recogen una señal variable de entre 0 y 5 Voltios. Para

recoger la señal en una entrada de este tipo se debe conectar un cable desde la fuente emisora de la señal a

la entrada y otro a la conexión GND de la placa.

Para conseguir un perfecto funcionamiento de la tarjeta de control y para mantener en óptimas condiciones

asegúrese de cumplir las siguientes recomendaciones:

• Desconecte el ordenador y la tarjeta de control de la tensión de red antes de proceder a la conexión o

desconexión de la tarjeta en el puerto de impresora (conector hembra de 25 contactos).

• A la hora de desconectar los equipos, desconecte de la red primero la tarjeta de control y posteriormente el

ordenador.

• Evite la utilización de la tarjeta en lugares donde exista agua o líquidos.

• No manipule con las manos la tarjeta (tocando las pistas del circuito impreso) mientras el equipo esté

conectado.

• Siempre que conecte o desconecte algún circuito con la tarjeta, asegúrese de que la alimentación de la

tarjeta está desconectada.

Page 9: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Al conectar o desconectar circuitos con la tarjeta asegúrese de que no se producen cortocircuitos entre los cables a

conectar y los componentes de la tarjeta.

ENTRADAS DIGITALES

En nuestra tarjeta tenemos ocho posibles entradas digitales. Para saber si tenemos algún puerto conectado o hay

algún tipo de corriente eléctrica en funcionamiento utilizaremos la orden del programa MSWLogo Ve? para conocer

las conexiones si están en funcionamiento o con corriente eléctrica o no.

Al utilizar esta orden nos dará un número decimal específico x, que representa un número binario que indica los

puertos que están conectados. Cuando la entrada está copnectada se representa con el número 1 y cuando no con el

0. Así teniendo ocho puertos marcados con los números de 0 a 7. Cada puerto está representado con una potencia

desde 20 a 27.

Si por ejemplo el número decimal que obtenemos de Ve? es 67 tendríamos el número binario 01000011 y

tendríamos activadas las entradas correspondientes a 0,1,6.

PROGRAMACIÓN DE LA TARJETA

Para poder controlar las entradas y las salidas de la tarjeta, el fabricante ha de proporcionar las instrucciones

necesarias que permitan activar o desactivar entradas o salidas y controlar las posibles acciones de los actuadores o

de los sensores conectados a ella.

los lenguajes de programación más utilizados suelen ser alguna de las variantes de LOGO (WINlogo, MSWLogo,…), de

BASIC (QBasic, GW-Basic,…) e incluso VisualBasic. Nosotros usaremos el MSWLogo. Este programa nos permite

convertir las palabras que le digamos en señales eléctricas, que enviará a la interfaz (y luego llegarán al robot).

Como todos los programas, tiene un lenguaje muy concreto: no podemos decirle “muévete a la derecha” porque el

ordenador no entiende esto, sino que tendremos que usar unas palabras concretas para que el ordenador pueda

entenderlo. Es lo que llamamos Lenguaje de Programación, compuesto por palabras y reglas para combinarlas. Las

palabras se llaman “primitivas”. Las primitivas, cuando se combinan, forman frases, instrucciones. Un programa es

un conjunto de instrucciones.

La estructura de un programa es siempre la siguiente

Un programa puede estar formado por varias “Subrutinas”, que son programas secundarios que hace una parte del

programa principal. Cada subrutina tiene la misma estructura que un programa cualquiera. Para llamar a la subrutina

desde un programa debemos escribir el nombre de la subrutina.

USO DEL MSWLogo

• Iniciamos el software haciendo doble clic en el icono de MSWLogo

• Elegimos Usar una controladora

• Elegimos CNICE

• Elegimos PROGRAMACIÓN MANUAL

PARA (Nombre del programa)

(Primitivas)

FIN

Page 10: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Dentro del entorno de trabajo de MSWLogo encontramos:

• Ventana de Gráficos en la que aparece una “tortuga” con forma triangular, que se desplazará según las

instrucciones que se le indiquen.

• Caja de lista, en la que aparecerá todo lo que se escriba en la caja de entrada. El programa también la utiliza

para mostrar información al usuario

• Caja de entrada en la que se escriben las órdenes

• Botón ejecutar, que cuando se pulsa se ejecutan las órdenes escritas en la caja de entrada.

Podemos ver varias ventanas de las cuales la más importante es la de abajo-izquierda:

• En la caja de entrada o cuadro de texto escribiremos los nombres de los programas cuando queramos

ejecutarlos. También podemos poner primitivas.

Page 11: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

• El botón de ALTO sirve para detener el programa que está funcionando. Aún así, no desconectará los

motores, bombillas… y la controladora seguirá funcionando. Tendremos que usar “Desconectar” en el

cuadro de texto para apagar todo.

• Si pulsamos EDITAR se abre una nueva ventana, en la cual podremos escribir el programa. Podemos incluso

escribir varios programas o subrutinas siempre y cuando los separemos cada uno con su PARA-FIN y

nombres distintos.

• Una vez escrito, pulsamos GUARDAR Y SALIR y ya podemos ejecutarlo, escribiendo el nombre en la caja de

entrada.

ALGUNAS PRIMITIVAS DE MSWLogo

PRIMITIVA ABREVIADO ACCIÓN EJEMPLO

AVANZA 150 AV 150 La tortuga avanza el número indicado de puntos av 50

RETROCEDE 80 RE 80 Retrocede el número de puntos indicados re 80

GIRADERECHA 15 GD 15 Gira a la derecha el ángulo especificado en grados gd 90

GIRAIZQUIERDA 30 GI 30 Gira a la izquierda el ángulo indicado. gi 30

SUBELAPIZ SL Levanta el lápiz y no pita al moverse av 50 sl av 30 bl av 50

BAJALÁPIZ BL El lápiz toca el papel y pinta cuando se mueve

GOMA GOMA La tortuga borra a lo largo de su trayectoria av 50 sl av 30 bl av 50

OCULTATORTUGA OT Oculta el icono de la tortuga ot

MUESTRATORTUGA MT Muestra el triángulo que representa la tortuga mt

BORRAPANTALLA BP Borra la pantalla y sitúa la tortuga en el centro bp

PONGROSOR [0 N] PONG [0 N] Dibuja una línea de grosor n pong [0 6] av 50

CIRCULO - Dibuja un círculo del tamaño indicado circulo 25

PONLAPIZ pla Después de utilizar la goma, para que la tortuga vuelva a escribir hay que poner de nuevo el lápiz.

pla av 50

EJECUCIÓN DE LAS PRIMITIVAS

Para ejecutar la primitiva, habrá que escribir su nombre en la caja de entrada y pulsar la tecla INTRO. Por ejemplo,

un programa típico para dibujar un triángulo equilátero de lado 100 sería el siguiente:

avanza 100

giraderecha 120

avanza 100

giraderecha 120

avanza 100

giraderecha 120

Page 12: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

REPETICIÓN DE PRIMITIVAS

Cuando un programa tiene órdenes que se repiten, resulta útil emplear la primitiva REPITE.

Su sintaxis es: REPITE n[primitivas]

Donde n es el número de veces que hay que repetir las órdenes que están encerradas dentro del corchete. Por

ejemplo, el programa para dibujar un cuadrado de lado 100 se puede escribir de dos formas:

avanza 100

giraderecha 90

avanza 100

giraderecha 90

avanza 100

giraderecha 90

avanza 100

giraderecha 90

o bien,

REPITE 4[avanza 100 giraderecha 90]

EL COLOR EN MSWLogo

En la pantalla de MSWLogo se puede cambiar el color del lápiz con el que se escribe la tortuga, el color del fondo de

la pantalla y el color con el que se rellenan los objetos dibujados. En la siguiente tabla aparece, para cada color, la

combinación de números del rojo, verde y azul, y su número correspondiente.

Las primitivas más communes para aplicar color son:

PRIMITIVA ABREV.

ACCIÓN EJEMPLO

poncolorlapiz poncl Color con el que dibujará la tortuga

poncl 6 av 50

poncolorpapel poncp Cambia el color del fondo poncp 4

rectagulorrelleno an al [color]

Dibuja un rectángulo de ancho an y alto al del color indicado

rectangulorrelleno 100 40 poccr [0 0 255]

poncolorrelleno poccr Rellena de color el espacio en el que se encuentra la tortuga. Es necesario poner después del color la primitiva rellena

circulo 25 poccr [0 255 0] rellena

VENTANAS Y BOTONES

MSWLogo permite crear ventanas, que alojen otras ventanas, botones, iconos, etc… En muchas simulaciones, por

ejemplo, se puede controlar el funcionamiento del proyecto haciendo clic sobre un botón de una ventana al que se

le ha asignado la orden correspondiente.

� Para crear ventanas y botones utilizamos las primitivas crearventana y crearboton, respectivamente. Por

ejemplo:

crearventana “”botones[control] 50 30 60 80 []

crearboton “botones”línea [recta] 30 10 20 20 [av 50]

Los elementos que acompañan a estas primitivas son los siguientes:

� En las primeras comillas [“] se indica el nombre de la ventana en la que se colocorá la nueva ventana

o botón

� En las segundas comillas [“] se escribe el nombre que queremos dar a la ventana o botón

� Entre los primeros corchetes [] se añade el texto que aparecerá en la ventana o botón

COLOR VALOR RGB (red-green-blue)

Negro [0 0 0] 0

Azul [0 0 255] 1

Verde [0 255 0] 2

Cian [0 255 255] 3

Rojo [255 0 0 ] 4

Magenta [ 255 0 255] 5

Amarillo [ 255 255 0] 6

Blanco [255 255 255 ] 7

Marrón [155 96 59] 8

Page 13: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

� Los dos primeros números indican la posición de la ventana o botón respecto a la esquina superior

izquierda de la ventana en la que se crearán

� Los dos siguientes números indican el ancho y el alto

� En los últimos corchetes ([]) señala la acción que realizará el programa cuando se cree la ventana o

se pulse el botón.

� Para borrar ventanas o botones utilizamos las primitivas borraventana y borraboton, respectivamente. Por

ejemplo:

boraventana “botones

borraboton “línea

PROCEDIMIENTOS

Tal y como hemos descrito anteriormente las primitivas de LOGO se pueden agrupar para formar procedimientos. La

forma de hacerlo es la siguiente:

1. Escribir PARA y, a continuación, el nombre que va a tener el procedimiento.

2. Escribir todas las primitivas que componen el procedimiento.

3. Escribir FIN.

4. Pulsar Guardar y Salir

Por ejemplo, el siguiente procedimiento sirve para dibujar una circunferencia:

PARA circunferencia

REPITE 360 [avanza 1 giraderecha 1]

FIN

Para ejecutar el procedimietno creado, se escribe su nombre y se pulsa la tecla INTRO. Al hacerlo, se ejecutarán en

orden todas las primitivas que lo forman.

MSWLogo incluye u editor, que se activa haciendo clic en el botón Editar. Al hacerlo, aparecerá una pantalla con

todos los procedimientos disponibles hasta el momento. En esta pantalla podemos escribir nuevos procedimientos o

modificar los que ya tenemos.

GUARDAR PROCEDIMIENTOS

A medida que vayamos utilizando LOGO, iremos disponiendo de más procedimientos; siempre y cuando tengamos la

precaución de guardarlos en el disco duro de nuestro ordenador. De esta manera podremos disponer de ellos en las

próximas sesiones.

Todos los procedimientos utilizados o creados en una sesión se guardan juntos en un mismo archivo. La forma de

guardarlos es la siguiente:

1. Seleccionare la opción de Guardar como del menú Archivo.

2. En el cuadro de diálogo que aparece, escribir un nombre para la colección de procedimientos y seleccionar la

carpeta en la que se van a guardar.

3. Hacer clic en Guardar.

Para recuperar una colección de procedimientos, creada en una sesión anterior, tendremos que:

1. Seleccionar la opción Cargar del menú Archivo.

2. En el cuadro de diálogo que aparece, localizar la colección de procedimientos que queremos cargar.

3. Hacer clic en Abrir.

VARIABLES

Una variable es un dato numérico o de texto, que toma distintos valores

� Se pueden definir variables junto con el nombre del procedimiento. Para ello se escribe el nombre, dos

puntos (:) y el nombre de la variable

Page 14: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

� Para asignar una variable dentro de un procedimiento hay que utilizar la primitiva haz “n v. Asigna el valor

indicado en v a la variable n.

para circulocreciente

haz “ tamaño 0

repite 20 [haz “tamaño: tamaño+10

circulo: tamaño

espera 20]

fin

SIMULACIÓN DE LUCES

Una de las aplicaciones más interesantes de MSWLogo es hacer simulaciones controlando el movimiento de la

tortuga a partir de procedimientos adecuados en cada caso.

La simulación de luces se va a conseguir cambiando el color de la figura, simulando de esta forma el encendido y

apagado de una bombilla, durante un periodo de tiempo determinado.

Para poder realizar estas simulaciones de luz se utilizan las siguientes primitivas:

PRIMITIVA ABREV. ACCIÓN EJEMPLO

espera n - El programa se para durante un tiempo determinado. El

numero 1 corresponde a 1/60 segundos y 60 a 1 segundo espera 60

activa ac

El programa permite trabajar con varias tortugas. La que utiliza como defecto es la número 0.

Cuando trabajemos con varias tortugas, cada vez que queramos que una de ellas haga algo hay que escribir la

primitiva activa y a continuación su número

av 50 ac 1 gd 50 av 50

SIMULACIÓN DE MOVIMIENTO

Vamos a ver cómo se puede crear la simulación de movimiento a partir de los dibujos que realiza la tortuga.

Para dar sensación de movimiento se dibujan figuras consecutivas, cada vez con una posición ligeramente

desplazada con respecto a la anterior, igual que se hace para crear las secuencias de los dibujos animados.

Esa sensación de movimiento en los dibujos animados la produce una sucesión de fotogramas en los que los

personajes están fotografiados en cada uno en una posición ligeramente distinta a la del fotograma anterior.

Para poder realizar estas simulaciones de movimiento se utilizan las siguientes primitivas:

PRIMITIVA ACCIÓN EJEMPLO

azar x Genera un número aleatorio entre 0

y x azar 6

si condición=[a][b] Si se cumple la condición [a],

entonces se realizará la acción [b] si pixel=[255 0 0][re 5]

siempre [] La tortuga realiza indefinidamente la

acción que hay entre corchetes Siempre [av 1 espera 1]

MOVIMIENTO POR CIRCUITOS

Otra aplicación interesante de MSWLogo es la creación de programas que controlen el movimiento de la tortuga,

para que siga un circuito de manera autónoma, o bien para que se pueda controlar mediante el teclado.

El circuito se dibuja con cualquier programa de tratamiento de imágenes como Paint o Photoshop. Una vez realizado

el dibujo del circuito, hay que colocarlo en la misma carpeta en la que tengas los procedimientos.

Para realizar estas acciones son necesarias las siguientes primitivas:

Page 15: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

PRIMITIVA ABREV ACCIÓN ORDEN COMPLETA PARA

PROBAR

cargadib”nombre - Carga un dibujo en la ventana de gráficos cargadib”f1a.bmp

ponfoco[] - nombre de la ventana que queremos tener

activa ponfoco [pantalla MSWLogo]

ponteclado[] - Al pulsar cualquier letra del teclado se ejecuta

la acción que hay entre corchetes ponteclado[av 100]

ponrumbo g ponr Orienta la tortuga en función de los grados que

se asignen a g. ponrumbo 90

caracter car Devuelve el carácter que corresponde a un

código ASCII (número), entre 0 y 127 car

leecar lc Esta primitiva devuelve el valor de la tecla

presionada o liberada lc

PROCEDIMIENTOS DE CONTROL

Lo interesante es que el programa LOGO llevan incorporadas primitivas, tales como conecta, apaga,… que permiten

controlar dispositivos externos a través de una interfaz, como una tarjeta controladora. A partir de sus primitivas se

pueden construir procedimientos de control más complejos.

Por ejemplo, a partir de las primitivas conecta, segundos y apaga, podemos escribir el siguiente procedimiento:

PARA motor

conecta 2

segundos 2

apaga 2

FIN

Con este procedimiento se pretende controlar que un motor, conectado a la salida 2 de una tarjeta controladora, se

ponga en marcha, funcione durante 2 segundos y se apague a continuación.

Algunas de las primitivas que permiten controlar son:

PRIMITIVA ACCIÓN EJEMPLO

Conecta n (siendo n un número comprendido entre el 1 y el 8)

Conecta la salida indicada y deja las demás como estaban. Es decir da voltaje al cable de la salida indicada.

Conecta 3 Activa la salida número 3 y deja el resto como estaban

Desconecta n (siendo n un número comprendido entre el 1 y el 8)

Apaga la salida indicada y deja las demás como estaban

Desconecta 3 Desactiva la salida número 3 y deja el resto como estaban.

Entrada n (siendo n un número comprendido entre el 1 y el 8)

Devuelve “CIERTO” si la entrada indicada está conectada y “FALSO” en caso contrario.

si entrada 1= “CIERTO [escribe [entrada conectada]] Aparecerá en pantalla el mensaje ‘entrada conectada’ si está activa la entrada 1 y en caso contrario no se visualizará nada.

Espera s (siendo s cualquier número)

Produce un retardo o espera del número especificado. El número va en sesenta-avos de segundos

Segundos 180 El programa se detiene durante 3 segundos antes de continuar

LeeAnalogica n (siendo n un número entre el 1 y el 5)

Devuelve el valor de 8 bits de la entrada analógica especificada. La tensión en las entradas analógocas puede variar entre 0 y 5 voltios, por lo que la precisión en la lectura será de 0,0195 voltios.

Escribe leeanalogica 2 Aparece en pantalla el valor (de 0 a 255) correspondiente al valor de tensión existente en la entrada analógica 2. si ((leeanalogica 2) >140)[escribe[valor alto de tensión]] Mostrará en pantalla el mensaje ‘valor alto de tensión’ si el valor que

Page 16: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

se lee de la entrada analógica 2 es mayor de 140 (2,74 voltios). En caso contrario no se visualizará nada.

ALTO Detiene el procedimiento que se está ejecutando y devuelve el control al procedimiento que lo llamó

Escribe [dato] Sirve para presentar por la ventana de trabajo el texto escrito en [dato]

Si queremos presentar un texto la primitiva será <escribe [este es el texto que quiero presentar< y si lo que queremos es que nos dé el valor de una variable <escribe:nombrevariable>

Mn “D, Mn “I, Mn “P El número indica el motor al que damos la orden: M1: el conectado a las salidas 1 y 2 M2: el conectado a las salidas 3 y 4 M3: el conectado a las salidas 5 y 6 M4: el conectado a las salidas 7 y 8

Da la orden de girar el motor tanto a la derecha como a la izquierda, como pararlo (según escribamos D,I o P)

M1 “D Gira el motor 1 a la derecha

PRIMEROS PASOS

Encender una bombilla Para llevar a cabo este ejemplo lo dividiremos en DOS partes:

• Conexiones • Programación en MSWLogo

Conexiones

Necesitará una bombilla pequeña de 0,3 Amperios aproximadamente. Es conveniente usar un casquillo donde poner la

bombilla y conectar un cable al polo positivo y otro al negativo del casquillo.

Las conexiones que se establecerán entre la bombilla y la tarjeta controladora CNICE se muestran en la siguiente tabla:

CONECTOR SALIDA DIGITAL

0 Cable del polo positivo

1 Cable del polo negativo

Es indiferente si la conexión se hace al revés, es decir, se conecta el cable conectado al polo negativo del casquillo a la

salida digital 0 y el otro cable a la salida 1. Esto es así porque la bombilla no tiene polaridad.

Se puede usar cualquiera de las otras salidas digitales para realizar la conexión entre la bombilla y la controladora.

Page 17: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Programación en MSWLogo

La programación de este caso se estructura en los siguientes pasos:

1.- Se implementa un procedimiento para crear la ventana gráfica del programa. Para ello se utiliza la función

creaventana. Para crear un marco dentro de la ventana se utiliza la función creagroupbox. Por último dentro del

marco se crean los botones con la función creaboton. Dentro de cada botón se establecerán entre los corchetes las

funciones que se han de ejecutar una vez presionado el botón.

Ejemplo:

para VentanaSeleccion

creaventana ''trabajo ''EncBombilla [BOMBILLA] 40 30 125 75 []

creagroupbox ''EncBombilla ''E_Ventana 5 0 113 60

creaboton ''EncBombilla ''Encender ''Encender 25 20 35 10 [EncenderBombilla]

creaboton ''EncBombilla ''Apagar ''Apagar 70 20 35 10 [ApagarBombilla]

creaboton ''EncBombilla ''Salir ''Salir 45 40 35 10 [ApagarBombilla borraventana ''EncBombilla]

fin

2.- Se crean varios procedimientos para encender y apagar la bombilla. Para encender la bombilla se utilizará la función

conecta y a continuación el número 1 que indica que se activen el par de salidas digitales 0 y 1, y para apagar la

bombilla se utiliza la función desconecta, similar es su sintaxis a la función anterior.

Ejemplo:

para EncenderBombilla

CONECTA 1

fin

para ApagarBombilla

DESCONECTA 1

fin

3.- Se llama al procedimiento que crea la ventana gráfica fuera de cualquier procedimiento, para que se cargue la

aplicación gráfica nada más cargar el fichero de logo.

Descargue el fichero programado en MSWLogo, descomprímalo y guárdelo en un directorio aparte. Contiene el fichero

de código en MSWLogo (bombilla.lgo). Ejecute el compilador MSWLogo versión 6.5a en castellano. Vaya al menú del

programa, Archivo/Abrir y seleccione el fichero bombilla.lgo que se descargó previamente. Se visualizará la siguiente

pantalla:

Page 18: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

Pulsando los botones que se le presentan podrá encender y apagar la bombilla o salir de la aplicación.

Mover un motor Para llevar a cabo este ejemplo lo dividiremos en DOS partes:

• Conexiones • Programación en MSWLogo

Conexiones

1.- Necesitamos un motor pequeño de tensión baja. Uno de 6 V, 12 V o similar servirá. Tendremos que tener

conectados un cable a cada polo del motor.

Las conexiones que se establecerán entre el motor y la tarjeta controladora Cnice se muestran en la siguiente tabla:

CONECTOR SALIDA DIGITAL

0 Cable del polo positivo

1 Cable del polo negativo

2.- Si la conexión se hace al revés, es decir, se conecta el cable conectado al polo negativo del motor a la salida digital

0 y el otro cable a la salida 1 se invertirá la polaridad y hará que el motor gire en sentido contrario al de las conexiones

anteriores.

3.- Se puede usar cualquiera de las otras salidas digitales para realizar la conexión entre el motor y la controladora.

Programación en MSWLogo

La programación de este caso se estructura en los siguientes pasos:

Page 19: TEMA 4: CONTROL Y ROBÓTICA - Para ayuda de clase de ... · componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una controladora que dispone

1.- Se crea un procedimiento para crear la ventana gráfica del programa. Para crear la ventana utilizamos la función

creaventana. Para crear un marco dentro de la ventana se utiliza la función creagroupbox. Por último dentro del

marco se crean los botones con la función creaboton. Dentro de cada botón se establecerán entre los corchetes las

funciones que se han de ejecutar una vez presionado.

Ejemplo:

creaventana ''trabajo ''ControlMotor [MOTOR] 40 30 150 90 []

creagroupbox ''ControlMotor ''E_Ventana 5 0 140 60

creaboton ''ControlMotor ''Izquierda ''Izquierda 20 22 35 10 [MotorIzq]

2.- Se crean varios procedimientos para que el motor gire a izquierda y a derecha y para desactivar el motor. En estos

procedimientos se va a utilizar la función M seguida del número que indique el par de salidas digitales a activar, y tras

esto se pondrán unas comillas con la letra D o I que indicará que el motor gire a la derecha (activa la salida 1 y

desactiva la salida 0) o que el motor gire a izquierda (activa la salida 0 y desactiva la salida 1), con la letra P se le

indica al motor que se detenga (desactiva las 2 salidas digitales).

Ejemplo:

para ApagarMotor

M1 ''P

fin

para MotorIzq

M1 ''I

fin

para MotorDer

M1 ''D

Fin

3.- Se llama al procedimiento que crea la ventana gráfica fuera de cualquier procedimiento, para que se cargue la

aplicación gráfica nada más cargar el fichero logo.

Descargue el archivo programado en MSWLogo, descomprímalo y guárdelo en un directorio aparte. Contiene el fichero

de código en MSWLogo motor.lgo. Ejecute el compilador MSWLogo versión 6.5a en castellano. Vaya al menú del

programa, Archivo/Abrir y seleccione el fichero motor.lgo que se descargó previamente.

Se visualizará una pantalla donde pulsando en los botones correspondientes podrá hacer que el motor gire a derecha o

izquierda o que se pare.