Está en la página 1de 27

SIMULADORES EN ROBÓTICA

Trabajo realizado para la asignatura de Introducción al Diseño


de Microrrobots Móviles de la Universidad de Alcalá

Integrantes:
Elena Rodrigo López sendra_rock@hotmail.com
Javier Puertas Torres jpt_javier@hotmail.com
Diego López García diego.lgdm@gmail.com
Ramón García Olivares nagash__@hotmail.com
Francisco Javier Fernández Gallardo fran_laiguana@hotmail.com
Oscar Yago Corral oscar.yago@gmail.com
Guillermo Asín Prieto guillermo.asin.prieto@gmail.com
Esther Samper Domeque esamper_18@hotmail.com

Diciembre de 2007
1
ÍNDICE

1. INTRODUCCIÓN.............................................................3
2. PLAYER & STAGE & GAZEBO..................................5
PLAYER.............................................................................................................................................. 5
STAGE................................................................................................................................................. 6
GAZEBO ............................................................................................................................................. 6
Ventajas e inconvenientes: .................................................................................................. 7
REFERENCIAS ...................................................................................................................................... 7

3. MICROSOFT ROBOTICS STUDIO ..............................9


Ventajas e inconvenientes: ................................................................................................ 11
REFERENCIAS .................................................................................................................................... 12

4. MARILOU ROBOTICS STUDIO .................................13


Ventajas e inconvenientes: ................................................................................................ 15
REFERENCIAS .................................................................................................................................... 15

5. ROBOWORKS................................................................16
Ventajas e inconvenientes:.................................................................................................. 16
REFERENCIAS .................................................................................................................................... 17

6. WEBOTS .........................................................................18
Ventajas e inconvenientes: ................................................................................................ 18
REFERENCIAS .................................................................................................................................... 19

7. UCHILSIM ......................................................................20
Ventajas e inconvenientes: ................................................................................................ 20
REFERENCIAS .................................................................................................................................... 21

8. LAB. WINDOWS ............................................................22


Ventajas e inconvenientes: ................................................................................................ 23
REFERENCIAS .................................................................................................................................... 23

9. MATLAB ..........................................................................24
Ventajas e inconvenientes: ................................................................................................ 25
REFERENCIAS .................................................................................................................................... 25

10. TABLA COMPARATIVA ............................................26


11. CONCLUSIONES..........................................................27

2
1. Introducción
Inicialmente antes de realizar un estudio de los diferentes simuladores que se
pueden utilizar para analizar el comportamiento de un robot móvil es necesario conocer
que es un simulador y las facilidades que nos puede proporcionar a la hora de diseñar y
programar un robot móvil.

No es sencillo definir que es un simulador, suele existir bastante confusión,


algunas de las definiciones más aceptadas y difundidas se muestran a continuación.

Thomas H. Naylor y R. Bustamante la definen así: "Simulación es una técnica


numérica para conducir experimentos en una computadora digital. Estos experimentos
comprenden ciertos tipos de relaciones matemáticas y lógicas, las cuales son necesarias
para describir el comportamiento y la estructura de sistemas complejos del mundo real a
través de largos periodos de tiempo".

Una definición más formal formulada por Robert E. Shannon es: "La simulación
es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias
con él, con la finalidad de comprender el comportamiento del sistema o evaluar nuevas
estrategias -dentro de los limites impuestos por un cierto criterio o un conjunto de ellos -
para el funcionamiento del sistema".

Una simulación tiene como finalidad conocer, analizar y evaluar el


funcionamiento de un sistema sin necesidad de la construcción o de la experimentación
con el sistema real, ya que esto podría resultar extremadamente caro o peligroso. Según
Glass-Husain todo simulador debe tener tres atributos: imita la realidad (es lo que
distingue a un simulador de un juego), no es real en sí mismo (suele ser una
simplificación de la vida real) y puede ser cambiado por cada usuario.

Por tanto de forma sencilla se puede decir que una simulación consiste en la
construcción de un modelo que puede revelar como funciona un sistema real. Sin
embargo, los problemas de interés en el mundo real son por lo general muy complejos,
tanto que no puede ser construido un simple modelo matemático para que los
representen y por tanto el comportamiento del sistema debe ser estimado. Una
representación exacta rara vez es posible en un modelo, hay que limitarse a
aproximaciones con un grado de fidelidad que sea aceptable para los fines del estudio.

Recientes avances en las metodologías de simulación y la gran disponibilidad de


software que actualmente existe en el mercado, han hecho que la técnica de simulación
sea una de las herramientas más ampliamente usadas en el análisis de sistemas. Además
de las razones antes mencionadas, Thomas H. Naylor ha sugerido que un estudio de
simulación es muy importante para la ingeniería de sistemas porque presenta las
siguientes ventajas en el diseño de estos:

• A través de un estudio de simulación, se puede estudiar el efecto de cambios


internos y externos del sistema, al hacer alteraciones en el modelo del sistema y
observando los efectos de esas alteraciones en el comportamiento del sistema.

3
• Una observación detallada del sistema que se está simulando puede conducir a
un mejor entendimiento del sistema y por consiguiente a sugerir estrategias que mejoren
la operación y eficiencia del sistema.

• La simulación de sistemas complejos puede ayudar a entender mejor la


operación del sistema, a detectar las variables más importantes que interactúan en el
sistema y a entender mejor las interrelaciones entre estas variables.

• La técnica de simulación puede ser utilizada para experimentar con nuevas


situaciones, sobre las cuales tiene poca o ninguna información. A través de esta
experimentación se puede anticipar mejor a posibles resultados no previstos.

A diferencia de las ventajas mencionadas, la técnica de simulación presenta el


problema de requerir equipo computacional y recursos humanos costosos. Además,
generalmente se requiere bastante tiempo para que un modelo de simulación sea
desarrollado y perfeccionado. Finalmente en algunas ocasiones la simulación puede
llegar a ser imprecisa, sin poder medir el grado de error, aunque esto dependerá de las
simplificaciones realizadas a la hora de diseñar el modelo del sistema.

