Sencillo exobrazo


Puede parecer una banalidad , pero la idea detrás de este prototipo es muy interesante ya que  puede suponer una ayuda importante   a la movilidad,  pues esta  assietncia puede ser especialmente importante para los ancianos y otras personas que necesitan este tipo de ayuda en la vida cotidiana.

El sistema que sugieren sus creadores destaca por su simplicidad : una estructura de aluminio  para sujetar el brazo, un motor y una placa Arduino con su correspondiente escudo (cuyos detalles, por cierto, han publicado en hackaday.com) ,

Nos explican   que en la construcción del  exo-brazo buscaban  que fuese relativamente barato, sencillo y potente que permitiera  un uso fácil del mismo , por lo cual  construir su prototipo no deberia costar mas de 100$ ,  lo cual es un precio bastante razonable ,sobre todo si nos vamos a soluciones que se  estan desarrollando la industria.

El desarrollo de este proyecto comenzó centrándose más en el control del brazo y luego en el propio diseño, por lo que  tal vez el  objetivo número de sus creadores  es   hacer que el control de ExoArm sea tan barato y tan intuitivo como sea posible.

En el siguiente video podemos verlo en acción:

Como podemos  apreciar, hay una estructura articulada de aluminio  y precisamente en la articulación esta el motor (en el codo) , aunque  sugieren que en otros diseños futuros  también proveen implementar  un  actuador en el hombro( de hecho el shield empleado admite dos motores).

Este  exo-brazo tiene   tambien apoyo trasero, de modo que todo el peso se distribuye uniformemente a su cuerpo siendo la capacidad de elevación  alrededor de 10 kg máximo o 22 libras.

 

Electrónica

 

 

modulo.PNG

 

 

Ademas de la placa Arduino, un componente básico es el driver del motor VNH2SP30 ,el cual es esencialmente una versión en rampa del escudo de motor Ardumoto. Esta placa se presenta como un escudo que  se conecta encima de Arduino  y es de bajo coste ( unos 6,5€ en Amazon).

Para este  Shield se usa  un par de drivers de motor de puente completo VNH2SP30. También incluye los circuitos de soporte para que esta placa sea capaz de controlar  un par de motores de alta corriente ,  aunque para esta aplicacion solo se usa uno .

El VIN y el motor son lanzados para  terminales de tornillo de 5mm , lo que facilita la conexión de cables de mayor calibre.

Al utilizar este escudo en aplicaciones de alta demanda extrema puede ser necesario mejorar el rendimiento térmico con un disipador de calor o ventilador y soldar los cables directamente a la placa en lugar de usar un terminal de tornillo (tenga en cuenta la alta corriente de este) , aunque  cuando se utiliza el escudo en corrientes de hasta 6A los chips apenas llegarán a ser perceptiblemente calientes.

Resumidamente  esta son algunas de las características del escudo empleado:

  • Voltaje: max. 16V
  • Regimen de corriente: 30A maximo 
  • Corriente permanente: 14 A
  • Resistencia MOSFET (solo ida): 19 m & OHgr;
  • Frecuencia PWM: 20 kHz Max.
  • Tamano placa: 6 * 5,2 * 2cm / 2,4 * 2 * 0,8pulg
  • Peso : 23 g / 0,8 oz

Una vez resuelto el driver, respecto a Arduino , los pines que se requieren , en la aplicación  son los pines siguientes:

  • Pines 3 y 4  como salidas binarias para configurar el motor vía el driver del motor VNH2SP30
  • Pin 5  como salida analógica para escribir el dato en el el driver del motor VNH2SP30
  • Pin 2  como entrada analógica para el encoder solidario al eje del motor para saber la posición de la articulación
  • Pines 8 como entrada binaria para ordenar subir la articulación via el motor
  • Pines 9  como entrada binaria para ordenar bajar  la articulación vía el motor

 

 

Antes de ver el codigo  final ,  es interesante apreciar como el control del motor se hace fijando los pins 3  y 4 a un valor  y luego sacando un valor analogico en el pin 5, por ejemplo, parar mover  arriba el motor   se usa esta función:

