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

Cámara trasera inteligente con Raspberry Pi. Parte 1


El término «Coche inteligente» puede tener miles de significados diferentes dependiendo a quién le preguntemos., así que empecemos con una definición   modesta  de algunos componentes que podemos añadir :

  • Información básica sobre el coche, como la marcha engranada, eficiencia de combustible, horas de conducción ,etc.
  • Ayudas a la conducción de tipo ADAS , siendo   los mas comunes la puesta en marcha del  coche delantero, acceso involuntario a línea de separación de carril o aviso de colisión por vehículo delantero que circula  muy próximo
  • Cámara trasera inteligente que avise si un objeto está demasiado cercano
  • etc

Del primer punto lo hemos comentado en diferentes post , explicando que para automóviles de unos 10 años, es decir que cuentan con interfaz ODB2,  es relativamente simple añadir un HUD con toda esta información  con  un HUD conectado por ODB2

Resumidamente los sistemas ADAS  de ayuda  a  la conducción  mas usuales son las siguientes:

  • FCWS   del ingles  Forward Colission Warning Sytem (advertencia de colisión delantera) ayuda al conductor a mantenerse a una distancia segura del vehículo delantero y alerta a los conductores de una colisión inminente con advertencias visuales y audibles.Este sistema permite al dispositivo detectar cuando no se mantiene una distancia segura entre su vehículo y el vehículo delante de usted. El dispositivo determinará la velocidad de su vehículo calculando una distancia estimada de siguiente segura basada en su velocidad.Normalmente para que esta  función pueda estar habilitada se  debe estar  viajando a más de 48KM/H ( a una velocidad de menos de 32 KM/H, se suele  desactivar la función). Precisamente por esta limitacion el FCWS no puede detectar los vehículos que están  alejados más de 40m  o más cerca de 5m.

fcw.png

  • LDWS  del inglés Lane Departure Warning  System  ( SISTEMA DE  ADVERTENCIA DE SALIDA DE CARRIL) monitorea las marcas del carril y avisa al conductor con advertencias visuales y audibles cuando ocurre una salida involuntaria del carril sin la notificación de la señal de giro.Es un mecanismo diseñado para advertir al conductor cuando el vehículo empieza a moverse fuera de su carril (salvo que una señal de la vuelta en esa dirección) en las autopistas y carreteras de la zona. Este sistema está diseñado para minimizar los accidentes por abordar las principales causas de colisiones: error del conductor , distracción y somnolencia.

ldw

  • HMW( VIGILANCIA Y ADVERTENCIA DEL AVANCE DE PISTA)- Mide la distancia al vehículo que está por delante (“headway”) en segundos. Ayuda al conductor a mantener una distancia segura de conducción. Alerta al conductor al entrar en una zona predefinida de “avance peligroso”

.hmw.png

  • FVSA (ALARMA DE INICIO DEL VEHÍCULO DELANTERO ) Notifica al conductor si el vehículo delantero comienza a avanzar en el estado parado completo y el coche del conductor no se mueve en 2 segundos.

fvsa

Casi todas estas ayudas ADAS  están implementadas  en  numerosas cámaras  disponibles en el mercado como vismo en este post destacando por voz propia  el modelo Dash de Garmin

Respecto al ultimo punto de cámaras traseras  , hay muchos kits para  añadir una cámara  trasera a  nuestro vehículos usando una conexión analógica de video compuesto , lo cual se traduce en  que la mayoría de ellas requieren hacer modificaciones al coche  ,por  ejemplo para ubicar la cámara en el porta-matriculas  , o fijar la pantalla especifica   de modo que no siempre en sencilla su instalación .Además las cámaras traseras comentadas requieren una  fuente de alimentación externa alimentándose con los  cables de las luces de atrás de su coche para que automáticamente se enciendan cuando el coche está en marcha lo cual tampoco le  gusta a muchas personas .

Dado que el mercado no ofrece por  el momento soluciones mas avanzadas una idea es usar la Raspberry Pi pues es la plataforma perfecta  porque básicamente es un mini ordenador con un montón de entradas y salidas.

Al conectar una cámara a la Pi, se puede utilizar prácticamente cualquier webcam USB genérica, o  por supuesto  mejor puede usar una  Cámara Pi conectada al conector DSI pues estas ofrecen una mayor calidad , versatilidad y  no  requiere una fuente de alimentación separada (pero asegúrese de tener un montón de cable para ir a la parte posterior del coche)

Solución con Raspberry Pi