Teniendo en cuenta lo expuesto anteriormente es fácil concluir que la simulación


también es una herramienta muy útil en robótica y que esta comenzando a extenderse.
La construcción de un robot es cara y complicada, en ocasiones son difíciles de
programar y su fase de desarrollo muy probablemente puede dañar considerablemente el
robot, por esto se utiliza un robot virtual que opera en un mundo virtual. En este tipo de
aplicaciones los errores cometidos en un entorno virtual durante la fase de desarrollo no
provocan grabes consecuencias.

A continuación se van a exponer y explicar los simuladores más importantes que


se pueden utilizar en robótica. Existen muchos tipos de ellos, unos sólo sirven para
robots específicos, en otros pueden diseñarse todo tipo de robots, pueden ser más o
menos realistas, gratuitos o de pago, más sencillos o más difíciles de manejar para el
usuario,… intentaremos especificar todas estas características en cada uno de ellos, para
poder realizar una comparativa. Dependiendo de las necesidades y características de
cada sistema se podrá decidir que simulador es mejor utilizar.

4
2. Player & Stage & Gazebo
Software de simulación gratuito que permite la investigación en robots y
sistemas de sensores.

Player Stage Gazebo son tres piezas de software que fueron desarrolladas
originalmente en el laboratorio de robótica de investigación USC (University of South
California, ahora están en SourceForge.net).

Player es probablemente el más utilizado en el control de robots junto con sus


generadores de simulación Stage y Gazebo. En gran parte se debe a que es publicado
bajo la Licencia Pública General de GNU – licencia creada por Free Software
Fundation, orientada principalmente a proteger la libre distribución, modificación y uso
de software cuyo propósito es evitar los intentos de apropiación de los mismos- por lo
cual el código completo de Player Stage Gazebo es libre de utilizar, distribuir y
modificar.

Stage o Gazebo usados conjuntamente con Player a modo de “plugings” nos


permiten hacer pruebas iniciales de nuestros algoritmos o bien no disponemos de un
robot real. Para nuestro código será transparente el que estemos trabajando con un robot
real o con un simulador.

También existe la posibilidad de usarlos como librerías de C (libstage y


libgazebo) incorporando un motor de simulación de robots a tus propios programas sin
necesidad de usar Player.

El proyecto Placer-Stage-Gazebo software funciona en Linux, Solaris, * BSD y


Mac OSX (Darwin).

PLAYER

Player es un interfaz para dispositivos robóticos.

Pone a disposición de los usuarios unos mecanismos de transporte que permiten


a los datos ser intercambiados entre los drivers y los programas de control que están
siendo ejecutados en máquinas distintas. El método de transporte más común en uso
hoy en día es un transporte cliente/servidor basado en sockets TCP.

Aunque la mayoría de los drivers de Player controlan directamente el hardware,


existen los drivers abstractos. Un driver abstracto usa otros drivers, en vez de como
hardware, como fuentes de datos y como lugar donde enviar comandos. El uso
fundamentar de los drivers abstractos es encapsular algoritmos útiles de tal forma que
puedan ser reutilizados fácilmente.

Además, Player soporta múltiples conexiones simultáneas a los dispositivos de


clientes y una gran variedad de robots móviles y accesorios.

Dispone de varios simuladores que emulan un robot auténtico en entornos tanto


de dos dimensiones como de tres dimensiones.

- Gazebo: Simulador en tres dimensiones oficial del proyecto player


- Stage: Simulador en dos dimensiones oficial del proyecto player.

5
Esquema Player. Intercambio de datos servidor/cliente.

STAGE

Simula robots móviles en el plano bidimensional (también usado como


biblioteca automática). Proporciona varios modelos de sensores y actuadores,
incluyendo sensores del tipo sónar e infrarrojos.

Stage ha sido diseñado para apoyar la investigación en sistemas autónomos de


múltiples agente, proporciona simplemente modelos sencillos de una gran cantidad de
dispositivos simultáneamente en lugar de intentar emular cualquiera de ellos con gran
fidelidad. Además se diseñó de manera suficientemente realista para permitir a los
usuarios usar los mismos programas de control entre los robots de Stage (creados por el
usuario en el programa) y los del mundo real, y a la vez que sea posible simular con
velocidad suficiente grandes conjuntos de robots.

Simulación con Stage, posicionamiento y detección de obstáculos

GAZEBO

Gazebo es un simulador de múltiples robots para espacios abiertos. Al igual que


Stage, es capaz de simular conjuntos de robots, sensores y objetos, pero en un mundo
tridimensional. Además reproduce de forma bastante real la reacción de sensores y la
interacción entre dispositivos (incluido el comportamiento físico de objetos rígidos).A
diferencia de Stage, Gazebo simula el comportamiento de los conjuntos de robots
pequeños (menos de 10) con alta fidelidad.

6
Para manejar los simuladores Stage y Gazebo se usan dos ficheros escritos en C,
uno de configuración (.cfg) donde se especifica la configuración concreta del conjunto
de robots a simular, la disposición y parámetros de sus sensores y un fichero donde se
almacena la información del mapa bien 2D o 3D para la simulación (.world).

Simulación de entorno con Gazebo

Disponen de modelos ya diseñados de robots (Pioneer...) y sensores (posición,


laser, bumpers, sonar,…) con los que realizar las simulaciones.

Las conexiones entre los distintos dispositivos se realiza a través de direcciones


IP asignándole un puerto a cada uno, de este modo se puede enviar señales a cada robot
individualmente. Esto permite que nuestros programas estén escritos en cualquier
lenguaje que soporte TCP/IP.

Ventajas e inconvenientes:

Como ya se ha dicho en el trabajo, una de las mayores ventajas de este


