Sunteți pe pagina 1din 21

Universidad de Salamanca

Departamento de Informática y Automática

Entorno de Desarrollo
para
Robots
realizada
Articulo reaizado por:

Santo Leonardo Ramos Medina


Octubre del 2010
Palabras Clave

IDE, Robot, RoboMind, Robolab, C Sharp, Desarrollo Aplicaciones,


MSRS, RealTerm

Resumen

Para los humanos la idea de crear seres similares y que pueda realizar
las tareas repetitivas por si solas, ha estado presente en la mente desde
hace mucho tiempo. Y este deseo es el que ha dado origen a la robótica.
En este artículo analizaremos la evolución de las herramientas de desa-
rrollo de aplicaciones para robots, las cuales sin duda esta propiciando
un aumento en el número de adeptos al estudio y desarrollo de estos
entornos. Haremos mucho énfasis en las características de que diferen-
cian a los entornos actuales. Además, de cuales son las áreas a las que
están dirigidas las mismas. Por otro, lado intentaremos idealizar cual es
la tendencia de la industria en este campo de la ciencia.

1
Abstract

For the mankind the idea of create similar beens who can realized
repetitivities taskes by their own, has been present in his mind for such
a long time. This desire has been the one who give birth to robotic. In
this article we are going to analize the evolution of the develop tools for
robots aplicaccions, the ones that with out a doubt have been raising the
quantity of supporters in the studies and the develop in this arounds. We
are going to emphasizes the most on the characteristics that dierences
the current arounds. Besides of wich are the areas how are directed to the
same. Other wise, we are tring to idealize wich is the industry tendency
in this eld of science.

2
Índice general

1. Introducción 5

2. Evolución de los lenguajes de Programación para Robots 6

3. La actualidad de los Entornos de Desarrollo (IDE) de


Robótica 9

3.1. RealTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2. C Sharp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3. RoboMind . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4. Webots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.5. RoboLab 2.9 . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.6. LabView Robotics . . . . . . . . . . . . . . . . . . . . . . 13

3.7. Microsoft Visual Robotics Studio 2008 . . . . . . . . . . . 13

4. Experimento 14

5. Conclusiones 15

A. Consultas 17

3
Índice de tablas

5.1. Tabla Comparativa de Entornos . . . . . . . . . . . . . . . 16

Índice de guras

3.1. Patalla de RealTerm . . . . . . . . . . . . . . . . . . . . . 10


3.2. Robot Autónomos con C# . . . . . . . . . . . . . . . . . 11
3.3. RoboMind 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4. Webots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4
Capítulo 1

Introducción

El desarrollo de aplicaciones para robots ha dejado de ser una tarea


exclusiva de los electrónicos y ha pasado a ser una parte compartida por
estudiantes, docentes y acionados a la robótica.
Y sin dura el hecho que mas a favorecido el uso en otras áreas del
desarrollo de aplicaciones son 2 factores, uno es la exibilización de los
IDE de desarrollo y otro es la independencia del hardware con relación al
software, esto ultimo, es que no es necesario un conocimiento exhaustivo
de robótica en general o de un robot en especico para poder desarrollar
aplicaciones para la industria de la robótica. Además, con las actuales he-
rramientas de virtualización no necesario tener el hardware para probar
las aplicaciones, como ocurría al principio.
Este ultimo punto es el que sirve de base para el desarrollo del ar-
ticulo, en el cual se presenta la panorámica mas o menos general, de la
situación actual de los entorno de desarrollo y de los benecio que ofrecen
para las aplicación robóticas.

5
Capítulo 2

Evolución de los lenguajes de


Programación para Robots

Los lenguajes de programación son el principal escollo que han tenido


los IDE de desarrollo robotizo, los mismo en sus orígenes era creados
para hardware especícos, lo que limitaba su uso. Además de que en
los orígenes de la robótica y la programación no existían herramientas
y técnicas como la comunicación asíncrona y computación con alto per-
formace, que permitieran la ejecución de entornos virtuales. Además de
que la comunicación no había sido estandarizada. Estandarización que
ha permitido una independencia entre los desarrollo de hardware y de
software. Así como también un desarrollo súbito de entornos de fácil
manejo y con una amplia gama de funciones y de medios de aplicación.
A modo de referencia, solo mencionaremos algunos de los lenguajes
de programación que has sido desarrollado para la comunicación con
robot, los cuales se encuentran en desuso por la poca versatilidad que
ofrecieron y por la limitante a nivel de hardware que presentaban.
Los primeros lenguajes de programación de robots era orientados a
las tareas que podía realizar el robot, las razones ya la hemos trata-
do anteriormente. Esto permite su clasicación que 3 grandes grupo:
Por los movimientos a realizar, Empleo de programación explicita, Re-
conocimiento de Objetos, y los basados en objetivos especícos.