void moveup(float writemotor){ /
writemotor = map(writemotor, 0, -80, 255, 0);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
analogWrite(5, writemotor);

Y de forma similar para mover hacia  abajo :

void movedown(float writemotor){ 

writemotor = map(writemotor, 0,-255, 0, 255);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
analogWrite(5, writemotor);
}

Simplemente para  parar el moto,r   sacamos un  valor cero  en el pin 5 usan esta otra función:

void stopmove(){ //parar el motor
digitalWrite(3, LOW);
digitalWrite(4, LOW);
analogWrite(5, 0);
}

 

Una función  muy importante  es conocer la posición de la articulación  gracias a que hay conectado un potenciómetro solidario al aje de modo  que  capturando  el valor  de la salida del potenciómetro podemos   conocer el angulo ,gracias  al  siguiente código:

float errorSum;
float Kp = 2;
float Ki = 0;

float computePID(int setpoint){    
angle = analogRead(2);
angle = map(angle, 0, 344, 0, 90); 

double time_elapsed = micros();
dtrate = (time_elapsed – last) / 1000.f;
last = time_elapsed;

float error = setpoint – angle;
errorSum += error * dtrate;
errorSum = constrain(errorSum, -255, 255);

return (Kp * error) + (Ki * errorSum);

}

Por ultimo,  en la función loop miramos continuamente  los valores binarios de los pines 8 y 9  ,y en función de su estado, llamaremos a alguna de las rutinas anteriores:

 

void loop()   //bucle principal de ejecución
{
int program_runtime = millis();

int readingUp = digitalRead(8);
int readingDown = digitalRead(9);

if(readingUp == 1 && readingDown == 0){
if(program_runtime – previousMillis > interval) {
previousMillis = program_runtime;
Step -= 5;
}

}
if(readingDown == 1 && readingUp == 0) {
if(program_runtime – previousMillis > interval) {
previousMillis = program_runtime;
Step += 5;
}

 

Código arduino

El procesamiento de control como decíamos se hace con un Arduino, por lo que el código es  bastante fácil de entender y modificar cuanto se quiera para mejorarlo o adaptarlo a cada necesidad:

 

#include <ArduinoTimer.h>
#include <CircularBuffer.h>
#include <CommandHandler.h>
#include <CommandProcessor.h>
#include <DataStore.h>
#include <DeviceAddress.h>
#include <EEPROMStore.h>
#include <Filter.h>
#include <MegunoLink.h>
#include <MessageHeaders.h>

#include “MegunoLink.h” /Funciones útiles para comunicarse con MegunoLink Pro.

#include “filter.h”
#include “Servo.h”

TimePlot plot;

int potVal;
int angle;
float dtrate;
double last;

ExponentialFilter FilteredMuscleValue(5, 20); / peso de la derecha, valor de inicio izquierdo

void moveup(float writemotor){ //mover  arriba el motor
writemotor = map(writemotor, 0, -80, 255, 0);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
analogWrite(5, writemotor);

}

void stopmove(){ //parar el motor
digitalWrite(3, LOW);
digitalWrite(4, LOW);
analogWrite(5, 0);
}

void movedown(float writemotor){ //mover hacia  abajo

writemotor = map(writemotor, 0,-255, 0, 255);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
analogWrite(5, writemotor);
}

float errorSum;
float Kp = 2;
float Ki = 0;

float computePID(int setpoint){    //función de  calculo de la posición del encoder
angle = analogRead(2);
angle = map(angle, 0, 344, 0, 90); // dejanski kot
Serial.print(angle);

double time_elapsed = micros();
dtrate = (time_elapsed – last) / 1000.f;
last = time_elapsed;

float error = setpoint – angle;
errorSum += error * dtrate;
errorSum = constrain(errorSum, -255, 255);
//Serial.println(error);
return (Kp * error) + (Ki * errorSum);

// Serial.println(time_elapsed, 5);
}

int Step = 0;

void setup()     //inicializacion del brazo
{
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
Serial.begin(9600);
Step = 0;
}

int k = 1;
int previousMillis = 0;
int interval = 50;

void loop()   //bucle principal de ejecución
{
int program_runtime = millis();

int readingUp = digitalRead(8);
int readingDown = digitalRead(9);

if(readingUp == 1 && readingDown == 0){
if(program_runtime – previousMillis > interval) {
previousMillis = program_runtime;
Step -= 5;
}

}
if(readingDown == 1 && readingUp == 0) {
if(program_runtime – previousMillis > interval) {
previousMillis = program_runtime;
Step += 5;
}

}
Step = constrain(Step, -150, 150);
if(readingDown == 0 && readingUp == 0) Step = 0;

//plot.SendData(“pid”, writemotor);
Serial.println(Step);
if(Step > 0) moveup(Step);
if(readingUp == 0 && readingDown == 0) stopmove();
if(Step < 0) movedown(Step);

}

Componentes necesarios

1 × calibrador de tensión con el amplificador de celda de carga
1 × Aluminio 4 x 30 x al menos 2000 mm
1 × Arduino Uno / Nano
1 × controlador de motor VNH2SP30
1 × Motor del limpiador del parabrisas del coche
1 × cables largos
1 × Potenciómetro
1 × Li-Po batería 3S 5500mAh
1 × Tornillos y tuercas. M4 y M6
1 × Cinta adhesiva
1 × Zipties
1 × Correas
1 × Placas de madera
1 × Tubo termorretráctil

 

 

En el siguiente vídeo el autor describe mas detalles de construcción   de este excelente  exo-brazo:

 

 

Mas información en https://hackaday.io/project/20663-assistive-exoskeleton-arm-exoarm#menu-description

Volver a caminar ya es posible


Los humanos hemos usado durante mucho tiempo las armaduras como exoesqueletos artificiales para nuestra  protección, especialmente en combate. Las ortesis son sin embargo una forma médica limitada de exoesqueleto constituyendo un mecanismo que acoplado a una pierna, o al torso, permite mejorar o corregir el comportamiento de esa pierna o de la espina dorsal en contraposición a una prótesis  que es un dispositivo que sustituye la parte faltante del miembro

Los exoesqueletos  han  saltado al terreno de la ciencia-ficción,  de hecho no en vano  el gobierno de los Estados Unidos ha financiado con 50 millones de dólares un proyecto para integrar exoesqueletos mecánicos a unidades de Marines, con propósito de aumentar su rendimiento,   pero  donde realmente se esta viendo disrruptivo es el campo de la salud.

Indego es el  segundo exoesqueleto para recibir la certificación de la FDA de Estados Unidos para su uso. El primero fue un dispositivo producido por  Robótica Ltd. Sin embargo, Indego ha realizado el ensayo clínico más grande exoesqueleto realizado en los Estados Unidos a lo largo de más de 1.200 sesiones individuales donde  los participantes del estudio fueron capaces de utilizar Indego para caminar con seguridad en una variedad de superficies interiores y exteriores s sin acontecimientos adversos graves.

 

 

Indego  es un ortesis de potencia que   permite a las personas paralizadas por debajo de la cintura se pongan de pie y caminar, siendo el resultado de un esfuerzo intensivo, de 10 años. El desarrollo inicial fue financiado por una subvención del Instituto Nacional de Salud Infantil y Desarrollo Humano . En 2012 Parker, líder mundial en tecnologías de movimiento y control, adquirió una licencia exclusiva para comercializar el diseño y ha trabajado en estrecha colaboración con el grupo de Goldfarb para desarrollar una versión comercial del dispositivo médico.

El carácter innovador del diseño Indego llevó Mecánica Popular para nombrar Goldfarb uno de sus ” Diez innovadores que cambiaron el mundo ” en 2013.

La FDA ha dado autorización para comercializar y vender el exoesqueleto de los miembros inferiores impulsado creado por un equipo de ingenieros de Vanderbilt y comercializado por  Parker , tanto para uso clínico y personal en los Estados Unidos por  lo que en unos días cualquiera podrá comprar este milagro de la tecnología.

 

Hasta hace poco, los robots “llevables” como Indego eran cosa de ciencia ficción , pero en los últimos 15 años, gracias a  los avances en las tecnologías de la robótica, la microelectrónica, la batería y el motor eléctrico han hecho que sea práctico poder desarrollarlos para ayudar a las personas con lesiones de la médula espinal y accidente cerebrovascular.

Este dispositivo actúa como un esqueleto externo. Sus correas se ciñen al rededor  del torso y las piernas se atan a los soportes rígidos y se extienden desde la cadera hasta la rodilla y de la rodilla hasta el pie. Las articulaciones de la cadera y de la rodilla son impulsados por motores eléctricos controlados por ordenador  siendo alimentado todo el conjunto  por baterías avanzadas. Los pacientes  utilizan ademas  andadores o muletas para mantener su equilibrio.

De hecho se puede pensar en este exoesqueleto como un Segway con las piernas. Si la persona que lo lleva se inclina hacia delante, se mueve hacia adelante. Si se inclina hacia atrás y mantiene esa posición durante unos segundos, se sienta. Cuando está sentado, si se inclina hacia delante y mantiene esa posición durante unos segundos, y luego se pone de pie

Indego pesa unos 13kg   ,viene en tamaños intercambiables y puede acomodar una persona con  altura que va desde 155 hasta  191cm  y un peso de hasta  113kg  . Actualmente Indego se puede utilizar con los índices de lesiones de la médula espinal de T7 a L5 en las comunidades o en el hogar y con los niveles de daño de T4 a L5 en los centros de rehabilitación (pero sin embargo no está destinado para los deportes o subir escaleras ).

 

indego

Indego también tiene dos características que están diseñadas específicamente para ayudar en la rehabilitación:

  • La cantidad de asistencia robótica se ajusta automáticamente a los usuarios que tienen cierto control muscular en las piernas. Esto les permite utilizar sus propios músculos al caminar. Cuando un usuario está totalmente paralizado, el dispositivo hace todo el trabajo. Los otros diseños proporcionan plena potencia todo el tiempo.
  • Es el único robot portátil que incorpora una tecnología de rehabilitación probada llamada estimulación eléctrica funcional. FES aplica pequeños impulsos eléctricos a los músculos paralizados, haciendo que se contraigan y se relajen. FES pueden mejorar la fuerza en las piernas de las personas con paraplejia incompleta. Para parapléjicos completos, FES puede mejorar la circulación, cambiar la densidad ósea y reducir la atrofia muscular.
  • Uno de los objetivos de diseño de Goldfarb fue dar a los usuarios la máxima cantidad de libertad personal posible. Uno de sus requisitos, por ejemplo, fue permitir al usuario poner en el exoesqueleto y quitárselo mientras se  está sentado en una silla de ruedas. Como resultado,  Indego es considerablemente más ligero y menos voluminoso que los otros exoesqueletos en desarrollo ( y ademas tiene al posibilidad de cargarlo con una segunda batería auxiliar)
  • Las personas que usan sillas de ruedas con regularidad puede desarrollar serios problemas con su urinario, respiratorio, cardiovascular y digestivo, así como conseguir  aumentar  osteoporosis, úlceras por presión, coágulos de sangre y otras afecciones asociadas con la falta de movilidad. El riesgo de desarrollar estas condiciones puede reducirse considerablemente por estar de pie regularmente, gracias al movimiento y el ejercicio de sus extremidades inferiores.

 

Indego esta disponible también en Europa desde noviembre, cuando recibió la marca CE, equivalente de aprobación de la FDA de la Unión Europea siendo el precio inicial  de $ 80.000.

El siguiente paso es conseguir que el gran coste de dispositivo sea subvencionado  por los seguro de salud. Este consiste en reunir a los Centros de Servicios de Medicare y Medicaid (CMS) para aprobar un “código de tarifa” para el exoesqueleto: un código numérico que identifica las características de los pacientes que Medicare / Medicaid reembolsará por la compra de una determinada pieza de equipo médico. Por lo general, en EEUU el gobierno reembolsará el 80 por ciento del costo de los dispositivos médicos aprobados. En la mayoría de los casos los proveedores de seguros de salud privados adoptan el código CMS. Es de esperar que en Europa  se siga un modelo similar de subvenciones como en EEUU para sufragar el altisimo coste de esta maravilla tecnológica:

En el siguiente video podemos ver la historia de Michael Gore, un T10 completamente parapléjico, que comparte obre cómo el exoesqueleto Parker Indego® le ha permitido caminar de forma independiente por primera vez desde que un accidente de trabajo le dejó paralizado en febrero de 2002. Michael es uno de los primeros pacientes para probar Indigo como un dispositivo de rehabilitación en el Centro Shepherd en Atlanta, Georgia:

Indego se está probando actualmente en el Centro Shepherd, así como otros centros de rehabilitación que lleva a establecer un cuerpo de evidencia clínica de que demuestra los beneficios de que el dispositivo para la terapia y el uso personal. Parker está  aprobado en  la FDA y la marca CE, y en unos días se realizara el lanzamiento comercial .

Para obtener más información acerca de Indego, visite www.indego.com.

Los exoesqueletos una realidad que puede cambiar muchas vidas


Si les suena familiar el nombre de HAL, del que ya hemos hablado en este blog no es una  casualidad,  Hybrid Asistencial Limb  es un exoesqueleto  desarrollado por la japonesa Universidad de Tsukuba y la empresa de robótica CYBERDYNE diseñado para apoyar y ampliar las capacidades físicas de sus usuarios, en particular las personas con discapacidades físicas.

Hay dos versiones principales del sistema: HAL 3( sólo proporciona la función de la pierna), yHAL 5 (exoesqueleto de cuerpo completo para los brazos, las piernas y el torso). Ambos  son trajes utilizados en la industria mecánica y en tareas de apoyo. También pueden ser utilizados en zonas de catástrofes naturales, cuando es necesaria la presencia humana, pero ,incluso pueden ser customizados para soportar ambientes hostiles o simplemente para soportar más peso que el humanamente posible.

 HAL está diseñado para ayudar a los discapacitados y ancianos en sus tareas diarias, pero también se puede utilizar para apoyar a los trabajadores con trabajos físicamente exigentes como el rescate o la construcción de desastres. HAL es utilizado principalmente por los pacientes con discapacidad en los hospitales, y se puede modificar para que los pacientes puedan utilizarlo para la rehabilitación a largo plazo

Ahora  a  HAL   se le plantea  una utilidad distinta creando un exoesqueleto que se amolda a la cintura de su usuario para proporcionar la firmeza y fuerza necesarias para cargar grandes cantidades de peso sin lesionarse la espalda

Esta idea cuyos primeros prototipos fueron mostrados hace un par de años parece  una vía de aplicación de los exoesqueletos demostrando que no sólo pueden ser usados para fines bélicos

 

Lo que vemos en el siguiente video es una adaptación de la armadura original del esqueleto, desarrollada y adaptada especialmente para las actividades de los trabajadores del Aeropuerto de Haneda en Tokio, Japón