Autor Tema: Robot Omnidireccional multitareas con vision artificial  (Leído 29816 veces)

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

Desconectado vixctor

  • PIC16
  • ***
  • Mensajes: 109
Robot Omnidireccional multitareas con vision artificial
« en: 15 de Junio de 2009, 04:41:54 »
Saludos a todos:

Soy Ing. en electronica, cuando estaba en los ultimos semestres de la carrera, habia manejado muchas areas como son: control, comunicaciones, procesamiento digital de señales, electronica de potencia, retroalimentacion etc etc.

   Pero, en si, todos los proyectos que tenia en si nunca los habia unido en un solo proyecto, fue por eso que en 2004 me llamo el interes la robotica, como un area en donde podia unificar todos mis conocimientos y unir todas las areas de mi interes en 1 solo proyecto.   Ademas, en aquel tiempo Mexico fue sede de un concurso de robotica organizado por el IEEE, llamado IEEE Latin American Robotics Contest, en el cual tuve la oportunidad de participar en varias ocasiones con buenos resultados.

   Como muchos aca, la experiencia de construir algo que funcione por si mismo autonomamente llena de satisfacciones, sin embargo, tambien note que año con año la faena era muy pesada debido a que el concurso cambiaba las reglas y tareas a realizar.  Otro punto de suma importancia es que en la categoria en la que participaba, llamada Advanced, requeria que todo fuera hecho por uno mismo, es decir, ningun kit mecanico (Lego, Mecano, Fisher technics etc), asi como ningun modulo de robotica (CMUCAM2, controladores de servos, SFRS para ultrasonidos etc).

   Ahora me siento agradecido por esas "restricciones", pues gracias a ellas aprendi muchisimo en el area de Video NTSC, vision artificial, mecanica, manejo de servos y comunicacion robot-consola, pero volviendo al tema:

   El problema, era que año con año, tenia que construir un nuevo robot para que se adecuara a la tarea a realizar, lo cual es un serio problema considerando que solo tenia unos 8 o  9 meses a partir que salia la convocatoria, ademas, como ing. electronico, la mecanica no es mi fuerte y se me hacia muy engorroso, asi que decidi construir de una buena vez por todas una plataforma unica de desarrollo la cual pudiera usar para multiples tareas y propositos personales.

    En 2005, nace Metatron, una robot omnidireccional capaz de buscar y recolectar 3 esferas de diferente color y tamaño usando vision artificial (realizada con una camara y un pic), el cual funciono satisfactoriamente, para 2007 empeze a desarrollar a Sandalphon, partiendo de la idea original, pero ademas tenia un area de carga, en donde se podian colocar diversos accesorios, pinzas mas utiles, y la capacidad de flotar en agua.

   Hace poco, vi en este foro un tema relacionado con vision artificial en DSPICs :

http://www.todopic.com.ar/foros/index.php?topic=25827.0

decidi contestar, viendo que el tema abarcaba muchisimo, y hablando con Nocturno (Administrador) me recomendo ir subiendo poco a poco los hilos para abarcar el proyecto por completo, mi idea es:  Publicar absolutamente toda la documentacion del robot (mecanica, electronica, software, algoritmos, camara, vision artificial, manejo de servos, I2C, RS232 inalambrico, protocolos de comunicacion etc).   Como toda la informacion abarca muchisimo, y ocuparia muchos hilos, he decidido sacar todas las partes como modulos autonomos de manera que presentar cada parte en su respectivo lugar (comunicaciones, video, overlay, manejo de LCD, servos, etc etc).

Para ello, decidi por comenzar todo en este hilo, y decidi primero poner digamos, los resultados finales, fotos, videos, etc, de manera de llamar la atencion, despues, ire poco a poco desglosando en diferentes hilos, cada uno de los topicos en su correspondiente area, lo importante es poder aportar lo que he tenido la oportunidad de ir aprendiendo, y compartirlo con todos uds, sin embargo, a medida que vea el INTERES por cada parte, publicare mas sobre algun tema en especifico.

   Y bueno, no se hable mas, por hoy, voy a convidarlos a ver el resultado, para en poco tiempo, entrar de lleno en el tema y cada parte de el.

 
HISTORIA:

 2004, nace la plataforma inicial:



 2005, Metatron queda en 1er lugar en IEEE latin american robotics contest, categoria Advanced I, en Sao Luis, brasil:



 2005, desarrollo de mi propia camara de vision artificial, llamada VHSCAM 1 (en honor a mis iniciales, jejeje)

 

