SlideShare una empresa de Scribd logo
Ampliación de la capacidad de procesamiento del robot
Lego Mindstorms NXT con una Raspberry Pi
Víctor Manuel Rojas Nóbrega
Juan Antonio Fernández Madrigal
Ana María Cruz Martín
Departamento de Ingeniería de Sistemas y Automática
Universidad de Málaga

14 de febrero de 2014

1
Índice
1. Conceptos

2. Elementos involucrados en el sistema
3. Objetivos
4. Trabajos relacionados

5. Sistema desarrollado
6. Características del sistema
7. Resultados

8. Futuros trabajos

2
Conceptos
Robótica educativa

¿Qué es la robótica educativa?
Conjunto de actividades pedagógicas que apoyan y fortalecen áreas específicas del conocimiento y
desarrollan competencias en el alumno, a través de la concepción, creación, ensamble y puesta en
funcionamiento de robots.
Sus principales objetivos son:
La actividad de los estudiantes.
La integración de distintas áreas del conocimiento.
La observación y exploración de los problemas.

3
Conceptos
Single Board Computer

¿Qué es un Single Board Computer?
Un ordenador de placa reducida (en inglés: Single Board Computer o SBC) es un ordenador completo en
un sólo circuito.

Sus principales características son:
Tamaño reducido.
Uso en entornos industriales o de desarrollo.

Económico.

4
Elementos del sistema
Lego Mindstorms NXT

El robot Lego Mindstorms NXT es uno de los kits de aprendizaje más usados en
todo el mundo.
Está compuesto por una serie de sensores (distancia, luz, sonido, etc.) que
interactúan con el medio por el que circula movido por sus motores, todo ello
conectado y controlado por un ladrillo central que contiene un
microcontrolador.
La forma de interactuar con el robot puede ser a través de un programa cargado
previamente por USB en la memoria del ladrillo o mandándole órdenes vía
Bluetooth mediante el protocolo Direct Commands.
Robot Lego Mindstorms NXT

5
Elementos del sistema
Raspberry Pi

La Raspberry Pi es un SBC de bajo coste diseñado para estimular la
enseñanza de la computación en las escuelas de todo el mundo.
Posee conectores USB, Ethernet, HDMI, GPIO, MIPI CSI, salida audio de 3.5
mm y de vídeo RCA.
Se alimenta mediante micro USB.
Usa el sistema operativo Raspbian.

6
Objetivos
Aumentar la capacidad de cómputo y añadir sensor de visión

¿Qué problema se quiere resolver?
Las limitaciones que posee el robot Lego Mindstorms NXT con respecto a su capacidad de cómputo,
memoria y sensores.

Las limitaciones que tiene el robot en estos ámbitos son:
Un microcontrolador ARM7 a 70Mhz.
Una memoria de 64KBytes de capacidad.

Sensor de colores predefinidos.

7
Trabajos relacionados
Aumentar la capacidad de cómputo y añadir sensor de visión

¿Como lo resuelven otros?
Interactuando con el robot mediante dispositivos externos que cargan con todo el trabajo de cómputo,
delegando en el NXT comandos que únicamente interactuen con el firmware.

Unos ejemplos de soluciones propuestas por la comunidad de desarrolladores son:
Mover el robot con un mando de la consola Wii.
Controlarlo usando un smartphone y su cámara.

Mandar órdenes con el NXT usando Python y una Raspberry Pi.

8
Trabajos relacionados
Controlar el NXT usando un Wiimote y un ordenador

9
Trabajos relacionados
Resolver un cubo de Rubik usando un smartphone y 4 ladrillos NXT

10
Trabajos relacionados
Enviar órdenes al robot con una Raspberry Pi conectada por USB usando Python

11
Sistema desarrollado
Descripción del sistema

¿Como lo resolvemos nosotros?
Conectándo una webcam a la Raspberry Pi y dejándole todo el trabajo de cómputo, convirtiendo al robot
en un mero intérprete de comandos que le llegan vía Bluetooth.

El sistema se compone de:
Una placa Raspberry Pi.
Un robot Lego Mindstorms NXT.

Una webcam USB.
Un adaptador Bluetooth USB.

12
Sistema desarrollado
Descripción del sistema

