0% encontró este documento útil (0 votos)
1 vistas45 páginas

Entradas Tipo Predet Ermin Ado Descripción: © Festo Didactic GMBH & Co. KG 91

El documento describe una librería de bloques de función para procesamiento de imágenes y generación de señales, incluyendo entradas y salidas específicas para cada bloque. Se detallan funciones como la determinación de regiones de interés, conversión de espacio de color, generación de formas de onda, temporizadores, y controladores de posición para navegación. Además, se incluyen ejemplos de uso y diálogos para la interacción con el usuario.

Cargado por

Maria Edivânia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas45 páginas

Entradas Tipo Predet Ermin Ado Descripción: © Festo Didactic GMBH & Co. KG 91

El documento describe una librería de bloques de función para procesamiento de imágenes y generación de señales, incluyendo entradas y salidas específicas para cada bloque. Se detallan funciones como la determinación de regiones de interés, conversión de espacio de color, generación de formas de onda, temporizadores, y controladores de posición para navegación. Además, se incluyen ejemplos de uso y diálogos para la interacción con el usuario.

Cargado por

Maria Edivânia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Librería de bloques de función

Entradas Tipo Predet Descripción


ermin
ado
Entrada imag Imagen de entrada
en

Salidas
Salida imag La imagen de salida es aumentada con la información ROI. El posterior
en procesamiento de la imagen se realiza sólo en la región o zona señalada
como ROI.

[Link] Diálogo

La región de interés puede determinarse con el ratón. Haga clic en un punto y arrastre para delimitar una
región.

© Festo Didactic GmbH & Co. KG 91


Librería de bloques de función

[Link] Ejemplo

El lector de imagen genera una secuencia de test de imágenes. El detector de línea inferior utiliza toda la
imagen, mientras que el detector de línea superior busca sólo en la ROI.

5.5.5 Información de la imagen

Obtener el ancho y alto de la imagen de entrada.

Entradas Tipo Predet Descripción


ermin
ado

92 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

Entrada imag Imagen de entrada


en

Salidas
Ancho int Ancho de la imagen en píxeles
Alto int Alto de la imagen en píxeles

[Link] Diálogo

El diálogo muestra la imagen de entrada

[Link] Ejemplo

La imagen de la secuencia de test generada por el lector de imagen tiene una resolución de 320 x 240
píxeles.

© Festo Didactic GmbH & Co. KG 93


Librería de bloques de función

5.5.6 Conversión de espacio de color

Entradas Tipo Predet Descripción


ermin
ado
Entrada imag Imagen de entrada
en

Salidas
Salida imag Imagen convertida
en

[Link] Diálogo

En el diálogo de la conversión del espacio de color puede seleccionarse el espacio de color de destino.

5.6 Generadores
Esta categoría contiene diversos bloques de función para generar señales.

94 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

5.6.1 Generador de forma de onda arbitraria

Generador de formas de onda ajustables. Ver también [Link]


Arbitrary_waveform_generator.

Entradas Tipo Predet Descripción


ermin
ado

Salidas
Salida float La señal generada.

[Link] Diálogo

La parte superior del diálogo es similar a diálogo conocido de la Función de transferencia 63 .

Además, el generador de forma de onda arbitraria tiene los siguientes parámetros y botones:

Amplitud La salida del generador se multiplica por este valor.


Base de La unidad del eje x. En el ejemplo actual, con una base de tiempo de 100ms, se alcanza el valor
tiempo 10 al cabo de 1s.
Seno Genera puntos de interpolación que se aproximan a una onda senoidal.
Coseno Genera puntos de interpolación que se aproximan a una onda cosenoidal.

© Festo Didactic GmbH & Co. KG 95


Librería de bloques de función

Triángulo Genera puntos de interpolación que se aproximan a una onda triangular.


Rectángul Genera puntos de interpolación que se aproximan a una onda rectangular.
o

[Link] Ejemplo

El Motor 1 del Robotino gira controlado por una onda de forma senoidal.

5.6.2 Constante

96 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

Generación de un valor constante El tipo de constante, así como su visualización gráfica, cambian según
el tipo de entrada a la que se halla conectada su salida.

La introducción del valor puede realizarse directamente dentro del programa. No se abre un cuadro de
diálogo. El valor puede editarse directamente .

