Smarthand


En el impulso por desarrollar sistemas robóticos que puedan sentir e interactuar con su entorno, se han realizado enormes inversiones en visión artificial. Hemos visto los frutos de estas inversiones en una amplia gama de aplicaciones, desde automóviles autónomos hasta la automatización de robots industriales. Si bien estos esfuerzos han tenido mucho éxito, los sensores ópticos no son la solución ideal para todos los casos de uso. Las tareas de manipulación de objetos, por ejemplo, suelen requerir información táctil para manipular con precisión y seguridad los objetos de interés. Puede imaginar un enfoque híbrido en el que los métodos de visión por computadora localicen el objeto y dirijan un robot a la posición correcta. A partir de ahí, los sensores táctiles dentro de una mano robótica brindan información sobre la fragilidad o robustez del objeto y ayudan a crear un plan para llevar a cabo las intenciones del robot.

En comparación con la visión por computadora, se ha dedicado mucha menos atención al desarrollo de sensores táctiles, lo que los hace generalmente menos sofisticados que sus contrapartes ópticas. Esto ha dificultado el desarrollo de robots que sean capaces de generar una comprensión de alta resolución de su entorno mediante la integración de datos de múltiples tipos de sensores.

 En un esfuerzo por comenzar a abordar las deficiencias en la tecnología de detección táctil actual, un equipo de ingenieros de ETH Zürich ha desarrollado un dispositivo que llaman SmartHand .

 SmartHand es un sistema integrado de hardware y software creado para recopilar y procesar información táctil de alta resolución de una matriz de sensores múltiples en forma de mano en tiempo real.

System architecture (📷: X. Wang et al.)

Arquitectura del sistema (📷: X. Wang et al.)

El dispositivo SmartHand utiliza una rejilla sensora táctil resistiva de bajo costo, basada en un compuesto de polímero conductor, que se pega a un guante. Se adjunta una unidad de medición inercial (IMU) en la parte posterior del guante para proporcionar información adicional sobre el movimiento. Los datos de los 1024 sensores táctiles (dispuestos en una cuadrícula de 32 por 32) y la IMU se introducen en una placa de descubrimiento STM32F769NI conectada a la muñeca a través de una serie de cables. Esta placa contiene un núcleo Arm Cortex-M7 que funciona a 216 MHz, con 2 MB de memoria flash y 532 kB de RAM.

Para demostrar SmartHand, los investigadores querían poder detectar qué tipo de objeto sostenía la mano. Para ello, se creó y entrenó una red neuronal convolucional, basada en la arquitectura ResNet-18, para reconocer la relación entre los datos de los sensores y un conjunto de dieciséis objetos cotidianos. Se creó un conjunto de datos usando el dispositivo físico para que sirviera como datos de entrenamiento para el modelo. Recopilando mediciones a 100 cuadros por segundo (13,7 veces más rápido que el trabajo anterior), se generó un conjunto de datos táctiles que consta de 340.000 cuadros.

The sensor grid (📷: X. Wang et al.)

La red de sensores (📷: X. Wang et al.)

Al validar la red neuronal, se encontró que el modelo requiere un orden de magnitud menos de memoria y 15,6 veces menos cálculos, en comparación con los dispositivos actuales. Esto se logró manteniendo la red neuronal lo más compacta posible, sin sacrificar la precisión de las predicciones. Hablando de predicciones, se encontró que la precisión de clasificación top 1 del modelo alcanzó el 98,86% en el reconocimiento de objetos. Al mantener el procesamiento en el límite, el tiempo de inferencia se mantuvo en unos muy razonables 100 milisegundos.

Se observó que, debido a las propiedades inherentes de los materiales que componen la rejilla del sensor táctil, habrá cierto nivel de degradación con el uso repetido. Los primeros indicios sugieren que la degradación puede estabilizarse, lo que permitiría recalibrar el diseño actual después de un período de rodaje inicial sin ningún otro cambio. Actualmente están evaluando si este es el caso, o si la degradación del sensor continúa más allá de la meseta aparente, lo que requeriría más cambios de diseño antes de que sea posible el uso del dispositivo en el mundo real.

El equipo prevé que las técnicas de SmartHand se utilicen en futuras aplicaciones robóticas y protésicas de manos. Con un poco más de esfuerzo, este trabajo puede acercarnos a un mundo en el que los robots no parecen tan robóticos.

