11.05.2013 Views

Programación y control Micro robots - Complubot

Programación y control Micro robots - Complubot

Programación y control Micro robots - Complubot

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

INTRODUCCIÓN A LA MICROROBÓTICA<br />

- SOFTWARE PARA ROBÓTICA<br />

EDUCATIVA -<br />

Nerea de la Riva<br />

Nov. 2007<br />

COMPLUBOT – C.P. Miguel Hernández – Alcalá de Henares – Madrid – Spain<br />

complubot@gmail.com


LA PROGRAMACIÓN COMO<br />

EXPERIENCIA CREATIVA<br />

• Resolver retos e imaginar soluciones como<br />

excusa para el aprendizaje.<br />

• La posibilidad de <strong>control</strong>ar le entorno, más allá<br />

de los límites físicos del ordenador (PC), abre<br />

un enorme campo de trabajo.<br />

• Más que impartir una disciplina de aprendizaje<br />

se trata de propiciar un ambiente donde el<br />

alumno explore y aprenda de sus propias<br />

experiencias.<br />

www.complubot.org<br />

complubot@gmail.com


APRENDIENDO A PROGRAMAR LOGO<br />

www.complubot.org<br />

complubot@gmail.com<br />

• Diseñado originalmente para<br />

enseñar matemáticas y geometría a<br />

los niños.<br />

• LOGO es un lenguaje de<br />

programación derivado del LISP<br />

(Inteligencia Artificial).<br />

• LOGO es un lenguaje para aprender, donde el alumno:<br />

• Asume el papel del profesor y aprende de si mismo<br />

• Se comunica con el ordenador con un lenguaje natural<br />

• Aprende de forma sencilla conceptos como el de función,<br />

iteración (bucle), estructuración (dividir el programa en<br />

trozos pequeños)...


www.complubot.org<br />

complubot@gmail.com<br />

Robolab<br />

• Si no se es muy ordenado<br />

(estructurado) se puede complicar<br />

mucho en programas grandes<br />

• En nuestro aula actualmente lo<br />

utilizan niños de ocho a diez años.<br />

• Entorno de programación gráfico<br />

basado en LabVIEW.<br />

• Multitarea (hasta 10 tareas).<br />

• Permite realizar programas<br />

sencillos de una forma muy rápida.


Robolab 2.9 (RCX y NXT)<br />

www.complubot.org<br />

complubot@gmail.com<br />

• Incorpora sus propias<br />

versiones de firmware<br />

para el RCX y NXT.<br />

• Actualmente es la<br />

herramienta gráfica más<br />

potente tanto para el RCX<br />

como el NXT.<br />

• Soporta todos los sensores de LEGO (nuevos y antiguos),<br />

así como sensores de otros fabricantes.<br />

• Mejora mucho el manejo de tareas.<br />

• Incluye nuevas prestaciones: Control proporcional,<br />

operaciones en coma flotante...


NQC y NXC<br />

• NQC (para RCX) y NXC (para NXT) son lenguajes de<br />

programación, basado en texto con una sintaxis muy<br />

similar al C.<br />

• Funcionan en MODO CONSOLA en windows, linux y<br />

MacOS.<br />

• BricxCC es un entorno<br />

de desarrollo<br />

(Windows) que nos<br />

permite trabajar con<br />

toda comodidad con<br />

ellos.<br />

www.complubot.org<br />

complubot@gmail.com


Al carecer de firmware<br />

(interprete) es mucho<br />

más rápido y eficaz.<br />

Al igual que en el caso<br />

del NQC y NXC, con<br />

BrickOS podemos usar<br />

el entorno BricxCC para<br />

compilar y descargar<br />

programas.<br />

www.complubot.org<br />

complubot@gmail.com<br />

BrickOS<br />

Es un sistema operativo que reside en el propio<br />

RCX. Se puede programar en C o C++.


www.complubot.org<br />