Entradas Tipo Predete Descripción


rminad
o

Salidas
Valor float, 0 / El valor visualizado.
int, bool false

5.6.3 Temporizador

Mide el tiempo en milisegundos desde el inicio del programa. Si la entrada de Reset es verdadera (true),
el conteo de tiempo se pone a cero.

Entradas Tipo Predet Descripción


ermin
ado
Reset bool false Si es verdadera (true), el conteo de tiempo se pone a cero.

Salidas
Tiempo float Tiempo en milisegundos desde el inicio del programa o desde que Reset
cambió de verdadero (true) a falso (false).

© Festo Didactic GmbH & Co. KG 97


Librería de bloques de función

[Link] Ejemplo

Temporizador y Función de transferencia 63 genera un pulso de amplitud 10, un segundo después de


que se ponga en marcha el programa.

5.6.4 Generador aleatorio

El generador aleatorio proporciona un número aleatorio dentro de un margen especificado.

Entradas Tipo Predet Descripción


ermin
ado
Máximo float 1 Límite superior del margen.
Mínimo float 0 Límite inferior del margen.

Salidas
Valor float 0 Número aleatorio entre Mínimo y Máximo.

98 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

5.7 Filtro
Esta categoría contiene bloques de función para filtrar y suavizar señales.

5.7.1 Filtro de valor medio

Calcula la media del valor de entrada para hasta 1000 pasos.

Entradas Tipo Predet Descripción


ermin
ado
Entrada float 0 Señal de entrada

Salidas
Salida float Valor medio

[Link] Diálogo

Profundidad es el número pasos de tiempo previos que se consideran para calcular el valor medio.

5.8 Navegación
Esta categoría comprende los bloques de función utilizados para la navegación.

© Festo Didactic GmbH & Co. KG 99


Librería de bloques de función

5.8.1 Controlador de posición

El controlador de posición se utiliza para conducir a Robotino a una determinada posición.

El controlador de posición genera los valores de consigna de velocidad y velocidad angular para llevar al
Robotino desde su posición actual a la posición fijada.

Entradas Tipo Unidad Descripción


x ajustada float mm coordenada x de la posición ajustada en el sistema global de
coordenadas.
y ajustada float mm coordenada y de la posición ajustada en el sistema global de
coordenadas.
phi float Grados orientación phi de la posición ajustada en el sistema global de
ajustado coordenadas.
x actual float mm coordenada x de la posición actual en el sistema global de coordenadas.
y actual float mm coordenada y de la posición actual en el sistema global de coordenadas.
phi actual float Grados orientación phi de la posición actual en el sistema global de coordenadas.
Reinicio bool Reiniciar movimiento

Salidas
vx float mm/s ajustar velocidad en dirección x en el sistema local de coordenadas del
Robotino
vy float mm/s ajustar velocidad en dirección y en el sistema local de coordenadas del
Robotino
omega float gra/s velocidad angular ajustada.
Posición bool Es verdadero (true) si vx=vy=0, es decir, se ha alcanzado la posición
alcanzada ajustada.
Orientación bool Es verdadero (true) si omega=0, es decir, se ha alcanzado la orientación
alcanzada ajustada.
Pose bool Es verdadero (true) si se ha alcanzado la posición y la orientación (la
alcanzada pose).

Véase Movimientos 103

100 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Diálogo

El diálogo se decompone en tres partes.

La parte superior refleja la asignación de la distancia a la posición de destino d (en mm) respecto a la
velocidad de accionamiento v (en mm/s).

© Festo Didactic GmbH & Co. KG 101


Librería de bloques de función

La parte media refleja la asignación de la distancia angular a la orientación de destino d (en 1°)
respecto a la velocidad angular omega (en 1°/s). La distancia angular está en el margen [0°,
180°]. Las rotaciones en sentido horario y antihorario son tratadas de forma similar. La rotación se
realizará en sentido horario o antihorario, de forma que la distancia a recorrer sea la mínima.

Con la lista desplegable.

puede seleccionarse la clase de movimiento (véase Movimientos 103 ). El movimiento seleccionado se


convierte en el movimiento activo.
1. al iniciarse el programa.
2. cuando la entrada "reiniciar" se pone en true.

