robot educativo con visión desarrollado como sistema embebido de arquitectura abierta

6
Robot Educativo con Visión Desarrollado como Sistema Embebido de Arquitectura Abierta Rafael Ignacio Zurita, José Riquelme, Rodolfo del Castillo Departamento de Ingeniería de Computadoras Facultad de Informática Universidad Nacional del Comahue {rafa,jose.riquelme,rdc}@fi.uncoma.edu.ar http://www.fi.uncoma.edu.ar Resumen Actualmente se están utilizando técnicas poco convencionales aplicadas a la enseñanza. En este sentido muchos estudios han sido realizados y probados sobre cómo la utilización de robots educativos incentiva el aprendizaje de la informática. En este trabajo presentamos la arquitectura de un sistema robótico con visión, de bajo costo, construido para ser utilizado como plataforma educativa. La adaptación de un sistema Linux embebido y la incorporación de visión permitieron ampliar el uso general de esta plataforma. Se ha utilizado una metodología de arquitectura abierta para poder compartir el desarrollo con otras instituciones y organismos, al mismo tiempo que se tuvo en cuenta el costo asociado y la complejidad de crear una plataforma de este tipo. En la Facultad de Informática se lo utiliza para estudiar Sistemas Embebidos, verificar técnicas de Inteligencia Artificial, incentivar el estudio de la programación, y divulgar computación a través de proyectos de extensión universitaria. 1. Introducción Desde el año 2006, con la aparición del Instituto IPRE (Institute for Personal Robots in Education) y esfuerzos similares, se ha comenzado a trabajar con plataformas robóticas educativas en la escuela media y materias introductorias universitarias a las ciencias de la computación [1]. La utilización de estos dispositivos a través de lenguajes de programación de alto nivel motiva al estudiante, ya que los robots exponen aspectos de la computación que generalmente no son tangibles en los primeros años de las carreras universitarias. El objetivo inicial es bajar la tasa de deserción que se había observa- do en la carrera de grado de Ciencias de la Computación [2]. Muchos tipos de robots educativos y herramientas de programación para estos objetivos fueron desarrollados. En particular, Myro (My Robot), desarrollado en conjunto por varios organismos a través de IPRE, es uno de los frameworks más ampliamente adoptado [3]. Myro implementa un protocolo de mensajes para ser enviados (y respondidos) por un robot. Su objetivo inicial es permitir un fácil acceso a todas las capacidades del robot, y que permita su uso a través de varios lenguajes de programación [4]. Myro ha sido integrado también en Calico, un entorno de desarrollo más actual, que permite realizar muchas tareas de programación inicial en un entorno sencillo de utilizar. Aunque Calico integre a Myro, el objetivo principal de esta herramienta es el foco en el entorno de programación para estudiantes iniciales de Ciencias de la Computación [5]. Las instituciones que adopten este tipo de herramientas en educación cuentan con algunas alternati- vas al momento de selección del hardware, ya que Calico-Myro soporta varios tipos de robots educativos comerciales [6]. A pesar de estas alternativas, el unico tipo de reúso fácil de adoptar es el software de control, el cual es open source. Pero, las plataformas de hardware soportadas por Calico (robots) son comerciales [7-10]. En la Argentina, se han realizado algunos esfuerzos para desarrollar dispositivos robóticos para educación, ya que en nuestra región es costosa la adquisición de robots que se deben importar. Ejemplo de estos esfuerzos es el robot educativo N6, desarrollado por RobotGroup Argentina, y que es utilizado con fines educativos en la escuela media [11, 12]. N6 incorpora una placa de hardware libre llamada Arduino UNO, utilizada para el

Upload: jose-riquelme

Post on 14-Nov-2015

11 views

Category:

Documents


3 download

