Lo que es común entre un revólver, lavadoras y un robot autónomo.

Amamos los robots. Somos estudiantes de universidades técnicas, diseñadores, ingenieros electrónicos, programadores, y a todos nos encanta crear robots. Hace dos años, nuestro equipo de instalación apareció sobre la base del laboratorio de robótica Sberbank y al mismo tiempo participó en la competencia para la creación de robots autónomos móviles Eurobot Open para jóvenes fanáticos de la robótica. Por el momento, el equipo jugó 2 temporadas, dos veces se convirtió en vicecampeón, ingresó a la etapa internacional. No dormimos durante días, programamos, soldamos, ensamblamos y desarmamos nuestros robots, encontramos serios problemas una hora antes de la competencia, y aún así comenzaron. También obtuvimos una experiencia inolvidable y obtuvimos una serie de soluciones interesantes, de las que queremos hablar en una serie de artículos (con muchos GIF, cuidadosamente, tráfico).



Eurobot Open es una competencia internacional de robots autónomos. Las tareas, el campo de batalla y los elementos del juego cambian cada año, pero la esencia sigue siendo la misma: el equipo debe crear dos robots autónomos que competirán con los robots del oponente en un campo pequeño por recursos limitados durante 100 segundos. Esta breve propuesta oculta una gran cantidad de tareas que el equipo debe resolver, porque los robots deben ser rápidos, maniobrables, capaces de realizar tareas de forma independiente y no enfrentar al enemigo. Y cada año es necesario desarrollar nuevos robots. Sin embargo, la experiencia y los logros de los últimos años pueden dar una gran ventaja. De año en año, necesitamos sistemas de localización, predicciones de movimientos enemigos y evitar colisiones, planificadores de rutas, sistemas flexibles de gestión del comportamiento, nuestra propia electrónica y mecánica. Sí, para gran parte de esto hay algoritmos y bibliotecas estándar, sin embargo, la mayor parte todavía tiene que modificarse o escribirse desde cero debido a la especificidad de la funcionalidad y los requisitos para el consumo de recursos.


Nuestro equipo en la final rusa en Moscú.

Buen video sobre nuestra participación en 2019:



El tema principal de los juegos en 2019 fue la energía nuclear. Pero esto no significa que se requirió que los equipos hicieran un robot impulsado por un motor nuclear. Solo se asignaron nombres temáticos a diferentes tareas y elementos del juego. El único objeto de manipulación del juego eran los discos de hockey: los electrones. Tienen pesos diferentes, colores diferentes y uno, "dorado", de un tamaño diferente. Es necesario recolectar un máximo de arandelas ubicadas en diferentes lugares del campo, en diferentes posiciones, a diferentes alturas, y luego clasificarlas en zonas en el campo, dependiendo de qué tipo de elemento químico sea.


Así era el campo de juego en 2019.

Los nombres en clave de nuestros robots este año fueron Chip y Dale. Por qué Creo que la respuesta es clara en la foto:



Repasemos las soluciones técnicas básicas de nuestros robots la temporada pasada. Este año intentamos todo lo posible para unificar todo y tuvimos dos robots gemelos. El diagrama estructural de nuestros robots en la imagen a continuación.



El nivel superior estaba representado por un Odroid xu4 probado en una sola placa con ubuntu 16.04 y ROS Kinetic a bordo. Todas las tareas "difíciles" están girando sobre él.

En el nivel inferior, el STM32F407VGTX-DISC1 está funcionando, atrapado en un escudo de su propio diseño, lo que le permite conectar convenientemente una docena de motores, serv y una guirnalda de sensores. Por cierto, siempre están ganando una cantidad impresionante. Cada uno de nuestros robots contiene lidar, 7 motores dc / bldc, 9 servos y alrededor de 25 sensores diferentes (colores, pesos, distancias, corrientes). Y todo esto, más otros 6 mecanismos volumétricos, se colocaron en robots compactos con un perímetro de 850 y una altura de 350 mm. FreeRTOS, que atiende tareas que requieren ejecución en tiempo real, procesamiento de todos los sensores y máquinas de estado, está girando sobre STM.


Vista de los omnicholes del robot.

Una característica interesante es el uso de una plataforma omnidireccional como unidad, que nos permite conducir en cualquier dirección y en cualquier lado sin realizar giros innecesarios, lo que aumenta drásticamente la maniobrabilidad del robot.

Entonces, por ejemplo, en el siguiente video del partido celebrado en Francia, se puede ver cómo, a pesar del hecho de que fuimos bloqueados (debido a una violación grave de las reglas por un oponente), el robot salió de la trampa de joyería.