Fuente hackester.io

Ayuda robotica


Tercera Mano Robótica  es un kit de fuente abierta cuyas piezas se pueden  imprimir  en una impresora 3D y que se puede  usar en el antebrazo utilizando  un Trinket Pro como cerebro

Trinket es una versión reducida de un Arduino con un ATmega328 y de coste reducido, pero obviamente puede usarse cualquier  placa que sea compatible con Arduino

Cuando se le solicite, puede entregarle una herramienta que tenga, liberándolo de buscarlo o perderlo  todo ello pulsando un único pulsador que Tim (su creador) ha colocado estratégicamente en un dedo gracias a una pieza  similar a un anillo  impresa también en  3d

 

En realidad  son pocos componentes los usados en este proyecto:

  • 1x9g servo hobby barato
  • Trinket Pro 5V
  • Cargador de batería de litio de celda única (3.7V)  alimentado a 5V
  • Batería de  300mAH celda única LiPO
  •  imanes – 5/16 «de diámetro, 1.8» de espesor
  • 13 × 2-56 tornillos
  • 1 × piezas impresas en 3D
  • Banda de cintura elástica ancha 1 × 1 «

Después de reunir todos los elementos en la lista de componentes e imprimir sus piezas, ¡es hora de comenzar el ensamblaje y conectarlo todo!

 

Aquí está el diagrama de conexión:

 

Es bastante simple  pues se limita a conectar la placa a  un servo controlado por el puerto digital nº8   y que ira alimentando a la salida del cargador a 5v DC   y  un pulsador que conectaremos  al pin 3   y masa .

El resto es simplemente  la parte de carga de la batería que se conectará  por un lado a la batería   y por otro lado tanto al servo  como a  la placa de control  .

Puesto que la alimentación es suministrada por la batería se recomienda colocar un interruptor en la batería para impedir su descarga  cuando no se esta usando.

Aquí está el código para hacer su movimiento robótico de tercera mano:

// ThirdHand test script
// by Tim Giles <www.wildcircuits.com>

//servo is on Pin8
//button is on Pin3 and has the pullup enabled

#include 

Servo ServoA;

int Angle = 10;
int AngleClosed = 10;
int AngleOpen = 120;

void setup()
{
  ServoA.attach(8);
  pinMode(3,INPUT_PULLUP);
}

void loop()
{
  //update the servo position
  ServoA.write(Angle);
  delay(1);
  
  //check if the button is pushed
  if (digitalRead(3) == 0)
  {
    //debounce
    while (digitalRead(3) == 0){
      delay(1);
    }
    //set the servo to it's open position
    Angle = AngleOpen;
    ServoA.write(Angle);
    //hold the servo in this position to give the user time
    //to grab the screwdriver
    delay(2000);
    //set the servo to it's closed position
    Angle = AngleClosed;
    ServoA.write(Angle);
  }
}

Durante la programación se  recomienda desconectar la batería pues de lo contrario, el suministro de refuerzo de 5 V volverá a alimentar su ordenador y puede generar efectos negativos

Si su cable USB que está programando es demasiado largo / demasiado débil, es posible que tenga un comportamiento extraño cuando termine la programación y el servo intente moverse:esto se debe a una caída de voltaje excesiva en el cable USB que hace que el Trinket Pro se reinicie cuando el servo intenta moverse.

 

PIEZAS  IMPRESAS EN 3D

robotic

La base  , el bazo articulado  así como el anillo para el pulsador   se han realizado impresas en 3D

Los ficheros están disponibles como no en el repositorio Thingiverse  en la  url   https://www.thingiverse.com/thing:618811

Mientras ensambla las piezas impresas en 3D, notará que todos los orificios de los tornillos son ligeramente más pequeños o de mayor tamaño.

Los tornillos 2-56 se ensartarán automáticamente en los orificios de menor tamaño y girarán libremente en los orificios de mayor tamaño, lo cual  permite que el tornillo sujete firmemente la bandeja del destornillador mientras que el brazo que acciona la bandeja del destornillador se puede mover libremente.Si sus piezas no van juntas así, entonces necesitará ajustar su impresora o ajustar el tamaño de los orificios de los tornillos.

 

Fuente hackaday.io