• No se han encontrado resultados

CONSTRUCION DE UN BRAZO ROBÓTICO E INTERFACE DE CONTROL PARA UN SISTEMA EMPOTRADO BASADO EN EL SISTEMA OPERATIVO RTEMS

N/A
N/A
Protected

Academic year: 2021

Share "CONSTRUCION DE UN BRAZO ROBÓTICO E INTERFACE DE CONTROL PARA UN SISTEMA EMPOTRADO BASADO EN EL SISTEMA OPERATIVO RTEMS"

Copied!
25
0
0

Texto completo

(1)

C

ONSTRUCION DE UN BRAZO ROBÓTICO

E INTERFACE DE CONTROL PARA UN

SISTEMA EMPOTRADO BASADO EN EL

SISTEMA OPERATIVO RTEMS

AUTOR: ROBERTO RICA GUTIÉRREZ TUTOR: JUAN ZAMORANO FLORES D.A.T.S.I.

Facultad de Informática

Universidad Politécnica de Madrid MARZO, 2002

(2)

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

(3)

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.

(4)

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á.

(5)

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

(6)

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

(7)

Host Target P. Potencia Sistema Físico Linux RTEMS Herramientas GNU ---Windows Office Acceso a internet ...E/S Digitales Soportado por RTEMSEntradas TTL. Salidas de potencia. Fuente de alimentación.Brazo robótico

(8)

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

(9)

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.

(10)

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).

(11)

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

(12)

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.

(13)

Software de control

Interface de programación

Diseño del sistema de control

Arquitectura

Hilos y procedimientos

• Hilo Movimiento • Hilo Velocidad

(14)

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 Fondo AA = 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.

(15)

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.

(16)

Arquitectura del Sistema de Control

APLICACIÓN DE USUARIO

INTERFACE BRAZO

RTEMS

INTERFACE POSIX

(17)

Hilos y procedimientos

IniciarBrazo Velocidad Crear 4 Motor EsperaInt FinCarr Movimiento EstMovimiento Posicion Lugar LeerInt InicializaVariables Variables Globales

(18)

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

(19)

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.

(20)

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”.

(21)

Á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 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

(22)
(23)

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

(24)

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.

(25)

Dudas y preguntas

Referencias

Documento similar

Es importante mencionar, que en los últimos 5 años, China ha venido mostrando un gran avance en la industria textil y de la confección, ingresando en mercados como Europa,

Los manuales administrativos son de suma importancia porque exponen una visión conjunta de la empresa, informado por escrito al personal claramente las labores asignadas

Por lo anterior se considera que el desarrollo de un Sistema de Gestión de la Calidad es de vital importancia para MEDDEX, el cual tiene como finalidad

Para ello se colocarán dos sensores de presión a distintas alturas, uno ubicado en la parte superior (sin contacto con el agua) y otro ubicado en el mínimo nivel de

La instalación del “Pozo Nuevo” dispondrá de un sistema de doble bomba, el cual debe ser capaz de adaptarse a los picos de demanda de tal forma que se pueda realizar bombeo de agua

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,