Sin embargo, debido a omni, la precisión de la odometría de la rueda es muy pobre: ​​las ruedas no son perfectamente redondas, los rodillos juegan y tienen un pequeño punto de contacto. Para resolver este problema, puede golpear periódicamente la pared, restablecer el error o aplicar sistemas de ajuste externos. Con relativa frecuencia, se colocan lidares en robots para esto. Otra solución apareció hace un par de años: se agregó un lugar al campo donde se puede colocar la cámara. El año pasado, viajamos solo a través de una cámara externa con detección de marcadores de aruco aplicados al robot, pero en esto trabajamos simultáneamente en la localización usando un lidar en el robot y una cámara externa (la localización y la navegación pronto serán otro gran artículo interesante). No tuvimos tiempo para probar el lidar, así que rodeamos la cámara y usamos el lidar como soporte para los arucomarkers. Ventajas del sistema: conocemos la posición de todos los robots en el campo. De los inconvenientes, una alta sensibilidad a la luz externa y precisión de calibración, que, desafortunadamente, nos ha fallado más de una vez. Pero, en general, la combinación de odometría y detector de arude nos permite posicionarnos con una precisión de varios milímetros en un campo de 2x3 metros.


Nuestra placa de telémetro desarrollada.

Las reglas prohíben las colisiones con otros robots (para esto también pueden descalificar), por lo tanto, es importante que el robot note los obstáculos en su camino a tiempo. Por lo general, para monitorear la zona cercana, se instalan buscadores de rango IR de umbral ordinario o Sharp GP2Y0A21YK, que son extremadamente sensibles a la superficie, por ejemplo, pueden trabajar en aluminio pulido desde medio metro y aún no ver el carbono enfocado. Los telémetros ultrasónicos también se usan a menudo, pero son sensibles al ángulo de la superficie reflectante y temen la interferencia mutua. Recientemente, los telémetros ToF, por ejemplo, VL53l0x o VL53l1x, están ganando popularidad rápidamente. Después de probar estos sensores una vez, es difícil rechazarlos: tienen una dependencia débil del material del obstáculo, alta precisión, compacidad y bajo precio. Sin embargo, el año pasado intentamos usar el VL53l0x y surgieron varios matices. ¿Qué puede pasar cuando pones una docena y media docenas de telémetros en i2c, entre un montón de motores y serv? Además, los sensores no pueden establecer una dirección constante, bueno, y la guinda del fantasma se cuelga. Por lo tanto, este año hicimos el cambio a rs485, lo que simplificó enormemente el uso de telémetros. En las fotografías del robot, las luces azules son ellas.

Aquí estamos evitando de todas las formas posibles que el robot vaya directamente entre dos puntos, y tercamente resulta ser más inteligente que nosotros:



El uso de un sistema de localización externo, un planeador completo, así como una impresionante zona cercana para evitar colisiones le permite hacer estas cosas a una velocidad de 1 m \ s. En los próximos artículos, trataremos de contar al máximo las cosas más interesantes de nuestras decisiones (y abrir las bases), pero hoy queremos hablar sobre las características de la mecánica este año.

El diseño de la mecánica para Eurobot se distingue por su especificidad. En primer lugar, dado que se trata de una competencia, todo debería funcionar lo más rápido posible y cien por ciento confiable. En segundo lugar, la tarea se establece de modo que cuantos más puntos quiera ganar, más difícil sea diseñar la mecánica. Y cuanto más complicada sea la mecánica, mayor será la probabilidad de que falle, lo que, según la ley de Murphy, ocurrirá en el momento más inoportuno.

Las tareas pueden parecer simples a primera vista, pero este no es el caso en absoluto: la tarea de manipular objetos (tomar, reorientar, configurar) sigue siendo extremadamente difícil de resolver. A diferencia de los manipuladores industriales, que generalmente se encuentran estáticos, que tienen todas las coordenadas movidas y que funcionan en condiciones ideales, todo está más fresco: puse el robot en el campo, tiré de la llave y el robot funciona hasta que termina la carrera. La posibilidad de algún tipo de ajuste de coordenadas y depuración adicional está prácticamente ausente. Es necesario tener en cuenta posibles errores graves de localización o imprecisiones en la fabricación del campo (por ejemplo, el robot piensa que está enfrentando el disco que planea tomar, pero de hecho está desplazado x 15 mm de la coordenada requerida), por lo tanto, coloque el manipulador con un agarre limpio, moverse de un punto a otro no funcionará: en las condiciones reales de competencia tendrá serios problemas.


Disposición de mecanismos en el robot.

