2 puntos por GN⁺ 2024-04-03 | 1 comentarios | Compartir por WhatsApp
  • 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.py y ejecutar un entorno básico de simulación MuJoCo con simulation.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

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 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

 
GN⁺ 2024-04-03
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

    • Una de las cosas sorprendentes de los robots industriales es lo rígidos que son cuando están detenidos. Cuando aumentan la velocidad y la carga, el sistema de frenado también se vuelve un reto difícil
      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
    • Hice un proyecto parecido en el pasado, un brazo robótico que llevaba al límite el rendimiento dentro de un rango de unos pocos miles de dólares. Conseguí resultados bastante buenos con motores paso a paso y reductores con backlash lo suficientemente bajo
      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
    • ¿No se podría resolver esto con software en vez de hardware costoso?
      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
    • Pienso seguido en algo así, pero no encuentro el tiempo. ¿No se podría construir el brazo dentro de Nvidia Omniverse, agregar retroalimentación como sensores baratos de alta resolución de distancia/ángulo, y luego entrenar un modelo de aprendizaje automático que lo compense?
    • No sé mucho de hardware y vengo más del lado del software, así que puede que esté totalmente equivocado
      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.

    • Trabajé un tiempo en una startup que desarrollaba brazos robóticos. Lo que aprendí es que, aunque le regales a alguien un brazo robótico con una API razonable y gratuita, eso no ayuda mucho. La parte difícil es crear una automatización útil.
      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.
    • Hay una razón por la que no existe un brazo robótico estándar para hobby.
      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.
    • Si repasas las respuestas en este hilo y las muchas preguntas de “¿alguien ha encontrado para qué sirve un brazo robótico?”, puedes ver por qué no existe una empresa así. Simplemente no hay un mercado de consumo.
    • Ese tipo de producto sí existe, pero hoy en robots de propósito general, si buscas un alcance de alrededor de 1.2 m, “barato” significa unos 10 mil euros. Por ese dinero obtienes una máquina y un software de alta calidad.
      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.
    • Primero hay que preguntarse qué problema se quiere resolver.
      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.

    • Me recuerda a Bellabot[0]. También hay una startup que hace un robot tipo Roomba que se acopla magnéticamente a un estante especialmente diseñado.
      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...
    • Las maletas de viaje con función de “follow me” ya existen.
      https://www.aristavault.com/products/follow-me-smart-luggage
    • Una plataforma robótica barata que siga personas, cargue cosas y evite obstáculos es, en la práctica, un vehículo pequeño autónomo. Las empresas han gastado miles de millones de dólares en autos autónomos y aun así los resultados han sido limitados.
    • Iba a preguntar si TurtleBot era demasiado pequeño, pero primero revisé el precio. Supongo que la idea no es pagar más de 1,000 dólares por un TurtleBot, sino pensar en un rango de 250 dólares.
  • 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

    • Quisiera usarlo para recoger y clasificar la enorme montaña de Lego que dejan los niños después del largo fin de semana de Pascua. La calidad del corpus de la base de datos de bloques parece lo bastante buena como para que la identificación no sea muy difícil
      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
    • Si hablamos de usos poco prácticos, reemplazaría algunos brazos para monitor por brazos robóticos en una configuración de múltiples monitores. Así podría cambiar rápidamente entre varias disposiciones
      Otro uso sería un brazo en la cocina para revolver la pasta
    • Casi ninguno. Tengo un UArm en el escritorio; es bastante parecido a este producto, pero usa servos más baratos. La precisión era tan mala que casi no pude usarlo para nada
      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
    • Un lector que tuvo una discapacidad temporal publicó una idea de uso práctico en este hilo
      https://news.ycombinator.com/item?id=39903953
    • Roboexotica está gritando que hagan una línea de producción con varios brazos de estos
      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

    • También hay una versión de 5 grados de libertad que en algún momento consideré seriamente comprar. Pero es realmente difícil saber si la integración con ROS 2 es buena: https://www.waveshare.com/product/robotics/roarm-m1.htm
      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
    • No lo necesito para nada, pero definitivamente querría tener uno sobre el escritorio
    • ¿Habrá algo así también en lugares como Amazon?
    • ¿Qué tal el soporte de software?
  • ¿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í

    • La mayoría de estos robots usan servomotores. Permiten movimientos ágiles, pero eso también significa que necesitan torque de mantenimiento constante para sostener cualquier posición, la carga está limitada y además desperdician bastante energía
      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
    • ¿Y si se sacara del brazo la mayor parte del peso? Usar un ventilador o compresor montado en la base, y que el brazo solo conecte el ducto. Así solo se movería el ducto y no un motor pesado
  • 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

    • ¿Estos servos son mejores que los SG90?
  • 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

    • Aquí hay video del robot en movimiento: https://twitter.com/alexkoch_ai. La ventaja de este diseño de brazo robótico es que es muy ligero
      Los motores XL330 pesan apenas 18 g cada uno. Por eso son muy adecuados para teleoperación y aprendizaje robótico
    • Habiendo trabajado más a fondo en robótica, entiendo perfectamente ese sentimiento. Aun así, creo que también está bien alentar a compartir lo básico. En este hilo también puede haber muchos principiantes que se interesen y quieran profundizar más
      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