6
7

Listado de los Lenguajes Basados en Movimientos

1. ANORAD: Se trata de una transformación de un lenguaje de


control numérico de la casa ANORAD CORPORATION, utilizado
para robot ANOMATIC.
2. EMILY: Es un lenguaje creado por IBM para el control de uno
de sus robots.
3. SIGLA: Desarrollado por OLIVETTI para su robot SUPER SIG-
MA, emplea un mini-ordenador con 8 K de memoria. Escrito en
Ensamblador, es del tipo intérprete.
4. RCL: Aplicado al robot PACS y desarrollado por RPI, emplea,
como CPU, un PDP 11/03. Es del tipo intérprete y está escrito en
Ensamblador.
5. RPL: Se diferencia de los otros, por tener un complilador.
6. VAL: Fue diseñado por UNIMATION INC para sus robots UNI-
MATE y PUMA. Emplea, como CPU, un LSI-II, que se comunica
con procesadores individuales que regulan el servocontrol de cada
articulación.
7. MAL: Se trata de una transformación de un lenguaje de con-
trol numérico de la casa ANORAD CORPORATIOSe ha creado
en el Politécnico de Milán para el robot SIGMA, con un Mini-
multiprocesador. Es un lenguaje del tipo intérprete, escrito en
FORTRAN.

Listado de Lenguajes de Programación Explicita

1. AL:Fue diseñado por el laboratorio de Inteligencia Articial de la


Universidad de Stanford, con estructuras de bloques y de control
similares al ALGOL, lenguaje en el que se escribió.
2. HELP:Creado por GENERAL ELECTRIC para su robot ALLE-
GRO y escrito en PASCAL/FORTRAN, permite el movimiento
simultáneo de varios brazos.
3. MAPLE:Escrito, como intérprete, en lenguaje PL-1, por IBM
para el robot de la misma empresa, tiene capacidad para sopor-
tar informaciones de sensores externos.
8 2. 1

4. PAL:Desarrollado por la Universidad de Purdure para el manip-


ulador de Stanford, es un intérprete escrito en FORTRAN y En-
samblador, capaz de aceptar sensores de fuerza y de visión.

5. MCL:Creado por MC DONALL DOUGLAS, como ampliación de


su lenguaje de control numérico APT.

6. MAL EXTENDIDO:Procede del Politécnico de Milán, al igual


que el MAL, al que incorpora elementos de programación estruc-
turada que lo potencian notablemente. Se aplica, también, al robot
SIGMA.

Listado de Lenguajes de Reconocimiento de Objeto

1. RAPT:Su losofía se basa en denir una serie de planos, cilindros


y esferas, que dan lugar a otros cuerpos derivados. Para mode-
lar a un cuerpo, se confecciona una biblioteca con sus rasgos más
representativos.

2. AUTOPASS:Creado por IBM para el ensamblaje de piezas; uti-


liza instrucciones, muy comunes, en el idioma inglés.

3. LAMA:Procede del laboratorio de Inteligencia Articial del MIT,


para el robot SILVER, orientándose hacia el ajuste de conjuntos
mecánicos.

Listado de Lenguajes para Realizar Objetivos

1. STRIPS:Fue diseñado, en la Universidad de Stanford, para el


robot móvil SHAKEY.

2. HILAIRE:Procedente del laboratorio de Automática Y Análisis


de Sistemas (LAAS) de Toulouse, está escrito en lenguaje LISP.
Capítulo 3

La actualidad de los Entornos


de Desarrollo (IDE) de
Robótica

De acuerdo a Terrence W. Pratt para un lenguaje considerarse ideal


deberia poseer las siguientes carateristicas:

1. Claridad y sencillez.

2. Claridad de la estructura del programa.

3. Sencillez de aplicación.

4. Facilidad de ampliación.

5. Facilidad de corrección y mantenimiento.

6. Ecacia.

Y para adquirir un caracter universal en robótica debería de contar


con algunas características adicionales.

Portable.

Características de Adaptabilidad o adición de características.

9
10 3. 1

Extensible.

Capacidad de interactuar con otros sistemas.

3.1. RealTerm

Este software nos va permitir la conexión de la computadora mediante


el puerto serial. Realterm terminal es un programa especialmente diseña-
do para capturar, controlar y depurar y enviar datos. Su funcionamiento
es más provechoso para la depuración de comunicaciones HyperTerminal.
[1]

Figura 3.1: Figura NO Ventana de RealTerm.