TEST de la camara de vision artificial en modo de aprendizaje y prueba de 3 objetos:


El robot durante la competencia en brazil


Video capturado por la camara VHSCAM1, para dar una idea de como "ve" el robot al "mundo"
NOTA: LA CALIDAD DEL VIDEO ES MALA DEBIDO A QUE LA TRANSMITI INALAMBRICAMENTE

Parte 1:


Parte 2:


 
Este video es curioso, resulta que se incializo mal la camara en las coordenadas en X, de tal manera que veia "desfazado" el objeto, muchos preguntaban que pasaria si el robot "corrompia" el escenario, bien, la respuesta esta en este video, pues como el algoritmo de programacion es NO-deterministico, pues tarde o temprano termina por resolver la tarea, sin importar que las cosas en su entorno "cambien"  :-/


2007: Creacion de Sandalphon, hermano gemelo de metatron, vista frontal:



Sandalphon en el agua:



Sandalphon en IEEE Latin american contest 2007

NOTA; en you tube viene el comentario de porque menciono que fue saboteada la final, en fin, el robot hacia su tarea...


2008, ultimas modificaciones de Sandlaphon:







Video de la competencia en 2008:


Y por ultimo, aunque no tienen que ver con este tema en si, pues si con generacion de imagenes en video, trasnformada rapida de fourier en pics etc...  

NOTA: Todos los proyectos son hechos en base al pic18f452, en assembler, no manejo C ni lo pienso manejar, cualquier duda sera respondida en base en ensamblador

Generacion de video, osciloscopios y uso de FFT en ensamblador


  Bueno camaradas, eso fue todo por hoy, espero que les haya interesado, y por favor, compartan su opinion y comentarios, gracias por tomarse su tiempo para checar este proyecto.   Empezaremos proximamente a subir todo...

« Última modificación: 07 de Julio de 2009, 02:57:35 por vixctor »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #1 en: 15 de Junio de 2009, 05:28:07 »
Hola Vixctor, me alegro que hayas comenzado a subir el proyecto.
Como dices que vas a ir abriendo hilos nuevos en distintos subforos, te pediré que los enlaces desde este hilo, para poder hacerles fácilmente seguimiento.
Se ve espectacular el robot, la visión artificial, y todo  :shock:

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #2 en: 15 de Junio de 2009, 06:49:14 »
INCREÍBLE!!!

Tengo ganas de ver el código y el esquemático de la visión artificial :?

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #3 en: 15 de Junio de 2009, 07:18:20 »
Enhorabuena! tiene una pinta estupenda.

No me ha quedado claro donde haces el procesado de visión, si en el Dspic o en un PC... ya que has comentado que la cámara es inalámbrica.

saludos

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #4 en: 15 de Junio de 2009, 09:54:51 »
Excelente!!!!

Gracias por compartirlo, me gusta la plataforma por su simplicidad y utilidad.

Saludos
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #5 en: 15 de Junio de 2009, 10:03:59 »
Que sí, que me gusta la idea y la forma de plantearla. Y posteo aquí para darte la bienvenida y de paso no perderme nada de lo que vayas subiendo al foro.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #6 en: 15 de Junio de 2009, 10:49:33 »
Impresionante. Lo voy a seguir de cerca

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #7 en: 15 de Junio de 2009, 15:41:24 »
 :shock: :shock: :shock:

Super - interesante!!!!
El papel lo aguanta todo

Desconectado vixctor

  • PIC16
  • ***
  • Mensajes: 109
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #8 en: 15 de Junio de 2009, 17:06:01 »
Saludos a todos:

  Gracias por su interes, empezare lo antes que pueda a subir todo, solo es irme haciendo tiempo para ello.  En cuanto a JIM (moderador)  El video lo procesa un PIC18F4562, NO un DSPIC, NO la PC, de hecho, el PIC hace el overlay de video, que es la grilla que indica las coordenadas del objeto, al final, se reconstruye la señal original plus el overlay, y esa es la salida de video compuesto que transmiti inalambricamente, en la computadora solo capture la señal, me han preguntado si la pc o en algo mas procese o dibuje la grilla, pero no, todo lo hace un pic.

   Ese pic en SMD, va dentro de la camarita, y en si, se comunica con el cerebro principal (otro F452) via I2C, en donde envia las coordenadas, y un pin que indica si esta o no esta viendo el objeto...

   Asi como anticipo, para lograrlo, se overclockea el pic, segun microchip, el 18F452 corre maximo a 40 mhz,... pues no es cierto, lo he llegado a overclokear hasta 56 mhz, en donde ya se vuelve inestable, pero a 48 mhz corre super bien, y se tienen 12 mips, envio unas fotos de la version VHSCAM2.5, aunque esta proxima la 3.

  En la version 2.5, ademas de mostrar la grilla, muestro los "pixeles" que son validos dentro de mis parametros de captura de color.  Ademas, el overlay es ahora a 16 millones de colores, y usa 3 ADCs del pic para aprender un color (RGB)...

 Ejemplos de colores con su overlay y pixeles validados