simulador es que está al alcance de cualquier usuario, es un software gratuito. También
recrea fielmente los entornos pudiendo así trabajar con los algoritmos antes de pasar a
un robot real. Además trabaja en toda clase de sistemas operativos, excepto en
Windows.

Los principales problemas a la hora de usar este simulador son primero que tanto
para instalarlo, como para usarlo se necesita saber usar sistemas unix - en nuestro caso
la shell de Linux para instalar los paquetes externos (librerias) que necesitan player,
stage y gazebo, y ejecutar los programas - y segundo saber programar en C, C++ para
diseñar nuestros propios robots, mapas y programas de control del robot (estos últimos
no necesariamente en C).

Referencias
Pagina oficial del proyecto
http://playerstage.sourceforge.net/

7
Otras páginas web:
http://java-player.sourceforge.net/examples-2.php
http://robotics.usc.edu/?l=Projects:PlayerStageGazebo
http://es.wikipedia.org/wiki/Proyecto_Player/Stage
http://www.nabble.com/Player-Stage-Gazebo-f4302.html
http://riai.isa.upv.es/CGI-BIN/articulos%20revisados%202006/versiones%20impresas
/vol3_num2/articulo9_vol3_num2.pdf

8
3. Microsoft Robotics Studio
Al ser una aplicación de Microsoft los lenguajes que utiliza son los que
desarrolla en sus propios entornos de desarrollo (Visual Studio). Los lenguajes con los
que trabaja son C#, VB.NET, Microsoft Iron Python y otros lenguajes desarrollados por
usuarios ajenos a la empresa basados en la arquitectura de servicios de Microsoft
Robotics Studio.[1]

Para desarrollar aplicaciones de Robots, tanto simuladas como reales, Microsoft


Robotics Studio incluye una aplicación llamada Microsoft Visual Programming
Language (VPL). Se trata de un entorno de desarrollo basado en un modelo de flujo de
datos gráfico. Este modelo resulta especialmente útil para programación distribuida. Al
ser gráfico resulta más sencillo para programadores no expertos. El VPL permite crear
programas con sólo arrastrar y soltar bloques que representan servicios, además, como
se ha podido observar, incluye código de modelos genéricos de motores, sensores, algún
modelo estándar de robot como el “Arcos Core” o varios modelos de “Lego”, etc. El
VPL incorpora la tecnología “Concurrency and Coordination Runtime” (CCR) gracias a
la cual se simplifica la escritura de programas para controlar sensores, motores, etc[1].

Microsoft Visual Programming Language

El modelo de programación del MSRS permite programar una amplia variedad


de plataformas hardware para robots transfiriendo sus propias herramientas entre
plataformas. Las interfases de programación pueden ser diseñadas para desarrollar
aplicación para robots con procesadores de 8, 16 o 32 bits sean de un núcleo o
multinúcleo. Los usuarios además tienen la posibilidad de ampliar la funcionalidad de
MSRS añadiendo librerías y servicios propios.[1]

9
El Microsoft Robotics Studio (MSRS) no se limita a ser un simple simulador,
como hemos mencionado anteriormente incluye una herramienta de programación
visual (VPL) muy completa, permite crear aplicaciones para interactuar con los robots
desde Windows o desde un navegador. El simulador del MSRS permite simular
aplicaciones para robots usando modelos realistas en 3D gracias a la tecnología
AGEIA™ PhysX™ Technology desarrollada por AEGIA[1]. Se ha observado también
que desde el propio simulador se pueden editar escenarios de forma sencilla agregando
objetos, editando su tamaño y posición, o hasta la propia fuerza de gravedad del
escenario, además el propio fabricante nos facilita entornos de simulación
especializados para, por ejemplo, competiciones de robots como son la competición de
fútbol de la Robocup o la competición de Sumo.[2]

Captura del simulador emulando un Pioneer3DX

MSRS permite también la conexión con robots reales a través del puerto serie,
bluetooth, mediante el protocolo 802.11 (redes ethernet y WiFi) o RF[1], también, como
se ha podido observar en alguna demostración online, podemos crearnos una aplicación
con VPL para controlar nuestro robot conectado al ordenador desde un gamepad para
videojuegos, lo que puede resultar muy útil para comprobar el buen funcionamiento del
hardware del robot o las funciones de bajo y medio nivel.

Microsoft Robotics Studio igualmente incluye servicios orientados a la


tecnología en tiempo real basados en .NET. Asimismo El modelo “Decentralized
Software Services” (DSS) desarrollado para MSRS hace más simple el acceso y la
respuesta del estado del robot, permitiendo el control desde un navegador o desde una
aplicación basada en Windows. Se puede conectar con el robot a través de puerto serie,
bluetooth, 802.11 o RF. [1]

10
En cuanto a lo que la dificultad se refiere, gracias a la experiencia personal con
el mismo se puede decir que no es sencillo para novatos en robótica, no hay ejemplos
sencillos o directos que puedan ser ejecutados de forma directa con intención de ver el
funcionamiento del mismo, además por lo observado parece necesario hacer uso de una
consola de comandos para cargar el código del robot en el modelo simulado o el real, lo
cual resulta un impedimento importante para programadores no expertos o usuarios que
se están iniciando en robótica, no existen muchos ejemplos para facilitar al usuario una
tarea comparativa rápida sin tener que crearse uno propio y los facilitados por el
fabricante requieren de hardware y software que no tienen por qué estar en disposición
de todos los usuarios, bien por ser de pago y tener un alto coste o por ser elementos
prescindibles en un ordenador personal, principalmente los equipos portátiles (algunos
ejemplos requieren webcam[3], micrófono[4] o un GPS Microsoft GPS-360[5]).

Microsoft Robotics Studio ofrece una licencia no comercial gratuita, lo que


significa que para propósitos docentes (profesores y alumnos) o para aficionados a la
robótica la adquisición del software de simulación no requiere ningún desembolso
económico. La licencia comercial cuesta 399 dólares.[6]