Para controlar todos los elementos que componen el sistema, se ha desarrollado una API (escrita en C) que abstrae
al usuario de todas las operaciones y protocolos de comunicación entre los periféricos.

Esta API se compone de 3 módulos que controlan todas las partes implicadas del sistema:
NXTbt – Módulo de comunicación Bluetooth entre la Raspberry Pi y el robot.
NXTdc – Módulo que recoge la funcionalidad completa del NXT.

NXTwc – Módulo que interactúa con la webcam.

El módulo de los Direct Commands mantiene la misma sintáxis de las funciones que las del lenguaje NXC.

13
Sistema desarrollado
Funcionamiento del sistema
El carácter autónomo de los programas que se van a ejecutar sobre la Raspberry Pi hace que tengan que lanzarse
cuando el sistema se está iniciando, de forma que el robot pueda moverse libremente por el escenario del
experimento, sin necesidad de una conexión a un monitor y teclado, únicamente con el cable micro USB de
alimentación de la placa.

Al no existir un grupo de comandos firmware que controlen la pantalla LCD del robot, se ha optado por conectar un
diodo LED a la Raspberry Pi, de forma que se pueda saber cuando empieza y termina la ejecución de los programas
en el start-up del sistema.

La transferencia de ficheros entre la Raspberry Pi y el ordenador donde se quieran llevar a cabo los análisis de
resultados, se puede realizar mediante la conexión directa por cable de red y usando un programa como PuTTY.
14
Sistema desarrollado
Funcionamiento del sistema

15
Sistema desarrollado
Lego Mindstorms NXT

Este Proyecto no cambia la configuración del robot que se usa en el
Departamento de Ingeniería de Sistemas y Automática de la Universidad
de Málaga.

Debe tener conectados los siguientes sensores sensores:
Sensor de distancia.
Sensor de luz.

Sensor de sonido.

Configuración del robot Lego Mindstorms NXT

16
Sistema desarrollado
Raspberry Pi

La Raspberry Pi usada en este Proyecto Fin de Carrera pertence al modelo B
que posee únicamente dos puetos USB, por lo que es necesario conectar y
desconectar el teclado cada vez que se quiera reprogramar la placa.

Se conectan a la placa los siguientes elementos:
Webcam USB.
Adaptador Bluetooth USB.
Diodo LED en el puerto 11 de GPIO.

Elementos conectados a la Raspberry Pi

17
Sistema desarrollado
Montaje del sistema

El primer paso es colocar la Raspberry Pi en el sitio donde menos pueda
interferir con las lecturas del sensor de distancia debido a su tamaño: en
la parte posterior del robot.

Finalmente se coloca la webcam en la parte libre del robot que esté
más cerca del suelo, para poder detectar objetos que estén muy cerca.

Aspecto final del sistema completo
18
Sistema desarrollado
API-NXT
La creación de los programas que usan la API-NXT del Proyecto se realiza usando el editor de texto Nano que

incorpora el sistema operativo Raspbian de la Raspberry Pi. La compilación se produce a través del front-end para
C del compilador gcc.
Las funciones de comunicación Bluetooth usan la librería BlueZ, que se ocupa de la creación y cierre del socket de

transmisión de mensajes.
El encendido y apagado del LED se realiza usando la librería wiringPi, encargada del manejo de la matriz de
puertos GPIO de la Raspberry Pi.
El módulo que interactua con la webcam usa la librería OpenCV para la obtención y análisis de los fotogramas
que se van capturando con la cámara.

19
Sistema desarrollado
API-NXT

Módulo de comunicaciones Bluetooth

Módulo de control de Direct Commands

Módulo de control de la webcam

20
Características del sistema
Ventajas del sistema con respecto a otro tipo de soluciones

El uso de smartphones para gobernar un robot Lego Mindstorms no es aconsejable dentro de ambientes
académicos por su elevado coste si se compara con el de una Raspberry Pi.

El sensor de colores que posee el NXT permite únicamente detectar objetos de ciertos colores definidos en el
firmware del robot, mientras que con el uso de una webcam USB y se puede detectar cualquier color que

queramos, así como obtener valores de posición y tamaño de los objetos.

