Programación y control Micro robots - Complubot
Programación y control Micro robots - Complubot
Programación y control Micro robots - Complubot
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.