Dado que trabajar con robots será un esfuerzo de desarrollo, la mayoría de las herramientas que necesitará serán los kits de herramientas de desarrollo. La Open Source Robotics Foundation (OSRF) tiene una excelente página web con recursos. Admiten y mantienen el sistema operativo robótico (ROS). Esta es una vasta colección de herramientas que puede instalar tanto en su sistema existente como como contenedor.
El razonamiento detrás de una distribución
Cuando comiences a experimentar con robots, descubrirás muchas cosas que no esperabas cuando empezaste. ¿Te das cuenta de cuánto importan las imágenes de interpretación para el desarrollo de la robótica?? En una distribución, tiene todas las herramientas que necesitará antes de saber que las necesita.
Esto hace que sea más rápido comenzar y evitar complicaciones a medida que evolucionan los proyectos. Ocupará espacio en disco innecesariamente, pero el tamaño total del sistema no es grande para una computadora moderna. A medida que avanza en su proyecto, asegúrese de saber qué poner en el robot y no. Sus restricciones de espacio en disco son mucho más estrictas allí.
ROS: la elección más grande y obvia
Como se mencionó anteriormente, ROS tiene una vasta biblioteca de funciones. Estos van desde control de hardware, mensajes entre subsistemas y bibliotecas de visión y simuladores. El proyecto está bien compatible con el OSRF. A su vez, son apoyados por muchos líderes de la industria, y su subsidiaria comercial apoya a las mismas empresas en sus esfuerzos.
A pesar de la amplia gama de opciones y el alto nivel de sofisticación, un nuevo usuario puede comenzar a usar algunos componentes estándar. Gracias a los métodos cooperativos del OSRF, hay muchos robots que se han construido utilizando el ROS. Muchos son productos de consumo que puede comprar por una cantidad razonable e iniciar su proyecto para una tarea específica. Los productos disponibles actualmente son uno sobre ruedas, piernas y alas en los drones voladores. Incluso puedes encontrar habitantes de agua, incluidos submarinos.
Este proyecto lo durará hasta el uso industrial si pretende ir allí. Hay un poco de una curva de aprendizaje que comienza, pero de todos modos tienes mucho que aprender sobre la robótica. De hecho, cuando planifique su primer proyecto, seguramente perderá muchas características que necesita para usar básico.
Kit de herramientas de programación de robótica móvil
Como verá cuando comience con robots, gran parte del trabajo será programación. Este kit de herramientas lo ayuda con SLAM (localización simultánea y mapeo) y otras herramientas de planificación de ruta. Muchas de las herramientas tienen que ver con la visión. Una pieza interesante de este kit de herramientas es el soporte del hardware Kinect. Las bibliotecas libfreenect son las subyacentes para este proyecto. Para agregarlo a su instalación de Ubuntu, puede recoger el PPA e instalarlo con Apt. Compilar el suyo requiere GCC-7 o más nuevo, clang-4 o más nuevo. Para obtener más información y lo que debe hacer cuando use ROS, gotee su página de GitHub.
Cárcel
Llamada 'otra plataforma de robot', se basa en la idea de que usa tanto como sea posible de las herramientas existentes. YARP es una colección de bibliotecas C ++ que define los protocolos de comunicación para todos los niveles de proyectos de robótica. Tienes tres componentes de Yarp, Yarpos, Yarpsig y Yarpdev. Todos están preocupados por cómo enviar datos entre los componentes de su proyecto. El componente de Yarpos crea interfaces hacia el sistema operativo que está ejecutando. Esto hace que sea fácil cambiar el sistema operativo o el hardware de un componente mientras conserva las mismas flujos de datos de YARP. Esto se requiere para ejecutar las otras partes del sistema. YARPSIG maneja tareas de procesamiento de señales, interfaces con OpenCV y bibliotecas similares. No hace el procesamiento. YarpDev proporciona interfaces a todo tipo de dispositivos que necesita. Piense en cámaras, micrófonos, controladores de motor y más. YARP hará la interfaz del sistema general. También lo usará para configurar sus dispositivos. YARP lo ayudará a planificar todos los demás software para que pueda usar lo que existe. De hecho, también tiene la opción de ejecutar algunos componentes debajo de ROS, mientras que otros ejecutan YARP. Hay muchas opciones disponibles y puede hacer la transición entre las dos gradualmente.
Conclusión
Cuando comience con robótica, necesitará muchas piezas de software. Cada controlador y computadora integrada tiene diferentes necesidades y sistemas. Cada cámara tiene un controlador nuevo. Todos los datos deben moverse entre subsistemas y componentes. Se vuelve realmente complicado. Para comenzar más rápido, debe tener un sistema que coordine todo. Hace esto teniendo una función de coordinación para mensajes y datos. Estos se organizan como 'temas', 'nodos' y 'servicios'. La razón de estas diferentes funciones es que a veces, desea ejecutar comandos, a veces desea poner los datos a disposición de muchas otras partes del sistema y también podrá enviar todos los datos al sistema en general.
Aquí es donde necesita una distribución o una plataforma que mantenga todo esto coordinado. ROS es el sistema que funciona con la mayoría, si no todos los tipos de proyectos. Recuerde comprender lo que está tratando de lograr con su diseño. Esto es particularmente importante cuando estás aprendiendo. Si tiene un objetivo, entonces todos los pasos tienen una razón y una asociación. Eso es lo básico del aprendizaje; Para ver la conexión entre la razón y la acción.