El software de MSRS está siendo desarrollado activamente por Microsoft. Su


primera versión data de diciembre de 2006. La versión actual (V. 1.5) vio la luz en julio
de 2007.[7]

Ventajas e inconvenientes:

A partir de la información obtenida acerca del Microsoft Robotics Studio y la


experiencia personal con el mismo podemos destacar como puntos positivos del
simulador que no sólo se limita a un simple simulador, sino que además incluye un
entorno de programación visual basada en flujos bastante amigable. Además, al incluir
la aplicación AGEIA las físicas de simulación pueden adquirir bastante realismo.
También se puede hacer uso de modelos predefinidos de robots, simular los tuyos
propios o incluso interactuar con un robot real. Cabe destacar que los escenarios de
simulación se pueden editar fácilmente o crear alguno propio.

Por el contrario cabe destacar diversos inconvenientes siendo algunos lo


suficientemente importantes como para tenerlos en cuenta. En primer lugar destaca que
el código es cerrado, lo cual no sería un problema importante, aunque puede sí serlo que
sólo funcione bajo plataforma Windows y que necesite Microsoft Visual Studio 2005
para algunas simulaciones (puede ser prescindible, pero el hecho de no tenerlo instalado
llega a ser una barrera en el uso de MSRS). Por otra parte actualmente no existe ningún
manual en español y la información que se encuentra en inglés no parece aportar una
ayuda lo suficientemente clara en lo que al entorno de simulación respecta, este hecho
sumado a que no resulta muy intuitivo y los ejemplos de simulación que se encuentran
disponibles por parte del desarrollador imponen requisitos tanto de hardware como
software que no todos los usuarios pueden satisfacer. Como último inconveniente hay
que tener en cuenta que las simulaciones sólo pueden ser utilizadas si se encuentran
almacenadas en el directorio en el que está instalado el programa, por defecto
“C:/Microsoft Robotics Studio”, si en la instalación se cambia este directorio el trabajo
se dificulta bastante a la hora de utilizar ejemplos realizados por terceras personas o al
distribuir los nuestros propios, si nos encontramos ante una situación en la que se realiza
un proyecto en equipo y alguno de los desarrolladores tiene un directorio diferente de
instalación en su máquina el proyecto se vuelve prácticamente imposible.

11
Referencias

[1] MSDN Library


Microsoft Corporation
http://msdn2.microsoft.com/en-us/library/bb483024.aspx

[2] MSDN Library


Microsoft Corporation
http://msdn2.microsoft.com/en-us/robotics/aa731520.aspx

[3] Documentación del Microsoft Robotics Studio


Microsoft Corporation
“WebCam Service”

[4] Documentación del Microsoft Robotics Studio


Microsoft Corporation
“Speech Recognizer Service”

[5] Documentación del Microsoft Robotics Studio


Microsoft Corporation
“MicrosoftGPS service”

[6] MSDN Library


Microsoft Corporation
http://msdn2.microsoft.com/es-es/robotics/bb521232(en-us).aspx

[7] “Noticias de Robotics Studio”


Raúl Arrabales Moreno (Profesor Ayudante del dpto. de Informática de la
Universidad Carlos III de Madrid)
www.conscious-robots.com
http://www.conscious-robots.com/es/robotics-studio/noticias-de-robotics-
studio/index.php

12
4. Marilou Robotics Studio
Marilou Robotics Studio es un entorno de modelado y simulación de robots
móviles, humanoides, brazos articulados y robots paralelos que funciona teniendo en
cuenta las condiciones del mundo real y respetando las leyes de la física.

Marilou incluye un kit de desarrollo de software (SDK) que le permite


programar la simulación de los robots en varios lenguajes, tales como C, C++, C++
CLI, C#, VB# y J#. Además es compatible con Matlab, Java, Automgen y RT-Maps. Es
importante señalar que este simulador ofrece un sistema de compatibilidad que le
permite acceder a los robots simulados utilizando el mismo lenguaje, y con la misma
interfaz, que la utilizada con los robots reales.

Este simulador permite diseñar escenarios complejos para crear y probar


algoritmos sobre un modelo del robot bajo estudio sin tener que invertir en hardware y
sin correr riesgos debidos a la realización de pruebas con el sistema real. Permite tanto
la simulación en tiempo real como poder ajustar la velocidad obteniendo así una
simulación acelerada o ralentizada según se necesite. Hay que destacar también que se
consigue una reproducción muy fiel de la realidad.

Entorno diseñado con Marilou Robotics Studio

El modelado se realiza en un entorno gráfico, de fácil manejo y que permite


modificaciones de configuración y diseño rápidas. También proporciona la utilización
de la jerarquía necesaria para la construcción y puesta a prueba incluso de las
estructuras más complejas, esto hace posible la reutilización de algunas partes de
objetos ya diseñados. Pueden añadirse a la estructura del robot diferentes dispositivos
tales como motores y sensores de distancia que se utilizan para controlar el robot y para
interactuar con el medio. También se puede utilizar una cámara en el robot y grabar las
imágenes de la sesión simulada, configurando los diferentes parámetros como son la
perspectiva, el tamaño, la calidad, la compresión,... En este simulador no sólo se pueden
modelar robots móviles con ruedas, sino que permite crear humanoides, brazos
robóticos o robots paralelos.

13
Proporciona gran flexibilidad a la hora de la construcción ya que puede calcular
automáticamente los parámetros importantes en un robot como son masa, centro de
gravedad, matriz inercial y permite su fácil modificación adoptando las formas
adecuadas. Permite también determinar que situaciones físicas podrán alterar la
geometría del robot. El diseño se basa en uniones de cuerpos rígidos mediante
articulaciones, en las que se puede definir el grado de libertad de movimiento de un
cuerpo con respecto a otro, y para lograr el mayor realismo estas articulaciones son
deformables e incluso se pueden romper.

