lunes, 19 de noviembre de 2012

ANÁLISIS DEL COMPORTAMIENTO DEL ROBOT HUMANOIDE BIOLOID EN SITUACIÓN ESPECÍFICA


Figura  1. Robot y pista


1.  Introducción

La  robótica  es  una  rama  de  la  tecnología  que  ha  tomado  un  gran  auge  en  los  últimos  tiempos  y    que  a  lo  largo  de  su  historia  (Sánchez-Martín  FM,  2007);  está  ayudando  a  la  humanidad  a  hacer  todo  tipo  de  tareas;  por  eso,  se  hace  pertinente  analizar  la  posibilidad  de  usarla  para  la  atención  de  desastres  (www.rpp.com.pe);  al  igual  que  analizar  uno  de  sus  problemas  fundamentales  como  lo  es  la    llamada  incertidumbre,  la  cual  básicamente  trata  de  el  grado  de  error  que  los  dispositivos  robóticos  (o  cualquier  partícula)  pueden  generar  (Batres  Ayala,  2004).  Esta  incertidumbre  será  evaluada    en  una  serie  de  pruebas  reales,  como  lo  son  caminar,  girar  cierta  cantidad  de  grados,  coger  o  dejar  un  pilote.  Con  el  objetivo  de  posteriormente  conocer  y  puntualizar  exactamente  qué  tanto  afecta  la  incertidumbre  los  movimientos  a  largo  plazo.

