2010-07-30 16 views
31

Ok, he estado interesado en la robótica por un tiempo y tenía un proyecto en mente. Construir un pequeño vehículo-robot controlado por control remoto/vehículo-robot no tripulado. Con suerte, con la capacidad de leer datos de dispositivos sensoriales (gps, termómetros, etc.) y escribir los datos en algún tipo de dispositivo. La (s) idea (s) habían estado en un segundo plano por un tiempo hasta que leí el siguiente article.¿Por dónde empezar con la programación de robótica?

Así que mi pregunta es esta. ¿Dónde debería comenzar? No tengo absolutamente ninguna experiencia en esto aparte de algunas búsquedas en Google y mi idea de proyecto. Me gustaría jugar con la programación de las placas de microcontroladores. Conozco algunos lenguajes Java .net y algunos C.

¿Alguna ayuda sobre dónde empezar?

¿Cómo se diseña el robot? ¿Qué pasos se debe seguir de principio a fin?

Gracias.

+1

Falta información crucial: 1) ¿cuál es su presupuesto? 2) ¿estás más interesado en los aspectos de bajo nivel o alto nivel de hacer un robot (por ejemplo, construir y programar tus propios controladores de motor versus hacer cosas de alto nivel como [SLAM] (http://en.wikipedia.org/ wiki/Simultaneous_localization_and_mapping))? 3) ¿En qué forma son tus habilidades electrónicas? – Staffan

+0

1) hasta $ 500 pero id prefiere comenzar más barato. 2) estoy interesado en el lado de bajo nivel de las cosas, pero me gustaría probar tanto la programación de alto como de bajo nivel. 3) id novato para las habilidades electrónicas. – Julio

Respuesta

2

muy simples de configuración para instalar, pero esto se debe ofrecer una gran cantidad de información sobre lo que usted quiere aprender, y ofrecer a la práctica genuina de lectura senors robóticos, interactuando con su entorno, etc.

http://playerstage.sourceforge.net/

Ofrecen un marco de trabajo Java (aparte del marco oficial compatible), que tiene su propia documentación de Sun Java.

http://sourceforge.net/projects/java-player/files/

12

Si usted está interesado en el lado de programación puede empezar con algo como Lego MINDSTORMS. Si está más interesado en el lado de la electrónica, puede consultar algunos de los kits en Parallax y The Robot Store.

Encontrarás una combinación de idiomas y plataformas para elegir tus idiomas favoritos y encontrar algo en tu rango de precios. La robótica puede ser muy divertida (y consume mucho tiempo).

Por cierto, puedes hacer un robot bastante genial con solo un auto RC y un BASIC Stamp. Y si tiene un parallel port en su computadora, puede conectar su computadora con el auto de RC para obtener aún más potencia.

+0

No era demasiado aficionado a los kits de Parallax. No son muy flexibles en lo que respecta al Robot en sí (a diferencia de la programación). – Joel

+0

Algunos de ellos pueden no ser muy flexibles, pero son buenas herramientas de aprendizaje. –

+0

Lo que me gusta de Lego Mindstorms es que es simple (funciones básicas de arrastrar y soltar y la capacidad de agregar otros idiomas como Java), expansible a bajo costo fuera del kit básico (solo un conjunto básico de lego) y divertido de usar. – TheLQ

8

Lego Mindstorms es un sistema sorprendentemente robusto, y le permite concentrarse más en lo que realmente le gustaría lograr. Hay sistemas que te permitirán programar en algo más que el lenguaje visual que viene con el kit, que yo preferí.

O puede obtener un kit de inicio de VEX, que incluirá un microcontrolador PIC o Cortex, junto con un sistema de programación. El kit VEX es como un Erector con cerebros y motores. :-)

+1

He usado Vex, y es un sistema horrible para programar. – TheLQ

5

La Arduino es una plataforma popular muy entre los aficionados. Básicamente es una placa programable con varias entradas y salidas. Recomiendo comenzar por su facilidad de uso y grande support community.

Arduino es una electrónica de código abierto plataforma de prototipado basado en flexibles, hardware fácil de utilizar y software . Está pensado para artistas, diseñadores, aficionados , y cualquier persona interesada en la creación objetos interactivos o entornos

Varias personas han hecho tutoriales en la construcción de robots con un Arduino que el controlador. This one es bastante genial.

2

Dado que quiere un vehículo con control remoto capaz de moverse, obviamente necesitará algún tipo de motor. Voy a suponer que tendrá la locomoción differential drive, ya que es la más simple de construir y muy fácil de controlar.