La rampa de velocidad es el tiempo en milisegundos tras el cual se alcanza el 100% de la velocidad


deseada. Esto evita un salto brusco de la velocidad al inicio del movimiento.

La rampa de velocidad angular es el tiempo en milisegundos tras el cual se alcanza el 100% de la


velocidad angular deseada. Esto produce una amortiguación del movimiento cuando se inicia una nueva
rotación.

[Link] Ejemplo

102 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Movimientos

Son posibles cuatro clases de movimientos diferentes. Dos de ellos son aplicables para vehículos
holónomos y no-holónomos cada uno de ellos. Como sea que Robotino tiene un accionamiento holónomo
los tres grados de libertad (x, y, giro) pueden ser alterados independientemente Robotino puede
realizar las cuatro clases de movimiento. Para los movimientos no-holónomos, la salida vy es 0.

El movimiento empieza cuando se ejecuta el programa o cuando la entrada "Reiniciar" es verdadera


(true). De hecho, en el segundo caso el movimiento empieza cuando la entrada entrada "Reiniciar" se
pone en false.

Movimiento 1 - conducir, girar - (holónomo)


Paso 1: conducir a la posición de destino manteniendo la orientación de la posición inicial.
Paso 2: tras alcanzar la posición de destino, girar hasta alcanzar la orientación de destino.

Movimiento 2 - conducir y girar - (holónomo)


Paso 1: conducir y simultáneamente girar a la orientación de destino

Movimiento 3 - girar, conducir, girar - (no-holónomo)


Paso 1: girar a la dirección de conducción
Paso 2: conducir hasta la posición de destino
Paso 3: tras alcanzar la posición de destino, girar hasta alcanzar la orientación de destino.

© Festo Didactic GmbH & Co. KG 103


Librería de bloques de función

Movimiento 4 - conducir y girar, girar - (no-holónomo)


Paso 1: Conducir y girar en el sentido de la conducción
Paso 2: tras alcanzar la posición de destino, girar hasta alcanzar la orientación de destino.

5.8.2 Pose constante

En el campo de entrada se especifica la pose. Las coordenadas se separan con espacios en blanco.

Entrada Pose resultante


x y phi (x, y, phi)
xy (x, y, invalid)
x Pose inválida
Pose inválida

La orientación phi se especifica en grados.

Ejemplo:

10.5 20 120

104 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

resultados en x=10.5 y=20 y orientación=120°

Entradas Tipo Predet Descripción


ermin
ado

Salidas
Pose pose Pose La constante del valor de la pose. El valor de la orientación se muestra en
inválid radianes en la salida.
a

5.8.3 Componer pose

Entradas Tipo Unid Prede Descripción


ad termi
nado
x float 0 El componente x de la pose.
y float 0 El componente y de la pose.
phi float Grad 0 La orientación de la pose en grados. La unidad puede pasarse a
os radianes en el Diálogo 105 .

Salidas
Pose pose (0, 0, La pose (x, y, phi) compuesta a partir de sus valores individuales. El valor
0) de la orientación se muestra en radianes en la salida.

[Link] Diálogo

© Festo Didactic GmbH & Co. KG 105


Librería de bloques de función

Pose válida Especifica si la pose es válida. Las poses inválidas serán ignoradas en las rutas.
Orientación Especifica si la orientación es válida y sus unidades (grados o radianes).

5.8.4 Descomponer pose

Entradas Tipo Unid Prede Descripción


ad termi
nado
Pose pose (0, 0, Pose a decomponer
0)

Salidas
x float 0 El componente x de la pose.
y float 0 El componente y de la pose.
phi float Grad 0 La orientación de la pose en grados. La unidad puede pasarse a
os radianes en el Diálogo 105 .
Pose válida bool false Especifica si la pose es válida.
Orientación bool false verdadero (true) si la orientación guardada en la pose es válida.
válida

[Link] Diálogo

106 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

5.8.5 Componer ruta

Entradas Tipo Predet Descripción


ermin
ado
Ruta 1 ruta ruta La primera sub-ruta. Una Pose simple también será aceptada, ya que una
vacía pose puede convertirse en una ruta. Véase conversión de tipos 20 .
...
Ruta 20 ruta ruta La última sub-ruta. Una Pose simple también será aceptada, ya que una pose
vacía puede convertirse en una ruta. Véase conversión de tipos 20 .