Esfera roja:


Esfera naranja:


Esfera verde: Notese que no se confunde con el verde de mi camisa


Cable verde, como ejemplo de la capacidad de ver objetos delgados...






Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #9 en: 15 de Junio de 2009, 17:25:37 »
genial, un gran bravo para ti! :) Ahora con dos pics en el sistema si que me cuadra la cosa ;)

un saludo!

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #10 en: 15 de Junio de 2009, 19:44:14 »


Genial Pana!

Buenisimo!

ya xD habia posteado = cuando vi los videos youtubeando XD

FElicitaciones y por aqui estaré leyendo atentamente.


Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #11 en: 15 de Junio de 2009, 20:16:08 »
Si palabras  :shock: :shock:

FECILITACIONES por el bichito inteligente  :-/ :-/ :-/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado alexysar

  • PIC16
  • ***
  • Mensajes: 206
    • e-Kit
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #12 en: 16 de Junio de 2009, 01:31:05 »
Te felicito vixctor. Muy bueno.
Sabes que en el grupo de IA estamos haciendo algo similar ( en realidad lo estan haciendo porque yo recien me incorporo)
Usaste la transformada de Hough para la detección de bordes? Simulaste con Matlab?
Cómo calculas la distancia a los objetos, ya que veo que hay una cámara sola. Empleaste algun sonar ó algo parecido?
Un saludo, te felicito nuevamente!!!

Desconectado vixctor

  • PIC16
  • ***
  • Mensajes: 109
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #13 en: 16 de Junio de 2009, 03:05:55 »
Te felicito vixctor. Muy bueno.
Sabes que en el grupo de IA estamos haciendo algo similar ( en realidad lo estan haciendo porque yo recien me incorporo)
Usaste la transformada de Hough para la detección de bordes? Simulaste con Matlab?
Cómo calculas la distancia a los objetos, ya que veo que hay una cámara sola. Empleaste algun sonar ó algo parecido?
Un saludo, te felicito nuevamente!!!

   No transformadas para detectar bordes, no Matlab, todo eso mmm....
 eso haria que no pudiera implementar en un solo pic no crees?

Por que no mejor regresar a lo mas sencillo? lamentablemente, pensamos en topicos asi, y nos vienen a la mente las cosas mas rebuscadas y dificiles, cuando las respuestas son mas sencillas. en cambio, puedo decir que...

  12 mips para todo el procesamiento
  32 bytes de RAM para deteccion de coordenadas
  algoritmo One-pass, procesamiento por linea, no por frame
  Filtrado al mismo tiempo que se procesan los datos
  3 colores simultaneos @60 FPS o 30 FPS si se hace el overlay de las coordenadas
  Depuracion en tiempo real, pues se puede ver lo que ve la camara...
  PIC18F452, NO FPGA, NO CPLD, no frame buffer

Y el codigo? te reirias al verlo, pero eso lo posteare despues...

La distancia? sensores opticos SHARP, funcionamiento interno por triangulacion
Distancia del objeto a la camara? Pro triangulacion, se sabe la altura de la camara, y se sabe el angulo al que se mueven sus servos para centrar al objeto, por lo tanto, se calcula la distancia al objeto, NO por area de pixeles etc..

Bien, se los voy dejando de tarea, solo para que saquemos un poco todo lo que nos han atrofiado...

  La respuesta mas sencilla tiende a ser la correcta....

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: Robot Omnidireccional multitareas con vision artificial
« Respuesta #14 en: 16 de Junio de 2009, 04:17:16 »
 :shock: :shock: Genial amigo Vixtor, mi felicitaciones