Gracias a una Raspberry Pi  por medio del procesamiento de imágenes en efecto  podemos  hacer más inteligente nuestro vehículo y añadir  nuevas funcionalidades

Para esta idea  podemos  usar  los siguientes componentes:

 

Conexión del módulo de cámara

El modulo de cámara de Pi  tiene un mayor rendimiento que una cámara USB  por lo que lo ideal es usar una cámara del tipo compatibles con Raspberry Pi  (se puede comprar por unos 15€ en Amazon) 

No es  problema  la distancia pues con un cable plano  de 200 cm suele ser suficiente para llevar la cámara  hasta la  posición de conducción (puede comprarlo   aqui en Amazon por unos 7,29€ )

Se puede pues llevar el cable plano al l frente del coche y luego conectado a una pantalla de táctil de 7″ de modo que  la Pi y la pantalla táctil pueden ser alimentados por el adaptador USB en el coche.

Estos  son los pasos para instalar la cámara especifica para su uso , con la Raspberry Pi 

    • Localice el puerto de la cámara y conecte la cámara:Connect the camera
    • Poner en marcha la Raspberry Pi 
    • Abra la Herramienta de configuración de frambuesa Pi desde el menú principal:Raspberry Pi Configuration Tool
    • Asegúrese de que está activado el software de la cámara:Camera software enabled
    • Si no está activado, habilítelo y reinicie su Pi para comenzar. Asimismo si va utilizar una pantalla táctil también necesitara activar I2C  y SPI

Es decir resumidamente;  con la Raspberry Pi apagada, debe conectar el módulo de la cámara al puerto de la cámara de la Raspberry Pi,ahora encienda el Pi  y asegúrese de que se activa el software.

Conexión de un pantalla táctil(opcional)

Existen pantallas TFT para Raspberry Pi con  resolución de 320×240 (16-bits) que además son táctiles con una pantalla resistiva. Se entregan montadas y suelen ser  compatible con los modelos Raspberry Pi Model A+, B+ y Pi 2  disponiendo  además de de un conector de 40 pines para los GPIO.

La pantalla y el digitalizador   utilizan los pines I2C (SDA y SCL), SPI (SCK, MOSI, MISO, CE0) y los pines GPIO #24 y #25. Todos los demás pines GPIO no se utilizan así que podrá conectar más cosas como sensores, LEDs etc. Algunos modelos disponen deposiciones para pulsadores miniatura (no incluidos) por si quiere hacer algún otro tipo de interfaz de usuario.

Puede utilizarla utilizar la librería PyGame u otra librería SDL para dibujar directamente en el frame buffer y hacer interfaces propios.

Tenga en cuenta que para que funcione debe tener activado el I2C en tu Pi o se quedará en blanco. Si utiliza la imagen de Adafruit funcionará sin problema, sino puedes ver su tutorial para ver cómo hacerla funcionar.

La conexión de este tipo de pantallas suele ser por el  propio conector de 25 pines  y por hdmi con un adaptador

Respecto al sw, estos son los pasos  que puede  seguir;

!Ojo el conector plano de la pantalla pues es MUY frágil y debe manejarse con cuidado.!

Montaje final

Una vez montada  la pantalla y la cámara , encender el coche, la Pi y la pantalla . Para ver la camara   de la Pi, abra el terminal y ejecute simplemente  el  siguiente  script:

raspivid -t 0

o

raspivid -t 0 --mode 7

Después de entrar esto ,   la imagen captada por la cámara debería aparecer  en pantalla  completa , pero  !ojo !  no lo veremos  si estamos conectado via VNC!, es decir ,solo si estamos conectados a la propia  Raspberry Pi .

Lo bueno de a Raspberry Pi  es que se puede mejorar  esta forma básica , y tal vez incluso establecer un sistema de alerta si un objeto esta   demasiado cerca , así que, ! vamos a trabajar en ese lado!

 

DETECCIÓN DE OBJETOS

Cuando se trata de aplicaciones de  cámaras de seguridad comerciales, generalmente hay al menos dos versiones  .La primera utiliza una superposición de una imagen estática con gamas de color para que visualmente puede determinarse cuánto de  cerca está un objeto. El segundo método utilizara una cámara junto con sw  que puede detectar un objeto qué tan cerca esta al coche y luego avisa cuando algo está demasiado cerca
Veamos en este post en primer lugar le método de overlay, el cual por cierto es el mas usado en los implementaciones de cámaras traseras de coches actuales.

 

 

Tecnologia española en Kickstarter