Salidas
Ruta ruta ruta La ruta compuesta a partir de las sub-rutas Ruta 1 + ... + Ruta 20
vacía

[Link] Diálogo

5.8.6 Descomponer ruta

Corta una sub-ruta de una ruta. Una ruta consta de una lista de poses.
Índice Pose
1 p1
2 p2
...

© Festo Didactic GmbH & Co. KG 107


Librería de bloques de función

N pN

Las entradas Inicio y Longitud especifican la pose inicial y la longitud de la ruta descompuesta. Inicio
debe estar en [1;N]. Si Inicio < 1, se utiliza el valor 1 internamente. Si Inicio > la longitud de la ruta, el
resultado será una ruta vacía. Longitud debe estar en [0;N-Inicio+1]. Si Longitud <= 0 el resultado será
una ruta vacía.. Si Longitud > N-Inicio+1, el resultado será una subruta empezando en el índice Inicio.

Ejemplos:

Ruta = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
Inicio = 3
Longitud = 5
Subruta = p3, p4, p5, p6, p7

Ruta = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
Inicio = 0
Longitud = 1
Subruta = p1

Ruta = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
Inicio = 11
Longitud = 1
Subruta = ruta vacía

Ruta = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
Inicio = 1
Longitud = 0
Subruta = ruta vacía

Ruta = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
Inicio = 2
Longitud = 20
Subruta = p2, p3, p4, p5, p6, p7, p8, p9, p10

Entradas Tipo Predet Descripción


ermin
ado
Ruta ruta ruta La ruta a descomponer.
vacía
Inicio int 1 La pose en el índice Inicio de la ruta se convierte en la primera pose de la
ruta descompuesta.

108 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

Longitud int 1 La ruta descompuesta consiste en Longitud poses empezando en la pose del
índice Inicio de la ruta a descomponer.

Salidas
Subruta ruta ruta La ruta resultante empieza con la pose del índice Inicio y consta de Longitud
vacía poses.

5.8.7 Controlador de ruta

Con el controlador de ruta es posible conducir a lo largo de rutas.

A partir de la ruta y de la pose actual, se calculan la velocidad y la velocidad angular, de forma que
Robotino sea conducido de forma rectilínea a lo largo de las poses individuales de la ruta.

Entradas Tipo Unid Prede Descripción


ad termi
nado
Ruta ruta ruta La ruta a recorrer.
vacía
Pose actual pose (0, 0, La pose actual determinada por odometría o SLAM.
0)
Reinicio bool false Reinicia el movimiento.

Salidas
Velocidad float mm/ Velocidad de avance.
s
Velocidad float gra/s Velocidad angular
angular
Posición bool Verdadero (true) si la ruta está vacía.
alcanzada De contrario, true cuando el punto virtual se halla localizado en el último
segmento de la ruta y v(d) = 0.
Siguiente pose El siguiente punto objetivo en el recorrido.
punto en el
recorrido

© Festo Didactic GmbH & Co. KG 109


Librería de bloques de función

[Link] Diálogo de configuración 1

Arriba a la izquierda
Correlación entre velocidad angular y error angular dφ.

Arriba a la derecha
Correlación entre velocidad de avance y error angular dφ.

Abajo a la izquierda
Correlación entre velocidad de avance y distancia al siguiente punto del recorrido.

Abajo a la derecha
Correlación entre velocidad de avance y el ángulo al siguiente segmento de la ruta.

110 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Diálogo de configuración 2

Arriba a la izquierda
Correlación entre la distancia del robot hasta el punto virtual en el recorrido y el ángulo al siguiente
segmento de la ruta.

Arriba a la derecha
Correlación entre la distancia del robot hasta el punto virtual en el recorrido y la distancia al siguiente
punto del recorrido.

Abajo
Correlación entre velocidad de avance y distancia al final de la ruta.

© Festo Didactic GmbH & Co. KG 111


Librería de bloques de función

[Link] Diálogo de configuración 3

Arriba
Adaptación del factor de acoplamiento entre la velocidad calculada debida a la configuración de los
diálogos 1 y 2, y la velocidad real.

Abajo
Adaptación del factor de acoplamiento entre la velocidad angular calculada debida a la configuración de
los diálogos 1 y 2, y la velocidad angular real.