Se puede lograr un gran realismo gracias a la visión tridimensional y ya que


permite la construcción de objetos complejos, en los que se puede seleccionar también
la textura de las superficies de cada uno de ellos.

Ejemplos de robots diseñados con Marilou Robotics Studio

Marilou integra muchos de los más populares dispositivos embebidos, sensores


que permiten medir distancias mediante infrarrojos, ultrasonido o laser, motores y
servomotores, acelerómetros, giróscopos, bumpers, cámaras, brújulas, GPS,… También
permite añadir nuevos dispositivos o actualizar los que ya están definidos.

Existen diferentes versiones de licencias que permiten el uso de este simulador


dependiendo del usuario final y de la calidad de los proyectos a desarrollar. Si su uso es
con fines comerciales la licencia tiene un coste pero a cambio no posee ninguna
limitación en le software. Existe también una licencia de menor coste si su uso es
relacionado con la educación y si es para uso propio, para aficionados, existe una
licencia gratuita con duración de 3 meses pero renovable, estas dos últimas sí poseen
algunas limitaciones en el software como son número de dispositivos, de formas
geométricas, niveles de jerarquía y número máximo de documentos abiertos, estas no
parecen evitar un uso normal de este simulador.

Una de las características principales de este simulador es que es muy nuevo, su


primera versión estable es de octubre de este año, por lo que aun no esta muy extendido
su uso y no hay demasiada información, a pesar de esto posee soporte y un foro propio.
A causa de su novedad es de suponer que se continuará desarrollando en los próximos
años.

14
Simulación para Eurobot 2007

Ventajas e inconvenientes:

Como ya se ha destacado anteriormente una de las mayores ventajas es que el


modelado se desarrolla en un entorno gráfico, que facilita considerablemente el trabajo
y nos permite ahorrar tiempo. Permite también una gran flexibilidad y diversificación en
el diseño tanto de los robots como de los entornos virtuales en los que se probará su
funcionamiento. También hay que destacar que permite integrar en el robot una gran
cantidad de diferentes dispositivos, muchos de los cuales no hay que describir ya que
están incluidos en el software.

Otra característica importante es que permite modificaciones durante la


simulación tanto del entorno y del robot como de la velocidad de la simulación, esto
puede ser de gran utilidad para el usuario. Hay que destacar que se consigue una
reproducción muy fiel de la realidad gracias también a su visión tridimensional.

Por último una ventaja de gran importancia para el usuario es la gran cantidad de
lenguajes de programación que este software permite.

Las dificultades que puede obtener el usuario son principalmente debidas a la


poca información existente de este software ya que es extremadamente nuevo, pero hay
que señalar que posee un manual de usuario bastante completo y detallado. Otro
inconveniente es que es no es un software libre aunque existen licencias más
económicas si su uso esta destinado a educación.

Referencias
Anykode.Solutions for robotics & PC
http://www.anykode.com

Marilou Robotics Studio Help

15
5. Roboworks
Roboworks es un simulador de la empresa Newtonium (www.newtonium.com),
que se basa en la idea de la simulación tridimensional, y en proporcionar una interfaz
3D a LabView, Matlab, y Visual Basic.

Los modelos se generan gráficamente, y se controla su simulación por medio de


archivos de datos, con el teclado, con la interfaz con LabView, Matlab o Visual Basic; o
con Robotalk: que es, según el FAQ (Preguntas frecuentes) del Roboworks [1], un
software (del que está disponible el código fuente) que nos permite, remotamente y
desde cualquier terminal con TCP/IP, controlar la simulación.

Tiene un precio de unos 540 euros; obteniendo por ese precio un enlace de
descarga del simulador. No obstante, por 7,49 euros más, el distribuidor envía el
programa grabado en un CD al domicilio, gastos de envío incluidos.

Ventajas e inconvenientes:

Ventajas:
- Fácil utilización (según la página del fabricante, comentarios vertidos por usuarios
en la misma [2], así como la opinión vertida en un blog de robótica [3]) lo que
constituye una de sus grandes bazas.
- Gráficos tridimensionales (basado en OpenGL).
- Archivos de tamaño reducido.
- Permite el control de la animación de los modelos por numerosos métodos
(comentados anteriormente).
- Interfaz con LabView, Matlab y Visual Basic.
- Requerimientos mínimos poco exigentes. (Windows 95/98/NT/2000, Pentium,
ninguna tarjeta gráfica especialmente potente, 5’1 megabytes de espacio en disco
duro, 16 megabytes de memoria RAM).
- Dispone de un completo tutorial en español [4].

Inconvenientes:
- Probablemente abandonado: La última modificación de la Web fue realizada en
Septiembre de 2005, y los requisitos “poco actualizados” pueden ser indicadores de
un posible abandono del desarrollo.
- Requiere Windows 95/98/NT/2000 (No disponible para otros sistemas operativos).
- Para la conversión de las simulaciones a vídeo, sería necesaria una aplicación aparte,
no distribuida por el fabricante [5], al contrario que con otros simuladores, que
incluyen esta opción.
- No soporta simulación cinemática directa e inversa.

16
Referencias
[1] RoboWorks Frequently Asked Questions: 6. What is RoboTalk?
Newtonium
http://www.newtonium.com/public_html/Products/RoboWorks/RoboWorks_faq.
htm#What%20is%20RoboTalk?

[2] RoboWorks User Comments


Newtonium
http://www.newtonium.com/public_html/Products/RoboWorks/User_Comments
.htm

[3] Yo Robot: Recopilación de artículos para aficionados a la robótica


RoboWorks, simulador robótico simple pero eficiente.
http://yorobot.wordpress.com/2007/06/11/roboworks-simulador-robotico-muy-
simple/

[4] Manual de RoboWorks en Español


