construcion de un brazo robÓtico e ... - … robot/tfc-rr… · • 4 posibles brazos con este...
TRANSCRIPT
![Page 1: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/1.jpg)
CONSTRUCION DE UN BRAZO ROBÓTICO E INTERFACE DE CONTROL PARA UN SISTEMA EMPOTRADO BASADO EN EL SISTEMA OPERATIVO RTEMS
AUTOR: ROBERTO RICA GUTIÉRREZTUTOR: JUAN ZAMORANO FLORESD.A.T.S.I.Facultad de InformáticaUniversidad Politécnica de MadridMARZO, 2002
![Page 2: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/2.jpg)
Objetivos
• Definir el entorno de desarrollo
• Construcción del hardware
• Diseño y programación del software de control
• Aplicación de demostración
• Conclusiones y líneas futuras
![Page 3: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/3.jpg)
Sistema Operativo RTEMS
• Real Time Executive for Multiprocesor Systems = Sistema operativo de tiempo real para sistemas multiprocesador.
• Se puede utilizar con los leguajes C/POSIX o Ada.
• Disponible para una amplia variedad de familias de procesadores.
• Prácticamente todo el sistema está escrito en lenguaje de alto nivel => fácil de adaptar a nuevas familias de procesadores
• Herramientas abiertas: GNAT, GCC, GDB...
• Características principales:– Capacidad multitarea.
– Sistemas multiprocesador homogeneos y heterogeneos.
– Planificación basada en prioridades y expulsión.
– Comunicación y sincronización de hilos.
– Gestor de interrupciones.
– Gestión de memoria dinámica.
– Alto nivel de configuración por el usuario.
– Cumple con el estándar POSIX.
![Page 4: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/4.jpg)
Entorno de desarrollo
• Sistema empotrado = Sistema informático integrado en el aparato que controla.
• Sistema de tiempo real = Sistema en el que para que una aplicación sea correcta, debe entregar sus resultados dentro de un intervalo de tiempo.
• Lenguaje de programación C + Estándar POSIX
• Sistema de desarrollo cruzado = La creación del programa ejecutable no se realiza en el mismo sistema que luego la ejecutará.
• Sistema Operativo de Tiempo Real RTEMS
![Page 5: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/5.jpg)
Hardware
• Host: PC con GNU Linux y Windows 95
• Target: PC con tarjeta de E/S digitales
• Brazo: Kit de brazo robótico Fischertechnik
• Interfaz entre Brazo y Target: tarjeta propia de control de motores y alimentación.
![Page 6: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/6.jpg)
HOST
• Ordenador de propósito general PII400Mhz, 128 Mb RAM, 4Gb HD.
• Windows 95 para documentación y conexiones a Internet.
• LINUX para alojar el sistema de desarrollo cruzado.
![Page 7: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/7.jpg)
Host Target P. Potencia Sistema Físico
Linux
RTEMSHerramientas GNU
-----------------
Windows
Office
Acceso a internet
...
• E/S Digitales
• Soportado por RTEMS
• Entradas TTL.
• Salidas de potencia.
• Fuente de alimentación.
• Brazo robótico
![Page 8: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/8.jpg)
TARGET
• Sistema informático integrado en el aparato final al que controla.
• Ejecuta el programa desarrollado en el Host.
PC486:
• Fácil de encontrar
• Conocimiento anterior
• Fácil de ampliar
Efi332:
• Muy pequeño tamaño
• Motorola 68332
• Unidad de control PWM
![Page 9: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/9.jpg)
BRAZO I
Puntos a tener en cuenta:
• Grados de libertad que tiene.
• Posibilidades de ampliación y mejora.
• Potencia y velocidad de sus motores.
• Relación entre precio y prestaciones.
![Page 10: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/10.jpg)
BRAZO II
• Kit de la empresa Fischertechnik• 4 grados de libertad.• Motores de 9VDC.• Construcción modular a base de
piezas que encajan unas en otras.• Motores de baja potencia.• Piezas de plástico.• 8 sensores de movimiento
(interruptores).• 4 posibles brazos con este kit.
![Page 11: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/11.jpg)
Interface entre Target y Brazo I
• Placa de entrada / salida digital.
• Nivel de señales TTL.
• 8 puertos de 8 pines cada uno programables como entrada o salida.
• El primer puerto se usa para el control de los 4 motores.
• El segundo puerto se utiliza para la entrada de la información de los sensores.
![Page 12: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/12.jpg)
Interface entre Target y Brazo II
• Placa de potencia.
• Traduce las señales TTL enviadas por el target en señales con potencia suficiente para activar los motores.
• Basada en el L293B.
• Fuente de alimentación de 9VDC integrada.
• Posibilidad de fuente de alimentación externa.
![Page 13: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/13.jpg)
Software de control
• Interface de programación
• Diseño del sistema de control– Arquitectura
– Hilos y procedimientos• Hilo Movimiento
• Hilo Velocidad
![Page 14: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/14.jpg)
Inteface de programación hardware
Puertos:• 0x180 Control de motores (salida).• 0x181 Lectura del estado de los sensores (entrada).• 0x182 Lectura del estado de los sensores extra (entrada).
Palabra puerto 0x180: PPAAFFGG donde:PP = dos bits motor Pinza FF = dos bits motor FondoAA = dos bits motor Altura GG = dos bits motor Giro
Palabra puerto 0x181: PpFcpPaFcaPfFcfPgFcg donde:Pp = bit paso pinza. Pf = bit paso fondo.Fcp = bit fin carrera pinza. Fcf = bit fin carrera fondo.Pa = bit paso altura. Pg = bit paso giro.Fca = bit fin carrera pinza. Fcg = bit fin carrera giro.
![Page 15: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/15.jpg)
Interface de programación del brazo
• Objetivo: Abstraer los detalles de la implementación, como puertos, valores hexadecimales, concurrencia de movimientos...
• Métodos utilizados para conseguir el objetivo:– Constantes: elimina la necesidad de tratar con nºs hexadecimales.
– Procedimientos:• InicializarBrazo(): Inicializa el sistema para el control del brazo.• Lugar (int sentido): Devuelve la posición en grado de libertad
indicado.• leerInt (int puerto, int numero): Da el estado del Interruptor indicado.
– Hilos:• Movimiento (*param_mov): Hilo que hace que el brazo se situe en un
punto de uno de sus grados de libertad.• EsperaInt (*espera_int): Hilo que no finaliza hasta que el interruptor
indicado en la estructura pasada como parámetro es pulsado.
![Page 16: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/16.jpg)
Arquitectura del Sistema de Control
APLICACIÓN DE USUARIO
INTERFACE BRAZO
RTEMS
INTERFACE POSIX
HARDWARE DEL TARGET
![Page 17: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/17.jpg)
Hilos y procedimientos
IniciarBrazo
Velocidad
Crear 4
Motor
EsperaInt
FinCarr
Movimiento
EstMovimiento
Posicion
Lugar
LeerInt
InicializaVariables
VariablesGlobales
![Page 18: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/18.jpg)
Aplicación de demostración
• Descripción del problema:
Variante del juego de las torres de Hanoi
• Diseño de la solución usando el interface del brazo creado.
![Page 19: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/19.jpg)
Descripción del problema
• Se tienen tres zonas contiguas.
• En una de las zonas se tiene una pila de tres cajas de igual tamaño y distinto color.
• Se debe mover la columna de cajas de la primera zona a la última respetando las siguientes reglas:
– En cada jugada solo se puede mover una caja de una zona a otra.
– No se puede situar una caja encima de otra si en la configuración inicial del problema la que se quiere poner encima no estaba en una posición más elevada que la otra.
![Page 20: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/20.jpg)
Diseño de la solución
• Se aplica un algoritmo de “divide y venceras”.– Caso base: mover una caja de una zona a otra Ordenar
al brazo llevar a cabo dicho movimiento.
– Si no se está en caso base Mover x piezas de la zona “a” a la zona “c”, dividir el problema de la siguiente forma:
• Mover x-1 piezas de “a” a “b”.
• Mover 1 pieza de “a” a “c”.
• Mover x-1 piezas de “b” a “c”.
![Page 21: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/21.jpg)
Árbol de solución para 3 cajas
Hanoi (3,1,3)
Hanoi (2,1,2) Hanoi (2,2,3)
Mover (1,3)
Hanoi (1,1,3) Hanoi (1,3,2) Hanoi (1,2,1) Hanoi (1,1,3)
Mover (1,2) Mover (2,3)Mover (1,3) Mover (3,2) Mover (2,1) Mover (1,3)
1 2 3
1 2 31 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
![Page 22: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/22.jpg)
Brazo solucionando el problema
![Page 23: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/23.jpg)
Conclusiones
• Se ha construido un sistema que:– permite la docencia e investigación sobre sistemas de tiempo real
empotrados – muy versátil y fácilmente ampliable.– es de fácil construcción y reducido precio.
• Se ha adquirido experiencia en:– RTEMS.– Estándar POSIX.– Programación en C.– Robótica y sistemas empotrados.– Tratamiento de señales eléctricas controladas desde un ordenador.– Control de movimiento y velocidad de motores con sistemas
informáticos.
![Page 24: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/24.jpg)
Líneas Futuras
• Ampliación con otros kits de Fischertechnik para crear sistemas más complejos y que tengan que cooperar y permitan docencia e investigación con sistemas de tiempo real distribuidos.
• Cambio de la tarjeta de I/O por una con posibilidad de interrupciones.
• Cambio de los motores por motores paso a paso.
• Mejora del hardware para detectar sobrecargas.
![Page 25: CONSTRUCION DE UN BRAZO ROBÓTICO E ... - … ROBOT/TFC-rr… · • 4 posibles brazos con este kit. Interface entre Target y Brazo I](https://reader031.vdocuments.us/reader031/viewer/2022022619/5bad053009d3f217678c33bb/html5/thumbnails/25.jpg)
Dudas y preguntas
FIN