La matriz de conectores GPIO que posee la Raspberry Pi permite la posibilidad de conectar cualquier tipo de
dispositivo digital, pudiendo ampliar el abanico de sensores usando, por ejemplo, los disponibles para placas

como Arduino.

21
Resultados
Metas conseguidas con este Proyecto

Se ha aumentado 10 veces la capacidad de cómputo que tenían los usuarios del NXT, pasando de un
microcontrolador ARM7 de 70Mhz a un ARM11 a 700Mhz de la Raspberry Pi.

La cantidad de memoria disponible se ha multiplicado 8192 veces, de 64Kbytes en el robot a 512Mbytes.

Cualquier webcam USB que sea compatible con Raspbian se podrá utilizar en el montaje de este sistema,
reutilizando de esta manera hardware y ahorrandose el coste que supone la adquisición de la cámara oficial que
comercializa Lego (150$).

22
Resultados
Metas conseguidas con este Proyecto

Se ha creado una librería compuesta de tres módulos capaces de manejar los tres tipos de periféricos presentes
en este sistema: webcam, Bluetooth y el propio robot. Además del uso de la matriz GPIO con la API de wiringPi.

Las comunicaciones Bluetooth entre el robot y la Raspberry Pi no penalizan la velocidad del sistema, ya que el
cuello de botella se encuentra en el procesamiento de la imagen por parte de las funciones de OpenCV y de la
velocidad de refresco de la webcam.

Debido a que se quiere liberar a la Raspberry Pi de toda carga de trabajo ajena a la creación y ejecución de
programas que interactuen con el robot, se recomienda que la fase de análisis de los datos recogidos por los
sensores se haga de forma externa, transfiriendo hacia otro ordenador por red los ficheros generados.

23
Resultados
Conclusión final

Incremento en el desarrollo y comercialización de SBCs por parte de diversas compañías tecnológicas.

Expansión de los ordenadores de placa reducida entre usuarios del mundo de la enseñanza.

Aumento del uso de robots en entornos académicos como forma de aprendizaje.

Creciente interés en sistemas de visión por ordenador por parte de la comunidad de desarrolladores.

24
Futuros trabajos
Líneas de mejora del sistema

Desarrollo de todas las funciones que componen la API de NXC.

Creación de una interfaz LCD con botones conectada al puerto GPIO de la Raspberry Pi.

Desarrollo de una aplicación que obtenga los valores de color de un objeto sobre fondo blanco.

Mejora del rendimiento de las funciones de análisis de imagen que implementa el módulo de webcam de la API.

Creación de una interfaz hardware que permita la conexión de sensores del robot NXT al GPIO de la placa.

25

Más contenido relacionado

PDF
Proyecto de Lego NXT
PPTX
Legomindstorms 2
PPTX
Mmbbhj
PPTX
Mmmmmmmmmbniuvi
PDF
Lego NXT
PPTX
Legomindstorms
ODP
Lego mindstorms
Proyecto de Lego NXT
Legomindstorms 2
Mmbbhj
Mmmmmmmmmbniuvi
Lego NXT
Legomindstorms
Lego mindstorms

La actualidad más candente (19)

PPTX
Lego mindstorms nxt
DOCX
Colegio nacional nicolas (reparado)
PPTX
mi resumen
PPTX
presentacion taller 8
PDF
Guia de Usuario Lego NXT
PPTX
Programación robots nxt 2
PPTX
ljmlkbn jklbn .jkbn l.
PPTX
Nxt Y Robotic Studio
PPTX
Colegio nicolás esguerra
PPTX
Colegio nacional nicolas esguerra
PPTX
presentacion lego mindstorms
PPTX
Trabajo
PPTX
TRABAJO DE INFORMATICA
PPTX
Guia de infor 420
PPTX
Lego nxt mindstors
PPTX
colegio nacional nicolás esguerra
PDF
Power point lego mindstorms
Lego mindstorms nxt
Colegio nacional nicolas (reparado)
mi resumen
presentacion taller 8
Guia de Usuario Lego NXT
Programación robots nxt 2
ljmlkbn jklbn .jkbn l.
Nxt Y Robotic Studio
Colegio nicolás esguerra
Colegio nacional nicolas esguerra
presentacion lego mindstorms
Trabajo
TRABAJO DE INFORMATICA
Guia de infor 420
Lego nxt mindstors
colegio nacional nicolás esguerra
Power point lego mindstorms
Publicidad