3.2. C Sharp

Utilizando este lenguaje de programación se pueden crear aplicación


robóticas para una gran variedad de hardware, este es el lenguaje que mas
anidad guarda con MSRS, pero esta relación no limita a C# a un lugar
secundario con relación al entorno de desarrollo visual de Microsoft. Por
el contrario, es un de los que mas provechosa al .Net Framework. Con este
entorno de desarrollo se pueden además utilizar los demás componentes
propietarios de los creadores de Hardware roboticos y que con liberado
con la ngida de felicitar el desarrollo de aplicaciones.
Entre las herramientas que se pueden utilizar con este lenguaje de
programación se encuentran el Framework SCI, para la administración
3.2. 1 11

del robot Roomba (equivalente a Roombacomm, para Java), el RCX para


el desarrollo de aplicaciones para Mindstorm de Lego.

Figura 3.2: Pantalla Practica Robot Autónomos con C Sharp.


12 3. 1

3.3. RoboMind

Este es un entorno de desarrollo muy simple, con un entorno virtual


de prueba simultáneo. Su lenguaje de programación propio cuya sintaxis
es muy parecida a la de Java, pero con una ejecución lineal. Es excelente
para la enseñanza.

Figura 3.3: RoboMind 2.2

3.4. Webots

Aplicación comercial con interfaz muy parecida a la de RoboMind,


con un entorno basado en C++. Permite desarrollar aicciones para
entornos sumamente complejas.

Figura 3.4: Webots


3.5. 1 13

3.5. RoboLab 2.9

Es un entorno de desarrollo para los robots de Lego. Actualmente se


encuentra en la versión 2.9. El desarrollo basado en guras o iconos lo
ha hecho muy popular en los entornos académicos de diversos grados.

3.6. LabView Robotics

El nuevo Módulo LabVIEW Robotics incluye todas las herramientas


de software necesarias para diseñar un sistema sosticado autónomas o
semiautónomas. Los robots son los sistemas mecatrónicos muy comple-
jo, por lo que para simplicar, podemos aplicar un paradigma simple -
sentido, pensar, actuar. El mismo es desarrollado y comercializado por
Nacional Instruments.

3.7. Microsoft Visual Robotics Studio 2008

Anteriormente conocido como Robotics Studio, es el entorno gratuito


mas completo hasta el momento. Este es desarrollado por una de las em-
presas de desarrollo de software más importantes, además de que cuenta
con el apoyo de importantes empresas dedicadas al desarrollo de robots,
entre las que se encuentran iRobot y Lego.
Este posee un entorno de desarrollo basado en VPL (Visual Program-
ming Languaje). Este IDE a sido desarrollado con el Framework .Net, lo
que lo hace sumamente versátil a la horas de programar por la amplia
variedad de lenguaje de programación que pueden ser utilizados, entre
estos actualmente se encuentran C#, Visual Basic.Net, IronPyton y to-
dos aquellos compartibles con el CLR (Common Lenguaje Runtime). Por
otro lado, posee un entorno virtual de prueba para la vericación de los
desarrollo sin necesidad de tener el hardware.
Este entorno de desarrollo puede ser utilizado para el ambiente académi-
cos, profesiones o amantes e la robótica y del desarrollo de aplicaciones.
Capítulo 4

Experimento

Veamos un ejemplo abstracción del hardware y el software demostran-


do como de determinaba la distancia recorrida por un robot. Empleado
la formula de calculo de la misma y como se realiza con los actuales IDE
de desarrollo.

N +n 0,1013(N −n)2
L = 2C + 2 + 4C

Figura 2. Ejemplo

C es igual al eje de distancias en el centro de lanzamientos, L es la


longitud de la cadena de lanzamientos, N es el núumero de dientes del
piñon más grande, y n es el número de dientes de la piñon máas pequeño.

14
Capítulo 5

Conclusiones

Como resultado del análisis realizado a los Entornos de desarrollo


de aplicaciones para robótica, hemos constatado, cada vez más la ori-
entación hacia la programación visual, lo que facilita la programación y
comprensión de los programas.
Esta tendencia ha provocado que el desarrollo de aicciones para
robot deje de ser una tarea para los ingenieros en electrónica. Y esto ha
causado que cada vez más los estudiantes, docentes y desarrolladores de
aplicaciones regulares se interesen más por el desarrollo de aplicaciones
para la robótica.
Hay que dejar claro que lo que intentamos en este articulo no es
demostrar cual de los entornos es el mejor, pues todos tienen ventajas
y desventajas, lo que deseamos es plantear una panorámica de cual es
la orientación actual de los IDE de desarrollo de aplicaciones para la
robótica y intentar clasicar cual es el entorno mas idóneo para cada
IDE de desarrollo.
De todos los entornos analizados MSRS (Microsoft Visual Robotics
Studio) es el más completo. No solo que por la interfaz que para desa-
rrollo posee, si no, también cuenta con la mayor variedad de lenguajes
de programación. Entre los que se pueden desatacar C Sharp, Visual
Basic.Net, IronPyton.
Esta última deliberación no lleva a otra tendencia de la industria de
la robótica, y que es que los desarrolladores de Hardware liberen librerías,
componentes y ActiveX para el desarrollo de aplicaciones que manejen

