SIMULADORES EN ROBÓTICA

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

2 downloads 118 Views 3MB Size

Recommend Stories


Precalificación INFONAVIT, Simuladores
Precalificación Precalificación INFONAVIT, Simuladores. Gerencia de Administración y Operación de Asesores Externos Identificación de cambios Inte

Caracteres del delito en los alienados y en los simuladores de la locura
José Ingenieros Caracteres del delito en los alienados y en los simuladores de la locura. 2003 - Reservados todos los derechos Permitido el uso sin

Desarrollo de simuladores para procesos industriales. Parte I. (Colada continua)*
REVISTA DE METALURGIA, 42 (3) MAYO-JUNIO, 203-208, 2006 ISSN: 0034-8570 Desarrollo de simuladores para procesos industriales. Parte I. (Colada cont

LA UTILIZACIÓN DE SIMULADORES COMO HERRAMIENTA DE DESARROLLO DE COMPETENCIAS
X Jornadas Internacionales de Innovación Universitaria Educar para transformar LA UTILIZACIÓN DE SIMULADORES COMO HERRAMIENTA DE DESARROLLO DE COMPET

Entrenadores y simuladores de vuelo en la Aviación del Ejército Argentino
Entrenadores y simuladores de vuelo en la Aviación del Ejército Argentino © Eloy Martín 2016 Entrenadores y simuladores de vuelo en la Aviación del

Simuladores del movimiento de las estrellas, el Sol y la Luna
Publicaciones de NASE Simuladores Simuladores del movimiento de las estrellas, el Sol y la Luna Rosa M. Ros, Francis Berthomieu International Astro

COMPARATIVA DE SIMULADORES ELECTRICOS APLICADOS A CIRCUITOS DE ELECTRONICA DE POTENCIA
UNIVERSIDAD CARLOS III DE MADRID INGENIERIA TECNICA INDUSTRIAL ELECTRONICA INDUSTRIAL COMPARATIVA DE SIMULADORES ELECTRICOS APLICADOS A CIRCUITOS DE

TIPOS DE SIMULADORES DE LLUVIA. 4.1 Introducci6n. han sido removidas de las estufas hora antes de proceder a su pesado
Simuladores han sido removidas d e las estufas hora antes d e proceder a su pesado. . CapfhdoIV TIPOS DE SIMULADORES DE LLUVIA infall simulation

Story Transcript

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 Javier Puertas Torres Diego López García Ramón García Olivares Francisco Javier Fernández Gallardo Oscar Yago Corral Guillermo Asín Prieto Esther Samper Domeque

[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

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-roboticsstudio/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-muysimple/

[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/CGIBIN/articulos%20revisados%202005/versiones%20impresas/vol2_num2/articulo 7_vol2_num2.pdf

25

10. Tabla comparativa

Player, Stage, Gazebo M icros oft Robotics Studio Uchils im Webots Roboworks M arilou Robotics Studio M atlab LabWindows

Cos te licencia Gratuito Gratuito* Gratuito Des de 260 ! 540 ! Des de 992! 11.915 $ 499 !

M odelos de robot Sí Sí Sólo A IBO Sí Sí Sí NO No

Entorno editable Sí Sí Sí** Sí No Sí No Si

Dis eño de Robot Sí Sí Sólo A IBO Sí Sí Sí No No

Lenguajes C, C++ C#, VB.NET C++ C, C++, Java, URBI LabView, M atlab, VB C, C++, C#, VB#, J# M atlab

Des taca Controla robots reales y s imulados Incluye aplicación de programación vis ual Robocup: Liga de robots cuadrúpedos Siumulación de robots móviles , humanoides Dota a M atlab y LabView de interfaz tridimens ional A mplia flexibilidad en el dis eño Repres entación gráfica de datos matriciales

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.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.