Similar a Presentacion NXT (20)

PPTX
PROYECTO NXT
PPTX
Historia de la robótica
PPT
Ia Robotica
PPT
Ia Robotica
DOCX
corrección evaluación
PPTX
Trabajo
PPTX
Trabajo
PPTX
Trabajo #1
PPTX
PPTX
hgfschvcfyjhnbfghyjbvf
PPTX
PPTX
Colegio nacional nicolas esguerra
PPTX
Bienvenido a lego® mindstorms® education
PPTX
Historia de la robótica
DOCX
Corrección de la evaluación de informática 2 periodo
DOCX
Colegio nacional nicolas esguerr3
DOCX
Colegio nacional nicolas esguerr3
PROYECTO NXT
Historia de la robótica
Ia Robotica
Ia Robotica
corrección evaluación
Trabajo
Trabajo
Trabajo #1
hgfschvcfyjhnbfghyjbvf
Colegio nacional nicolas esguerra
Bienvenido a lego® mindstorms® education
Historia de la robótica
Corrección de la evaluación de informática 2 periodo
Colegio nacional nicolas esguerr3
Colegio nacional nicolas esguerr3
Publicidad

Último (20)

PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
modulo seguimiento 1 para iniciantes del
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
Curso de generación de energía mediante sistemas solares
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Presentación de Redes de Datos modelo osi
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
MANUAL de recursos humanos para ODOO.pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Guía 5. Test de orientación Vocacional 2.docx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
modulo seguimiento 1 para iniciantes del
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Curso de generación de energía mediante sistemas solares
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Presentación de Redes de Datos modelo osi
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Mecanismos-de-Propagacion de ondas electromagneticas
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Historia Inteligencia Artificial Ana Romero.pptx
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Presentacion de Alba Curso Auditores Internos ISO 19011

