Proyectos con kinect y arduino
Robótica del sensor kinect
El sensor Kinect de Microsoft es un dispositivo periférico (diseñado para XBox y Windows PC) que funciona de forma muy parecida a una cámara web. Sin embargo, además de proporcionar una imagen RGB, también proporciona un mapa de profundidad. Es decir, por cada píxel que ve el sensor, el Kinect mide la distancia desde el sensor. Esto hace que una variedad de problemas de visión por ordenador, como la eliminación del fondo, la detección de manchas, y más, sean fáciles y divertidos.
El sensor Kinect sólo mide el color y la profundidad. Sin embargo, una vez que esa información está en tu ordenador, se pueden hacer muchas más cosas, como el seguimiento del «esqueleto» (es decir, detectar un modelo de una persona y seguir sus movimientos). Para hacer el seguimiento del esqueleto tendrás que utilizar la librería de procesamiento de Kinect v2 de Thomas Lengling, que es sólo para Windows. Sin embargo, si estás en un Mac y lo único que quieres son los datos en bruto del Kinect, ¡estás de suerte! Esta librería utiliza los controladores de código abierto libfreenect y libfreenect2 para acceder a esos datos para Mac OS X (el soporte para Windows será pronto).
Si quieres instalarla manualmente, descarga la versión más reciente y extráela en la carpeta de bibliotecas. Reinicie Processing, abra uno de los ejemplos en la carpeta de ejemplos y ¡ya está listo!
Cosas que hacer con kinect en pc
Veo muchos proyectos como este, y me pregunto cómo funciona a nivel superior. He descargado el SDK de Kinect y he hecho algunos tutoriales básicos, pero no creo que el SDK de Microsoft sea la librería a utilizar para proyectos de robótica reales. ¿Alguna sugerencia de por dónde empezar y qué librería utilizar? ¿Algún libro bueno en particular o recursos en línea?
Toda la configuración del robot (de entrada) depende de qué tipo de datos va a procesar tu código. Si está más orientado a la visión, los datos pueden ser mapas de profundidad, nubes de puntos, imágenes rgb o una combinación de los 3. Esto significa que puedes usar algo como el Kinect (que requeriría un procesador más potente que el arduino), o simples cámaras rgb (para las que algo como el arducam+arduino es suficiente). El arduino puede ejecutar programas sencillos de visión por ordenador, pero nada demasiado pesado y que requiera mucho procesador. Además, si no me equivoco, Arduino no puede procesar y utilizar sus pines GPIO al mismo tiempo. Lo que significa que durante una tarea de procesamiento intensivo, los motores de tu robot están básicamente apagados.
Hackaday kinect
Si has hecho algún retoque con Arduino y te has preguntado cómo podrías incorporar el Kinect -o al revés-, este libro es para ti. Los autores de Arduino and Kinect Projects te mostrarán cómo crear 10 proyectos sorprendentes y creativos, desde los más sencillos hasta los más complejos. También descubrirás cómo incorporar Processing en el diseño de tus proyectos, un lenguaje muy similar al de Arduino.
Los diez proyectos han sido cuidadosamente diseñados para que puedas desarrollar tus habilidades en cada paso. Empezando por el equivalente a Arduino y Kinect de «Hello, World», los autores te llevarán a través de una diversa gama de proyectos que muestran el enorme abanico de posibilidades que se abren cuando se combinan Kinect y Arduino.
Proyectos kinect de código abierto
Los motores son dos motores de 12v DC (107rpm) de Banggood. Son bonitos pero en realidad no necesito que el robot vaya tan rápido y no me hubiera importado cambiar algo de velocidad por encoders más precisos.
En cuanto al diseño, la principal limitación era tener algo que se integrara bien con el Kinect, ya que estaba construyendo el robot en torno a él. Me inspiré en el aspecto triangular de muchos objetos de estilo moderno (y mucho en Deus Ex, tengo que admitir). Realmente quería tener un robot de aspecto bonito y profesional, ya que es algo que suele faltar en los robots de bricolaje (pero no os preocupéis, el cableado es todo lo desordenado que debería ser). Fue necesario pasar algunas semanas en el modelo CAD para ajustar todo.1 / 6 – Renderizado 3D
Las luces del lateral son recicladas de un palo luminoso de Nochevieja que me regalaron y sirven para indicar los estados del robot. Cuando el Arduino no está conectado al maestro ROS (lo que indica que el programa del robot aún no se ha iniciado) las luces parpadean tres veces seguidas muy rápidamente. Cuando se está conduciendo, las luces tienen un parpadeo más «respiratorio» y la velocidad de parpadeo depende de la velocidad del robot.Parpadeo no conectadoParpadeo de inactividadEstructuraComo se ha dicho anteriormente, el robot es de accionamiento diferencial, por lo que los motores están colocados en el mismo eje. La base está hecha de madera con dos ruedas giratorias para el apoyo. Inicialmente planeé usar una sola rueda giratoria para evitar el tema de la hiperestática, pero no pude encontrar una de buen tamaño. El resto de la estructura está hecha principalmente de madera y soportes metálicos, fáciles de encontrar en cualquier tienda de bricolaje. En la parte trasera del robot se pueden apilar placas para colocar las placas electrónicas.1 / 2