Brazo robótico de bajo costo
(github.com/AlexanderKoch-Koch)- El repositorio Low-Cost Robot Arm proporciona archivos para construir y controlar un brazo robótico por unos $250; si se agrega un leader arm aparte, se puede manipular un follower arm con una configuración total de unos $430
- El follower arm usa servos Dynamixel XL430 y XL330 en conjunto; el XL430 se usa en las dos primeras articulaciones, mientras que el XL330, al pesar solo 18 g, se utiliza para hacer que el brazo sea más liviano y rápido
- El U2D2 adapter de Dynamixel es caro y tiene alta latencia, por lo que este build usa la placa Waveshare Serial Bus Servo Driver Board, más económica y controlable con Dynamixel SDK
- La fabricación requiere impresión 3D, configurar el baudrate en 1M de cada motor, asignar servo IDs y ajustar el reductor de voltaje; el voltaje de entrada del XL330 se verifica en Dynamixel Wizard y se ajusta a 5V
- El leader arm es más simple de ensamblar porque usa solo motores de 5V; se pueden probar ambos brazos con
teleoperation.pyy ejecutar un entorno básico de simulación MuJoCo consimulation.py
Descripción general del proyecto
- El repositorio Low-Cost Robot Arm incluye archivos para construir y controlar un brazo robótico de bajo costo
- El costo del follower arm básico es de unos $250; al agregar un leader arm, se suman unos $180, para una configuración total de $430
- La lista de espera para recibir todas las piezas en un solo paquete está disponible en https://tau-robotics.com/robots
- El diseño del leader arm se inspiró en el GELLO project, pero fue simplificado para que sea más fácil de construir
- Este brazo robótico es adecuado para robot learning y, usando dos unidades, también es posible doblar ropa
Servos y método de control
- El follower arm usa servomotores Dynamixel XL430 y Dynamixel XL330
- El XL430 es casi el doble de fuerte que el XL330 y se usa en las dos primeras articulaciones
- El XL330 es más débil, pero cada uno pesa solo 18g, lo que hace que el brazo sea más liviano y rápido
- Dynamixel vende el U2D2 adapter para conectar servos a una computadora, pero este build usa una placa adaptadora más económica por problemas de costo y latencia
- El brazo robótico se puede controlar con Dynamixel SDK
- Comando de instalación:
pip install dynamixel-sdk
- Comando de instalación:
Configuración del Follower Arm
- El costo total de piezas del follower arm está estimado en $258
- Las piezas principales son las siguientes
- 2x Dynamixel XL430-W250: $100
- 4x Dynamixel XL330-M288: $96
- XL330 Idler Wheel: $10
- XL430 Idler Wheel: $7
- Waveshare Serial Bus Servo Driver Board: $10
- Voltage Reducer: $10
- 12V Power Supply: $12
- Table Clamp: $6
- Wires: $7
- En la tienda de Robotis normalmente hay un código de descuento del 10%
- Puede ser útil agregar grip tape al gripper
- Para conectar la servo driver board a la computadora se necesita un cable USB-C
Flujo de ensamblaje del Follower Arm
- El video de ensamblaje está disponible en https://youtu.be/RckrXOEoWrk
- Todas las piezas se imprimen con una impresora 3D
- Los archivos STL están en
hardware/follower/stl - Las piezas están diseñadas para imprimirse fácilmente; solo la pieza móvil del gripper necesita support
- Los archivos STL están en
- Los pasos para escanear los motores son los siguientes
- Conectar la driver board a la computadora; debería funcionar en Linux y MacOS
- Confirmar el nombre del dispositivo con
ls /dev/tty.*, como en el ejemplo de MacOS - Escanear cada motor individualmente con Dynamixel Wizard
- Configurar el baudrate de todos los motores en 1M
- Configurar los servo ID del 1 al 5, desde el hombro hasta el gripper; si se usa la elbow-to-wrist extension, configurarlos hasta el 6
- En la etapa de ensamblaje, fijar los servos en las mismas posiciones que en el CAD, y el servo horn debe estar en la posición básica al asegurarlo con tornillos
- En la configuración de energía, soldar al voltage reducer, fijarlo a la driver board y a la base, y luego conectarlo
- La entrada del voltage reducer se conecta a los puertos V y G de la driver board
- La salida y el puerto D restante de la driver board se conectan al elbow servo
- Después de conectarlo al servo XL330, verificar el voltaje de entrada en Dynamixel Wizard y ajustar el tornillo del voltage reducer para dejarlo en 5V
Leader Arm y simulación
- El costo total de piezas del leader arm es de $183
- Las piezas principales son las siguientes
- 6x Dynamixel XL330-M077: $144
- XL330 Frame: $7
- XL330 Idler Wheel: $10
- Waveshare Serial Bus Servo Driver Board: $10
- 5V Power Supply: $6
- Table Clamp: $6
- El leader arm es más simple de ensamblar porque todos los motores usan 5V
- El gripper se reemplaza por un handle y un trigger
- Si se aplica un pequeño torque al trigger durante el uso, se puede hacer que se abra por defecto
- El diseño de GELLO usa un spring para esto, pero el ensamblaje es mucho más difícil
- Los brazos se pueden probar con el script
teleoperation.py- Sin embargo, quizá sea necesario ajustar el nombre del dispositivo
- Al ejecutar
simulation.py, se puede usar un entorno básico de simulación MuJoCo
1 comentarios
Comentarios de Hacker News
Empecé a construir un brazo robótico de tamaño parecido. Tengo un viejo amigo que es artesano del vidrio, así que estoy pensando en usarlo para hacer colgantes de vidrio facetado
Mi amigo sí tiene una máquina de facetado, pero es manual
La parte difícil es la precisión de repetición. Las tolerancias tienen que ser muy ajustadas, y cada articulación del brazo amplifica el error cuanto más lejos está de la base. Si la base se mueve 1 mm, en la punta de un brazo de 20 cm se mueve 4 mm, y los brazos posteriores amplifican aún más eso
Para trabajo de facetado se necesita una resolución mucho más fina que la de un servo sin reductor. La reducción es complicada, porque para mantener la articulación firme se necesita backlash bajo, pero no tanto rozamiento como para dificultar el movimiento. Los tornillos sin fin son lentos y demasiado rígidos, así que no convencen; para engranajes internos del brazo, un reductor cicloidal parece lo mejor. Sujetar vidrio es bastante riesgoso, así que también hace falta un servo real con cierto nivel de retroalimentación
Calculo el costo de fabricación en unos 1,000 a 2,000 dólares, y la mayor parte sería el costo de los reductores
Incluso después de lograr que el hardware funcione de alguna manera, hacer que el solucionador de cinemática funcione bien es un desafío enorme. Hay muchos casos excepcionales, hay que procesar retroalimentación en tiempo real, y además equilibrar usabilidad y confiabilidad. Ahí es donde las empresas de robótica cobran caro, y con razón
Si puedes evitar construir un brazo robótico y reemplazarlo por una estructura de movimiento más simple, conviene hacerlo. Aun así, si lo construyes, sería realmente impresionante
Como referencia, el diseño intentaba modelar en cierta medida un brazo humano, y llegó a una precisión de repetición de alrededor de 1 mm con una carga de 2.5 kg y un alcance de unos 80 cm
En concreto, según los requisitos de carga en el efector final, se pueden mezclar NEMA34, 24 y 17. En las articulaciones delanteras se usan motores más grandes. Si hay presupuesto, puedes usar reductores cicloidales o armónicos; si no, cada actuador (motor + driver + reductor + acoplamiento de eje) cuesta más o menos entre 100 y 200 dólares, según el proveedor y los requisitos. Un sistema de lazo cerrado suma unos 50 dólares. En precio no está nada mal. Para la articulación de la base hace falta un reductor cilíndrico ancho que distribuya mejor la carga
Si puedes colaborar con un taller de mecanizado, creo que se puede construir con bastante calidad. Algunos ejemplos de referencia de diseño están abajo, y algunos incluso se ven mejores que lo que yo podía hacer como aficionado
https://www.youtube.com/watch?v=7z6rZdYHYfc Este es excelente. Si hicieras una versión más pequeña y liviana moviéndose lentamente, el bamboleo de la base debería reducirse más
https://www.youtube.com/shorts/II8gdIXPgaE Este se parece más al post original
https://www.youtube.com/shorts/_x7P9eZCkVM
https://www.youtube.com/watch?v=g9AfhqOd-_I El más profesional que he visto, y esta lista de materiales casi seguro queda por debajo de 3,000 dólares, y probablemente por debajo de 1,000 en China. Está tan bueno que estoy pensando en escribirle a esta empresa para preguntar si venden un modelo más pequeño
https://www.youtube.com/watch?v=iB2NAgfVjIs También vale mucho la pena ver a Chris Annin. Me parece uno de los mejores ingenieros de robótica de EE. UU. haciendo robots económicos y open source con motores paso a paso
Una idea que había pensado antes era que los movimientos grandes los hiciera un brazo hecho con componentes baratos y “temblorosos”, y agregar en la punta una etapa con poco recorrido pero controlable con muchísima precisión
Al final, se le suma una forma de rastrear con mucha precisión cuánto se desvía la posición real de la herramienta respecto a la posición objetivo. Por ejemplo, podría ser una cámara montada en la herramienta
Entonces un bucle de retroalimentación por software podría rastrear la desviación de la herramienta y compensarla con esa etapa de “corrección” en la punta
Aun así, no sé si realmente funcionaría. El tiempo que tarda en “compensar” también es un problema. No es lo mismo un caso como pick-and-place, donde basta con llegar a la posición objetivo al final de la trayectoria, que uno como grabado o soldadura, donde hay que mantenerse por debajo de una desviación máxima durante toda la trayectoria
En una situación así, ¿qué tal usar motores paso a paso con una gran reducción mediante reductores cicloidales? En mi cabeza eso haría que la posición fuera muy controlable y repetible, y que el backlash lo resolviera principalmente el reductor
Si estoy equivocado, me gustaría saberlo. Como dije, soy alguien de software tratando de meter un pie en hardware
Sorprende que todavía no exista claramente una empresa que produzca en masa brazos robóticos baratos, de alta calidad y hasta cierto punto estandarizados. Cosas como las impresoras 3D o las máquinas CNC ya bajaron a precios de consumidor/aficionado, pero esta área todavía parece poco explorada.
Parece tener un potencial del nivel de Arduino o Raspberry Pi, pero aún no he oído de una marca o ecosistema con ese grado de reconocimiento.
La mayoría juega con él unas horas y luego lo deja sobre un estante.
Cada caso de uso es completamente distinto y la carga de trabajo es grande. Aunque logres hacer que algo funcione, si mueves accidentalmente el escritorio o el brazo golpea algo, todas las coordenadas se arruinan y tienes que empezar de nuevo.
La estructura mecánica real también es realmente compleja. Para levantar una carga significativa con un alcance de 50 cm, la articulación de la base necesita un torque muy alto y, al mismo tiempo, una precisión extremadamente alta. Para eso hacen falta engranes y motores caros, y nada de eso es barato.
También hay problemas de seguridad. Un brazo capaz de levantar una carga útil decente pesa bastante, y cuando una masa de ese tamaño se mueve de un lado a otro, hacen falta sistemas de seguridad. Eso tampoco es barato.
Es un poco como el no-code, pero en hardware. Programar brazos robóticos es inherentemente difícil, así que es complicado hacer un brazo robótico que sea fácil de usar. Creo que lo único que realmente podría cambiar eso sería una IA muy buena.
La gente cree que puede construir uno por su cuenta más barato que un brazo robótico “real”, pero no toma en cuenta la vibración y la precisión de repetición.
Respeto a quien sube a HN un diseño de brazo robótico hecho con servos RC, pero me gustaría ver las mediciones de precisión de repetición. Que lo pongan a dibujar el mismo patrón en papel todos los días durante una semana, y que muestren qué tanto se superponen las 7 líneas. Incluso dudo que pueda dibujar eso. Podría romper el papel o quedarse atorado sin tener ni siquiera la fuerza para romperlo.
Como referencia: he construido robots de hobby desde los años 80, investigué robótica en los 90, incluida una tesis de maestría, y he pasado la mayor parte de los últimos 10 años enseñando robótica.
También es importante que un robot sin un muy buen software de cinemática es casi inútil. Además del brazo, necesitas una caja de control que entregue energía y comandos en tiempo real de manera confiable, y eso también suma bastante al costo.
Una vez que lo defines, en casi todos los casos te das cuenta rápidamente de que hay una solución mucho más simple y barata que un brazo robótico de 6 grados de libertad.
Si de verdad necesitas uno de esos brazos, entonces, considerando todos los factores, entre 10 mil y 20 mil dólares resulta bastante barato.
Bajando un poco la ambición, ¿qué tal empezar con una plataforma robótica de bajo costo que siga a una persona, transporte cosas y evite obstáculos? Ni siquiera necesita brazo; yo puedo usar mis propios brazos para subir y bajar objetos.
Cuando me lesioné una pierna y tuve que usar muletas, cargar cosas de repente se volvió un problema. Hay mucha gente con movilidad reducida. Incluso fuera de esos casos, uno deja objetos en lugares raros con frecuencia, así que también podría ayudar en eso.
En AliExpress hay muchas plataformas base de robots de juguete, pero su dimensión mayor es menor de 20 cm, así que son demasiado pequeñas para ser prácticas.
Pero no se vende por 250 dólares, así que probablemente sea más rentable modificar un Roomba real o una copia tipo Segway de “hoverboard” con ROS[3].
0: https://www.youtube.com/watch?v=l1hQ5YTMJEw
1: https://www.youtube.com/watch?v=SdVglHOJgiA
2: https://github.com/hoverboard-robotics/hoverboard-driver/tre...
https://www.aristavault.com/products/follow-me-smart-luggage
Sorprende que nadie haya señalado esto.
https://github.com/peng-zhihui/Dummy-Robot
Aunque puede ser un poco difícil de leer.
Como geek se me hace agua la boca, pero ¿alguien ha encontrado un uso de verdad para un brazo robótico en casa? Hacer hacking siempre es más divertido cuando hay un buen proyecto
Tampoco necesita ser muy rápido. Puede trabajar toda la noche
Seguro que alguien ya escribió algún paper interesante sobre el algoritmo de clasificación ideal. Por ejemplo, si conviene empezar por las piezas grandes y luego seguir con las pequeñas, o si simplemente hay que tomar y mover la más cercana. Personalmente, me gustaría que las clasificara por set base y luego, por favor, hiciera que la bandeja volviera al cajón original
Otro uso sería un brazo en la cocina para revolver la pasta
Incluso le fabriqué y monté un sensor de retroalimentación de fuerza con un mouse 3D. La idea era buena, pero no era lo bastante rígido para ese uso
https://news.ycombinator.com/item?id=39903953
http://roboexotica.at/
Si esto te parece interesante, quizá también te guste esto. No es DIY; viene como producto terminado
https://www.waveshare.com/roarm-m2-s.htm
Tengo uno y, considerando el precio, la calidad de construcción es realmente impresionante
De verdad es una pena que no exista una versión de 6 grados de libertad. Hace falta para agarrar algo correctamente dentro del radio de alcance del brazo
¿Alguien sabe cuánto peso puede levantar esto?
Quiero controlar un ventilador con seguimiento ocular mientras hago ejercicio en el gym de casa para que me dé aire en la cara, pero el ventilador pesa varias libras
Como alternativa, también me interesan recomendaciones de motores de hardware para un proyecto así
Si el ventilador es pesado, tampoco hay que olvidar la reacción del aire en movimiento. En lugar de montarlo en un brazo, sería mejor ponerlo sobre algún tipo de rodamiento y hacer que un motor solo lo gire. Así el motor no tiene que estar luchando contra la gravedad todo el tiempo
El brazo robótico enlazado aquí usa servos Dynamixel, y podrías usar solo uno de ellos para girar un ventilador sobre una base rotatoria. Sería mucho más barato y menos complejo
Estaba construyendo el brazo impreso en 3D Thor, pero este proyecto se ve mucho mejor. Creo que voy a cambiar de rumbo
Además, estos servos cambian las reglas del juego
Como usuario veterano de Dynamixel, coincido en que el adaptador U2D2 es caro en comparación con otras opciones. Pero la afirmación de que “la latencia es muy alta” me parece que necesita cierta cuantificación
Siempre me ha parecido una opción confiable que permite esperar baja latencia de forma consistente en varias plataformas, aproximadamente de 1 ms
Ojalá ya dejaran de decir que pegar 3 servos juntos es hacer un robot :D
El movimiento de los servos es bastante brusco, por eso no hay video mostrando a este “robot” en funcionamiento
Los motores XL330 pesan apenas 18 g cada uno. Por eso son muy adecuados para teleoperación y aprendizaje robótico
Me da curiosidad ver qué tan suave se puede mover un brazo robótico basado en servos baratos si se usan algoritmos de control decentes