Presentacion NXT

  • 1. Ampliación de la capacidad de procesamiento del robot Lego Mindstorms NXT con una Raspberry Pi Víctor Manuel Rojas Nóbrega Juan Antonio Fernández Madrigal Ana María Cruz Martín Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga 14 de febrero de 2014 1
  • 2. Índice 1. Conceptos 2. Elementos involucrados en el sistema 3. Objetivos 4. Trabajos relacionados 5. Sistema desarrollado 6. Características del sistema 7. Resultados 8. Futuros trabajos 2
  • 3. Conceptos Robótica educativa ¿Qué es la robótica educativa? Conjunto de actividades pedagógicas que apoyan y fortalecen áreas específicas del conocimiento y desarrollan competencias en el alumno, a través de la concepción, creación, ensamble y puesta en funcionamiento de robots. Sus principales objetivos son: La actividad de los estudiantes. La integración de distintas áreas del conocimiento. La observación y exploración de los problemas. 3
  • 4. Conceptos Single Board Computer ¿Qué es un Single Board Computer? Un ordenador de placa reducida (en inglés: Single Board Computer o SBC) es un ordenador completo en un sólo circuito. Sus principales características son: Tamaño reducido. Uso en entornos industriales o de desarrollo. Económico. 4
  • 5. Elementos del sistema Lego Mindstorms NXT El robot Lego Mindstorms NXT es uno de los kits de aprendizaje más usados en todo el mundo. Está compuesto por una serie de sensores (distancia, luz, sonido, etc.) que interactúan con el medio por el que circula movido por sus motores, todo ello conectado y controlado por un ladrillo central que contiene un microcontrolador. La forma de interactuar con el robot puede ser a través de un programa cargado previamente por USB en la memoria del ladrillo o mandándole órdenes vía Bluetooth mediante el protocolo Direct Commands. Robot Lego Mindstorms NXT 5
  • 6. Elementos del sistema Raspberry Pi La Raspberry Pi es un SBC de bajo coste diseñado para estimular la enseñanza de la computación en las escuelas de todo el mundo. Posee conectores USB, Ethernet, HDMI, GPIO, MIPI CSI, salida audio de 3.5 mm y de vídeo RCA. Se alimenta mediante micro USB. Usa el sistema operativo Raspbian. 6
  • 7. Objetivos Aumentar la capacidad de cómputo y añadir sensor de visión ¿Qué problema se quiere resolver? Las limitaciones que posee el robot Lego Mindstorms NXT con respecto a su capacidad de cómputo, memoria y sensores. Las limitaciones que tiene el robot en estos ámbitos son: Un microcontrolador ARM7 a 70Mhz. Una memoria de 64KBytes de capacidad. Sensor de colores predefinidos. 7
  • 8. Trabajos relacionados Aumentar la capacidad de cómputo y añadir sensor de visión ¿Como lo resuelven otros? Interactuando con el robot mediante dispositivos externos que cargan con todo el trabajo de cómputo, delegando en el NXT comandos que únicamente interactuen con el firmware. Unos ejemplos de soluciones propuestas por la comunidad de desarrolladores son: Mover el robot con un mando de la consola Wii. Controlarlo usando un smartphone y su cámara. Mandar órdenes con el NXT usando Python y una Raspberry Pi. 8
  • 9. Trabajos relacionados Controlar el NXT usando un Wiimote y un ordenador 9
  • 10. Trabajos relacionados Resolver un cubo de Rubik usando un smartphone y 4 ladrillos NXT 10
  • 11. Trabajos relacionados Enviar órdenes al robot con una Raspberry Pi conectada por USB usando Python 11
  • 12. Sistema desarrollado Descripción del sistema ¿Como lo resolvemos nosotros? Conectándo una webcam a la Raspberry Pi y dejándole todo el trabajo de cómputo, convirtiendo al robot en un mero intérprete de comandos que le llegan vía Bluetooth. El sistema se compone de: Una placa Raspberry Pi. Un robot Lego Mindstorms NXT. Una webcam USB. Un adaptador Bluetooth USB. 12
  • 13. Sistema desarrollado Descripción del sistema Para controlar todos los elementos que componen el sistema, se ha desarrollado una API (escrita en C) que abstrae al usuario de todas las operaciones y protocolos de comunicación entre los periféricos. Esta API se compone de 3 módulos que controlan todas las partes implicadas del sistema: NXTbt – Módulo de comunicación Bluetooth entre la Raspberry Pi y el robot. NXTdc – Módulo que recoge la funcionalidad completa del NXT. NXTwc – Módulo que interactúa con la webcam. El módulo de los Direct Commands mantiene la misma sintáxis de las funciones que las del lenguaje NXC. 13
  • 14. Sistema desarrollado Funcionamiento del sistema El carácter autónomo de los programas que se van a ejecutar sobre la Raspberry Pi hace que tengan que lanzarse cuando el sistema se está iniciando, de forma que el robot pueda moverse libremente por el escenario del experimento, sin necesidad de una conexión a un monitor y teclado, únicamente con el cable micro USB de alimentación de la placa. Al no existir un grupo de comandos firmware que controlen la pantalla LCD del robot, se ha optado por conectar un diodo LED a la Raspberry Pi, de forma que se pueda saber cuando empieza y termina la ejecución de los programas en el start-up del sistema. La transferencia de ficheros entre la Raspberry Pi y el ordenador donde se quieran llevar a cabo los análisis de resultados, se puede realizar mediante la conexión directa por cable de red y usando un programa como PuTTY. 14
  • 16. Sistema desarrollado Lego Mindstorms NXT Este Proyecto no cambia la configuración del robot que se usa en el Departamento de Ingeniería de Sistemas y Automática de la Universidad de Málaga. Debe tener conectados los siguientes sensores sensores: Sensor de distancia. Sensor de luz. Sensor de sonido. Configuración del robot Lego Mindstorms NXT 16
  • 17. Sistema desarrollado Raspberry Pi La Raspberry Pi usada en este Proyecto Fin de Carrera pertence al modelo B que posee únicamente dos puetos USB, por lo que es necesario conectar y desconectar el teclado cada vez que se quiera reprogramar la placa. Se conectan a la placa los siguientes elementos: Webcam USB. Adaptador Bluetooth USB. Diodo LED en el puerto 11 de GPIO. Elementos conectados a la Raspberry Pi 17
  • 18. Sistema desarrollado Montaje del sistema El primer paso es colocar la Raspberry Pi en el sitio donde menos pueda interferir con las lecturas del sensor de distancia debido a su tamaño: en la parte posterior del robot. Finalmente se coloca la webcam en la parte libre del robot que esté más cerca del suelo, para poder detectar objetos que estén muy cerca. Aspecto final del sistema completo 18
  • 19. Sistema desarrollado API-NXT La creación de los programas que usan la API-NXT del Proyecto se realiza usando el editor de texto Nano que incorpora el sistema operativo Raspbian de la Raspberry Pi. La compilación se produce a través del front-end para C del compilador gcc. Las funciones de comunicación Bluetooth usan la librería BlueZ, que se ocupa de la creación y cierre del socket de transmisión de mensajes. El encendido y apagado del LED se realiza usando la librería wiringPi, encargada del manejo de la matriz de puertos GPIO de la Raspberry Pi. El módulo que interactua con la webcam usa la librería OpenCV para la obtención y análisis de los fotogramas que se van capturando con la cámara. 19
  • 20. Sistema desarrollado API-NXT Módulo de comunicaciones Bluetooth Módulo de control de Direct Commands Módulo de control de la webcam 20
  • 21. Características del sistema Ventajas del sistema con respecto a otro tipo de soluciones El uso de smartphones para gobernar un robot Lego Mindstorms no es aconsejable dentro de ambientes académicos por su elevado coste si se compara con el de una Raspberry Pi. El sensor de colores que posee el NXT permite únicamente detectar objetos de ciertos colores definidos en el firmware del robot, mientras que con el uso de una webcam USB y se puede detectar cualquier color que queramos, así como obtener valores de posición y tamaño de los objetos. La matriz de conectores GPIO que posee la Raspberry Pi permite la posibilidad de conectar cualquier tipo de dispositivo digital, pudiendo ampliar el abanico de sensores usando, por ejemplo, los disponibles para placas como Arduino. 21
  • 22. Resultados Metas conseguidas con este Proyecto Se ha aumentado 10 veces la capacidad de cómputo que tenían los usuarios del NXT, pasando de un microcontrolador ARM7 de 70Mhz a un ARM11 a 700Mhz de la Raspberry Pi. La cantidad de memoria disponible se ha multiplicado 8192 veces, de 64Kbytes en el robot a 512Mbytes. Cualquier webcam USB que sea compatible con Raspbian se podrá utilizar en el montaje de este sistema, reutilizando de esta manera hardware y ahorrandose el coste que supone la adquisición de la cámara oficial que comercializa Lego (150$). 22
  • 23. Resultados Metas conseguidas con este Proyecto Se ha creado una librería compuesta de tres módulos capaces de manejar los tres tipos de periféricos presentes en este sistema: webcam, Bluetooth y el propio robot. Además del uso de la matriz GPIO con la API de wiringPi. Las comunicaciones Bluetooth entre el robot y la Raspberry Pi no penalizan la velocidad del sistema, ya que el cuello de botella se encuentra en el procesamiento de la imagen por parte de las funciones de OpenCV y de la velocidad de refresco de la webcam. Debido a que se quiere liberar a la Raspberry Pi de toda carga de trabajo ajena a la creación y ejecución de programas que interactuen con el robot, se recomienda que la fase de análisis de los datos recogidos por los sensores se haga de forma externa, transfiriendo hacia otro ordenador por red los ficheros generados. 23
  • 24. Resultados Conclusión final Incremento en el desarrollo y comercialización de SBCs por parte de diversas compañías tecnológicas. Expansión de los ordenadores de placa reducida entre usuarios del mundo de la enseñanza. Aumento del uso de robots en entornos académicos como forma de aprendizaje. Creciente interés en sistemas de visión por ordenador por parte de la comunidad de desarrolladores. 24
  • 25. Futuros trabajos Líneas de mejora del sistema Desarrollo de todas las funciones que componen la API de NXC. Creación de una interfaz LCD con botones conectada al puerto GPIO de la Raspberry Pi. Desarrollo de una aplicación que obtenga los valores de color de un objeto sobre fondo blanco. Mejora del rendimiento de las funciones de análisis de imagen que implementa el módulo de webcam de la API. Creación de una interfaz hardware que permita la conexión de sensores del robot NXT al GPIO de la placa. 25