112 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Visor de ruta

© Festo Didactic GmbH & Co. KG 113


Librería de bloques de función

114 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Estrategia

El bloque de función controlador de ruta crea una ruta que primero conecta los puntos a recorrer con una
línea recta.

El robot es conducido con un punto de recorrido virtual (indicado con un punto rojo en la figura superior).
Dada la posición actual del robot, el punto de recorrido virtual se colocará en la ruta de forma que la
distancia entre el robot y el punto virtual del recorrido sea dp (distancia al punto virtual). El punto virtual
del recorrido sólo puede moverse a lo largo de la ruta hacia el final, es decir, si el robot se mueve
alejándose del punto virtual del recorrido, permanece inalterable. Debido a la regulación en el punto
virtual, la ruta es alisada (suavizada). Cuando mayor sea dp, mayor será el alisamiento.

Parametrización de la velocidad angular


La velocidad angular (dφ) se especifica por medio del diálogo del bloque de función, dependiendo del
error angular dφ. dφ es el ángulo entre la actual orientación del robot y la línea desde el centro del robot
hasta el punto virtual del recorrido.

Parametrización de la velocidad
La velocidad también se especifica dependiendo de dφ y se denomina v(dφ). Así que es posible ralentizar
el movimiento si el robot no está correctamente orientado.

Para poder reducir la velocidad si la ruta tiene una curva, la velocidad también viene especificada como
una función v(dn) de la distancia entre el punto virtual y el siguiente punto virtual del recorrido. Una típica
curva de v(dn) es

Es decir, la velocidad disminuirá si el robot está cerca del punto del recorrido.

© Festo Didactic GmbH & Co. KG 115


Librería de bloques de función

Pero queremos hacer andar más despacio al robot según el ángulo α n. α n es el ángulo entre el segmento
actual y el siguiente en la ruta. Si α n = 180&deg; (es decir, la ruta discurre de forma recta a lo largo del
punto en el recorrido) la velocidad no va a reducirse. Si α n se acerca a 0&deg; (una curva muy
pronunciada) el robot debe reducir su velocidad drásticamente. Por lo tanto, la función v(α n) es necesaria.
Una típica curva de v(α n) se parece a esto

Es decir, cuanto más pequeña sea α n más baja será la velocidad.

Estos tres perfiles de velocidad (dφ), v(dn) y v(α) se utilizan para calcular la velocidad total V(dφ,dn,α):

Vp(dφ,dn,α) = min( v(dφ), max( v(dn), v(α) ) )

Conducir al último punto del recorrido


Para reducir velocidad cuando se alcanza el final de la ruta, la velocidad, que depende de la distancia a
conducir, se especifica y se denomina v(d). Se supone que se ha alcanzado el objetivo cuando la
velocidad, en función de la distancia remanente a conducir, es cero.

La velocidad sin alisamiento resulta:

V(d,dφ,dn,γ) = min( v(d), Vp(dφ,dn,γ) )

Alisamiento de la velocidad y la velocidad angular


Hay otros dos parámetros disponibles para alisar el movimiento.
El acoplamiento de velocidad es el tiempo en milisegundos que se necesita para el acoplamiento vCC
entre la velocidad calculada Vp(dφ,dn,α) y la velocidad real para alcanzar el valor 1.
El acoplamiento de la velocidad angular es el tiempo en milisegundos que se necesita para el
acoplamiento omegaCC entre la velocidad angular calculada (dφ) y la velocidad real omega para
alcanzar el valor 1.

dv = vCC * ( Vpt - Vpt-1 )


velocidad = Vpt-1 + dv

domega = omegaCC * ( (dφ)t - (dφ)t-1 )


velocidad = (dφ)t-1 + domega

116 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

El subíndice t significa el valor en el tiempo t. t-1 significa el valor un paso de tiempo antes de t.

Al reiniciar vCC se incializa a 0 y aumenta a 1 dentro del tiempo especificado por el acoplamiento de
velocidad.
Al reiniciar omegaCC se incializa a 0 y aumenta a 1 dentro del tiempo especificado por el acoplamiento de
velocidad angular.

Si el punto virtual salta a un nuevo segmento de la ruta, vCC y omegaCC son restablecidos a 0.

[Link] Ejemplo