Actualmente,  las  investigaciones  de  robótica  de  esta  índole  es  escasa;  pues  estas  se  concentran  más  en  el  sector  productivo.  Aunque  proporcionalmente  hablando  el  sector  de  atención  y  prevención  de  desastres  es  variado  en  cuanto  a  prototipos  robóticos  se  refiere;  empezando  con  los  robots  CA–TF2  y  VA–TF1  (http://www.unperiodico.unal.edu.co),  los  cuales  proporcionan  una  gran  ayuda  humanitaria  en  condiciones  adversas.

Después  de  un  terremoto  o  alguna  catástrofe  es  bien  sabido  el  daño  emocional  en  las  personas,  por  lo  que  las  investigaciones  en  robótica  también  se  centran  en  ayudar  anímicamente    a  las  personas;  por  ejemplo,  Paro  (http://www.parorobots.com),  un  robot  autómata  (Bermejo-Sanchez  S.,  2004)  que  se  convierte  en  un  claro  ejemplar  de  ayuda  emocional  a  las  personas. En  la  inundaciones  también  se pueden  encontrar  robots  que  salvan  vidas  como  es  el  caso  Swuomanoid  (www.bajoelagua.com),  el  cual  rescata  personas  de  inundaciones  llegando  hasta  ellas  nadando. 

Por  ello  en  este  artículo  se  abordará  el  aspecto  de  las  inundaciones,  con  el  modelo  robótico  Bioloid  en  la  situación  específica  de  atención  de  un  río  desbordado,  el  cual  también  tiene  que  darse  a  la  tarea  de  hacerlo  eficazmente,  ya  que  de  la  eficacia  del  robot  depende  el  grado  de  desastre  que  se  presente.

2.  Descripción  del  problema

El  problema;  básicamente  se  concibió  con  el  fin  de  probar  el  desempeño  del  conjunto  de  los  algoritmos  desarrollados  en  orientación  a  los    movimientos  básicos  y  probar  en  diferentes  pruebas  cómo  es  su  funcionamiento  individual  y  grupal.  Dicho  problema  consiste  en  la  simulación  de  un  desbordamiento  de  un  río  el  cual  debe  ser  solucionado  por  el  robot  de  manera  que  ponga  una  cantidad  determinada  de  pilotes  alrededor  del  desbordamiento  a  fin  de  construir  un  dique  que  lo  contenga.  Además  de  esto  se  debe  buscar  que  el  robot  haga  esta  tarea  lo  más  eficaz  y  eficientemente  posible  para  reducir  el  grado  de  daños  que  provoque  el  ya  mencionado  desbordamiento.

2.1.  Campo

El  campo  que  se  utilizó;  como  lo  muestra  la    Figura  2,  consta  de  una  columna  de  color  azul  al  lado  izquierdo  en  representación  de  un  río,  dentro  de  las  condiciones  del  problema  se  utilizó  una  serie  de  cuadros  o  cajas  de  color  azul  claro  al  lado  derecho  del  río,  las  cuales  tuvieron  la  función  de  simular  el  desborde;  la  posición  de  estos  es  aleatoria  a  fin  de  hacer  la  tarea  más  real.  En  cuanto  a  los  pilotes;  representados  con  el  color  verde,  se  ubicaron  de  forma  constante  en  el  extremo  derecho  del  campo  y  dos  más  en  la  parte  superior  e  inferior  en  posición  perpendicular  respecto  a  los  demás.  La  cuadrícula  de  color  amarillo  representa  la  posición  inicial  del  robot;  para  la  ubicación  del  robot  en  la  pista  se  ha  hecho  un  sistema  de  coordenadas  como  es  mostrado  en  la  Figura  2.



Figura  2.  Campo  utilizado  para  las  pruebas.

2.2.  Pilotes

El  campo  también  contendrá  una  serie  de  pilotes  ubicados  al  extremo  derecho  de  la  pista  como  se  ve  en  la  Figura  2;  estos  serán  usados  por  el  robot  para  cubrir  el  desborde  del  río  simulando  la  construcción  de  un  dique.  Estos  pilotes  están  hechos  por  trozos  de  tubos  pvc  (policloruro  de  vinilo)  con  trozos  de  cartón  adheridos  en  la  parte  de  arriba  para  que  el  robot  tenga  más  posibilidades  de  cogerlo.






Figura  3.  Pilote.













2.3.  Robot

El  robot  que  se  va  a  usar  será  el  BIOLOID  Premium,  distribuido  por  la  empresa  Robotis  (http://www.robotis.com);  este,  se  ha  armado  con  el  modelo  Tipo  A 
(www.support.robotis.com),  con  dos  modificaciones  claves;  la  primera,  es  que  se  le  ha  puesto  un  caucho  a  cada  mano  del  robot  para  garantizar  que  pueda  coger  los  pilotes;  la  segunda  se  trata  de  los  sensores  infrarrojos  (http://support.robotis.com/en/product/auxdevice/sensor/irsensor_manual.htm) que  se  le  han  adaptado  a  cada  pie  apuntando  hacia  el  frente  para  que  pueda  “ver”  si  el  desbordamiento  está  en  frente.


Figura  4. robot Bioloid.


3.  Arquitectura  para  la  solución

Para  la  solución  del  caso  del  desbordamiento  propuesto,  se  implementó  una  arquitectura  (www.conozcamoslarobotica.blogspot.com)  de  búsqueda  y  solución;  la  cual,  se  concibió  a  grosso  modo  un  pseudocódigo  que  fue  la  base  para  programar  el  robot  BIOLOID  para  que  con  su  implementación,  cumpla  con  los  objetivos  y  posteriormente  permitan  el  análisis  de  los  mismos.  Las  tareas  principales  que  cumple  el  robot  son:
·         Caminar()
·         girarDerecha()
·         girarIzquierda()
·         sensarAdelante()
·         cogerPilote()
·         dejarPilote()

Teniendo  ya  estas  acciones  básicas  elaboradas  se  construyó  el  pseudocódigo  y  posteriormente  se  implementó  en  el  RoboPlus  Task  (support,  web)  y  Roboplus  Motion  (support,  web):


Inicio
Caminar(2)
orientacion  =  3
fila  =  1
columna  =  4
contadorDesborde  =  1
repetir  hasta  que  contador_desborde  sea  diferente  de 4
si  hay  un  obstáculo  en  frente
Ir_Por_Pilote()
sino
girarIzquierda()
Caminar(1)
girarDerecha()
fin_si
fin_repetir
fin

El  método  Ir_Por_Pilote()  es  utilizado  cuando  el  robot  encuentra  un  desborde  y  lo  que  hace  es  evaluar  la  posición  en  la  que  actualmente  se  encuentra  el  robot  y  definir  el  camino  óptimo  para  ir  por  los  pilotes  más  cercanos  y  usarlos  para  hacer  el  dique.
 

Inicio
si  ContadorDesborde  es  igual  a  1
si  la  posición  actual  es  1,2
ir  por  el  pilote  de  la  posición  0,3  y  ponerlo  en    la  posición  actual
ir  por  el  pilote  de  la  posición  0,4  y  ponerlo  en    la  posición  0,1
ir  por  el  pilote  de  la  posición  0,5  y  ponerlo  en    la  posición  0,2
sino,  si  la  posición  actual  es  2,2
ir  por  el  pilote  de  atrás  (posición  2,5)  y  dejarlo  en  la  posición  actual
ir  por  el  pilote  de  la  posición  1,4  y  ponerlo  en    la  posición  1,1
ir  por  el  pilote  de  la  posición  0,3  y  ponerlo  en    la  posición  1,2
          sino
ir  por  el  pilote  de  atrás  (x,5)  y  ponerlo  en  la  posición  actual  (a,b)
ir  por  el  pilote  de  la  posición  (x-1,5)  y  ponerlo  en  la  posición  (a-1,b-1)
ir  por  el  pilote  de  la  posición  (x-2,5)  y  ponerlo  en  la  posición  (a-1,b)
          fin_si
     sino,  si  contadorDesborde  es  igual  a  2
ir  por  el  pilote  de  atrás  y  ponerlo  en  la  posición  actual
girarIzquierda  ()
si  la  posición  actual  es  igual  a  8,3
     cogerPilote  ()
     caminar  (1)
     girarDerecha  ()
     dejarPilote  ()
sino
     caminar  (1)
     girarDerecha  ()
     caminar  (1)
fin_si
     sino
          si  la  posición  actual  es  8,2
ir  por  el  pilote  de  la  posición  9,3  y  ponerlo  en  la  posición  actual
ir  por  el  pilote  de  la  posición  9,4  y  ponerlo  en  la  posición  9,1
ir  por  el  pilote  de  atrás  (posición  9,5)  y  dejarlo  en  la  posición  actual
          sino
ir  por  el  pilote  de  atrás  (x,5)  y  dejarlo  en  la  posición  actual  (a,b)
ir  por  el  pilote  de  la  posición  x+1,5  y  ponerlo  en  la  posición  a+1,b-1
girarDerecha  ()
girarDerecha  ()
caminar  (1)
si  la  posición  actual  es  8,3
     girarDerecha  ()
cogerPilote  ()
girarDerecha  ()
sino
     caminar  (2)
     girarDerecha  ()
     cogerPilote  ()
     girarDerecha  ()
     caminar  (2)
fin_si
dejarPilote  ()
          fin_si
fin_si
contadorDesborde  =  contadorDesborde  +  1
Fin

Para  que  el  robot  sepa  en  qué  lugar  se  encuentra  y  pueda  evaluar  estas  condiciones  se  ha  concebido  un  sistema  que  suma  o  resta  a  la  variable  fila  o  columna  cuando  camina  hacia  adelante  según  su  orientación;  y  esta  a  su  vez  es  modificada  cada  vez  que  el  robot  gira.

4.  Pruebas  y  resultados

Después  de  definido  el  algoritmo  para  cada  uno  de  los  movimientos  básicos,  se  tomaron  individualmente  para  probar  el  desempeño  de  estos  en  su  ejecución;  primero,  se  realizó  varias  pruebas  al  movimiento  caminar;  cada  una  de  ellas  se  hizo  con  diferentes  distancias  a  fin  de  determinar  la  velocidad  y  los  grados  de  error  que  arroja  cada  una;  los  resultados  de  aquella  están  expresados  en  la  Tabla  I  y  los  de  estos  en  la  Figura  5.


Tabla  I
Resultados  de  velocidad  cuando  camina.
Distancia
Velocidad  promedio
20  cm
0,66  cm/s
40  cm
0,64  cm/s
60  cm
0,43  cm/s
80  cm
0,58  cm/s
.

Figura  5.  Resultados  de  desviación  de  la  prueba  caminar.

Figura 6. Imágen prueba del movimiento caminar

 
figura 7. Imágen prueba del movimiento caminar 


Después,  al  igual  que  a  caminar,  se  realizó  varias  pruebas  al  movimiento  básico  de  girar;  cada  una  de  ellas  se  hizo  con  diferentes  grados  objetivo  a  fin  de  determinar  la  velocidad  y  los  grados  de  error  que  arroja  cada  una;  los  resultados  de  aquella  se  pueden  ver  en  la Tabla 2  y  los  de  estos  en  la Figura8 .


Tabla  II
Resultados  de  velocidad  cuando  gira.
Grados  objetivo
Tiempo  transcurrido
45°
14,63  s
90°
26,43  s
135°
37,61  s
180°
49,51  s


Figura  8.  Resultados  de  desviación  de  la  prueba  girar.

  Figura  9.Imágen prueba del movimiento girar


  Figura  10. Imágen prueba del movimiento caminar


Gracias  a  los  cauchos  instalados  en  las  manos  del  robot,  y  los  cartones  que  se  le  adhirieron  alrededor  del  pilote,  los  cuales  tenían  la  función  de  ampliar  el  diámetro  del  pilote;  El  proceso  de  coger  y  dejar  se  hizo  significativamente  más  eficaz,  dando  como  resultados  un  100%  para  las  pruebas  de  coger  el  pilote  y  un  90%  para  las  pruebas  de  dejar  estando  el  pilote  en  una  posición  adecuada.






video prueba pista total



5.  Conclusiones

Las  pruebas  revelaron  la  gran  incertidumbre  que  se  presenta  en  un  robot  humanoide;  ya  que  como  se  puede  ver  en  las  figuras  de  las  pruebas,  en  unas  secciones  se  presenta  en  gran  grado  la  incertidumbre;  y  en  otras,  es  verdaderamente  mínima.  Demostrando  con  esto  que  la  robótica  depende  mucho  más  del  hardware  (Bose  S.,  2007)  que  del  software  (Campderrich  Falgueras  B.,  2003).
En  cuanto  a  la  situación  de  desbordamiento  del  río,  el  robot  Bioloid  constituye  un  buen  prototipo  para  la  solución  del  problema  de  desbordamiento,  ya  que  por  ser  bípedo  se  desempeña  mejor  que  un  robot  Rover  (Saeed  N.,  2010)  en  las  condiciones  terrenales  de  las  zonas  de    riberas,  y  así  posteriormente  implementar  un  plan  macro  para  un  prototipo  más  a  la  medida  de  la  situación  real.

En  trabajos  posteriores  se  pretende  buscar  métodos  para  reducir  el  grado  de  incertidumbre  que  se  presenta  al  realizar  los  movimiento  básicos;  y  mejorar  el  tiempo  en  que  ejecuta  dichas  acciones,  de  igual  manera  mejorar  sus  cualidades  motrices  (Batalla-Flores  A.,  200).
También  se  pretende  incursionar    en  otras  situaciones  de  catástrofe;  por  ejemplo,  incendios,  inundaciones,  terremotos,  entre  otros.  Con  el  objetivo  de  demostrar  como  estos  robots  sirven  de  herramientas  en  diferentes  situaciones.

Referencias

Sánchez-Martín ,FM  &  Jiménez Schlegl, P* &  Millán Rodríguez,  F & Salvador-Bayarri, J&Monllau Font ,V;&Palou Redorta,  J &  Villavicencio Mavrich, H.(2007)Historia de la robótica: desde Arquitas de Tarento al Robot da Vinci, 31(3),185-196.

RPP-Noticias WebSite[Online].Available:
http://www.rpp.com.pe/2012-10-24-pentagono-busca-robots-que-ayuden-al-hombre-ante-desastres-como-fukusima-noticia_534091.html

Batres Ayala Luis Roberto& Vargas Guevara.(2004)
“Investigación sobre los temas: Incertidumbre, Factores de la Incertidumbre, Razonamiento Aproximado y Razonamiento Inexacto.”,1-16.

Universidad-Nacional WebSite[Online].Available:
http://www.unperiodico.unal.edu.co/dper/article/robot-para-rescatar-victimas-en-desastres-naturales.html.

Paro-Robot WebSite[Online].Available:
http://www.parorobots.com/

Bermejo Sanchez sergio(2004).” desarrolo de robots basados en el comportamiento”,236,21-31.

Bajo-el-agua WebSite[Online].Available:
http://www.bajoelagua.com/mundo-submarino/noticias/2012-09-12/japon-disena-robot-humanoide-socorrista-0854.html.

Robotis product Web site[Online] .Available:http://www.robotis.com/xe/BIOLOID_main_en

SupportRobotis WebSite[Online].Available:http://support.robotis.com/en/product/bioloid/premiumkit/download/bioloid_premium_demo.htm.

Support-Robotis WebSite[Online].Available:
http://support.robotis.com/en/techsupport_eng.htm#product/auxdevice/sensor/dxl_gyro.htm.

TodosobrelarobóticaWebsite[Online].Available:http://conozcamoslarobotica.blogspot.com/p/robots-segun-su-arquitectura.html.

Support-Robotis WebSite[Online].Available: http://support.robotis.com/en/software/roboplus/roboplus_task_main.htm

Support-Robotis WebSite[Online].Available: http://support.robotis.com/en/software/roboplus/roboplus_motion_main.htm

Bose sanjay (2007).”hardware and software of personal computers  ”,1,1-224.

Campderrich Falgueras Benet(2003),”Ingenieria del software”,26-303.

Niku Saeed(2010) “ Introduction to Robotics”480-1, 6-7.

Batalla Flores Albert(200).”Habilidades Motrices”,107.

No hay comentarios:

Publicar un comentario