La opción más simple es obtener un par de servos de pasatiempo continuo. Son baratos ($ 10 y más) y sencillos de conducir a través de PWM (el ciclo de trabajo controla la velocidad). Si desea aumentar un poco el nivel, puede obtener un par de motores y codificadores de CC. Necesitará un circuito adicional para conducirlos, pero puede comprarlos listos.

Si no desea que esté atada, necesitará baterías y algún tipo de radio a bordo también. Si estás de acuerdo con no hacer todo desde cero, WiFi es la solución más simple en mi opinión, ya que no necesitas ningún equipo adicional en la computadora que estás usando; sin embargo, tiende a limitar su "computadora" y las opciones de software (querrá ejecutar, por ejemplo, Linux).

Usted querrá una MCU/tablero que tiene:

  • PWM, para la conducción de sus servos/Motores
  • A/D si tiene sensores analógicos
  • Un manojo de E/S digitales para lo que sea
  • WiFi incorporado o una manera de interconectar la tarjeta Wi-Fi (USB, mini-PCI)
  • SPI/I2C y UART para varios periféricos

Tener señales de host USB tiene la ventaja adicional de que es fácil conectar cámaras baratas.

Algo como el Roboard se ajusta a la perfección (también venden una tarjeta mini-PCI wifi). Contiene mucha potencia informática (y a diferencia de muchas de las tarjetas más simples, ¡tiene una FPU!), Tiene muchas opciones de conectividad, incluido USB, y viene con una biblioteca de espacio de usuario para controlar los periféricos. (Descargo de responsabilidad: No lo he probado yo mismo.)

No es el hardware más barato que puede obtener, pero debería tener espacio para crecer si desea probar las partes más intensivas en informática de la robótica (como SLAM, computadora visión y planificación del movimiento).En el lado positivo, no tienes que construir un programador/depurador para ello.

Si prefieres comenzar de manera simple, obtener una placa más barata como la Arduino que alguien ya mencionó podría ser una mejor opción. Usar un simulador también es bueno para probar los aspectos del software antes de invertir en hardware.

Por dónde empezar en el lado del software depende de lo que le interesa.

+0

También debo agregar que C++ es bastante dominante en la comunidad de robótica (académica), por lo que puede o no desear conocerlo un poco más. – Staffan

1

Voy a añadir un voto para los robots LEGO sólo para empezar, pero ¿está usted como programador? Si quieres salir por tu cuenta, puedes cargar LeJOS en el "ladrillo" LEGO (sabrás que eso significa cuando lo mires) y ejecutar tus propios programas Java en tu computadora que interactúen/controlen el LEGO robot directamente.

Además, si es programador, puede consultar el Proyecto de código abierto High Level Logic (HLL). El código aún no alcanzó la versión 1.0, pero había una demostración de robótica en el prototipo y un LEGO con LeJOS esperando en las alas.

LEGO Mindstorms NXT Robots (leJOS) - (gráfica dinámica en el artículo sólo funciona correctamente en Firefox.) http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html

+0

Gracias por esta respuesta Roger. Java es algo que uso regularmente, así que echaré un vistazo a esto. – Julio

1

Si quieres hacerlo bien, y desarrollar habilidades que le servirán bien en la robótica industria en el futuro, recomiendo probar ROS. ROS, el "Robot Operating System" no es realmente un sistema operativo en absoluto (de hecho, comúnmente se ejecuta en Ubuntu). Es un sistema de comunicación entre procesos, un conjunto de herramientas de creación y depuración, y una biblioteca increíblemente grande de controladores y algoritmos excelentes.

Para comenzar sin un robot físico, puede comenzar con cualquiera de una serie de robots simulados en el simulador Gazebo. Esto le permitirá comenzar con el desarrollo de algoritmos y tal sin una gran inversión de tiempo o dinero. Tutoriales y guías de inicio se pueden encontrar en ros.org.

¡Buena suerte!

+1

La documentación y soporte para SO fuera de Ubuntu es absolutamente terrible. Una vez que finalmente conseguimos compilar un archivo de proyecto para nosotros en Windows, me pareció griego para mí y para el otro desarrollador. http://stackoverflow.com/questions/18194359/how-to-install-robot-operating-system-rosjava-on- windows – FlavorScape

+0

Tiene toda la razón. ROS está (desvergonzadamente) orientado hacia los sistemas basados ​​en Linux, y Ubuntu en particular. Suponen que si vas a usar otra plataforma, puedes y estás dispuesto a "pagar el gaitero" por así decirlo. Difícilmente es óptimo, pero es lo que es. –

+0

No entiendo por qué no usaría LLVM para compilar, o pensaría que al menos la versión de Java/Groovy estaría documentada y funcionaría sin la mitad de los enlaces de la instalación rotos. Quiero decir, Vamos, Java. No es como su MS. – FlavorScape

Cuestiones relacionadas