La EBT de la Universidad de Almería, NeuroDigital Technologies acaba de lanzar su campaña de crowdfunding para Gloveone en la plataforma norteamericana Kickstarter.

En menos de 24h ya se ha superado la cifra de $10.000 de los $150.000 necesarios para el éxito del proyecto , de hecho a día de hoy ya cuentan  con 47.452 $. Este  tope   de financiación requerida por NeuroDigital es para  destinarla a llevar a cabo el proceso de fabricación en serie del primer lote de unidades del guante háptico que revolucionará el mundo de la Realidad Virtual.

 

guante

Es  quizás  uno de los dispositivos más vanguardistas en la realidad virtual. Hasta ahora, la mayoría de los desarrollos dentro de la industria se han centrado sólo en el sentido de la vista en las experiencias de realidad virtual. Sin embargo, ¿qué es lo primero que la gente hace después de que ponen en un auricular VR? Ellos tratan de tocar y sentir todo! Ahora esto es posible con Gloveone!

Gloveone permite a los usuarios sentir y tocar cualquier objeto virtual que se puede ver en la pantalla o en sus auriculares de realidad virtual. Si una manzana virtual se muestra en la pantalla, con Gloveone usted será capaz de sentir su forma o peso, sentir todas sus características físicas, e incluso romperlo!

Se trata de la traducción de las sensaciones táctiles en vibraciones. Hay 10 actuadores distribuidos a lo largo de la palma y los dedos de Gloveone, que vibran de forma independiente en diferentes frecuencias e intensidades, que reproducen las sensaciones táctiles precisos.
https://vimeo.com/129434792
Han completado con éxito nuestra etapa inicial de prototipos, y ahora necesitan el apoyo  económico para construir una comunidad de desarrolladores alrededor Gloveone para crear sensaciones que nunca se sintieron antes. Por otra parte, es muy caro de producir pequeños lotes de prototipos.Es por eso que necesitan e fabricar más de 700 unidades con el fin de que sea asequible para cualquier usuario.

Gracias a más de un año de desarrollo, han  identificado las características que son importantes para los desarrolladores, gamers y profesionales. A pesar de que estan en una fase de prototipo avanzado, la  visión de este equipo siempre ha sido convencer al usuario final.

Estas son algunas de las características del prototipo que quieren llevar al mercado:

Gloveone tiene que ver con retroalimentación háptica. No proporciona funciones de seguimiento espacio aún así, en la actualidad, que se basan en sensores auxiliares como Leap Motion o Intel REALSENSE para el seguimiento de la mano, pero también se puede integrar Gloveone con cualquier otro sensor o la tecnología (por ejemplo, Microsoft Kinect, OpenCV).Por otra parte, estamos estudiando la posibilidad de integrar Gloveone con sistemas de localización absolutos como Faro de Valve.

En otras palabras, Gloveone es virtualmente compatible con cualquier tecnología con la que le gustaría integrarse.

Gloveone también incluye un sensor IMU 9 ejes por lo que podría hacer uso de esos datos para mejorar la experiencia con Gloveone.

Gloveone permite ejecutar comandos con sólo tocar los dedos. Cuatro sensores situados en su palma, pulgar, índice y dedo medio detectan el contacto entre ellos, y se puede utilizar para disparar una pistola, agarra un pétalo o para controlar el menú. A diferencia de otros sistemas de reconocimiento de gestos, comandos de contacto activados por no sufren de falsos positivos o negativos, que puede ser muy frustrante para los usuarios.

Hn  creado un sitio de desarrolladores disponibles para usted en : http://www.gloveonevr.com/developer.  De esa manera podría comprobar que una gran cantidad de trabajo ya está hecho y que Gloveone está listo para la fiesta! De hecho, hay algunas unidades de Gloveone distribuidos entre algunas de las empresas más importantes de Perceptual Computing y VR sólo para hacer su tecnología compatible con el nuestro y estar listo para el nuevo tocable-VR.

Actualmente el prototiopo es compatibel con windows . Hay Release Candidate API, Docs, tiempo de ejecución y el SDK para desarrolladores y aún más, hay una «Gloveone Manager» para Windows, donde los usuarios son capaces de emparejar configurar y poner a prueba su gloveone de.

En caso de éxito, Gloveone será compatible con Windows, Linux y OS X, así como C ++ Lib y C # Wrapper. En función de la compatibilidad de los sensores del sistema operativo, la Unidad 5.x guiones listos serán publicados con el fin de utilizar Gloveone con Leap Motion e Intel REALSENSE en la forma más fácil y óptima.

 

 

 

Mas información aqui