Autor Tema: Control del SCORBOT-ER V con RTAI  (Leído 6082 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ma4826

  • PIC16
  • ***
  • Mensajes: 130
Control del SCORBOT-ER V con RTAI
« en: 18 de Abril de 2009, 07:44:13 »
  Por si a alguien le puede resultar de utilidad subo mi proyecto fin de carrera, he puesto un pequeño resumen del mismo, el proyecto en formato PDF y un vídeo que utilicé en la presentación.

PLANTEAMIENTO DEL PROBLEMA
  El Departamento de Tecnología Electrónica e Ingeniería de Sistemas y Automática (TEISA) tiene varios brazos robóticos Scorbort-ER V. Este robot viene con un controlador propio que hay que conectar a un PC para poder manejar el robot.
  El objetivo del proyecto es que un PC maneje directamente uno de los Scorbot-ER V. Para lograr este objetivo hay que diseñar y montar la electrónica de potencia necesaria, diseñar y montar una tarjeta PCI para que el PC se pueda comunicar con la electrónica de potencia, instalar y configurar un Sistema Operativo en Tiempo Real estricto y desarrollar en este entorno el software encargado de controlar el robot.

DESCRIPCIÓN DEL PROYECTO
  El primer paso consistió en recabar la mayor información posible sobre el robot para conocer los requerimientos que deben cumplir la electrónica y el sistema operativo.
   En el siguiente paso se eligió, se instaló y se puso a punto el sistema operativo. El sistema operativo de tiempo real estricto elegido fue RTAI. RTAI dota de características de tiempo real estricto a un sistema operativo Linux, por lo que su instalación requiere la instalación de una distribución Linux base a la que se sustituyó el kernel estándar por uno con capacidades en tiempo real estricto. Una vez instalado el sistema se obtuvo el rendimiento del sistema en tiempo real utilizando las herramientas que proporciona RTAI. La latencia máxima obtenida nos garantiza que el sistema va a cumplir los tiempos requeridos por la aplicación que va a controlar el robot.
  Después se diseñó la electrónica de potencia. Como la labor principal de la electrónica de potencia es alimentar los motores, son ellos los que imponen los requisitos que debe cumplir. Se determinó la intensidad y tensión máxima para que los motores trabajen en la zona de funcionamiento segura. A partir de estos valores se determinó la tensión e intensidad que tiene que proporcionar como máximo la electrónica de potencia. Partiendo de estos valores y buscando un driver que integre la mayor cantidad de funciones posibles se eligió el L6206. El L6206 integra un límite de intensidad seleccionable lo que permite mantener a los motores trabajando siempre dentro de la zona de trabajo segura.
  El siguiente paso es diseñar la tarjeta PCI que comunicará al PC con la electrónica de potencia. La tarjeta PCI tiene que hacer de interfaz entre el PC y la electrónica de potencia. Por eso, por una parte tiene que implementar los 6 PWMs (y sus negados), la señal de activación/desactivación de la electrónica de potencia y las 17 entradas (12 señales de los encoders y las 5 señales de los microinterruptores), y por otra parte tiene que tener un interfaz PCI desde el que se puedan establecer los valores de los PWMs, manejar la señal de activación/desactivación de la electrónica de potencia y acceder al valor de las entradas. Para implementarlo se decidió utilizar un CPLD.
   Con toda la electrónica diseñada ya fue posible controlar directamente desde el PC las tensiones aplicadas a los motores y leer las señales provenientes del robot (Encoders y microinterruptores), por lo que sólo queda el último paso, desarrollar una aplicación que realice el control del robot. La aplicación tiene dos partes fundamentales: un módulo del kernel ejecutándose en tiempo real estricto que realiza el control propiamente dicho y una aplicación
en el espacio de usuario que da un entorno sencillo para poder manejar el módulo de kernel y mostrar la información que recibe de él.
   El módulo del kernel tiene dos tareas en tiempo real, una tarea se encarga de leer los encoders y los microinterruptores y otra tarea realiza el bucle de control. Esta última tarea se comunica con el programa interfaz de usuario para recibir ordenes del mismo y enviarle la información que precise. Además esta tarea se encarga de controlar al robot: Realiza la búsqueda del Hard Home, calcula la cinemática directa, la cinemática inversa, las trayectorias
con interpolación cúbica y el control dinámico (PID).

Proyecto en PDF

Video de demostración

Saludos,

Miguel Ángel.

万人の友は誰の友でもない。

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Control del SCORBOT-ER V con RTAI
« Respuesta #1 en: 18 de Abril de 2009, 12:42:22 »
 :-/ :-/ :-/ :-/

gracias por compartir tu experiencia.

denuevo gracias  :-) :-) :-) :-) :-)
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Control del SCORBOT-ER V con RTAI
« Respuesta #2 en: 18 de Abril de 2009, 14:28:38 »
Es magnífico. Muchas gracias por compartirlo, Miguel Angel.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: Control del SCORBOT-ER V con RTAI
« Respuesta #3 en: 18 de Abril de 2009, 15:37:25 »
Gratulacion amigo Miguel Angel  :-/ :-/ :-/
magnifico proyecto   :-/ :-/ :-/


Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Control del SCORBOT-ER V con RTAI
« Respuesta #4 en: 18 de Abril de 2009, 15:58:02 »
realmente muy bueno  :mrgreen:...
puedo hacer unas preguntas de curioso....
 maxima carga que puede transportar y que velocidad?
 los motores son servos?
 es la misma alimentacion para los motores y para la placa de control?

Saludos!  :)
LAS MALVINAS SON ARGENTINAS!

Desconectado ma4826

  • PIC16
  • ***
  • Mensajes: 130
Re: Control del SCORBOT-ER V con RTAI
« Respuesta #5 en: 18 de Abril de 2009, 16:32:43 »
Citar
maxima carga que puede transportar y que velocidad?

 Según las especificaciones del brazo. 1Kg y 600mm/seg. Pero yo no les doy tanta caña, el controlador original alimentaba con 24V a motores de 12V, eso si el manual recomendaba no usar la velocidad máxima durante periodos largos de tiempo.

Citar
los motores son servos?

 Son motores de corriente continua con una reductora integrada y para el control de posición y velocidad llevan encoders de cuadratura y un microinterruptor para marcar la posición inicial.

Citar
es la misma alimentacion para los motores y para la placa de control?

No. Aunque si el PC tuviese una fuente más potente se podría haber utilizado para alimentar la electrónica de potencia.

Saludos,

Miguel Ángel.



« Última modificación: 18 de Abril de 2009, 16:37:12 por ma4826 »
万人の友は誰の友でもない。