TRANSCRIPT

  • Robot Educativo con Visin Desarrollado como Sistema Embebido deArquitectura Abierta

    Rafael Ignacio Zurita, Jos Riquelme, Rodolfo del CastilloDepartamento de Ingeniera de Computadoras

    Facultad de InformticaUniversidad Nacional del Comahue

    {rafa,jose.riquelme,rdc}@fi.uncoma.edu.arhttp://www.fi.uncoma.edu.ar

    Resumen

    Actualmente se estn utilizando tcnicas pococonvencionales aplicadas a la enseanza. En este sentidomuchos estudios han sido realizados y probados sobrecmo la utilizacin de robots educativos incentiva elaprendizaje de la informtica.

    En este trabajo presentamos la arquitectura de unsistema robtico con visin, de bajo costo, construidopara ser utilizado como plataforma educativa.

    La adaptacin de un sistema Linux embebido y laincorporacin de visin permitieron ampliar el usogeneral de esta plataforma.

    Se ha utilizado una metodologa de arquitecturaabierta para poder compartir el desarrollo con otrasinstituciones y organismos, al mismo tiempo que se tuvoen cuenta el costo asociado y la complejidad de crearuna plataforma de este tipo.

    En la Facultad de Informtica se lo utiliza paraestudiar Sistemas Embebidos, verificar tcnicas deInteligencia Artificial, incentivar el estudio de laprogramacin, y divulgar computacin a travs deproyectos de extensin universitaria.

    1. Introduccin

    Desde el ao 2006, con la aparicin del Instituto IPRE(Institute for Personal Robots in Education) y esfuerzossimilares, se ha comenzado a trabajar con plataformasrobticas educativas en la escuela media y materiasintroductorias universitarias a las ciencias de lacomputacin [1].

    La utilizacin de estos dispositivos a travs delenguajes de programacin de alto nivel motiva alestudiante, ya que los robots exponen aspectos de lacomputacin que generalmente no son tangibles en losprimeros aos de las carreras universitarias. El objetivo

    inicial es bajar la tasa de desercin que se haba observa-do en la carrera de grado de Ciencias de la Computacin[2].

    Muchos tipos de robots educativos y herramientas deprogramacin para estos objetivos fueron desarrollados.En particular, Myro (My Robot), desarrollado enconjunto por varios organismos a travs de IPRE, es unode los frameworks ms ampliamente adoptado [3]. Myroimplementa un protocolo de mensajes para ser enviados(y respondidos) por un robot. Su objetivo inicial espermitir un fcil acceso a todas las capacidades del robot,y que permita su uso a travs de varios lenguajes deprogramacin [4].

    Myro ha sido integrado tambin en Calico, un entornode desarrollo ms actual, que permite realizar muchastareas de programacin inicial en un entorno sencillo deutilizar. Aunque Calico integre a Myro, el objetivoprincipal de esta herramienta es el foco en el entorno deprogramacin para estudiantes iniciales de Ciencias de laComputacin [5].

    Las instituciones que adopten este tipo deherramientas en educacin cuentan con algunas alternati-vas al momento de seleccin del hardware, ya queCalico-Myro soporta varios tipos de robots educativoscomerciales [6].

    A pesar de estas alternativas, el unico tipo de resofcil de adoptar es el software de control, el cual es opensource. Pero, las plataformas de hardware soportadas porCalico (robots) son comerciales [7-10].

    En la Argentina, se han realizado algunos esfuerzospara desarrollar dispositivos robticos para educacin, yaque en nuestra regin es costosa la adquisicin de robotsque se deben importar. Ejemplo de estos esfuerzos es elrobot educativo N6, desarrollado por RobotGroupArgentina, y que es utilizado con fines educativos en laescuela media [11, 12]. N6 incorpora una placa dehardware libre llamada Arduino UNO, utilizada para el

  • desarrollo de prototipos de electrnica. Aun as, el restode la arquitectura del robot no puede ser reproducidafcilmente, ya que no se ha liberado el resto de ladocumentacin necesaria para la fabricacin de losmismos.

    Con estas premisas, en nuestra Facultad se dise unrobot de bajo costo, compatible con Myro, el cual sedesarroll y liber bajo licencias de hardware y softwarelibre, lo cual permite su uso de manera local y supromocin a otras instituciones interesadas en fabricar ymejorar una plataforma de estas caractersticas.

    Adems, se decidi disear la plataforma no slo parasu uso en cursos iniciales de ciencias de la computacin,sino que tambin para ser utilizada en trabajos deinvestigacin. Por tal motivo, se opt por el agregado devisin, lo cual aportara un elemento muy utilizado enreas como Inteligencia Artificial y Visin porComputador.

    Una limitante conocida, para este ltimo objetivo, esque las plataformas robticas educativas generalmenteutilizan sensores bsicos, que permiten ser controladospor un microcontrolador de bajos recursos. Sin embargo,para lograr la caracterstica de visin se necesita unacmara integrada, por lo cual fue necesario agregarrecursos computacionales que posibiliten la transmisinde las secuencias de video.

    El propsito de este artculo es describir laarquitectura del sistema. Luego, se exponen los resulta-dos obtenidos tanto en las experiencias reales usando estaplataforma en ciclos iniciales de las carreras deInformtica, como as tambin de su uso como herra-mienta en investigacin.

    2. Arquitectura del Robot Educativo con Visin

    2.1. Sistema de arquitectura abiertaLa arquitectura abierta es un tipo de hardware o

    software que permite a los usuarios el acceso a todas suspartes sin restricciones propietarias [13]. Permite aadir,actualizar, modificar e intercambiar componentes.Normalmente, una arquitectura abierta publica latotalidad o parte de las especificaciones y diseos que eldesarrollador o integrador quiere compartir. Los sistemasde arquitectura abierta son sistemas que proporcionanuna combinacin vlida de interoperabilidad,portabilidad y estndares abiertos de hardware ysoftware. Tambin puede significar sistemas configura-dos que permiten el acceso sin restricciones de personasu otros equipos.

    Ventajas de la arquitectura abierta [14]:

    No est sujeta a un solo tipo de hardware propietario.

    Cumplen o generan estndares y sus especificaciones son generales.

    Mltiples proveedores de hardware y software. Mltiples soluciones disponibles de acuerdo a

    necesidades especficas. Amplio rango de herramientas de desarrollo.

    El sistema de hardware y software propuesto para elrobot comparte muchas de estas caractersticas. El mismoha sido diseado en base a las necesidades requeridas delproyecto y para ello se han realizado diversosexperimentos y pruebas tanto del software como delhardware involucrado. En el caso del hardware se fueronprobando distintos mdulos que hacan a la parte mvildel robot, como lo son el control de los motores, elcontrol de la cmara y la conexin inalmbrica. En elcaso del software se fueron adaptando paquetes deprogramas embebidos que hacan el nexo entre el usuarioy el robot. Como cada parte del sistema se fue probandopor separado y luego en combinacin, de acuerdo a losresultados se fue creando una plataforma del tipo abiertaque permiti este tipo de operaciones. Las distintas partesdel sistema sern descriptas en las siguientes seccionespero cabe destacar que las mismas pueden adaptarsefcilmente o reemplazarse segn las necesidades ocomplejidad del proyecto en base a su evolucin en elfuturo.

    2.2. Arquitectura del HardwareEn la Figura 1 se puede observar el esquema bsico

    de la arquitectura del hardware del robot.

    Figura 1. Arquitectura del HardwareEl sistema se compone de una placa controladora

    MIPS MR3020 [15], cuyas principales caractersticas sepresentan en la Figura 2. Dicha placa acta comointerfaz entre el usuario (PC) y el robot, y provee:

  • Comunicacin inalmbrica mediante un canal en 2,4 Ghz(Wi-Fi); control de una video cmara UVC tipo webcam;y comunicacin con la placa EasyDuino.

    En el proceso de seleccin del hardware para elsistema Linux embebido se estudiaron placas similares,realizando ingeniera inversa con algunas de ellas, lo cualpermiti experimentar con Linux y realizar pruebas delaboratorio para analizar y comparar sus caractersticas[16].

    Figura 2. Placa MIPS MR3020

    En la Figura 3 se presentan las principalescaractersticas de la placa EasyDuino. Esta placa es unclon de Arduino UNO, que cuenta con las mismasprestaciones que el original, a diferencia que laprogramacin del mismo se realiza slo mediante unaconexin serie, que a su vez, se utiliza para lacomunicacin con el MIPS MR3020.

    Figura 3. Placa EasyDuino

    Para la etapa de potencia, es decir el control de losmotores DC, se utiliza un Shield para el EasyDuino queposee un chip LD293 (puente H). Adems en el Shield,se colocaron tres leds y un mini speaker (Buzzer) quepermiten realizar distintas sealizaciones y, sobre lamisma placa, se encuentra la conexin del pack debateras que alimenta todo el sistema. Las caractersticasde esta interfaz se presentan en la Figura 4.

    Figura 4. Placa EasyDuino Shield

    En la Figura 5 se puede observar el robot construidoy la disposicin de los distintos componentes dehardware mencionados.

    Figura 5. Robot Ensamblado

    2.3. Arquitectura del SoftwareLa arquitectura del software, como se observa en la

    Figura 6, est compuesta por cinco capas claramentedefinidas, distribuidos en los dos componentes necesariospara la utilizacin de la plataforma robtica educativa.Los mdulos en recuadros de lnea cortada fuerondesarrollados especficamente para el proyecto. Losdems componentes son piezas de software open sourceque fueron adaptadas para los objetivos de la plataformarobtica.

    Figura 6. Arquitectura del Software

    Software de UsuarioEn el componente remoto (PC, porttil o dispositivo

    mvil) se observan los siguientes niveles de software:

    Programas de usuario. Biblioteca de Myro y de Visin. Sistema Operativo con capacidad de

    comunicacin TCP/IP.

    Los programas de usuario son aquellos que seejecutan en una PC o porttil remota para controlar losrobots (mediante la invocacin a funciones de la

  • biblioteca de Myro). Debido a que la biblioteca de Myroest implementada en diferentes lenguajes deprogramacin, el usuario tiene una variedad de opcionesal momento de seleccionar un lenguaje para el desarrollode programas en esta plataforma educativa.

    En nuestra implementacin se ha decidido utilizarcomunicaciones inalmbricas (Wi-Fi), que posibilitan unmayor ancho de banda y mayor alcance; caractersticasnecesarias para posibilitar la transmisin del streaming devisin y de los paquetes del protocolo Myro. Sereemplazaron los mdulos de comunicaciones originalesde Myro con las modificaciones necesarias para soportarconexiones TCP/IP, que permiten la comunicacin porred inalmbrica con los sistemas operativos Linuxembebidos en los robots.

    El componente de visin se implement como unabiblioteca compartida, para ser utilizada por los progra-mas de usuario con cualquiera de las implementacionesde Myro existentes.

    Software del robotEn el robot se distinguen los siguientes niveles de

    software:

    Sistema Operativo Linux embebido con driversTCP/IP, wireless, USB, UVC y serial.

    Firmware para el Atmega8 de la placa Easy-Duino con drivers serial, de motores, leds yparlante.

    Adems, en el firmware, se implement la capa desoftware que interpreta el protocolo de Myro, paraprocesar los paquetes provenientes de la biblioteca deMyro del computador remoto.

    El sistema Linux fue desarrollado utilizando Openwrt,el cual se compil y configur para que pueda serutilizado como interfaz de comunicaciones, y para elcontrol de la visin a travs de una cmara UVC (USBVideo Class). Los paquetes del protocolo Myro remotosrecibidos por el robot de manera inalmbrica, sonencaminados por el sistema Linux al firmware delEasyDuino, a travs de una comunicacin serial. De estamanera, varios clientes TCP/IP pueden hacer uso delrobot de manera independiente. La comunicacininalmbrica tambin es utilizada para enviar las imgenesde la cmara del robot, y para la administracin delsistema.

    El software desarrollado para la placa EasyDuino(firmware para el microcontrolador AVR Atmega328)presenta cuatro mdulos principales: el controlador deleds y parlante, el controlador de motores, el controladorserial, y el mdulo que interpreta el protocolo Myro.

    Cuando un paquete es recibido por la interfaz serialdesde el sistema embebido Linux, se lo deriva e

    interpreta por el mdulo que decodifica paquetes Myro.Una vez decodificado se activan los actuadores corres-pondientes a la orden Myro recibida (motores, leds,parlante, gestin del nombre, etc) y este mismo mduloenva por la interfaz serial un paquete de respuestadefinido por el protocolo.

    Utilizar un microcontrolador AVR Atmega comoarquitectura para la placa EasyDuino permiti desarrollartodo el software del robot con herramientas open source,principalmente GNU GCC (The GNU Compiler Collec-tion).

    2.4. VisinLa visin es controlada por el sistema Linux en el

    robot, a travs del driver UVC y la aplicacinmjpg_streamer [17] embebida. Adems, fu desarrolladauna biblioteca de visin en lenguaje C, que permitesolicitar y procesar imgenes de la cmara. Se integresta biblioteca a Myro, para que los programas de usuariopuedan utilizar la visin del robot para el sensado delambiente.

    Cuando un programa de usuario utiliza la API(Application Programming Interface) de visin, labiblioteca de visin solicita imgenes al robot para serprocesadas. La aplicacin mjpg_streamer del robot envaentonces un streaming de video de cuatro FPS (framesper second - cuadros por segundo), con una resolucin de160x120 pixels para cada imagen.

    La biblioteca de visin, recibe estas imgenes, ydetecta objetos por color generando una estadstica de loselementos identificados. Luego, el programa de usuariopuede llamar a funciones de consulta para identificar lostamaos de los objetos encontrados y su posicin frenteal robot. De esta manera, y con precisin en pixels, unprograma de usuario puede reconocer a "cuantos'' pixelsa la izquierda o derecha del centro del robot se encuentraun objeto de inters.

    Utilizando estas primitivas de reconocimiento en basea tamao del objeto (el cual da una referencia dedistancia), y posicin (la cual da una referencia sobre laorientacin horizontal con respecto a la visin del robot)se pueden implementar programas sencillos de "bsque-da'' de objetos, interactuando con el mundo real.

    2.5. Utilizando Robots con VisionEl software Myro es utilizado desde la PC o netbook

    de los estudiantes y profesores, controlando el robot deforma remota a travs de programas escritos en Python,C, C++, Java o CiaoProlog.

    En la Figura 7 se puede observar un programa depocas sentencias en lenguaje Python. En este ejemplo, elrobot girar sobre su eje hasta que, utilizando su visin,encuentre un objeto de color blanco. Como se observa, laAPI es fcil de utilizar, lo que permite acceder a lasdistintas capacidades de la plataforma (movimientos,

  • visin, dispositivos de salida led y parlante) de manerasencilla.

    Figura 7. Programa para Controlar el Robot

    3. Resultados

    Un primer prototipo fue utilizado en el segundocuatrimestre de 2012, en dos charlas de divulgacin delas carreras informticas de nuestra Facultad, y en dosclases prcticas de la materia "Introduccin a laprogramacin'' de nuestras Tecnicaturas Universitarias.Estas primeras pruebas reales tuvieron algunosinconvenientes esperados en cuanto a la electrnica,software y partes mecnicas. Pero, los docentes a cargode esas actividades y proyecto, incentivados por lainnovacin en las clases, realizaron varios aportes paramejorar la robustez del software, lo que permiti quealgunos problemas electrnicos fueran reconocidos por elsoftware y se tomarn acciones automatizadas paramejorar el uso. Todos estos cambios pueden visualizarseen el histrico de versiones del repositorio del proyecto[18].

    Sustanciales mejoras similares se realizaron durante2013, con aportes en las distintas capas de software y dehardware. En ese mismo ao, se los utiliz comoplataforma principal en el proyecto de extensin anual"Divulgando Computacin con Robots en la EscuelaMedia'' que realiz encuentros con alumnos de escuelasecundaria, en dnde se les ense a programarutilizando robots. En cada encuentro se observaron pocasfallas (de una a tres) relacionadas con la plataformarobtica, y todas estas pudieron ser solucionadas en elmomento [19].

    Tambin en el 2013, y en el marco de las X Jornadasde Informtica de la Universidad de la Patagonia Austral,Ro Gallegos, estos robots educativos fueron utilizadoscomo herramienta de pruebas en cuatro actividadesuniversitarias [20]:

    1. Curso de extensin "Robtica Cognitiva''.2. Curso de postgrado de Inteligencia Artificial

    "Robtica Cognitiva''.3. Taller de programacin para alumnos universita-

    rios.

    4. Charla de divulgacin de las carreras informti-cas que se realiz durante las Jornadas.

    Durante el 2014 se los est utilizando comoplataforma principal en el proyecto de extensin anual"Con la Escuela Media Programamos robots yConocemos ms de Computacin'', en las clases inicialesde Inteligencia Artificial y como herramienta delaboratorio en el desarrollo de varias tesis de gradorelacionadas con visin e inteligencia artificial [21].

    Figura 8. Proyecto de Extensin Universitaria

    4. Conclusiones

    En este artculo se present la arquitectura de un roboteducativo con visin. El diseo actual ha permitidofabricar varios ejemplares de estos robots de bajo costo,lo que facilita el uso de esta plataforma en distintoslugares simultneamente, y con distintos objetivos. Eluso real tambin nos permite mejorar ambasarquitecturas, y se espera continuar mejorando elhardware y software a travs de la retroalimentacinrecibida de los docentes y estudiantes, los cuales reportanproblemas o solicitan caractersticas nuevas.

    Nuestras experiencias han despertado tambin intersen los medios locales [22] y [23], los cuales ayudan apromover las carreras de informtica, a travs de lapublicacin de las experiencias y proyectos que se llevanadelante con la extensin universitaria.

    A futuro, se espera finalizar el prototipo delframework Myro para el lenguaje de programacin CiaoProlog, el cual se encuentra en etapas iniciales dedesarrollo. Este lenguaje es utilizado en materias dentrodel rea de la Inteligencia Artificial, y en las tesis degrado afines.

    Adems, es necesario an realizar algunas tareas parafacilitar el reso de todo el diseo. Por ejemplo, losesquemticos y los archivos de las placas de circuitoimpreso deberan ser portadas a formatos soportados por

  • software libre. De momento, se encuentran en formatoEagle, que aunque es un software gratis no es libre.Formatos ms adecuados son los generados por Kicad oGeda.

    La documentacin existente, esquemticos, diseos delas placas de circuito impreso, software de los robots,bibliotecas asociadas, ejemplos de programas de usuario,tutoriales de instalacin, y toda la informacinrelacionada al proyecto, se puede obtener desde nuestrositio web y desde el repositorio de versiones git, lo quecumple en gran parte con los requisitos necesarios paraser definido como una arquitectura abierta [24,25].

    5. Referencias

    [1] Briand, L. C., Daly, J., and Wst, J., "A unified framework for coupling measurement in objectoriented systems", IEEE Transactions on Software Engineering, 25, 1, January 1999, pp.91-121.

    [1] Tucker Balch, Jay Summet and Doug Blank,"Designing Personal Robots for Education: Hardware, Software, and Curriculum, IEEE Pervasive Computing, Vol. 7, pp. 5-9, 2008.

    [2] Mikko Apiola, Matti Lattu and Tomi A.,"PasanenCreativity and intrinsic motivation in computer science education: experimenting with robots, ITiCSE '10 Proceedings of the fifteenth annual conference on Innovation and technology in computer science education Pages 199-203 - ACM New York, NY, USA 2010 - ISBN: 978-1-60558-820-9.

    [3] Wiki del Institute for Personal Robots in Education: http://wiki.roboeducation.org

    [4] Stefanie A. Markham and K. N. King,"Using personal robots in CS1: experiences, outcomes, and attitudinal influences, Proceedings of the fifteenth annual conference on Innovation and technology in computer science education, pp. 204-208, (2010).

    [5] Sitio Web del proyecto Calico: http://calicoproject.org/ - ltimo acceso: 07/08/2014.

    [6] Douglas Blank, Jennifer S. Kay, James B. Marshall, Keith O'Hara and Mark Russo, "Calico: a multi-programming-language, multi-context framework designed for computer science education, Proceeding SIGCSE '12 Proceedings of the 43rd ACM technical symposium on Computer Science Education Pages 63-68 ACM New York, NY, USA 2012 - ISBN: 978-1-4503-1098-7.

    [7] Sitio Web de Calico-Myro Robots: http://calicoproject.org/Calico_Myro#Robots - ltimo acceso: 07/08/2014.

    [8] Sitio Web del Robot Scribbler: http://wiki.roboteducation.org/Myro_Hardware - ltimo acceso:07/08/2014.

    [9] Sitio Web del Robot The Finch: http://www.finchrobot.com/- ltimo acceso: 07/08/2014.

    [10] Sitio Web del Robot Hummingbird: http://www.hummingbirdkit.com/ - ltimo acceso: 07/08/2014.

    [11] Sitio Web del Grupo RobotGroup: http://www.robotgroup.com.ar/ - ltimo acceso: 07/08/2014.

    [12] Daz Javier F., Banchoff Tzancoff Claudia M., Martin Sofa y Lpez Fernando, "Aprendiendo a Programar con Juegosy Robots, VII Congreso de Tecnologa en Educacin y Educacin en Tecnologa. Universidad Nacional del Noroeste (Buenos Aires, Argentina), Junio 2012 - http://hdl.handle.net/10915/19307 - ltimo acceso: 07/08/2014.

    [13] Clifton A. Ericson, Concise Encyclopedia of System Safety: Definition of Terms and Concepts, Willey, August 2011.

    [14] Lic. Wilfrido Caonabo, "Arquitectura del computador, Instituto Tecnolgico del Cibao Oriental (ITECO), 2014

    [15] Wiki de Openwrt para el hardware MR3020: http://wiki.openwrt.org/toh/tp-link/tl-mr3020

    [16] Rafael Zurita, Rodolfo del Castillo, Miriam Lechner y Eduardo Grosclaude, "Reverse-Engineering a Closed-Box Hardware and Software Linux Embedded System, Libro de Trabajos de Foro Tecnolgico y Psters - Congreso Argentino de Sistema Embebidos, 14-16 de Agosto 2013, Buenos Aires - ISBN 978-987-9374-88-7.

    [17] Sitio Web de mjpg_streamer http://sf.net/projects/mjpg-streamer/ - ltimo acceso: 07/08/2014.

    [18] Repositorio del Proyecto del Robot Educativo Frankestito: http://github.com/se_uncoma/ - ltimo acceso: 05/08/2014.

    [19] Sitio Web del proyecto de extensin ao 2013 `Divulgando Computacin con Robots en la Escuela Media''. Universidad Nacional del Comahue: http://divulgando.fi.uncoma.edu.ar - ltimo acceso 05/08/2014.

    [20] Boletn Oficial de Noviembre de 2013 - Gobierno de SantaCruz: www.santacruz.gov.ar/boletin/13/noviembre13/12noviembre2013.pdf - ltimo acceso: 05/08/2014.

    [21] Sitio Web del proyecto de extensin ao 2014 `Con la Escuela Media Programamos robots y Conocemos ms de Computacin''. Universidad Nacional del Comahue: http://robots.fi.uncoma.edu.ar - ltimo acceso 05/08/2014.

    [22] Diario La Maana del Neuqun - Edicin del 04/10/2013: http://www.lmneuquen.com.ar/noticias/2013/10/4/aprendieron-a-programar-y-crearon-a-frankestito_202090 - ltimo acceso: 07/08/2014.

    [23] Programa de Televisin `Cdigo Rupestre'', capitulo `El lenguaje de los Robots'': http://www.codigorupestre.com.ar/?p=443 - ltimo acceso: 07/08/2014.

    [24] Wiki del Robot Educativo Fai UNCOMA: http://labti.fi.uncoma.edu.ar/trac/wiki/RoboTitos

    [25] Repositorio Git del Robot Educativo Fai UNCOMA: https://github.com/zrafa/se_uncoma

    1. Introduccin2. Arquitectura del Robot Educativo con Visin2.1. Sistema de arquitectura abierta2.2. Arquitectura del Hardware2.3. Arquitectura del Software2.4. Visin2.5. Utilizando Robots con Vision

    3. Resultados4. Conclusiones5. Referencias