5.8.8 Evasión de obstáculos

El módulo de Evasión de obstáculos calcula un recorrido para hacer un rodeo que circunde un obstáculo
circular.

© Festo Didactic GmbH & Co. KG 117


Librería de bloques de función

Entradas Tipo Unid Prede Descripción


ad termi
nado
Ruta path ruta La ruta a seguir.
vacía
Pose del pose (0, 0, La posición del obstáculo circular.
obstáculo 0)
Radio del float mm 100 El radio del obstáculo circular.
obstáculo
Distancia float Grad 10 La distancia angular máxima entre dos puntos del rodeo alrededor del
angular os obstáculo.

Salidas
Rodeo ruta ruta Rodeo alrededor del obstáculo.
vacía

118 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Diálogo

El diálogo muestra la ruta original, el obstáculo y el rodeo.

5.9 Dispositivos de entrada


Esta categoría proporciona los bloques de función para realizar la interacción con el usuario.

5.9.1 Panel de control

Consiste en un panel de control utilizable con el ratón.

© Festo Didactic GmbH & Co. KG 119


Librería de bloques de función

Salidas Tipo Descripción


vx float Velocidad en dirección x
vy float Velocidad en dirección y
omega float Velocidad angular

[Link] Diálogo

El panel de control puede utilizarse como sigue:


Haciendo clic en uno de los botones el sistema robot se mueve en el sentido de la flecha.
Haciendo clic en una de las dos flechas circulares se realiza una rotación en el sentido
correspondiente.
Haciendo clic en el botón central se detiene el movimiento.
La velocidad de los movimientos se ajusta con la corredera.

120 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Ejemplo

5.9.2 Corredera

La corredera crea cualquier número entero dentro del margen especificado.

© Festo Didactic GmbH & Co. KG 121


Librería de bloques de función

[Link] Diálogo

En el diálogo puede ajustarse el margen de valores (Mínimo / Máximo) y la orientación de la corredera (1


= horizontal, 0 = vertical).

5.10 Intercambio de datos


Esta categoría contiene bloques de función para el intercambio de datos con Robotino® View o con
aplicaciones externas.

5.10.1 Lector de imagen

El lector de imagen lee imágenes JPEG de una secuencia de fotografías tomadas del sistema de archivos.
Puede especificare la ruta y el prefijo en el diálogo 123 .

Entradas Tipo Predet Descripción


ermin
ado
Número int16 -1 Número de la imagen deseada.
Si el Número = -1, el número de la imagen es incrementado automáticamente
en 1 a cada paso, empezando por 0.

Salidas
Salida imag Imagen JPEG del archivo "<Directorio>/<Prefijo><Número>.jpg" o bien
en "<Directorio>/<Prefijo>_<Número>.jpg".
Si el archivo no existe, se antepondrán ceros al número hasta una longitud
total de 4, hasta que se encuentre el archivo de imagen.

122 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Diálogo

En el diálogo es posible especificar el directorio y el prefijo de la secuencia de fotos a leer.

© Festo Didactic GmbH & Co. KG 123


Librería de bloques de función

[Link] Ejemplo

5.10.2 Grabador de imágenes

El grabador de imágenes escribe una secuencia de imágenes JPEG en el sistema de archivos. Puede
especificare la ruta y el prefijo en el diálogo 125 . El número de la imagen es incrementado en 1 a cada
paso, empezando con 0.
Cada imagen (foto) es guardada como "<Directorio>/<Prefijo>_<Número>.jpg". El número tiene por lo
menos 4 dígitos, incluyendo los ceros a la izquierda.

Entradas Tipo Predet Descripción


ermin
ado
Entrada imag Siguiente imagen de la secuencia.
en
Habilitar bool true El grabador de imágenes está activo.

124 © Festo Didactic GmbH & Co. KG


Librería de bloques de función

[Link] Diálogo

[Link] Ejemplo

Véase ejemplo lector de imagen 124 .

5.11 Variables
Las variables globales son de un tipo especial. Para todas las variables globales hay bloques de función
para leer y escribir, disponibles en todos los subprogramas.. Estos bloques de función siempre muestran
el nombre de la variable.