Carlos Rodríguez y Ana María Franco
Universidad EAFIT, Medellín, Colombia
http://www.newtonium.com/public_html/Products/RoboWorks/RoboWorksMan
ual-Spanish.PDF

[5] RoboWorks Frequently Asked Questions: 1. What is RoboTalk?


Newtonium
http://www.newtonium.com/public_html/Products/RoboWorks/RoboWorks_faq.
htm#How%20do%20I%20create%20a%20movie%20(GIF,%20AVI,%20MPEG
,%20etc.)%20from%20RoboWorks%20animation?

17
6. Webots
Este simulador, que está ya en su versión 5, del fabricante Cyberbotics
(www.cyberbotics.com), es potente y está actualizado, además de permitir la simulación
de numerosos tipos de robots, incluidos robots definidos por el usuario.

Permite la programación del robot mediante C, C++ y Java. Gracias a la empresa


Gostai [1], también existe la posibilidad de utilizar Universal Robotic Body Interface
(URBI), del que podemos encontrar información en [2].

Su precio varía según la licencia adquirida [3]: desde los 260 euros de la versión
de educación, hasta los 2790 euros de la versión profesional. La diferencia entre ellos es
que el primero carece de las siguientes características:
- Supervisión: poner un programa que supervise y controle la simulación.
- Modo de simulación rápida: permite realizar la simulación sin renderización 3D,
lo cual la acelera.
- Programación personalizada de la física: permite programar “leyes de física
personalizadas”.

Y al ser de pago, el fabricante proporciona garantía y soporte.

Ventajas e inconvenientes:

Ventajas:
- Permite la simulación de todo tipo de robots (con patas, ruedas, voladores…), robots
comerciales, y robots definidos por el usuario.
- Tiene completas librerías con todo tipo de actuadores y sensores.
- Utiliza las librerías OpenGL y su propio editor tridimensional, para los modelos de
robots y su entorno, e incorpora facilidades para la importación de modelos 3D.
- Permite la programación de los robots en C, C++ y Java. También puede
programarse en URBI (ver desventajas).
- Utiliza las librerías Open Dynamics Engine (ODE, que son de código abierto) [4]
para las simulaciones físicas.
- Permite guardar las simulaciones en formato de vídeo AVI o MPEG.
- Incluye ejemplos (lo cuál siempre ayuda al aprendizaje de uso de cualquier
aplicación).
- Permite la simulación de sistemas multi-agente.
- Disponible para los sistemas operativos Linux, Windows, y Mac OS X.

Inconvenientes:
- Elevados requisitos mínimos: (Linux (kernel 2.6), Mac OS X 10.4 o Windows
XP/Vista; 1GHz, 512 megabytes de memoria RAM, 200 megabytes de espacio libre
en disco duro, tarjeta gráfica de ATI o nVidia con 64 megabytes de RAM).
- Para la utilización del lenguaje URBI, es necesario software adicional.

18
Referencias
[1] URBI for Webots
Gostai
http://www.gostai.com/webots.html

[2] URBI documentation


Gostai
http://gostai.com/doc.php

[3] Order Now!


Cyberbotics
http://www.cyberbotics.com/order/

[4] Open Dynamics Engine


Russell Smith
http://www.ode.org/

19
7. Uchilsim
Es un simulador de ambientes robóticos diseñado para la liga de robots cuadrúpedos de
RoboCup.. Hecho en C++, para wxp, Linux.

UchilSim es un simulador realista para la generación de robots autónomos capaz


de adaptarse a nuevas situaciones. Un mecanismo fundamental de adaptación es el
aprendizaje que permite simulaciones realistas. Reproduce aspectos fundamentales del
entorno real de un robot, tales como la dinámica de cuerpos en movimiento, el
comportamiento de motores y sensores del robot y también la misma dinámica
computacional de éste.

Está diseñado sobre la base de dos motores de software de procesamiento; uno a


cargo de reproducir la dinámica de cuerpos rígidos articulados requerida para la
simulación, y el otro, a cargo de generar una representación gráfica adecuada de los
objetos dentro del escenario de juego. El simulador también incluye una variedad de
funcionalidades de interfase que permiten conectar el núcleo del sistema con sistemas
de aprendizaje y con los módulos de control UChile1, el cual corresponde a un paquete
de software que permite controlar a un equipo de robots cuadrúpedos, gobernando los
servomotores, procesando y analizando los datos de las cámaras, estimando la
localización de los jugadores y en definitiva controlando a todos los robots durante un
partido de fútbol robótico.

Es importante señalar que para un manejo más sencillo del software el simulador
incluye también una completa interfaz gráfica.

Una característica importante a tener en cuenta es que no hay que pagar una
licencia, es un software libre. En cuanto a su expansión en robótica hay que señalar que
se utiliza principalmente a robots tipo AIDO, siendo empleado por la universidad
católica de chile.

Ventajas e inconvenientes:

Ventajas:
- Permite modelar el entorno (aunque éste mismo es exclusivamente un campo de
futbol).
- Robots prediseñados
- Permite el estudio del comportamiento en enjambre
- Permite simulación evolutiva
- Empleo de Librerías Gráficas abiertas

Inconvenientes:
- Esclusividad de uso: robots AIDO y empleo RoboCup de fútbol
- La simulación de colisiones consume excesivo tiempo de procesador.
- La duración para el aprendizaje al golpeo de la pelota es de 8 horas de simulación.

20
Referencias
http://www.robocup.cl/uchilsim

http://www.robocup.cl/papers/An%20Application%20Interface%20for%20UCHILSIM
%20and%20the%20Arrival%20of%20New%20Challenges.pdf

http://robotica.li2.uchile.cl/pro.html#us

21
8. Lab. Windows
LabWindows/CVI es un software diseñado para la captura y animación de
señales. Estas señales se adquieren por medio de una tarjeta de adquisición. Permite el
desarrollo interactivo de programas, gracias al editor de código fuente ANSI C y
compilador su compilador de lenguaje C. [1]

