Simulador de robótica independiente (o capaz de serlo)

13

Soy un ingeniero de software que trabaja como voluntario con una organización sin fines de lucro que les presenta a las jóvenes la tecnología. Recientemente hemos estado hablando sobre métodos para presentar a estos niños al mundo de la robótica, y tengo curiosidad por saber qué tipos de opciones de bajo costo tenemos.

Una idea muy atractiva sería tener un simulador en línea, o (más preferible) un simulador independiente fuera de línea con el que podamos construir y programar robots simples. Quizás nada más que arrastrar componentes juntos, y luego programar las interacciones entre esos componentes.

¿Qué soluciones existen que podría utilizar en nuestro alcance?

Sampson
fuente
En mi experiencia, un robot de aspecto medio que no funciona recibe mucha más atención (como robot) que un robot de aspecto genial en un simulador. Siempre que no sea real, puede que también haya sido un juego de computadora o una caricatura para todos los niños.
Shahbaz
Necesitamos un simulador para que las niñas puedan aprender conceptos de programación y ponerlos en uso. El simulador no necesita ser bonito, no podría ser más que formas geométricas crudas. El código es lo que importa.
Sampson

Respuestas:

7

Stage y Gazebo son simuladores de código abierto en 2D y 3D, respectivamente. Son creados y mantenidos por el proyecto Player . Son muy fáciles de usar y tienen muchos mapas y robots preconstruidos. Dependiendo de la experiencia de su audiencia, es posible que deba hacer un poco de trabajo pesado (es decir, construir archivos de configuración y las clases principales).

También tienen un par de beneficios adicionales. Primero, siempre y cuando crees tu código de control principal como complementos de jugador, se pueden adaptar fácilmente a robots reales. En segundo lugar, hay una gran cantidad de complementos ya creados para funcionar con hardware real. Tercero, trabajan con ROS .

DaemonMaker
fuente
4

Puede ser que es un poco caro (CHF 75) pero todavía sugiero Colobot . Es un entorno agradable, casi parecido a un juego, donde los robots deben ayudar a los humanos a hacer habitable una base espacial. Los niños programan los robots mientras se realizan tareas cada vez más complejas. El programa enseña los fundamentos de la programación de una manera divertida y orientada a objetivos.

rics
fuente
3

La robótica de Microsoft es GRATUITA e incluye un simulador . No es exactamente el entorno más fácil del mundo, sin embargo, ES robusto y apropiado para la robótica real. Creo que con la participación de algunos maestros para configurar las cosas de antemano, podría ser útil. Hay un 'paquete' de simulador para LEGO, Neato y algunos otros robots, y se pueden programar en C # o en un lenguaje visual de arrastrar y soltar.

Una vez más, creo que necesitaría un poco de trabajo por adelantado para facilitar el uso de los jóvenes, pero no sería tan difícil, y sería mi enfoque dados sus requisitos. Diría que, en lo que respecta a la complejidad, esto (Windows) frente a un entorno Linux con Gazebo / ROS, el entorno Windows sería un poco menos complicado, aunque la mayor parte de eso se ocultaría con el trabajo de preparación.

Claveteado3
fuente
2

RobotC tiene un simulador disponible, aunque ambos son productos a algunos costos. Sin embargo, están muy orientados hacia los estudiantes más jóvenes y la educación. Esta sería la ruta más fácil y más apropiada si los costos no son un factor de bloqueo ( alrededor de $ 100 por licencia para ambos para un solo usuario, $ 300 para 6 usuarios, $ 600 para 30 usuarios ).

Si compra la versión para estudiantes ROBOTC para MINDSTORMS NXT de LEGO, el precio puede ser de 49 $ por cada uno o 40 $ (más de 20 licencias)

Claveteado3
fuente
2

V-Rep (Plataforma Virtual de Experimentación de Robots) parece ser bastante amplio en los tipos de simulaciones que puede hacer. Es gratuito con fines educativos y viene con una amplia gama de herramientas. Puede ver este video de YouTube para una demostración.

Shahbaz
fuente
1

Tal vez no sea un simulador de robótica completo, pero estamos utilizando 3D CAD, Autodesk Inventor, bastante para simulaciones. Por lo general, hacemos una interfaz para el CAD similar a la que queremos que sea para el hardware. De esa manera, podemos usar el modelo CAD como un prototipo virtual para:

  • Capture los errores de diseño temprano. Colisiones, no suficiente golpe, etc.
  • También ha sido útil para encontrar compensaciones a errores tales como errores de alineación. Usando el CAD podemos modelar diferentes errores uno por uno y probar nuestras compensaciones. Es conveniente poder introducir errores grandes con signos conocidos.
  • El CAD también da respuestas sobre cosas como momentos de inercia.
  • También utilizamos el modelo CAD para generar el programa para el equipo.
Johan Larsson
fuente
Corríjame si me equivoco, pero CAD se centra mucho en modelar el hardware y la física correctamente, y mucho menos en programar el robot. El OP está interesado en enseñar programación, no ingeniería, por lo que creo que un sistema CAD no aborda su problema
ThomasH
@ThomasH hemos tenido una programación exitosa para la API del CAD y de esa manera hemos podido hacer mucho desarrollo. ¿Debo eliminar?
Johan Larsson
1
No es necesario eliminar. No es una mala respuesta solo porque creo que no es una gran opción para el OP. La votación generalmente impulsa la respuesta más adecuada a la cima de todos modos, y el OP aceptará la que más ayudó. Pero el suyo aún podría ser de interés para alguien con un problema similar que surja con esta pregunta
ThomasH el
1

Es posible que desee ver " MindRover ". Es viejo y más difícil de encontrar ahora, ya que el sitio web original no funciona, pero aún se puede encontrar en Ebay o Amazon . Aunque orientado al juego / misión, implicaba elegir entre una paleta de componentes del robot, colocarlos en un chasis y luego conectarlos. Fue realmente bien hecho para un juego y podría usarse para explorar conceptos simples o semi-avanzados. Algunas capturas de pantalla aquí: http://images.google.com/images?q=mindrover .

Si está buscando algo un poco más serio con capacidades del mundo real, puede consultar FlowStone for Education . No lo he usado, pero creo que es un entorno de programación visual ideal para trabajos de tipo robótica.

Por último, aunque no sea software o simulación, recientemente encontré un comentario sobre reddit de phblj con respecto a una técnica para introducir la programación , y pensé que era realmente bueno (y especialmente adaptable a la programación robótica). Citar:

Gran ejemplo de computadoras que hice con niños: un niño llegó a ser el "programa" y dio instrucciones sobre cómo hacer un sándwich de mantequilla de maní y mermelada, pero no pudieron ver mis acciones. Yo era la computadora y seguí las instrucciones exactamente. La hilaridad resultó. (Sin quitar la tapa de la barra de maní, sin sacar el pan de la caja, lo tenía en). Después de un minuto, apareció otro niño y lo intentó. Llegaron un poco más lejos, pero aún se tambalearon. "Poner la mantequilla de maní en el pan" dio como resultado que el frasco descansara sobre el pan, etc. Se necesitaron varios niños, pero finalmente lo conseguimos. Si tiene un asistente, pídales que escriban las instrucciones como se dice, creando el "programa".

Puede entrar en explicaciones, entonces, pero lo que realmente quedó grabado fue que los niños eran "más inteligentes que una computadora". Pero que las computadoras eran realmente muy rápidas siguiendo las instrucciones. Entonces necesitaban usar su inteligencia y la velocidad de las computadoras, y ... ¡programación!

kaliatech
fuente