robotica - Robotics Simulator
robotica ros (12)
¿Cuál es el mejor simulador de robótica? A partir de ahora, solo estoy buscando simulaciones simples del método de Campo potencial, Algoritmos de error, Algoritmo A *, etc.
Una lista de los simuladores de robots conocidos es;
- Player Project (Simulador 2D - Stage - Simulador 3D - Gazebo - y la interfaz de control - open source, parte del proyecto ROS)
- MORSE (simulador 3D de uso general para interiores y exteriores)
- Microsoft Robotics Studio (simulador + interfaz de control)
- KiKS (plugin de Matlab, solo para la interfaz de control Khepera +)
- MobotSim (para robots tipo punto, más implementación de algoritmos)
- Karel (Pretty Kiddish, creo que es como Pascal / Logo)
- Peekabot (¡Se ve muy bien!)
- MRPT (se ve muy bien, lo intentaré pronto)
- Carmen (Robot Vision, etc. es fácil de implementar en él (?))
- Webots (fuente cerrada)
- Simbad (simulador 2D / 3D en Java y Jython)
- Robocode (un juego Java / .NET)
- Playhouse de Rossum (traje C / C ++)
- V-REP (3D, fuente disponible, scripts Lua, API para C / C ++, Python, Java, Matlab, URBI, 2 motores de física, solucionador de cinemática completo, etc.)
Algunas plataformas / middlewares más genéricos también ofrecen herramientas de simulación:
- ROS ( actualmente la integración más grande de tales plataformas )
- URBI
- YARP
- OROCOS (¡No sé nada al respecto!)
Algunas referencias sobre simuladores de robots:
Estoy trabajando en el desarrollo de otro simulador de robótica, basado en Blender. Se llama MORSE y su objetivo es ser un simulador muy flexible basado en componentes modulares. Proporciona conectividad a varios middlewares, actualmente YARP, ROS y sockets. Las aplicaciones actuales que lo utilizan incluyen la cooperación de robots móviles múltiples y la interacción humano-robot.
Puede encontrar más información en la página de inicio oficial: http://morse.openrobots.org
Es todo de código abierto, y tenemos listas de correo para los usuarios. Te agradeceríamos que pudieras probarlo y darnos tus comentarios.
Hay algunos que están orientados a la robótica humanoide y / o aplicaciones de multicuerpo en general, pero también pueden usarse para la robótica móvil:
- OpenHRP : fuente abierta, toneladas de bibliotecas escritas en C ++ incluidas para simulaciones dinámicas y visualizaciones avanzadas también. Sin embargo, es un poco molesto ponerlo en marcha, bastantes dependencias que son muy sensibles a las versiones.
- Robotran : Gratis para uso personal y / o usos de investigación. Opera principalmente en el entorno Matlab / Simulink. Muy fácil de poner modelos en funcionamiento.
- MapleSim : software comercial pero útil para modelos muy sofisticados. Exporta dinámicas multicuerpo simbólicas eficientes para la simulación / visualización en Matlab / Simulink también.
Todos estos paquetes son para simulación / visualización que es útil para el diseño general de aplicaciones robóticas.
He estado programando contra SimSpark . Es el motor de simulación de código abierto detrás de la RoboCup 3D Simulated Soccer League .
Es extensible para diferentes simulaciones. Puede conectar sus propios sensores, actuadores y modelos utilizando los archivos C ++, Ruby y / o RSG (Ruby Scene Graph).
No sé si es el mejor simulador, pero disfruté su uso.
EDITAR En respuesta al comentario de Arkapravo.
TinMan una API de .NET para escribir tus propios agentes de RoboCup 3D llamados TinMan .
Hay un montón de videos en YouTube de partidos simulados de fútbol en 3D. Este es uno de mis favoritos .
RoboCup 2010 está teniendo lugar esta semana en Singapur, aunque desafortunadamente no podré hacerlo.
RoboCup 3D se ejecuta en un motor de simulación física llamado SimSpark . Tiene una SimSpark con mucha información que explica cómo funciona todo.
Mi agente todavía es bastante primitivo, así que no tengo nada publicado al respecto todavía. Si está interesado, hay muchas implementaciones de agentes de código abierto en diferentes idiomas.
Me encontré con Fawkes en línea hoy:
http://www.fawkesrobotics.org/
Fawkes es un marco de software basado en componentes para aplicaciones robóticas en tiempo real para diversas plataformas y dominios.
Desarrollado y utilizado durante cuatro años para aplicaciones de robótica cognitiva en tiempo real, como fútbol y robótica de servicio. Es compatible con el rápido intercambio de información y la combinación eficiente y la coordinación de diferentes componentes para satisfacer las necesidades de los robots móviles que operan en entornos inciertos.
También es de código abierto (GPL).
Parece que todo lo que necesitas es un simulador 2D. Así que evitaría los gastos generales y de cabeza de un simulador 3D. Algunas notas sobre tus elecciones:
- El reproductor incluye un simulador 2D (Stage) y un simulador de física 3D (Gazeebo) que creo que usa ODE
MRDS incluye un simulador de física 3D de PhysX
ROS es solo una arquitectura y no creo que tenga su propio simulador. aunque tiene algunas herramientas de visualización diferentes. también envuelve Player.
Otro simulador / arquitectura popular es WeBots. Pero creo que solo es 3D.
Eso es todo lo que sé. Buena suerte. -Ben
También mencionaría Unity3D , en realidad está más diseñado para el desarrollo de juegos pero tiene buenas capacidades para gráficos 3D, secuencias de comandos (en javascript o Mono / C #), física, etc. y puede usarse como simulador si estás dispuesto a escribir o integre usted mismo algunas de las funciones específicas del robot (sensores, algoritmos, etc.).
Además, es multiplataforma, la versión básica es gratuita y puede hacer demostraciones muy agradables con un mínimo esfuerzo.
Una gran opción que recomiendo es Cogmation''s RobotSim. También tienen otro producto RobotBuilder que te permite construir cualquier robot que puedas imaginar e incluso importar tus propios modelos.
Urbi no es un simulador. Es una plataforma de middleware, que se basa en el lenguaje de scripts paralelo y controlado por eventos. Ahora es de código abierto y cuenta con soporte para ROS, lo que significa que debe usar ambos. Aquí hay información sobre Urbi: www.urbiforge.org
Y por último, pero no menos importante, es fácil de usar para principiantes.
Espero que toda la información que obtenga lo ayude a elegir el simulador adecuado para usted.
Yo iría por un marco de uso común. Como está interesado en la planificación de rutas, elija un marco que ya tenga robots simulados, y simplemente escriba los servicios de planificación que necesita para generar rutas para ello.
ROS es muy bueno, y tiene una gran selección de servicios de percepción útiles, así como la pila completa de PR2. Utiliza la glorieta (parte del jugador / escenario) para la simulación, e incluye algunos robots listos para usar (lo errático sería ideal para esto). Es bastante nuevo, pero muy activo.
MRDS tiene varios robots adecuados, y francamente mejores entornos simulados que ROS, pero no tanto como servicios de alto nivel. El simulador de robot lego estaría bien para lo que quiere hacer, y le da la opción de validar en el hardware real de manera barata en el futuro.
Estos dos tienen la porción de leones de los desarrolladores en este momento. En realidad, la decisión se reduce a si estás más feliz desarrollándote en Visual Studio bajo Windows o en plataformas Linux. Ambos son gratuitos para los estudiantes (MSRS está bajo los programas ELMS / dreamspark), ambos tienen una curva de aprendizaje, ambos cuentan con un buen apoyo de la comunidad. Para MRDS, regístrate en el foro, para ROS, únete a la lista de correo.
peekabot no es un simulador, solo una herramienta de visualización, y hasta cierto punto una herramienta para controlar tu robot de forma interactiva. Sin embargo, es una buena opción para usar junto con un simulador sin visualización propia.
MRPT no tiene un simulador (completo) AFAIK, solo algoritmos, interfaces, controladores y su propio formato de registro. Además de eso, se ve limpio.
OpenRAVE posible que valga la pena revisar OpenRAVE si está interesado en la planificación.
Gazebo no era lo suficientemente maduro y estable la última vez que lo probé (~ 1 año atrás). Puede valer la pena revisarlo sin embargo.
Stage es fácil de usar, siempre que solo necesite un simulador 2D sin dinámica.
He usado ODE y Bullet para simulaciones de robótica, y ambos funcionaron bien, aunque recomendaría ODE.
Para obtener una respuesta más definitiva, necesita refinar sus requisitos, es decir, ¿está buscando un simulador solo o algo así como ROS, necesita un simulador 3D con dinámica o solo 2D, qué precisión debe tener, qué sensores tiene usted? quiero simular, etc.
ODE alguien? Lo he usado mucho en mis proyectos de micromouse ..
Breve se ha utilizado para simular robots que se han implementado físicamente. Breve es conducido por ODE.