Los creadores son Nacional Instruments y estos ofrecen también LabVIEW, que
con la misma funcionalidad, está orientado a programación gráfica en vez de al
desarrollo de código C. NI mantiene la compatibilidad con otros compiladores de
propósito general, como las distintas suites de Microsoft Visual Studio (Visual Basic,
Visual C++, .NET, etc), a través de su producto Measurement Studio. [2]

Con LabWindows/CVI, usted puede crear interfaces localizadas de usuario,


crear y trabajar con componentes ActiveX y desarrollar aplicaciones multihilos.
Combinando conocimientos de programación en C con el poder que da el fácil empleo
de LabWindows/CVI podrá crear aplicaciones avanzadas de medición fácil y rápido
pensar. [5]

- Dispone de herramientas software útiles para


o Editar interface gráfico de usuario (GUI) con gran cantidad de objetos
prediseñados.
o Diseñar paneles de funciones para ejecución interactiva y generación de
código de forma automática.
- Dispone de librerías de funciones útiles para:
o Adquirir datos de la o las tarjetas asociadas.
o Analizar esos datos.
o Comunicarnos de forma serie.
o Gestionar el interface gráfico de usuario.

En la misma Web de NI encontraremos manuales del programa www.ni.com

La dificultad se resume en el dominio que se tenga en programar en lenguaje C.


También para usar un software como este es necesario conocer el hardware del robot en
nuestro caso, ya que es de lo que se trata. Además para conectar la parte física hardware
a la tarjeta o dispositivo de adquisición es necesario tener claro algunos conceptos,
véase [1].

Como ya hemos dicho es un producto de Nacional Instruments y efectivamente


es de pago pero fácilmente adquirible www.ni.com. La última versión es
LabWindows/CVI 7.1

Una gran variedad de industrias emplean LabWindows/CVI, incluyendo la


militar y de defensa, telecomunicaciones, manufacturación y aeroespacial. Ya sea que
usted esté midiendo la fuerza de señales transmitidas por una red de trabajo o
desarrollando sistemas de prueba en manufactura para telecomunicaciones, la
instrumentación virtual de NI y LabWindows/CVI le pueden ayudar a alcanzar sus
objetivos - más rápido, mejor y dentro de su presupuesto. [5]

En cuanto al mundo de la robótica, a modo de prototipos y de proyectos de


investigación de calidad es una herramienta más que conocida.

22
Ventajas e inconvenientes:

LabWindows/CVI es un ambiente de desarrollo completamente integrado,


especialmente diseñado para la creación de sistemas de instrumentación basados en
GPIB, PXI, VXI, tarjetas de adquisición de datos insertables y otros. Proporciona
muchas características útiles que incrementan su productividad sin sacrificar la
velocidad o fácil manipulación del código fuente compilado en C [5].

En robótica que es el tema que nos interesa, se considera una herramienta no


básica, pero muy útil para monitorizar y comprobar el funcionamiento del hardware [3]
[4] (véase en las referencia dos aplicación muy interesante de robots de la Escuela
politécnica superior de Alcalá de Henares)

Como requisitos:

- Necesario tener una tarjeta de adquisición compatible.


- Necesario acondicionar el robot con el hardware necesario para poder
monitorizar el funcionamiento que es de lo que se trata. Es por esto que difiere
de los demás simuladores.

Referencias
[1] Departamento de Electrónica
Escuela Politécnica Superior (Universidad de Alcalá de Henares)
http://www.depeca.uah.es/wwwnueva/

[2] Conexión De Instrumentos De Medida Con Gpib


Fernando Seco Granja (Doctor en Ciencias Físicas)
Instituto de Automática Industrial (Arganda del Rey)
http://www.iai.csic.es/lopsi/static/gpib.pdf

[3] Sistema de posicionamiento de un robot móvil autónomo mediante infrarrojos


Javier Baliñas Santos y Julio Pastor Mendoza
Departamento de Electrónica (Universidad de Alcalá de Henares)
http://www.depeca.uah.es/docencia/LibreEleccion/IDMRM/repositorio/Sistema
BalizasElectrococo.pdf

[4] Simulador De Un Robot Móvil Como Complemento De Un Kit De Robot


Velocista.
A.Villar y J Pastor
Departamento de Electrónica (Universidad de Alcalá de Henares)
http://www.euitt.upm.es/taee06/papers/S7/p205.pdf

[5] http://www.tracnova.com/Lab%20WindowsCVI.htm

23
9. Matlab
Matlab es una herramienta software muy popular, no precisamente de
simulación de robots pero muy útil como ya veremos para ciertos aspectos de
tratamiento de señales de estos. Usa un lenguaje de programación creado en 1970 para
proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener
que usar Fortran. También tiene su propio compilador [1].

Recientemente, los creadores de Matlab, Mathworks (http://www.mathworks.


com) emprendieron una línea clara de ampliación de su mercado hacia la conexión de
hardware con el PC, distribuyendo toolboxes para el control de tarjetas de adquisición,
generación de código y emulación de DSPs, xPC (control remoto de PCs para operación
en tiempo real), adquisición de imágenes, etc. La primera versión de la toolbox
específica de control de instrumentos de medida apareció en 2001, y la versión 2.1
disponible en la actualidad (2004) está suficientemente depurada para ser competitiva
con productos más maduros como CVI. Existe también una toolbox de adquisición de
datos con soporte para tarjetas de entrada y salida de señales analógicas y digitales,
dentro de esta misma línea de productos [2]. Con estas versiones la aplicación en la
robótica de Matlab es muy útil, a la hora de capturar matrices de datos referentes a
cualquier sistema del robot o al revés, a partir de esa obtención, generar algoritmos
necesarios para o bien introducir en un simulador o directamente introducir en el
hardware.

Además podemos simular cualquier sistema robótico esquemáticamente y con


