UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
INFORME DE LABORATORIO
Práctica 2
Rubén Buenaño
rbuenañoc@[Link]
Said Rivera
srivera@[Link]
rbuenañoc@[Link]
Tamara Guaño
tguano@[Link]
Bryan Guañuna
bguanuna@[Link]
RESUMEN: En esta práctica se realizó la identificación Generar una secuencia de movimiento regido por
del software de programación para el Robotino del direcciones previamente establecidas a través del
laboratorio, mediante el uso del software Robotino View lenguaje programación grafcet.
se observó los distintos componentes dentro de este
entorno de programación mediante los cuales se puede
generar diversos movimientos o secuencias utilizando las
variables y bloques de funciones, empleando el lenguaje 2. MARCO TEÓRICO
de programación de GRAFCET y la función de
transferencia permita que Robotino View diseñado el
algoritmos de control ayuden al robot a moverse de Robotino:
manera eficiente, respondiendo a los diferentes estímulos
y comandos que recibe, logrando así movimientos más Robotino se basa en un conjunto de accionamiento
suaves y precisos en su entorno. omnidireccional, que permite que el sistema se mueva
libremente. El robot está controlado por un sistema de PC
PALABRAS CLAVE: Robotino, grafcet, robotino view. estándar de la industria, que es lo suficientemente potente
como para planificar rutas para una conducción
totalmente autónoma.[1]
1. OBJETIVOS A través de un WLAN-Link, Robotino puede enviar todas
las lecturas del sensor a un PC externo. En la otra
GENERAL dirección, los comandos de control pueden ser
emitidospor la PC externa.[2]
Proporcionar un modelo matemático que describe la
relación entre la entrada y la salida de un sistema, en este De esta manera, los programas de control pueden
caso, el movimiento del Robotino para que esta función ejecutarse en el PC externo o en Robotino directamente.
de transferencia se utilice para facilitar el control del robot
móvil, permitiendo a los desarrolladores y programadores
implementar algoritmos de control, para lograr
movimientos precisos y controlados.
ESPECIFICOS
Identificar los elementos característicos del robotino
dentro del software de programación, para realizar una
secuencia de movimientos, mediante el uso de los
bloques de funciones.
Realizar pruebas del funcionamiento de cada
movimiento básico que realiza el robotino mediante el uso
del bloque de funciones.
1
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
transiciones, son las condiciones necesarias para pasar a
la siguiente etapa.[6]
Fig1. Robotino 4.0
Fig2. Programación Grafcet
Grafcet:
Robotino View:
El grafcet es un modelo de representación gráfica.
Sirve para esquematizar un proceso autómata El entorno de programación se compone de dos
secuencial. Este proceso consta de fases consecutivas aplicaciones, Robotino View Y Robotino Sim. [7]
de los sucesivos comportamientos de un sistema lógico
predefinido por sus entradas y salidas. [3]
Tal como se ve en la imagen, el robotino view permite
Básicamente, es un gráfico que simboliza el trabajo de diseñar las aplicaciones para el robot basado en
la máquina y determina el orden en que se deben las programación gráfica, mientras tanto el robotino Sim
piezas programadas. Su técnica es una solución permite simular en la pantalla el funcionamiento de las
excelente al desarrollo de programas de control para
procesos que permite repetir una misma secuencia.[4] aplicaciones diseñadas.[8]
Se utiliza en los sectores industriales y está diseñado
para representar un componente o comportamiento
específico. Su misión es agilizar tareas que requieren
movimientos de repetición y precisión en los procesos
autómatas de producción.[5]
Así pues, un sistema de grafcet se compone de
distintos elementos:
▪ Etapas
▪ Transiciones
▪ Acciones asociadas
Este proceso se descompone en etapas y siempre
hay una etapa inicial, el comienzo del ciclo repetitivo.
Cada etapa representa el estado del sistema y lleva
Fig3. Robotino View y Robotino Sim DEMO
asociada una o varias acciones de maniobra.
Dichas acciones, son los trabajos que realiza la
máquina. Entonces, cuando se ha finalizado una etapa y
pasa a la otra, se conoce como transición. Las
2
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
3. MATERIALES Y EQUIPO
- Computador.
- Software Robotino View.
- Robotino
- Robotino Sim Demo
4. DESARROLLO Y PROCEDIMIENTO
Fig5. Crear Variables
ENUNCIADO 2.
Creamos las variables que definirán los rangos, para las
Diseñe un algoritmo capaz de rotar en sentido horario variables globales son de un tipo especia para todas las
variables globales hay bloques de función para leer y
cuando el sensor 2 detecte una distancia entre 25 y 35
escribir, disponibles en todos los subprogramas.. Estos
cm, el sensor 9 debe generar la rotación en Sentido bloques de función siempre muestran el nombre de la
antihorario entre 30 y 40 cm, finalmente el sensor 1 debe variable.
permitir que Robotino se acerque al usuario y sensor 5 lo
aleje del usuario a una distancia superior a 25 cm.
Fig4. Importar/Exportar puntos de interpolación
Fig6. Función de Transferencia
En la vista gráfica puede añadirse un nuevo punto en
cualquier parte haciendo clic con el botón derecho del
ratón y utilizando el menú de contexto. Con el diálogo del bloque de Función de transferencia es
Importar/Exportar puntos de interpolación posible definir puntos de interpolación para la asignación
y(x). Los puntos de interpolación predeterminados son:
Puede utilizarse el portapapeles para importar y exportar
la lista de puntos de interpolación. Con ello pueden
intercambiarse datos con programas como Excel o p0 = ( x0, y0 ) = ( 0, 0 )
Matlab. La función para Importar/Exportar está disponible
por medio del menú de contexto tanto en la vista gráfica p1 = ( x1, y1 ) = ( 10, 10 )
como en la de tabla.
3
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
Estos puntos definen la siguiente asignación y(x) _____________________________________________
y = y0 si x <= x0 Primero calculamos los valores de consigna de la
velocidad de los motores 1, 2 y 3, según las velocidades
y = x si x > x0 y x <= x1 de consigna vx, vy y omega en este caso hacia atrás.
y = y1 si x > x1
Límites
p0 = ( x0, y0 ) es el primer punto de interpolación
pn = ( xn, yn ) es el último punto de interpolación
Si x < x0: y = y0
Si x > xn: y = yn
Fig9. Velocidad de los motores hacia adelante.
Calculamos los valores de consigna de la velocidad de los
motores 1, 2 y 3, según las velocidades de consigna VX,
VY y omega en este caso hacia adelante.
Fig10. Velocidad de los motores hacia atrás con el
Fig7. Sensores y variables con el diálogo del bloque de sensor 1.
Función de transferencia de ejercicio 2.
Después calculamos los valores de consigna de la
Definimos los sensores que van a generar los velocidad de los motores 1, 2 y 3, según las velocidades
movimientos solicitados por el enunciado y con la función de consigna vx, vy y omega en este caso hacia atrás con
de transferencia es posible realizar cualquier correlación el sensor 1 .
de la entrada x con la salida y En este ejercicio ocupamos
los sensores 2, 9, 1 , 5 para realizar el ejercicio.
Fig11. Velocidad de los motores hacia adelante con el
sensor 5 .
Fig8. Velocidad de los motores hacia atrás.
4
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
Calculamos los valores de consigna de la velocidad
de los motores 1, 2 y 3, según las velocidades de
consigna vx, vy y omega en este caso hacia adelante con
el sensor 5 .
Fig12. Script Principal Ejercicio 2 Fig13. Sensores y variables con el diálogo del bloque de
Función de transferencia de ejercicio 2.
En el script principal que controla el comportamiento y las
acciones del Robotino definimos los rangos con las
variables creadas y en este programa principal es donde Definimos los sensores que van a generar los
se definen las operaciones, las interacciones con los movimientos solicitados por el enunciado y con l la función
sensores y actuadores del Robotino, y se especifican las de transferencia es posible realizar cualquier correlación
instrucciones para realizar las tareas deseadas. de la entrada X con la salida Y.
En este ejercicio ocupamos los sensores 6, 4, 7 , 3 para
VALORES DE LOS RANGOS PARA LAS VARIABLES realizar el ejercicio.
datos >= 25 && datos <= 38
datossensor9 >= 30 && datossensor9 < 40
datoss1 >= 4 && datoss1 < 39
datoss5 >= 25 && datoss5 < 39
Tabla.1 Valores de los rangos del script principal y
ejercicio 2
Enunciado 3.
Diseño un algoritmo mediante el uso del sensor 6 para Fig14. Velocidad de los motores hacia atrás.
que el robot se desplace hacia la derecha con una
distancia en el rango de 20 a 30 cm por otro lado el sensor Primero calculamos los valores de consigna de la
4 desplace el robot hacía la izquierda en el rango de 20 a velocidad de los motores 1, 2 y 3, según las velocidades
30cm, por otro lado el sensor 7 enciende la luz piloto color de consigna vx, vy y omega en este caso hacia atrás.
rojo de Robotino y el sensor 3 encienda la luz piloto color
verde, finalmente si detecta sensor 1 se desconecta y se
apaga el Robotino de forma automática.
5
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
Fig18. Script Principal Ejercicio 3
Fig15. Velocidad de los motores hacia adelante.
En el script principal que controla el comportamiento y las
Calculamos los valores de consigna de la velocidad de los
acciones del Robotino definimos los rangos con las
motores 1, 2 y 3, según las velocidades de consigna vx,
variables creadas y en este programa principal es donde
vy y omega en este caso hacia adelante. se definen las operaciones, las interacciones con los
sensores y actuadores del Robotino, y se especifican las
instrucciones para realizar las tareas deseadas.
VALORES DE LOS RANGOS PARA LAS VARIABLES
datos >= 20 && datos <= 29
datossensor9 >= 20 && datossensor9 < 30
datoss1 >= 4 && datoss1 < 39
datoss5 >= 25 && datoss5 < 39
Fig16. Velocidad de los motores hacia atrás con el
sensor 1. Tabla2. Valores de los rangos del script principal
Después calculamos los valores de consigna de la
ENUNCIADO 4.
velocidad de los motores 1, 2 y 3, según las velocidades
de consigna vx, vy y omega en este caso hacia atrás con
Adjunte la simulación de los 3 algoritmos anteriores en
el sensor 1 .
forma de captura en el informe y debe presentarlos hasta
la próxima clase al docente encargado de laboratorio para
su calificación, la única excepción a tomar en cuenta es
que en la simulación omita el encendido de las luces piloto
de Robotino.
EJERCICIO 2
Fig17. Velocidad de los motores hacia adelante con el
sensor 5 .
Calculamos los valores de consigna de la velocidad de los
motores 1, 2 y 3, según las velocidades de consigna vx,
vy y omega en este caso hacia adelante con el sensor 5 .
6
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
EJERCICIO 3
7
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
EJERCICIO 4
8
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
5. ANÁLISIS Y RESULTADOS Además, el sensor 9 está programado para iniciar una
rotación en sentido antihorario cuando detecta una
A continuación, se detalla todas las combinaciones de distancia entre 30 y 40 cm.
programación de los 3 motores para el movimiento básico
del Robotino.
Por último, el sensor 1 permite que el Robotino se
acerque al usuario, mientras que el sensor 5 lo aleja si la
distancia es superior a 25 cm.
Tabla3. Valores de las Configuración de motores de
robotino.
EJERCICIO 2
EJERCICIO 3
Una vez reconocidas las diferentes
configuraciones, se procede a realizar la
programación para la ruta indicada por el docente.
Se diseño un algoritmo que posibilita la rotación en
dirección horaria si el sensor 2 detecta una distancia
entre 25 y 35 cm.
Se diseño un algoritmo que emplea el sensor 6 para
desplazar el robot hacia la derecha en un rango de 20 a
30 cm, mientras que el sensor 4 mueve el robot hacia la
izquierda dentro del rango de 20 a 30 cm.
9
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
El sensor 7 activa la luz piloto en color rojo del
Robotino
6. CONCLUSIONES
Al diseñar el algoritmo basado en lecturas de sensores,
se puede apreciar cómo la entrada de los sensores se
El sensor 3 enciende la luz piloto en color verde. traduce en acciones específicas del Robotino. Esto ayuda
a comprender mejor la relación entre la entrada y la salida
en el contexto de la función de transferencia.
La función de transferencia describe la relación
matemática entre la entrada y la salida de un sistema. Al
trabajar con la función de transferencia en Robotino View,
los participantes pueden comprender cómo las señales
de entrada, como las lecturas de sensores, se convierten
en acciones específicas del robot, esto promueve la
comprensión de cómo se utilizan las funciones de
transferencia y los algoritmos de control para lograr
comportamientos específicos del robot.
Finalmente, si el sensor 1 es detectado, el
Robotino se desconecta y se apaga automáticamente. Trabajar con la función de transferencia en el entorno de
Robotino View permite a los estudiantes integrar
conceptos de robótica, automatización y control en la
práctica, lo que es fundamental para comprender cómo
se gestionan los sistemas robóticos en el mundo real.
7. RECOMENDACIONES
Dedicar tiempo a explorar la interfaz de Robotino View.
Entiende cómo se organizan las funciones, bloques y
elementos de programación para trabajar con las
funciones de transferencia de manera efectiva.
Experimentar con diferentes configuraciones y
parámetros en las funciones de transferencia. No tengas
miedo de cometer errores; a menudo, el aprendizaje
proviene de probar diferentes enfoques y observar los
resultados.
Las funciones de transferencia pueden ser excelentes
oportunidades para desarrollar habilidades en robótica y
programación.
10
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
8. REFERENCIAS
[1] P. Mercorelli, T. Voss, D. Strassberger, O. Sergiyenko,
and L. Lindner, “Optimal trajectory generation using
MPC in robotino and its implementation with ROS
system,” IEEE International Symposium on Industrial
Electronics, pp. 1642–1647, 2017, doi:
10.1109/ISIE.2017.8001493.
[2] J. B. Mbede, A. Melingui, B. E. Zobo, R. Merzouki, and
B. O. Bouamama, “zSlices based type-2 fuzzy motion
control for autonomous robotino mobile robot,”
Proceedings of 2012 8th IEEE/ASME International
Conference on Mechatronic and Embedded Systems and
Applications, MESA 2012, pp. 63–68, 2012, doi:
10.1109/MESA.2012.6275538.
[3] M. Hedman and P. Mercorelli, “FFTSMC with Optimal
Reference Trajectory Generated by MPC in Robust
Robotino Motion Planning with Saturating Inputs,”
Proceedings of the American Control Conference, vol.
2021-May, pp. 1470–1477, 2021, doi:
10.23919/ACC50511.2021.9482876.
[4] B. Diaz, N. Pacheco, and L. Vinces, “Integration of a
robotic arm Lynxmotion to a Robotino Festo through a
Raspberry Pi 4,” 2022 IEEE International Conference on
Automation/25th Congress of the Chilean Association of
Automatic Control: For the Development of Sustainable
Agricultural Systems, ICA-ACCA 2022, pp. 3–7, 2022,
doi: 10.1109/ICA-ACCA56767.2022.10005932.
[5] M. R. H. Al-Dahhan and M. M. Ali, “Path tracking control
of a mobile robot using fuzzy logic,” 13th International
Multi-Conference on Systems, Signals and Devices, SSD
2016, pp. 82–88, 2016, doi: 10.1109/SSD.2016.7473656.
[6] X. Nan and X. Xiaowen, “Robot experiment simulation
and design based on Festo Robotino,” 2011 IEEE 3rd
International Conference on Communication Software
and Networks, ICCSN 2011, pp. 160–162, 2011, doi:
10.1109/ICCSN.2011.6013566.
[7] S. E. Oltean, M. Dulau, and R. Puskas, “Position control
of Robotino mobile robot using fuzzy logic,” 2010 IEEE
International Conference on Automation, Quality and
Testing, Robotics, AQTR 2010 - Proceedings, vol. 1, pp.
366–371, 2010, doi: 10.1109/AQTR.2010.5520855.
[8] T. Y. Ali and M. M. Ali, “Robotino obstacles avoidance
capability using infrared sensors,” 2015 IEEE Jordan
Conference on Applied Electrical Engineering and
Computing Technologies, AEECT 2015, pp. 1–6, 2015,
doi: 10.1109/AEECT.2015.7360562.
11
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
9. ANEXOS
12
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
13
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
14
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
15
UNIVERSIDAD POLITÉCNICA SALESIANA LABORATORIO DE ROBÓTICA MOVIL
Fecha: 29/10/2023
16