15
16 5. 1

Entorno Orientacion Caracteristicas


Realterm Academica / Industrial Comunicacion Basada en comando
C Academica / Industrial IDE Visual, EVP del MSRS
RoboMind Academica / Industrial Lenguaje propio, EVP
Webots Lenguaje C++, EVP
RoboLab Academica / Entretenimiento Lenguaje Visual
MSRS Academica / Industrial VPL, EVP, Mult. Lenguajes

Tabla: 5.1: Tabla Comparativa de Entornos.

sus robots.
Como reexión nal, se puede decir que la estandarización de los
protocolos de comunicación con los robots, ha logrado una mayor inde-
pendencia del software con el hardware, puesto que con un mismo IDE de
desarrollo se puede crear aplicación para diferentes hardwares (robots).
Apéndice A

Consultas

1. ActiveX: empresas y/o software para recuperar información de


un disco duro.
2. C: (pronunciado si sharp en inglés) es un lenguaje de programación
orientado a objetos desarrollado y estandarizado por Microsoft co-
mo parte de su plataforma .NET, que después fue aprobado como
un estándar por la ECMA e ISO.
3. Common Languajes Runtime (CLR):(Lenguaje común en tiem-
po de ejecución) es el componente de máquina virtual de la platafor-
ma .Net de Microsoft.
4. Entorno Virtual de Prueba (EVP): formación brecha rolando
5. IDE: es un entorno de programación que ha sido empaquetado
como un programa de aplicación, es decir, consiste en un editor de
código, un compilador, un depurador y un constructor de interfaz
gráca (GUI).
6. Interfaz: es la conexión entre dos ordenadores o máquinas de
cualquier tipo dando una comunicación entre distintos niveles.
7. iRobots: iRobot Corporation, con base en Burlington, Massachusetts,
es una corporación privada dedicada al diseño de dispositivos robóti-
cos para empresas, hogares e instituciones. Sus fundadores son
Rodney Brooks, Colin Angle y Helen Griener, que trabajaron en
el laboratorio de inteligencia articial del MIT. El producto más
conocido de iRobot es Roomba, un aspirador doméstico robótico.

17
18 A. 1

8. IronPyton: es una implementación del intérprete Python (CPython)


escrita totalmente en C Sharp. El proyecto trata de seguir al pie de
la letra el lenguaje Python, como implementación de Python que
es.

9. Lego: es un juego de robótica para niños fabricado por la empresa


Lego, el cual posee elementos básicos de las teorías robóticas, como
la unión de piezas y la programación de acciones, en forma interac-
tiva. Este robot fue comercializado por primera vez en septiembre
de 1998.

10. Librería: es un conjunto de recursos (algoritmos) prefabricados,


que pueden ser utilizados por el programador para realizar deter-
minadas operaciones

11. MSRS: es un entorno basado en Windows para el control de


robótico y la simulación.

12. Robot: es una entidad virtual o mecánica articial. En la práctica,


esto es por lo general un sistema electromecánico que, por su apari-
encia o sus movimientos, ofrece la sensación de tener un propósito
propio. La palabra robot puede referirse tanto a mecanismos físicos
como a sistemas virtuales de software, aunque suele aludirse a los
segundos con el término de bots.

13. Visual Basic.NET (VB.Net): es un lenguaje de programación


orientado a objetos que se puede considerar una evolución de Visual
Basic implementada sobre el framework .NET.

14. Visual Programming Langueajes (VPL): formación brecha


rolando.
Bibliografía

[1] Smith Arauco Canchumuni / Keitel Cervantes Salguero / Jacinto


Enrique Colan Zaita / Juan Luis Pena Wagner. Introduc-
ción al iRobot Create. Universidad Nacional de Ingenieria,
http://www.wiphala.net/courses/intelligents ystems/ST 414/2009 −
II/irobot/irobotc reate.pdf, 102008. P gina14, Seccion :
2,2,2.Realterm.

19

S-ar putea să vă placă și