señales y bloques que interactúan entre si, gracias a su herramienta Simulink. El método
de simulación permite realizar una animación por pantalla de los movimientos de los
robots visualizando los estados de activación de sus sensores.

La primera versión surgió con la idea de emplear unos paquetes de subrutinas


escritas en Fortran en los cursos de álgebra lineal y análisis numérico, sin necesidad de
escribir programas en Fortran [1]. Y durante los últimos años han ido saliendo versión
tras versión: Matlab 4.2, Matlab 5.2, 5.3, 6.1, 6.5, 7.0.

En la actualidad existen muchísimos manuales de Matlab. En la Web oficial


(http://www.mathworks.com) encontraremos algunos. Echar una ojeada a los realizados
por la Escuela técnica superior de ingenieros, en la Politécnica de Madrid, muy
interesantes y completos (http://www.tayuda.com/ayudainf/aprendainf/varios.htm).

Matlab es fácil de utilizar, depende mucho de para que lo utilicemos. Además


como ya hemos dicho existen infinidad de manuales y ejemplos de uso de todo tipo de
esta herramienta.

El gran problema de este software es que es de pago, pero para Linux hay una
versión: Scilab, es muy ligera pero da todas las funcionalidades del Matlab. Se puede
instalar desde los repositorios de Ubuntu o Guadalinex, pero se recomienda descargarlo
directamente de la Web: www.scilab.org

Es un software muy usado en universidades, centros de investigación y por


ingenieros. En los últimos años ha incluido muchas más capacidades, como la de
programar directamente procesadores digitales de señal, crear código VHDL y otras [1].
En aplicaciones robóticas es una herramienta muy útil entre tantas. Ejemplos [3][4].

24
Ventajas e inconvenientes:

Usando el simulador de Matlab, Simulink, el proceso de simulación se basa en


realizar simulaciones interactivas de una duración determinada, tomando como
respuestas del sistema el último resultado de este intervalo.
- Simulink nos da la posibilidad de estructurar nuestro sistema (Robot), en cuanto
entradas, salidas, señales, motores, sensores y ver como se comportan y se realimentan
sin tener que usar el hardware.
- El simulador esta programado con una estructura completamente modular la cual
posibilita la realización de modificaciones y posibles ampliaciones [1].

A la hora de tratamiento de datos y realización de algoritmos la herramienta


Matlab es muy potente y nos puede ser muy útil en cualquiera de los aspectos en los que
un robot haga uso de estos, con independencia de la simulación.

El problema del simulador de sistemas que nos proporciona Matlab es genérico,


no esta especializado en robot. La aplicación de Matlab en los robots móviles suele ser
muy específica. Carece de un interface para simulación de estas aplicaciones limitado.
Además si queremos usar de la potencia algorítmica de Matlab para comunicar datos al
robot hace falta de otros sistemas de captura de datos.

Referencias
[1] Simulador En Matlab De Robots Moviles
Santos Barquero Cáceres
Universidad Rovira i Virgili
http://sauron.etse.urv.es/public/propostes/pub/pdf/118res.pdf

[2] Conexión De Instrumentos De Medida Con Gpib


Fernando Seco Granja (Doctor en Ciencias Físicas)
Instituto de Automática Industrial (Arganda del Rey)
http://www.iai.csic.es/lopsi/static/gpib.pdf

[3] http://loslocosrh.blogspot.com/2004/12/simulaciones-del-robot-en-matlab.html

[4] http://riai.isa.upv.es/riai/CGI-
BIN/articulos%20revisados%202005/versiones%20impresas/vol2_num2/articulo
7_vol2_num2.pdf

25
10. Tabla comparativa

Cos te licencia M odelos de robot Entorno editable Dis eño de Robot Lenguajes Des taca
Player, Stage, Gazebo Gratuito Sí Sí Sí C, C++ Controla robots reales y s imulados
M icros oft Robotics Studio Gratuito* Sí Sí Sí C#, VB.NET Incluye aplicación de programación vis ual
Uchils im Gratuito Sólo A IBO Sí** Sólo A IBO C++ Robocup: Liga de robots cuadrúpedos
Webots Des de 260 ! Sí Sí Sí C, C++, Java, URBI Siumulación de robots móviles , humanoides
Roboworks 540 ! Sí No Sí LabView, M atlab, VB Dota a M atlab y LabView de interfaz tridimens ional
M arilou Robotics Studio Des de 992! Sí Sí Sí C, C++, C#, VB#, J# A mplia flexibilidad en el dis eño
M atlab 11.915 $ NO No No M atlab Repres entación gráfica de datos matriciales
LabWindows 499 ! No Si No Ninguno Creación de paneles de control y s eguimiento electrónico

*La licencia comercial tiene un cos te de 399$ [6]


**Con limitaciones

26
11. Conclusiones
Con el despunte de la robótica que cada día se aproxima más a la vida cotidiana
del ser humano aparecen los simuladores debido a la necesidad de un producto que
permita obtener modelos de un proyecto final sin que ello suponga un desembolso
importante de dinero. La enorme capacidad de rendimiento del software y hardware
actual de cualquier ordenador personal hace posible que se puedan crear programas que
hace unos años nadie hubiese podido imaginar que algún día llegaran a existir. Por ello
cada día hay más software de simulación, con mayores posibilidades y realismo,
existiendo una tendencia cada vez mayor a ofrecer a los usuarios una interfaz agradable,
sencilla y cómoda con la que se puedan familiarizar de forma rápida e intuitiva.

En éste trabajo se han expuesto los principales simuladores que existen en la


actualidad, pretendiendo resaltar las características principales de cada uno, sus puntos
fuertes y los que deberían mejorarse, para cerrar con una comparativa entre todos ellos.
Dependiendo del proyecto a desarrollar el usuario tendrá que decidir cuál se ajusta
mejor a sus necesidades.

También podría gustarte