Es posible añadir, renombrar y quitar variables globales en el Administrador de variables (vista del
programa principal) 15 . Además, se les puede asignar un valor inicial.
También es posible añadir, quitar o renombrar variables globales en la librería de bloques de función
haciendo clic con el botón derecho en el dispositivo "Variables" y eligiendo "Añadir", o haciendo clic con
el botón derecho en el lector o el escritor de la variable y seleccionando "Quitar" o "Renombrar".

6 Dispositivos
Los Dispositivos establecen la conexión entre Robotino View y el mundo exterior. El dispositivo
"Robotino" puede comunicarse con un Robotino real o con uno de simulado. El dispositivo "Joystick"
puede leer las posiciones de los ejes de un joystick conectado al ordenador.

6.1 Añadir y editar


Cuando se crea un nuevo proyecto, se añade automáticamente el dispositivo "Robotino". Para añadir
más dispositivos, debe cambiar de la vista principal a la de un subprograma.

© Festo Didactic GmbH & Co. KG 125


Dispositivos

Bajo la librería de bloques de función, pueden añadirse dispositivos utilizando el botón "Añadir". El
dispositivo elegido aparecerá debajo del dispositivo "Robotino" en la librería de bloques de función.

A los nuevos dispositivos se les asigna un nombre único. Este nombre puede cambiarse utilizando el
botón "Renombrar...", si previamente se ha seleccionado el dispositivo en la librería de bloques de
función.

El botón "Quitar" se utiliza para quitar dispositivos del proyecto actual. Esta función sólo está disponible
si en el proyecto no se utiliza el bloque de función del dispositivo.

6.2 Mostrar diálogos


Los dispositivos configurables tienen una ventana de diálogo para su configuración. El diálogo se abre
haciendo doble clic en el dispositivo una vez colocado en el subprograma.

126 © Festo Didactic GmbH & Co. KG


Dispositivos

6.3 Robotino
El dispositivo Robotino proporciona acceso a los sensores y actuadores del Robotino®.

6.3.1 Barra de herramientas

Puede hallar el campo de introducción de la dirección IP y el botón de conexión en la barra de


herramientas principal 11 . La entrada de la dirección IP y el botón de conexión se refieren al primer
dispositivo Robotino de la lista de dispositivos en el Administrador de dispositivos. La función del campo
de entrada de la dirección IP y del botón de conexión es idéntica a la del diálogo del dispositivo.

© Festo Didactic GmbH & Co. KG 127


Dispositivos

6.3.2 Diálogo

El diálogo del dispositivo Robotino aparecerá tras un doble clic en el dispositivo correspondiente.

1 Entrada de la dirección IPLa dirección predeterminada de Robotino es [Link]. Si desea


conectarse con Robotino Sim (funcionando en el mismo ordenador que
Robotino View) la dirección IP es [Link]:8080. 8080 es el número del
puerto en el cual Robotino server escucha conexiones de entrada. Si se
simula más de un Robotino, el número de puerto puede ser mayor.
2 Botón de conexión Haciendo clic en este botón, se establece o se cierra la conexión con
Robotino.
3 Resolución La resolución de las imágenes requerida por la cámara del Robotino.
4 Frecuencia Frecuencia de actualización de las imágenes
5 Deshabilitar sistema Si está marcado, los motores del Robotino están desactivados.
accionador
6 Ventana de mensajes Muestra los diferentes mensajes en forma de texto.

6.3.3 Boques de función


Los bloques de función permiten el uso del dispositivo Robotino en un subprograma.

[Link] Sistema de accionamiento

Esta carpeta contiene bloques de función para controlar el sistema de accionamiento del Robotino.

128 © Festo Didactic GmbH & Co. KG


Dispositivos

[Link].1 Motor

Acceso a los motores del Robotino. Se muestra el número del motor.


.

Entradas Tipo Unida Prede Descripción


d termi
nado
Valor de float rpm 0 El valor de consigna de velocidad del regulador del motor en vueltas por
consigna minuto. Tenga en cuenta que hay un reductor con una relación 16:1
de entre el motor y la rueda del Robotino.
velocidad
Restablece bool false Si es verdadera (true) el contador de pulsos del encoder del motor se
r posición restablece a 0.
Freno bool false Si es verdadera (true) el motor está parado.
Aceleración int 100 Acoplamiento del valor de consigna de velocidad en la entrada y el valor
de consigna de velocidad realmente transmitido (véase Diálogo 130 )