Logramos construir dos robots idénticos, cada uno de los cuales resolvió todo el rango de tareas posibles dentro del marco de la competencia. El robot albergó un transportador de tipo giratorio con 6 arandelas, y en cualquier momento pudimos descargar cualquiera de ellas. En el campo, las arandelas están en dos posiciones: tumbadas en el suelo y paradas en un estante especial. Para cada opción se ha diseñado su propio mecanismo de recolección. Las arandelas del estante se ensamblaron utilizando un rodillo de aleta especial que arrojó las arandelas sobre la rampa, a lo largo de la rampa que condujo la lavadora hacia la celda inferior del revólver, después de lo cual se detectó su color, el revólver se desplazó y el robot se acercó a la siguiente lavadora.

El marco de soporte del robot estaba hecho de chapa de aluminio y 204 piezas impresas, 6 piezas de Dynamixel AX-12A, una Dynamixel MX-64 y dos de nueve gramos, 3 piezas de maxonmotor de 16 mm y un maxonmotor de 22 mm fueron los responsables de los mecanismos. El chasis era de tres maxonmotor 22 mm y 60 mm omnicholes . Todo esto está sazonado con 106 rodamientos.

¿Por qué dynamixels y no servos estándar? Tienen muchas protecciones, control digital y muchas configuraciones, conexión en serie conveniente y, en general, buena calidad. Nuestra experiencia también muestra que los servos baratos por temporada cambian en un círculo varias veces, mientras que los servos caros cuestan casi la misma cantidad.



Como la mayoría de las arandelas en el piso no estaban en coordenadas específicas, sino que se ubicaban al azar dentro de una determinada zona, era difícil usar los manipuladores, por lo que se desarrolló un mecanismo especial para absorber las arandelas.



Las arandelas se descargan en dos zonas: en las escalas, donde las arandelas pueden caer en cualquier posición, y en la zona del acelerador, donde las arandelas se colocan en posición vertical. Aquí, el robot descarga idealmente todo en el acelerador en el campo local (que era el 90% de los casos):



Sin embargo, en las carreras decisivas, esto, desafortunadamente, funcionó una vez.

Al descargar en el acelerador, es posible tirar las arandelas inmediatamente sobre una superficie inclinada, y primero dejarlas caer sobre una superficie horizontal, y luego empujarlas sobre una superficie inclinada. La segunda opción le permite lanzar dos goles más y sumar más puntos. Por lo tanto, se eligió esta opción, que, como resultó más tarde, fue un error crítico. Fue extremadamente difícil conducir hasta la pared, tirar el disco, desecharlo con un rodillo y repetirlo N más veces. Las arandelas pueden levantarse torcidamente, no acelerar, chocar contra la pared y, lo más importante, bloquear el paso de las arandelas posteriores.



Como lo demuestra la experiencia de las competiciones y, en particular, las decisiones constructivas de otros equipos, cuanto más simples sean las decisiones en mecánica, mejor. La solución actual requería el trabajo coordinado y depurado de una gran cantidad de mecanismos complejos, el fracaso de cualquiera de los cuales condujo a la falla de todo el sistema, y ​​esto, como se sabe por la teoría de la confiabilidad , no es muy bueno. Además, la mecánica requería ajustes regulares y reparaciones menores, lo que detuvo el proceso de depuración de software en el robot. Donde es mejor hacer un robot con una ventosa en una sola palanca de enlace, que pone las arandelas en una pila, pero cumple en un cien por ciento de los casos según lo previsto. Por otro lado, la participación en competencias puede considerarse no solo como competencias de puntuación, sino como una buena manera de implementar las soluciones de ingeniería más interesantes y geniales.

En general, a pesar del desempeño poco exitoso en Francia, estamos satisfechos con los resultados. Aprendimos muchas lecciones: que el estado de preparación de una tarea no es un parámetro binario, que la velocidad de desarrollo a menudo es inversamente proporcional al número de personas involucradas, que los mecanismos y módulos simples y especializados en una tarea pequeña pueden ser mejores que complejos y, en teoría, ideas hermosas. Y preparándose para la nueva temporada.

Enlaces de video y una revisión más detallada: página de reglas oficiales de Eurobot . Revisión detallada de los mentores del equipo .

Eurobot no es lo único que los alumnos pueden hacer en el Laboratorio de Robótica de Sberbank; hay otras pasantías, por ejemplo, en la manipulación intelectual de objetos, robots móviles, robótica antropomórfica en la plataforma iCub. Y puede hacer una investigación conjunta, escribir un diploma, una maestría (si esto se cruza con el tema del laboratorio). Envíe su CV y ​​solicitud en forma gratuita a robotics@sberbank.ru
Nuestro telegrama: t.me/SetUpSber

Source: https://habr.com/ru/post/478836/


All Articles