complubot@gmail.com<br />

NXT (El lenguaje)<br />

• La herramienta se llama<br />

“Lego Mindstorms NXT”<br />

permite de forma rápida<br />

y sencilla programar los<br />

montajes con el NXT.<br />

• <strong>Programación</strong> sencilla y<br />

muy vistosa.<br />

• Para ejercicios sencillos resulta fácil.<br />

• En ejercicios más complejos se pierde la sencillez<br />

y la claridad.


www.complubot.org<br />

complubot@gmail.com<br />

ROBOT C<br />

• Es una plataforma común para<br />

programar el RCX y el NXT.<br />

• Permite programar en un C<br />

mucho más potente que el NQC.<br />

• Utiliza un firmware propio<br />

(máquina de estados) mucho<br />

más potente que las versiones<br />

originales.<br />

• Incluye herramientas de<br />

depuración (puerto USB).<br />

• Es en la actualidad la<br />

herramienta más potente para<br />

programar tanto el RCX como el<br />

NXT.


www.complubot.org<br />

complubot@gmail.com<br />

PICAXE<br />

• Es un entorno que sólo funciona en el<br />

sistema operativo Windows.<br />

• Nos permite programar<br />

micro<strong>control</strong>adores PICAXE mediante<br />

un lenguaje de texto (similar al BASIC) o<br />

mediante una herramienta gráfica del<br />

tipo "Diagrama de flujo".<br />

El entorno de trabajo<br />

dispone de un<br />

simulador y de un<br />

depurador integrado.


www.complubot.org<br />

complubot@gmail.com<br />

ARDUINO<br />

• Posee un entorno de trabajo<br />

(desarrollado en Java) que<br />

funciona en múltiples plataformas:<br />

windows, linux, MacOS.<br />

• El lenguaje de programación<br />

usado esta basado en Wiring:<br />

sintaxis muy parecida al C y muy<br />

orientado al <strong>control</strong> del hardware.


www.complubot.org<br />

complubot@gmail.com<br />

C SOBRE dsPIC<br />

• Usamos la placa ALCAdsPIC (desarrollada<br />

por el Departamento de Electrónica de la<br />

UAH<br />

• La programamos directamente (sin<br />

Sistema Operativo) en C usando librerías<br />

para el <strong>control</strong> de los periféricos.<br />

• Como entorno de desarrollo usamos el<br />

MPLAB y el ICD2 como herramienta de<br />

descarga y depuración.


FIRMWARE vs. SISTEMA OPERATIVO<br />

FIRMWARE<br />

(máquina virtual)<br />

• Interpreta los “Bytes<br />

Codes” generados por la<br />

herramienta de<br />

programación.<br />

Ventajas<br />

• Proporciona estabilidad y<br />

portabilidad.<br />

Inconvenientes<br />

• Perdida de velocidad de<br />

ejecución (eficacia).<br />

www.complubot.org<br />

complubot@gmail.com<br />

SISTEMA OPERATIVO<br />

• Ejecuta directamente el<br />

código generado por la<br />

herramienta de<br />

programación.<br />

• En ocasiones el “S.O.”<br />

puede ser tan sencillo como<br />

una librería de funciones.<br />

Ventajas<br />

• Mayor potencia<br />

Inconvenientes<br />

• Disminuye la estabilidad.


www.complubot.org<br />

complubot@gmail.com<br />

CONCLUSIONES<br />

• La programación de <strong>robots</strong> es una estupenda excusa<br />

para fomentar el interés por el aprendizaje entre los<br />

estudiantes.<br />

• Hay una gran variedad de herramientas, tanto en<br />

modo gráfico como en modo texto, que nos permitirán<br />

realizar una gran variedad de aplicaciones para<br />

nuestros <strong>robots</strong>.<br />

• El software es un elemento importante en el mundo<br />

de la robótica, pero no es el único aspecto a tener en<br />

cuenta.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!