Salidas
Velocidad float rpm La velocidad actual del motor.
actual
Posición int El número de pulsos contados desde que se ha aplicado tensión al
actual Robotino o desde que "Restablecer posición" ha sido verdadero (true) y
luego falso (false). Los pulsos son generados por el encoder del motor,
que genera 2000 pulsos por vuelta.
Intensidad float A La intensidad (corriente) medida en el puente H del motor.

© Festo Didactic GmbH & Co. KG 129


Dispositivos

[Link].1 Diálogo

Parámetro Descripción

130 © Festo Didactic GmbH & Co. KG


Dispositivos

Aceleración Factor de Aceleración/Deceleración. Con el valor máximo, se dan directamente


100 valores de consigna de velocidad al controlador del motor. Con valores
inferiores, las diferencias entre los valores de consigna de velocidad se alisan
con el tiempo. Esto puede utilizarse para generar movimientos suaves en el
Robotino.
kp Término proporcional del regulador PID del motor.
ki Término integral del regulador PID del motor.
kd Término diferencial del regulador PID del motor.
Usar parámetros Utilizar los valores de kp, ki y kd implementados en el firmware del Robotino.
predeterminados También se usan estos valores predeterminados si se establece
kp=ki=kd=255.
Restablecer al inicio Inicializar la posición Actual a 0 al inicio del programa

El control de velocidad de cada motor se realiza con un regulador PID.

Los parámetros son:

Kp
Ki = 1/Tn
Kd

A partir de los valores establecidos en el diálogo, los parámetros de regulación se calculan de la siguiente
manera:

Kp= kp / 2
Ki= ki / 1024
Kd= kd / 2

Los valores predeterminados son:


kp = 25
ki = 25
kd = 25

© Festo Didactic GmbH & Co. KG 131


Dispositivos

[Link].2 Omniaccionamiento

Calcula los valores de consigna de la velocidad de los motores 1, 2 y 3, según las velocidades de
consigna vx, vy y omega.

Entradas Tipo Unida Prede Descripción


d termi
nado
vx float mm/s 0 Velocidad en dirección x en el sistema local de coordenadas del
Robotino.
vy float mm/s 0 Velocidad en dirección y en el sistema local de coordenadas del
Robotino.
omega float gra/s 0 Velocidad de rotación.

Salidas
m1 float rpm Valor de consigna de velocidad motor 1
m2 float rpm Valor de consigna de velocidad motor 2
m3 float rpm Valor de consigna de velocidad motor 2

El bloque de función "Onmiaccionamiento (inverso)", calcula vx, vy y omega a partir de las velocidades
de rotación de los motores.

132 © Festo Didactic GmbH & Co. KG


Dispositivos

La figura muestra el sistema de coordenadas local de Robotino. Una velocidad de rotación positiva
omega, genera una rotación en sentido antihorario mirando el Robotino desde arriba.

[Link] Detección de colisión

Aquí puede encontrar bloques de función relacionados con sensores para detectar obstáculos.

[Link].1 Paragolpes

El paragolpes tiene integrado un sensor táctil. Al tocarlo, el sensor emite una señal de salida.

Entradas Tipo Predet Descripción


ermin
ado

Salidas
Valor bool Verdadero (true) si hay contacto.

© Festo Didactic GmbH & Co. KG 133


Dispositivos

[Link].2 Sensores de distancia

Permite la lectura de un sensor de distancia.

Entradas Tipo Unida Prede Descripción


d termi
nado

Salidas
Valor float Volt Lectura analógica de un sensor de distancia en V. El escalado y la
conversión del valor debe ser realizado por el usuario.
Orientación float Grado La orientación del sensor en el sistema de coordenadas local de
s Robotino (ver imagen siguiente). La orientación se calcula a partir del
número del sensor como sigue:
Orientación = 40&deg; x (Número -1)

134 © Festo Didactic GmbH & Co. KG


Dispositivos

[Link].2 Ejemplo

La hoja de datos del sensor de distancia (es un Sharp GP2D120) muestra la correlación entre la distancia
a un objeto en cm y la señal de salida analógica del sensor en Voltios.

© Festo Didactic GmbH & Co. KG 135

También podría gustarte