Home
        Desarrollo e implantación de plataforma robótica
         Contents
1.        PET eee EEE    Figura 9 1  La plataforma rob  tica m  vil  bautizada como Higgs  en todo su esplendor        hacerse necesario reiniciar el software de control cada vez que surge alg  n problema en la  comunicaci  n  como la p  rdida en la transmisi  n de alg  n byte     Calidad y robustez    Durante una de las pruebas se produjo un accidente por el cual el cable de carga de las  bater  as qued   aprisionado por las ruedas del robot  Al avanzar   ste  tir   del cable produciendo  su rotura en el interior del conector jack y form  ndose un cortocircuito en la alimentaci  n   tanto del cargador de bater  as como de las bater  as  El cortocircuito se cerr   formando un  circuito en serie formado por la bater  a  la resistencia shunt  la placa de alimentaciones y  el conector del cargador con el fallo  La buena elecci  n en los componentes de la placa de  alimentaciones y el grosor de las pistas hizo que   sta no presentara ning  n desperfecto tras el  fallo  no as   la resistencia shunt  que super   los valores m  ximos de funcionamiento y produjo  una peque  a explosi  n por calentamiento repentino por efecto Joule  haciendo las veces de  fusible improvisado del circuito  Gracias a ello s  lo hubo que cambiar la resistencia shunt y  reparar el cable del cargador para que el robot recuperara la funcionalidad  De esta manera  se comprob   la calidad de los componentes desarrollados afectados en este accidente        CAPITULO 9  CONCLUSIONES Y TRABAJO FUTURO 87    Ingenieri
2.        arduino_dev   gt   dev ttyUSB2      higgs_dev   gt   dev ttyUSBO      wrist_dev   gt   dev ttyUSB3        laser_dev   gt   dev ttyUSB1      listen _endpoint ip        modules        ftdi _sio ko          p12303 ko             nameservice ip       A continuaci  n se hace una breve explicaci  n de cada entrada     devices Subdirectorio que contiene enlaces simb  licos a los archivos de dispositivos en  dev   Los servants abren estos archivos en lugar del dispositivo real para no tener que re   compilarlo cada vez que el dispositivo cambia de nombre  hecho muy frecuente con los  convertidores USB a RS 232        listen_endpoint ip Direcci  n IP de la interfaz de red por el que se desea que se pongan a  la escucha los servants     modules En este caso modules se refiere a m  dulos recargables del n  cleo de linux  Los  drivers de los convertidores USB a RS 232 cargan en orden arbitrario cada vez que se  reinicia el ordenador de a bordo  lo que provoca cambios en los nombres de los archivos  de dispositivo  Para evitarlo se han movido los drivers a este directorio  evitando que el  n  cleo los cargue autom  ticamente  Se ha a  adido una instrucci  n de carga manual de  estos drivers en la secuenca       nameservice ip Direcci  n IP del servicio de nombres  Unico archivo obligatorio para los  ordenadores que solo ejecuten clientes  de arranque del sistema operativo  de este modo  los drivers se cargan siempre en el mismo orden     5 5 2  Ejecuci  n de los servants    El requ
3.      CAPITULO 6  MODULOS SOFTWARE 68    6 4  Tarjeta de adquisici  n de datos       La tarjeta de adquisici  n de datos presenta una serie de desventajas que hace necesario su  modificaci  n  Se ha tenido que estudiar en detalle el sistema de partida  realizando ingenier  a  inversa  debido a la escasa documentaci  n que acompana el c  digo     1  La interfaz gr  fica impide la ejecuci  n del servant en ordenadores empotrados  sin sis   tema gr  fico o con recursos limitados     2  Algunas de las   rdenes enviadas a la tarjeta son ignoradas        3  El c  digo del firmware no es lo suficientemente estable como para asegurar un funcio   namiento continuado     4  La interfaz IDL es mejorable   5  La configuraci  n e inicializaci  n del servant es dif  cil y laboriosa   6  El conjunto no es robusto y necesita monitorizaci  n constante por parte del operador       stos defectos vienen motivados de la naturaleza del desarrollo anterior que se limitaba a  una fusi  n sensorial de algunos dispositivos del robot  El desarrollo realizado en este proyecto  mejora este m  dulo y lo ampl  a  habilitando algunos sensores que no exist  an a la hora de  realizar el proyecto    Los sensores y actuadores que se han a  adido son     1  Br  jula electr  nica   2  Aceler  metros     3  Apagado remoto de dispositivos  ver secci  n  4 1        4  Sensores de medici  n de corriente e intensidad de las bater  as  ver secci  n  4 2     Para ello se ha modificado tanto el firmware como el servant   
4.     Register the  supplier_entity  supplier_entity  supplier_entity  supplier_entity    Supplier      obj    phony    obj    get    T  phony       const  get     get_type   NORMAL       value    amp value        Register to the executive   add_this_to_executive  ex       j     executive_attribute            for  std   vector lt executive   callbacks  gt   iterator i    exec    gt callbacks_pool  begin       i    exec    gt callbacks_pool end              if  i    gt obj    phony   this   exec    gt callbacks_pool erase i      else  Uara  j       template  lt class O gt     void subscribe_consumer O   obj  void  O    set   T           consumer c     c obj    phony    obj   c set    void  phony      T  set   c value     value     c set_type   NORMAL     consumer_pool  push_back c       j    void add_this_to_executive executive  amp  ex          executive   callbacks ev     ev obj    ev async_get       phony   this      void  phony         amp executive_attribute lt T gt     async_get     ev async_set       void  phony         amp executive_attribute lt T gt       48  49    50    l  52  93  54  9   56  ov  58    59  60  61  62  63  64  65  66  67  68  69  YO  71  12  13  14  19  16  VI  18  19  80  31    CAP  TULO 6  M  DULOS SOFTWARE 73    6 6     async_set   ev async_compute     void  phony          amp executive_attribute lt T gt     async_compute   exec    amp ex   exec    gt callbacks_pool push_back ev       j    void async_set           for  size_t i  0  i  lt  consumer_po
5.     Retrieve the pointer to member method with  amp   get_t  get_method      2 3 2 2 template lt class T  gt  template lt class O  gt  executive_attribute lt  T  gt   executive_attribute   executive  amp  ex  O x obj  T x O  x 0 get   inline     The same as executive_attribute  executive  amp  ex  O   obj  T   O   get     const  when the supplier returns a pointer to the attribute and executive_attribute must  take care of that memory   Parameters   ex The executive that will keep track of the value associated with this attribute     obj The object to which the get call applies     get Pointer to member method that supplies a pointer to the attribute by polling it  The caller is  responsible for deallocating the pointer  so the supplier must return a pointer to a memory it  will not manage after returning  get must be of the form attribute_t   get_t  get_   method        Retrieve the pointer to member method with  amp   get_t  get_method   TODO  Not tried  with arrays  Probably will not work  as it needs an additional argument indicating the number of  elements in the array     Warning     Uses delete to dealloc the memory  which is not portable when using CORBA     2 3 2 3 template lt class T  gt  template lt class O  gt  executive_attribute lt  T  gt   executive_attribute   executive  amp  ex  O x obj  T    O  x 0 get   inline     The same as executive_attribute  executive  amp  ex  O   obj  T   O   get    const  when the supplier returns a reference to the attribute     2 
6.    load_serial_modules start stop     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 51 of 97    Daemon scripts    The onboard portable computer is running many of the CORBA modules  under Linux  The base operating system has been modified slightly to run in  an unattended fashion     Modifications made to the onboard computer     e  usr bin gnome_power_manager has been renamed to   usr bin gnome power manager disabled  This allows  for the  computer to run while it is on batteries and the screen is down  Other   wise the Vaio goes into suspend mode and no process can execute  To  read the battery life do  cat  proc acpi battery BAT1 stateoracpi  b    e  etc init d The servants are configured to be managed by upstart   The config files determine which modules to load  when to restart and  where to redirect the output  logs   See section 5 3 2 for detailed de   scription     e restart_servants It is possible  to restart the servants by pressing the eject  button on the Vaio  even with the lid down  This button will generate  an ACPI event that will be processed by acpid using the configuration  file restart_servants conf which in turn will call  restart_servants sh that will force the termination of the servants   which will be restarted by upstart  The configuration and script files go  respectively under  etc acpi events and  etc acpi actions     e The output of the commands are redirected to   var log higgs SPROGRAM  log Any problem associated to the ex   ecution of the m
7.    wrist   ROLL       higgs   wrist   ROLL       En el manual del usuario  anexo  C  se dan detalles para llevarlo a cabo     14  15  16  17  18  19  20    21  22  23  24  25  26  27  28  29  30  31    CAP  TULO 7  VALIDACI  N Y PRUEBAS 80    for  int i  0  i  lt  9  1        wrist    gt set_position 0 3 f  higgs   wrist    PITCH     wrist     gt set_position 0 3 f  higgs   wrist   ROLL     while   wrist    gt is_ready  higgs   wrist    PITCH        std  cout  lt  lt  wrist    gt get_current  higgs   wrist   PITCH   lt  lt   std  endl        wrist     gt wait  higgs   wrist   BOTH     f     f  gt  0    0 1      0 1   E     wrist    gt set_ position  0 F  higgs   wrist   BOTH     wrist    gt wait  higgs   wrist   BOTH       CORBA_END_CLIENT      return Q     El segundo cliente consiste en un control de la mu  eca con el rat  n del ordenador donde  reside el cliente  Como nota curiosa  con esta aplicaci  n se ha conseguido enga  ar a algunos  visitantes haci  ndoles pensar que el robot realizaba reconocimiento y seguimiento de rostrog      Requisito 2 5 2  Integraci  n del dispositivo l  ser  El cliente de pruebas desarrollado lista  por pantalla las distancias medidas por el sensor l  ser  Este cliente ha sido ejecutado remo   tamente  validando el requisito     Requisito 2 5 3  Integraci  n del receptor GPS  Debido a la p  rdida de cobertura de la  conexi  n wifi en exteriores  no ha sido posible verificar este requisito tal y como se redact    Sin  embargo  s   se ha logrado
8.   6 4 1  Firmware    El firmware ha necesitado un repaso general de las funciones que implementa  En primer  lugar se elimin   el c  digo irrelevante que   nicamente reduc  a el rendimiento del procesamiento   En segundo lugar se a  adi   la captura de los nuevos sensores  habilitando nuevos tipos de  datos de entrada  Se a  adi   la captura de tiempos para el PWM enviado por la br  jula  electr  nica  anadiendo esta captura al ciclo de lectura de los registros correspondientes a cada  sensor  Finalmente se adaptaron los comandos a las nuevas funcionalidades y se eliminaron  funcionalidades obsoletas no aplicables al conjunto del robot    Adem  s durante todo el proceso se fueron corrigiendo peque  os errores as   como mejoran   do la estructura para facilitar el mantenimiento futuro del c  digo  En el manual del desarro   llador  anexo  D  se ha documentado en detalle los pasos a seguir para realizar actualizaciones  del firmware     CAPITULO 6  MODULOS SOFTWARE 69    6 4 2  Servant    En primer lugar se ha adaptado el c  digo para poder ejecutarse en modo demonio  es  decir  sin interfaces con las que interaccionar  Esto permite iniciar el servant con el arranque  del sistema operativo y es necesario para lograr mayor autonom  a del m  dulo  limitando las  interacciones a la interfaz CORBA ofrecida y el registro de los mensajes en los archivos de  log    Se ha realizado un estudio de las necesidades del grupo ASLab con la funcionalidad que  debe ofrecer este m  dulo y se ha
9.   Asimismo estas  variables se pueden observar a trav  s de la interfaz CORBA  La versi  n inicial de este m  dulo  se desarroll   en     La tarjeta de adquisici  n de datos es una tarjeta Arduino Mega que usa el microcontrolador  Atmel Mega 1260  Se trata de una tarjeta debajo coste dise  ada para desarrollos r  pidos  que incorpora su propio entorno de desarrollo basado en la herramienta processing e incluye  librer  as que evitan tener que programar en ensamblador para acceder a las funciones b  sicas  de entrada y salida del microcontrolador    A continuaci  n se describen el aceler  metro y la br  jula electr  nica  que est  n pendientes  de implantar     3 6 1  Aceler  metro       El aceler  metro es una tarjeta con dos sensores de aceleraci  n monoaxiales independien   tes  dispuestos perpendicularmente  Parten dos cables con alimentaci  n y datos para cada  aceler  metro  como se muestra en la figura  3 9  Su salida es anal  gica    Es necesario probarlo e integrarlo en el conjunto del robot     3 6 2  Br  jula electr  nica    La br  jula electr  nica usada en este proyecto es una pequena tarjeta autocontenida con  un microcontrolador Microchip que procesa la informaci  n recibida de dos sensores Philips  unidireccionales de campo magn  tico situados perpendicularmente  tal que la salida de la  tarjeta es una se  al PWM proporcional al   ngulo respecto al norte magn  tico  Cuenta con  compensaci  n del campo magn  tico creado por la corriente el  ctrica del cableado d
10.   IMPL      CORBA_END SERVER     return 0        La implementaci  n CORBA que se ha usado obliga a pasar como argumentos del ejecuta   ble la direcci  n del servidor de nombres  Los servants CORBA existentes al inicio del proyecto  resolv  an esta situaci  n ejecutando en lugar del ejecutable un script conteniendo la llamada al  ejecutable del cliente o servant y la direcci  n del servidor de nombres como argumento  m  s  el puerto de escucha para el caso de los servants  Usando esta librer  a se elimin   la necesidad  de este script  duplicado por cada ejecutable creado  sin necesidad de modificar el c  digo de  ning  n m  dulo y puediendo realizar cambios en la configuraci  n de todos los servants con  s  lo modificar un archivo  ver secci  n  5 5      5 4  Sistemas operativos en el ordenador de a bordo       Se probaron distintos sistemas operativos antes de decidir el m  s adecuado para cumplir  el requisito 1 1  Los requerimientos por los que se selecci  n el sistema operativo fueron          Posibilidad de n  cleo en tiempo real  requisito 1 1 1      Amplia biblioteca de librer  as      Facilidad de instalaci  n y uso      Compatibilidad con el c  digo ya desarrollado     A continuaci  n se muestra una lista con los sistemas operativos probados junto con las  ventajas y desventajas de cada uno de ellos     Windows XP Es el sistema operativo por defecto que ven  a incluido con el ordenador  Se  incluye licencia  Windows XP no trae caracter  sticas de tiempo real en la di
11.   The first of them  wrist_client  will move the two  axis with incremental span around ten times then stop  The second one   wrist_client_mouse _grab  will let you control the two axis with the mouse   Once running  take the pointer to the center of the window to move the wrist  to the starting position  then slowly move the pointer and the wrist will fol   low it  The range of movements is limited by the servant for secure operation  whatever the input is  However  the batteries and converter may not be able  to provide the required power if fast enough movements are requested     4 5 8 Robot base    TODO    4 6 Developing a client    44 of 97    4 6 1 ASLab client utility functions for CORBA    The methods for initializing the CORBA infrastructure and getting the object  references is quite complicated and always the same  The file  code lib CORBA utils h contains C   macros that ease the procedures  for setting up a client  managing the errors  reading the object references from  the nameserver and configuring itself for reaching that nameserver     The typical client would be something like      include  lt iostream gt     include  implementationC h     include  CosNamingC h     include  Higgs branches CORBA code lib CORBA_utils h     int main int argc  chark argv         CORBA  BEGIN CLIENT  argc  argv    CORBA_GET_REFERENCE  module    implementation  impl   IMPL       R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    imp L  gt  do  Things      CORBA END CLIENT   ret
12.   e    88  ad 92  A 92  serereererercres 93  o  94  98  ATAN 96    A 7  Distribuci  n y di  metro de los orificios de la placa de alimentaciones 97    TOTEE 161  naar roses  161  a riera arras 162  AN 162  aia oe nene errado sace  163       Indice de cuadros    2 1  Arbol de requisitos resumido        osoa a a a a 20       4 1  Caracter  sticas principales del rel   usado en la tarjeta de alimentaciones           4 2  Distribuci  n de dispositivos por canales en la tarjeta de alimentaciones         4 3  Listado de presupuestos para la fabricaci  n del circuito impreso de la tarjeta             r E E E eee eae oe eae 42  4 4  Listado de componentes de la tarjeta de alimentaciones               43  4 5  Valores obtenidos para el sensor I V           o    o    2 00000  AT  4 6  Datos de dise  o del portico      2    2  e    50  6 1  Par  metros de los sensores y distancias m  nimas en la prevenci  n de impactos   75  8 1  Presupuesto del sistema de partida      2    0 0 0                     82  8 2  Presupuesto del proyecto      a oa a a a a a 82    Capitulo 1    Introduccion    1 1  Motivaci  n    El desarrollo de nuevos algoritmos en inteligencia artificial y ciencia cognitiva necesitan  ser probados para que resulten   tiles en la mejora de la calidad de vida de las personas   Actualmente se est   realizando un gran esfuerzo para el desarrollo de nuevas tecnolog  as en       estos campos  sin embargo  su uso se limita a entornos simulados y la obtenci  n de informaci  n   El
13.   gt  an       Figura E 3  Logo de subversion       Subversion  o mas brevemente SVN  es un sistema de gesti  n de versiones ampliamente  utilizado en el mundo del software libre  Llamado a ser el sucesor de CVS  Concurrent Verr   sioning System   trabaja sobre una base de datos de versiones de los archivos fuente  aunque  tambi  n trabaja con otros tipos de archivos como texto  im  genes  binarios  etc    Una de las caracter  sticas m  s destacables es la posibilidad de trabajar con los mismos  archivos por ditintos usuarios simult  neamente  actualizando autom  ticamente los archivos       cada vez que se env  a una nueva versi  n al repositorio  Se puede visualizar el historial de  cambios de cada archivo y comprobar qu   archivos se han modificado localmente  entre otras       muchas caracter  sticas interesantes   Se ha usado como almacenamiento de las distintas versiones del c  digo fuente  como  repositorio de copias de seguridad y como herramienta de intercambio de c  digo fuente     Doxygen    Doxygen es una herramienta de generaci  n de documentaci  n a partir del c  digo fuente  de un proyecto     Doxygen        Figura E 4  Logo de Doxygen    Los comentarios del c  digo fuente han de formatearse bajo una norma especifica  aunque  sencilla de seguir e intuitiva  para que sean capturados por el analizador de Doxygen  Adem  s  lee los nombres de las funciones y de otros elementos sint  cticos para generar diagramas        Un comentario t  pico se muestra a continuaci 
14.  24VDC instalado en la parte frontal de la base del robot que tambien deber   ser  controlado por la tarjeta de alimentaciones de modo que este apagado cuando no haya dispo   sitivos de 24V en funcionamiento y as   reducir el consumo ya que este convertidor tiene un  consumo fijo de 6W incluso cuando no existe consumo el  ctrico en los 24V    Por tanto  cada sistema estar   controlado por un canal con dos m  todos distintos de  apagado  digital y con un interruptor  configurados como una  AND    l  gica  es decir  que el    CAPITULO 4  DISENO HARDWARE 39       Tension de bobina 12VDC  Corriente nominal maxima 5A  Configuraci  n de los contactos   DPST NO  Resistencia de contacto 30m    Resistencia de bobina 4800    Referencia del fabricante G6B 2214P US 12DC    Cuadro 4 1  Caracter  sticas principales del rel   usado en la tarjeta de alimentaciones             sistema estar   encendido solamente si ambos m  todos permiten simult  neamente el encendido  del sistema  Existir  n tantos canales como sistemas haya  m  s algunos de reserva para futuras  ampliaciones del robot con nuevos dispositivos  Cada canal deber   contar con un indicador  luminoso que indique la existencia de tensi  n en el conector de salida de la tarjeta de alimen   taciones de cada canal y un indicador luminoso que facilite la comprobaci  n de encendido de  la tarjeta  Con este desarrollo se cumplir  a tambi  n el requisito 1 2 1     4 1 2  Dise  o electr  nico y selecci  n de componentes    En esta secci  
15.  Finally connect the electronics box to the  battery pack with the serial terminal attached to COM2  The battery pack is  internally wired to connect the serial data and the power to the cable attached  to the serial transmitter  Press power in the serial transmitter  After a few  minutes  the Tx led should start blinking every second  This is the indication  that the differential readings are being transmitted     In the rover part  attach the three terminal cable to the blue radio receiver  the  battery pack and the COM2 port in the rover GPS electronics box  Press the  power button in the radio receiver and proceed as in the rover section     4 5 6 Laser    Procedure is similar to the I O board one  Go to  S  HIGGS_ROOT   branches CORBA code devices laser src and  cmake    make  laser_client will be generated  Power the laser in the    ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 43 of 97    robot  wait for it to go green and some more seconds for the laser servant to  start up  and run the client  A list with the distances of the latest reading will  be printed to the console     4 5 7 Wrist    Again  the procedure is similar  only in this case the device is not read but  told the position to move to  Turn on the switch for the wrist and wait for a  little calibration movement that indicates that it is ready  It will move to the  reset position if not there before the calibration  Go to   S  HIGGS_ROOT   branches CORBA code devices wrist src    Two clients will appear
16.  GE EERE HERE SE HES  Bob CeCe SUNS cee ew REA eRe Owe ee od  Boe ES AU  o os SRE ee Ma EER ERO OE wR  2 3 3 Member Function Documentation             2 2 0 0  eee eee  Lal BUSCO COMPITE os essa deerde ERE EERE ESS  2 3 3 2  subscribe_consumer         co a a Dees  2 3 3 3  subscribe_consumer   cocineros  Le  SUDSCUDE COMO    lt 2  6525248    4 oe Sow eee eee EEE HA  2 3 4 Member Data Documentation            o     Dahi AM sr rara A ee ew  pue 40 1 IEEE  2 4 1 Detailed Description   occurred AAA OHH    pa    VO NN 0 0           NQ N NN A A A A A aA a a a A A Q Q UY    Chapter 1    Class Index    1 1 Class List    Here are the classes  structs  unions and interfaces with brief descriptions     executive  callbacks  Do not use  Internal use            e        executive  Asynchronous event dispatcher with the hybrid Push Pull model               executive_attribute lt  T  gt   Stores an attribute and manages the supplier  consumers and comput    ers associated with that attribute            e        phony  Auxiliary class that helps circumvent C   type safety  Please ignore                Chapter 2    Class Documentation    2 1 executive  callbacks Struct Reference    Do not use  Internal use       include  lt executive h gt     Public Attributes  e phony x obj  e void phony    async_get        e void phony    async_set      e void phony    async_compute        2 1 1 Detailed Description    Do not use  Internal use     The documentation for this struct was generated from the fol
17.  Posibilidad de versionar directorios       Posibilidad de mover  borrar y copiar archivos sin renunciar al historial de cambios          Cada cambio que se hace define un nuevo   rbol completo en el repositorio  lo que evita  actualizaciones incompletas       Mejor integraci  n general y robustez     Mayor flexibilidad en la configuraci  n del servidor y la administraci  n del repositorio     Todo ello llev   a migrar el c  digo  la documentaci  n y el resto de archivos contenidos en CVS  a SVN  tal y como hicieron en su d  a la mayor  a de proyectos que usaban CVS como sistema de  control de versiones  No obstante se ha mantenido el servidor CVS con el repositorio completo  por motivos de archivado hist  rico     5 2  Sistema de compilaci  n CMake    CMake es una herramienta que automatiza la tarea de construir  probar y empaquetar  software  Es multiplataforma y puede generar los archivos de compilaci  n necesarios para  una multitud de entornos de desarrollo  tales como Makefiles  Eclipse y entornos Windows  El       54         ER oD o oN oan A WH NR    12    13  14    15  16  17    HD oO A WW Nn    7    CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 55    proceso de compilacion del software se controla mediante archivos de configuracion textuales  sencillos  CMake es el sistema de compilaci  n de elecci  n para los grandes proyectos de c  digo  abierto y su adopci  n es cada vez mayor    Antes de la implantaci  n de este sistema de compilaci  n los m  dulos se compilaban di   r
18.  Rs      Y despejando R   R   en funci  n de R3  Ra y Rs queda   Ri Ra               4 10  Ra Ra    Rs        Conservar esta relaci  n de valores en las resistencias es importante de cara a mantener la  linealidad del circuito  Al no existir condensadores ni bobinas  no hay polos ni ceros en la  funci  n de transferencia del circuito y por tanto el sistema es estable     CAPITULO 4  DISENO HARDWARE 47    C  lculo de los valores de las resistencias    La tensi  n m  xima de entrada al amplificador operacional y al microcontrolador est   limi   tado a 3 5V superiormente y a OV inferiormente seg  n la hoja de especificaciones de ambos    Los factores que se han de controlar son  La ganancia diferencial  el divisor de la tensi  n  en el lado de la bater  a y la tensi  n de entrada m  xima al amplificador operacional    En ambos casos se ha seguido un procedimiento iterativo en el cual se empieza asignando  valores razonables al divisor de tensi  n formado por R   y Ro  seguir dise  ando la ganancia  con Rg y R4 y terminar ajustando Rs para que se cumpla la condicion  4 10   Se analizan  los valores obtenidos y se comprueba est  n dentro de unos m  rgenes pr  cticos entre 10kQy  IMQaproximadamente y que existan comercialmente  En caso de no cumplir se asignan nuevos  valores y se repite el proceso hasta encontrar unos valores satisfactorios    El valor elegido para la resistencia shunt de la parte de instrumentos es de 0 050  Para  un consumo m  ximo de 6A resulta en una caida de 
19.  UPM y ASLab     El laboratorio ASLab tiene varias l  neas de investigaci  n abiertas  todas encaminadas  hacia el cumplimiento de los objetivos a medio y largo plazo del grupo de investigaci  n  que  est  n recogidos en el proyecto ASys    Las investigaciones realizadas producen sistemas que han de ser validadas mediante prue   bas reales     1 4 1  Proyecto ASys    ASys es el proyecto principal del grupo ASLab  Se trata de una l  nea de investigaci  n a  largo plazo en la que se enmarcan los dem  s proyectos  Uno de los objetivos principales es el  desarrollo de tecnolog  as universales para la construcci  n de sistemas de gran autonom  a        Figura 1 9  Logo de ASys     ASLab  a  n enfoc  ndose en el objetivo a largo plazo de ciencia y tecnolog  a para auto   nom  a  tiene algunas l  neas de investigaci  n m  s espec  ficas alrededor de temas concretos       Arquitecturas de control integradas     Sistemas de control basados en modelos     Ontolog  as para sistemas aut  nomos       Procesos de desarrollo para controladores complejos          Componentes de control reutilizables       Middleware de tiempo real y plataformas para control distribuido        La p  gina web de ASLab es  http   www aslab org    CAPITULO 1  INTRODUCCION 18         Reubicaci  n de componentes de control embebidos     Tecnolog  a de sistemas conscientes       Implicaciones filos  ficas de la tecnolog  a de m  quinas conscientes     1 4 2  Otros proyectos de investigaci  n  Algunos de los proyect
20.  alimentaciones       m  mo BL      nombre Los dispositivos se controlar  n individualmente      importancia   media      descripci  n   La tarjeta se implementar   con varios canales independientes que per   mitan el control individual de dispositivos a 12V y 24V        justificaci  n   Habr   momentos durante la experimentaci  n con sistemas de control en  los que interese mantener en funcionamiento unos dispositivos y apagar  los dem  s    verificaci  n   Se podr   apagar cada dispositivo individualmente dejando los dem  s  encendidos      N  mero  122     Nombre   Apagado manual de dispositivos     Importancia  mea SS    Descripci  n   Se podr   apagar manualmente cualquier dispositivo en cualquier mo   mento mediante interruptor    Justificaci  n   Se realizar  n experimentos en los cuales se simula el fallo arbitrario de  dispositivos    Verificaci  n   Se podr   apagar cada dispositivo individualmente mediante interrupto   res f  cilmente alcanzables        CAPITULO 2  REQUISITOS 23     N  mero REY     Nombre   Apagado remoto de dispositivos     Importancia   media O o SO    Descripci  n   Se podr   apagar remotamente cualquier dispositivo sin que sea necesario  intervenci  n humana alguna    Justificaci  n   En determinadas situaciones es deseable apagar dispositivos no funcio   nales o de baja importancia para reducir el consumo    Verificaci  n   Se cortar   remotamente la alimentaci  n de cada dispositivo conectado a  la tarjeta de alimentaciones usando un programa
21.  conectar con el servant y recibir los datos de posici  n y velocidad con  un cliente corriendo localmente  No hay motivos para pensar que con una conexi  n adecuada  se pueda acceder remotamente a estos datos    Por otra parte  se han hecho pruebas usando el receptor GPS situado en el   tico  Como  no se puede considerar que esta configuraci  n de los componentes del GPS est   integrada en  el robot tampoco es v  lido para verificar el requisito        Requisito 2 5 3 1  Integraci  n del sistema de correci  n diferencial del GPS  La correcci  n  diferencial sufre de los mismos problemas que el GPS sin correcciones  Adicionalmente la  estaci  n base tiene que estar operativa y se deben recibir las correcciones v  a radio    Tan s  lo en una ocasi  n y durante unos breves instantes se consigui   leer la posici  n del  robot en exteriores con un error de menos de medio metro  Se logr   en el centro del campo  de futbito  Lamentablemente  se estaban haciendo pruebas de protocolo y el servant a  n no             El objetivo de este proyecto es proporcionar la base para lograr estas capacidades con sistemas de control  que usen los servants del robot     CAPITULO 7  VALIDACION Y PRUEBAS 81       estaba desarrollado  por lo que la comprobaci  n se hizo visualmente a trav  s del terminal  Se  lleg   a una desviaci  n est  ndar de 0 2m   Al parecer existen sistemas de interferencia de la se  al de radio en el entorno del campus       universitario provenientes de edificios gubernamen
22.  consumer_t  consumer method      Warning     Do not forget to deallocate the pointer in the consumer method     2 3 3 4 template lt class T  gt  template lt class O  gt  void executive_attribute lt  T   gt   subscribe_consumer  O x obj  void O  x  T  set   inline     Parameters     obj The object to which the set  consumer  method should be called with     set Pointer to member method that needs to read the attribute  It must be of the form  void consumer_t  consumer_method attribute_t   Retrieve this pointer with    consumer_t  consumer method      2 34 Member Data Documentation  2 3 4 1 template lt class T  gt  T executive_attribute lt  T  gt   value    The attribute that is managed  Set it instead of calling the supplier the first time to have a default value   Read it between calls to cycle for statistics     The documentation for this class was generated from the following file     e executive h    Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    2 4 phony Class Reference    2 4 phony Class Reference    Auxiliary class that helps circumvent C   type safety  Please ignore     include  lt executive h gt     2 4 1 Detailed Description    Auxiliary class that helps circumvent C   type safety  Please ignore     The documentation for this class was generated from the following file     e executive h    Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    Ap  ndice C    Manual de usuario    109    Chapter 4    User Manual    4 1 Functionalit
23.  de existir nuevos m  dulos funcionando sobre la plataforma  da por v  lido la verificaci  n del requisito     Requisito 1 1  Integraci  n de un ordenador de a bordo  Se han abierto constantemente  consolas remotamente desde la instalaci  n del sistema operativo para configuraci  n  instala   ci  n  etc        Requisito 1 1 1  Sistema operativo en tiempo real  Se han seguido los pasos para la isnta   laci  n de Linux RTAI en el sistema  El   ltimo paso consiste en comprobar que funciona  Los  comandos cr  ticos para esta verificaci  n son      ai    CAPITULO 7  VALIDACION Y PRUEBAS 78      cd  usr realtime testsuite modules    insmod rtai_hal ko      cd  usr realtime testsuite kern cd latency      run       Esto comenzara la ejecuci  n de la prueba  Se ha probado con el procesador en reposo y  ejecutando programas convencionales que ocupan el 100  de la CPU  El resultado es una  salida del programa en forma de listado cuya   ltima columna indica el n  mero de overruns   En todos los casos ha sido de 0  validando el requisito     Requisito 1 1 2  Elaboraci  n de un sistema de configuraci  n e inicializaci  n de servants   Se puede comprobar cuando se arranca el ordenador de a bordo que los servants se inicializan  con la configuraci  n de los archivos que se encuentran en  etc higgs     Requisito 1 2  Desarrollo de tarjeta de alimentaciones  Es inmediato encender un disposi   tivo con los interruptores de la placa de alimentaci  n  No es necesario tener el ordenador de a  bord
24.  de litio son ligeras y no sufren del efecto memoria  sin embargo necesitan un  circuito electr  nico que controle las cargas ya que una carga en exceso puede calentarlas en  exceso o incluso pueden llegar a explotar  y descargarlas al m  ximo las dana irreversiblemente     9 3 4  Panel solar    Se ha propuesto la instalaci  n de un panel solar que cubra toda la parte superior del  robot para aumentar el tiempo de autonom  a de las bater  as en exteriores  y si la potencia es  suficiente  eliminar la necesidad de bater  as y as   reducir el peso total del robot     Bibliografia    Le     a      o     Ll    Ll    LL    Leslie Lamport  ATRX  A Document Preparation System  Addison Wesley  Massachu   setts  2a Edici  n  1994     Rainer Granados  Jos   Javier y Gal  n L  pez  Ram  n  2010  URBANO  A Tour Guide  Robot Learning to Make Better Speeches     I  Navarro  Collective Movement in Robotic Swarms  Tesis Ph D   UPM  Madrid  2010   Siciliano y Kathib  Springer Handbook of Robotics  s l   Springer  2008     Jos   Luis S  nchez L  pez  Sistema de control para el seguimiento de trayectorias de un  UGV no holon  mico tipo Ackermann  PFC  UPM  Madrid  2010     Michi Henning y Steve Vinoski  Advanced CORBA Programming with C    Ed   Addison Wesley  1999     Bjarne Stroustrup  The C   Programming Language  Tercera Edici  n  Ed  Addison   Wesley  1997     Andreas Vogel  Bhaskar Vasudevan  Maira Benjamin y Ted Villalba  C   Programming  with CORBA  Ed  Wiley  1999     Dimitri van Heesc
25.  en  interior        CAPITULO 9  CONCLUSIONES Y TRABAJO FUTURO 88       Es la l  nea de trabajo con la que actualmente se est   trabajando debido a la facilidad y la  velocidad de desarrollo permitidos y a la disponibilidad de una amplia variedad de librer  as  enfocadas hacia rob  tica     9 2 3  Kinect       Kinect es el sensor de Microsoft para la consola XBox 360  aparecido en el mercado en  noviembre de 2010  Debido al gran   xito que ha tenido no solo comercialmente sino tambi  n  en los laboratorios de investigaci  n  en junio de 2011 Microsoft desarroll   una librer  a para el  uso del sensor desde computadores personales        Figura 9 2  El sensor Kinect de Microsoft       La caracter  stica fundamental de este sensor reside en la capacidad de detectar profun   didades como si de una c  mara se tratara  pudi  ndose realizar mapas 3d del entorno con  facilidad  Tambi  n incorpora una c  mara convencional en la misma direcci  n que el sensor de  profundidad  un micr  fono y un motor que inclina el sensor verticalmente  Puede substituir  las c  maras estereosc  picas y reduce la carga de procesamiento que imponen   stas al no tener  que calcular la profundidad a partir de dos im  genes estereosc  picas    La librer  a ROS  secci  n  9 2 2  incluye un paquete para controlar este sensor  con el que  se han realizado satisfactoriamente algunas pruebas de navegaci  n        9 3  Trabajos futuros    La plataforma rob  tica  al estar en continuo desarrollo  admite una gran 
26.  hosts as root to solve it     L270 ask  Localhost    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    138 100  76 251 sSsagan aslab upm es Sagan    SS LOs 10620 noe aslab upm es noe   30 6100 76 26 churchill disam elsii lt upmees Churchill  138 100 76 250 quark disam etSil upm es quark  138 100 76 239 parker disam etsii upm es parker  138 100 76 252 aldiss disam etsii upm es aldiss  138 100 76 244 corea disam etsSii upm es corea  138 100 76 243 mingus disam etsi1 upm es mingus  138 100 76 217 verne disam etSil upm es verne  138 100 76 241 gibson disam etsii upm es gibson  138 100 76 204 pohl disam etsii upm es pohl    138 100 76 15 ende disam etsii upm es ende      138 100 76 196 luna disam etsii upm es luna  138 100 76 196 arturo desktop disam etsi1 upm es arturo desktop    138 100 76 247 higgs disam etsii1 upm es higgs  138 100 76 246 higgs2 disam etsi1 upm es higgs2    Now your computer knows how to translate the hostnames of the laboratory  to IP   s  Alternatively  if in a rush substitute higgs2 with its IP  as in    your    pC  S Ssh local accountelss  100  76 226    The machine with name higgs corresponds to the old on board computer  which was embedded inside the robot base     Once logged in to higgs2  applications can be run as in a standard linux distri   bution  Linux RTAI runs a normal kernel with standard functionality ontop  of the realtime features  For using realtime  the programs must be loaded  directly into the kernel as modules  All other programs ru
27.  is valid for both di   rections of data flow  The telegram gets destroyed once the communication  ends     E CORBA  client a servant wrist_servant H dev SerialLinkRS232 S wrist wrist  1  set_positior    1 1  create  H order powercube_telegram    1 2  send 1 2 1  Send    1 2 1 1  set    1 2 2  Send  2  status    1 2 3  Receive    1 2 4  Receive  1 3  send    1 4  delete  3  set_positior    Figure 5 18  Sequence diagram for transmitting data to the wrist     5 6 2 Error recovery    The wrist must be powered  as said in the official documentation  by a 24V  power source  mobile or not  However  the fluctuations in voltage caused by  battery charge and the instant consumption of the devices make it difficult  to keep the voltage of the battery near this value  Because of this fact  the  wrist controller has been designed for high error tolerance  A running thread  in the servant polls periodically the wrist for error codes and takes the ap   propriate actions when a failure is detected  as explained in each considered  fault  These are the possible faults that have been taken into consideration     Battery voltage out of bounds    It has been detected empirically that the wrist will not function if the battery  voltage is under 22V or if it is over 27V  so it will not work if the battery  is either fully charged or next to empty  However  the control electronics are  still available  The status command may be issued to detect this anomaly and  a special status code will be sent 
28.  la m  quina en la que se vaya  a ejecutar el c  digo y del lenguaje de programaci  n    Como ejemplo de uso  se describir   la generaci  n de c  digo en C    La mayor parte de los  lenguajes se aproximan a este m  todo  Otros  como C  en los que no existe herencia de clases   se define la implementaci  n de manera que facilite al m  ximo la labor del programador     160    AP  NDICE E  HERRAMIENTAS 161    Objetos de Objetos de Facilidades  aplicaci  n dominio Comunes                    Objetos de Servicio    Figura E 1  Comunicaci  n entre objetos de servicios CORBA        Un cliente har   las llamadas a objetos remotos como si se tratara de un objeto residente en  su espacio de memoria  La diferencia es que este objeto no es el aut  ntico sino un intermediario   proxy  que empaqueta los argumentos y los env  a al objeto real en la m  quina remota junto a  informaci  n de la direcci  n donde debe enviar el valor de las variables de retorno y la funci  n  a la que se ha llamado  Este objeto intermediario se denomina stub y su c  digo es el que se  genera a partir de la IDL con las herramientas de la implementaci  n CORBA elegida    Los servidores por el contrario hacen uso de un mecanismo rec  proco  El c  digo generado  resulta en una clase abstracta cuyos m  todos virtuales son los definidos en la IDL  El broker  de CORBA instanciar   un objeto derivado de esta clase denominado skeleton y realizar   las  llamadas oportunas solicitadas por clientes  gestionar   las llamadas 
29.  modificado la interfaz IDL acorde a los m  todos requeridos   Ello debe ir acompa  ado por la modificaci  n correspondiente en el c  digo del servant  que  est   escrito en Java  Una implementaci  n ideal usar  a un lenguaje que no necesitara una  m  quina virtual y as   aprovechar el tiempo de procesamiento de la CPU  que es escaso debido  a los requisitos de tiempo real y de procesamiento de los servants del resto de m  dulos    Se busc   el motivo por el cual se ignoraban algunos mensajes y el diagn  stico resulto ser  que la estructura de datos usada para comunicar los hilos del servant y de escucha del puerto  serie era sobreescrita antes de ser enviada a la tarjeta  Se resolvi   sustituyendo la estructura  de datos por una cola de   rdenes a enviar  Esta cola crece con cada solicitud recibida por el  hilo del servant y se reduce cada vez que el hilo de escucha del puerto serie env  a la orden  correspondiente a la tarjeta  figura  6 8   La nueva relaci  n de clases se puede ver en la figura                  mainClass    command ES Command  1    i   A update_data        instantiate      arduinolmpl  _  arduinoProcessing  arduinolmpl  g  send_data       4  CORBA_method     1 1  L orden  Te  add_to_list          Figura 6 7  Diagrama de clases del servant de la tarjeta de adqusici  n de datos     Dado que el sistema CMake no soporta la compilaci  n de c  digo Java  se ha hecho una ex   cepci  n con este m  dulo y se ha creado un archivo Makefile espec  fico generado manual
30.  n  Se puede ver el resultado final en el anexo    APENDICE E  HERRAMIENTAS 163            param ex The executive that will keep track of the value  associated with this attribute      param obj The object to which the get call applies      param get Pointer to member method that supplies the attribute  by polling it    It must be of the form   lt code gt  attribute_t get_t  get_method     lt  code gt   lt br gt   Retrieve the pointer to member method with  lt code gt   amp get_t    get_method  lt  code gt    a  template  lt class O gt   executive_attribute executive  amp  ex  O x obj  T  O    get     const        j       RSA    Entorno de desarrollo basado en Eclipse para el an  lisis y el diseno UML  Utilizado en  la elaboraci  n de los diagramas UML y para alguna funcionalidad t  pica de entornos de  desarrollo  como visualizar el   rbol SVN sin exportar el c  digo     VIM    Vi IMproved  Editor de textos basado en comandos que agiliza la programaci  n  Ofrece  una interfaz muy flexible pero con una curva de aprendizaje alta  Recomendado para todos  aquellos t  cnicos que vayan a programar asiduamente        Figura E 5  Logo de VIM    LaTeX    LXTEXes un sistema de documentos similar en funci  n a Microsoft Word u OpenOffice   La diferencia con   stos es que lIEXes un sistema no gr  fico que se centra en la estructura   asi el usuario puede centrarse en el contenido y dejar que el compilador ATFXse ocupe de la  maquetaci  n  la generaci  n de   ndices y la est  tica    Tod
31.  objetivo de este proyecto es proporcionar una plataforma rob  tica para probar en entornos  reales los sistemas de control que se encuentran en fase de investigaci  n    La ingenier  a de un sistema de estas caracter  sticas no es trivial  y en general se recurre  a la adquisici  n de robots preparados para investigaci  n  No obstante la combinaci  n de  actuadores y sensores deseados debe hacerse a medida y este caso no es una excepci  n  Uno  de los elementos diferenciadores que existen es que los componentes que forman el cuerpo del  robot deben ser independientes a los que forman la mente  adem  s la capacidad de c  mputo  de la mente no est   definido y en principio no se impondr  n l  mites a su escalabilidad  Por  ello se ha optado por el uso de la tecnolog  a CORBA que capacita al robot a funcionar en  entorno distribuido  es decir  con el procesamiento de la informaci  n realiz  ndose en sistemas  externos al robot propiamente dicho    Este proyecto contin  a la labor de otros proyectos fin de carrera complet  ndolos donde  sea necesario  desarrollando las capacidades ausentes e integrando todo ello para que el La   boratorio de Sistemas Aut  nomos de la Universidad Polit  cnica de Madrid disponga de una  plataforma de pruebas robusta y funcional     1 2  Estructura del documento    El cap  tulo 2 presenta una visi  n general sobre los objetivos del proyecto  El cap  tulo 3  ofrece una visi  n detallada de los requisitos que debe tener el robot y las especificacione
32.  of a GPS antenna  Radio receiver and battery for receiving differential  corrections from a base station and a GPS receiver that processes the data  and converts it to an easier format readable by the onboard computer     Visual applications can make use of the binocular camera  which in combi   nation with the wrist  that gives pan and tilt movement to the camera with  respect to the robot base and is located on top of the laser  can direct the fo   cus of the attention in almost any direction  The wrist is internally controlled  in position  speed and acceleration  which gives precise and accurate motion  control to the camera     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 27 of 97    The onboard computer runs a full capable operating system and is the com   munications hub for controlling remotely all the devices on the robot  Soft   ware controlling the devices may be installed onboard or in a remote com   puter     4 1 1 Visual identification of devices             Figure 4 3  On board computer  VAIO laptop     28 of 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org          Figure 4 5  Wrist        Figure 4 6  Camera     E ry       vr il Ss L LE    M TMB           ili    Figure 4 7  Power board     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 29 of 97       Figure 4 8  12V to 24V converter        Figure 4 10  Differential GPS set  Base station parts     30 of 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org       Figure 4 11  Input Output board  Arduin
33.  on the protocol  management that some of the servants have with their device  The servant  will then be restarted by the vaio tools utility scripts     Both the embedded program inside the I O board and the Java servant com   municate through a USB data connection that gets converted to serial RS 232  by a FTDI chip in the Arduino board  The I O board starts the communica   tion protocol by sending all the parameters and sensor readings to the ser   vant  and then the servant optionally answers with the order     The figures 5 9  5 10  5 11 and 5 12 show the UML model of the JAVA sources  of the Arduino CORBA servant     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org      mainClass      command   Command    1  i l Ho update_data       instantiate      arduinolmpl  H arduinoProcessing  arduinolmpl     gt  send_data      e CORBA_method     1 1    ale ale           orden    Heo add_to_list       Figure 5 9  CORBA interface and classes used in the JAVA implementation     H arduinolmplarduino m pl   command Command H arduinoProcessing arduinoProcessin    1  create    orden  order    2  add_orden    3  add_orden    4  read_order    5  read_order    6  delete    Figure 5 10  Interaction diagram for the Arduino CORBA module     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 61 of 97    remote_client  H arduinolmpl arduinolmpl H interfaz arduinoProcessing MCU     1  CORBA_method  1 1  add_to_list    2  CORBA_method H orden orden    3  get_order    5  remove_from_lisi    6  send_
34.  once  it was not  economically feasible to built it again and had to be repaired  These bugs  should be revised before sending the design in case the power board should  be manufactured again     e The holes for the diodes 1N4004 are too small  Can be repaired by  drilling bigger holes and solding the diodes on both sides     e The power jack has the positive pin disconnected  Solved with a bit of  tin covering both the connected pin hole and the positive pin hole     e The silkscreen of the connector for the 24V input is wrong  it has a du   plicated 12VIN instead of 24VIN  Solved with a marker pen     e The relay hole distribution has the two rows of pins too far apart  More   over  the coils had positive and negative pins and was not well docu   mented in the datasheet  so the coil pins are swapped  Solved by manu   ally separating the pins of the relays and extending the coil pins and se   curing the relays with termoadhesive  A second better approach would  have been to solder all components on the other side of the board     e Sometimes the relays do not activate correctly and or the external ra   dio emitter for the DGPS interfere with them and turns them off  Even    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    though the calculations have been based on the components    specifica   tion  R14 and analogous have been reduced to 5442 for ensuring that  enough current passes through the relay   s coil     5 6 Wrist    The wrist    is a two axis robotics kit modu
35.  por sus caracter  sticas mec  nicas y sus propiedades  electromagn  ticas El peso calculado de toda la estructura aporta   nicamente 0 34Kg a todo  el conjunto del robot  El aluminio es paramagn  tico y no interfiere significativamente en el       campo magn  tico del globo terr  queo por lo que la br  jula no se ve interferida al usar este  material    Se ha utilizado un perfil en L porque es el el perfil que mejor se ajusta a los elementos ya  presentes en el robot  Con este perfil es posible fijar el p  rtico a la estructura de metacrilato   esta uni  n se ha realizado con tornillos  Puesto que el metacrilato es un material fr  gil  se  ha utilizado arandelas de nylon que se adapta a las rugosidades superficiales del metacrilato  y el aluminio y distribuye las presiones por toda la superficie con la que est   en contacto           reduciendo el riesgo de concentraci  n de tensiones y rotura del metacrilato  Tambi  n se han  usado tuercas con nylon que evitan el fallo accidental de la uni  n por vibraciones   Los datos del p  rtico se presentan en el cuadro  4 6     502mm    Espesor de perfi  Anchura del perfil 19 2mm    192mm       Cuadro 4 6  Datos de diseno del portico    4 3 2  Montaje de m  dulos  GPS    La estaci  n m  vil del GPS se mont   de forma definitiva sobre el robot  Se adapt   la  superficie del robot base para la fijaci  n de la radio en el lado derecho del l  ser  La antena  se atornill   al p  rtico  La caja de control y la bater  a de la radio se fijaro
36.  que convierta dos tensiones  pr  ximas en una tensi  n proporcional a la diferencia de tensiones y un microcontrolador  La  figura  4 2  muestra el esquema del circuito electr  nico disenado  donde se aprecia los divisores  de tensiones y el circuito diferencial  haciendo uso de uno de los divisores para una funci  n  doble  la lectura de la tensi  n por parte del microcontrolador y la adaptaci  n de esa misma  tensi  n al amplificador operacional     CAPITULO 4  DISENO HARDWARE 46                                                                                                                            Rs Ut       Up  khs          U       i    A  Ri  Ro Rs                               i             Figura 4 2  Esquema de referencia para el sensor tension intensidad    Aplicando la primera ley de Kirchhoff a la entrada positiva del amplificador operacional     Ut     U  U Ro  C l SS 4 6  R3 Ro Ry   R2  ES   Aplicando la misma ley sobre la entrada negativa   U  a Ue Ue  lt  Uo Ue  ee L ps 4 7  R3 R4 i Rs An  Sustituyendo  4 6  en  4 7   R  R4 1 1 1 _ Ra  Up   UT  HH lO 4             U    4 8  j Ri   R    E Ra E R3 ae    Ahora  seg  n esta   ltima ecuaci  n  Uy depende tanto del diferencial entre las tensiones de  entrada como del modo com  n  Eliminaremos el la desviaci  n por el modo com  n buscando  una ecuaci  n de la forma Up   K   U     U      Para ello igualamos los factores por los que se  multiplican las tensiones de entrada     RoR  1 1 1 Ra  A A 4 9  Ri   Ro e Ra x 
37.  que funcione aut  no           mamente     Nimo  2      Nombre   Integraci  n de sensores y actuadores      Importancia  alta    Descripci  n   Se integrar  n los sensores y actuadores complementarios al robot ba   se que permitan extender la funcionalidad del robot a navegaci  n en  interiores y exteriores       Justificaci  n   Todo sistema de control requiere de entradas y salidas para ser funcional       Verificaci  n   Se podr   controlar remotamente cada dispositivo       N  mero PRE          Nombre   Uso de la tecnologia CORBA     Importancia  alta    Descripci  n   Se usar   la tecnolog  a CORBA en todos los servicios que se ae  Pate eal a CORR wa  Justificaci  n   El est  ndar CORBA es una tecnologia probada para la creaci  n de en   sal    iaa  Verificaci  n   Se podr  n realizar todas las funciones del robot a trav  s de interfaces  aoe  Conta jade mata nn    Numero  Nombre Los objetos CORBA estar  n disponibles cuando el dispositivo lo est      Importancia   alta   Descripci  n   Cuando un dispositivo falle  el objeto CORBA correspodiente dejar   de  estar disponible  Una vez vuelva a estar en funcionamiento el dispositivo   los objetos CORBA deber  n ser capaces de reiniciarse por s   mismos    Justificaci  n   Para considerar que un robot es aut  nomo y tiene capacidades de au   tocuraci  n no debe existir intervenci  n humana en los procesos de recu   peraci  n de la funcionalidad    Verificaci  n   Para cada dispositivo  el objeto CORBA debe dar error al apag
38.  robot permita realizar investigaciones en  sistemas distribuidos  sistemas de tiempo real  algoritmos de navegaci  n en interior y exterior   sistemas cognitivos de control y sistemas autorreparables  A pesar de ser un proyecto de  desarrollo  establecer   la base necesaria para la investigaci  n en dichos campos    El desarrollo se dividir   en dos bloques     Plataforma f  sica       Se ha de dise  ar la plataforma con objeto de integrar f  sicamente todos los componentes  hardware       Se seleccionar  n los componentes y los sensores que aumenten las capacidades del robot     Se dise  ar   el control de alimentaciones y sensado de nivel de bater  as       Se integrar  n los canales de se  ales de los equipos     CAPITULO 1  INTRODUCCION 19    Diseno del software de la plataforma        Se usar   CORBA en el despliegue del entorno distribuido   Se integrar   el control remoto de los equipos con el desarrollo de m  dulos CORBA     Se deber   gestionar los errores  la tolerancia a fallos y las desconexiones de los disposi   tivos        Se implementar  n las herramientas necesarias que faciliten el desarrollo y despliegue   as   como las librer  as de explotaci  n de la plataforma  junto con plantillas  documenta   ci  n  etc     Capitulo 2    Requisitos    En este capitulo se describe en detalle cada uno de los requisitos del proyecto  El cuadro   2 1  ofrece una vision general del arbol de requisitos     N  mero Descripci  n    1   Li  1 1 1  1 1 2  1 2  L21  122  1 2 3  
39.  rover station  The commands    LOG BESTPOS  LOG BESTVEL    are sent on startup and used to retrieve the information about satellites  po   sition  standard deviation and speed  This data is fetched by an independent  thread to the CORBA one and stores it into a shared variable for the CORBA  thread to read it each time a client asks for the data  There is also a timeout  by which if no data is received after a fixed amount of time an error is issued     5 8 3 Radio signals and ETSII UPM    The ETSII UPM is surrounded by many governmental sites  It is possible  that radio transmissions with the differential corrections fail because from    ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 73 of 97    interference from these sites  Other investigation groups have had the same  problem  In this case the dGPS will not work  Official service has anyway  recommended us to use this configuration in the rover if the problem persists     UNDULATION USER 0 0   FIX NONE   COM COM2 9600 N 8 1 N OFF   LOG COM2 GPGGA ONTIME logperiod  INTERFACEMODE COM2 CMR NOVATEL OFF  RTKSOURCE type any  ANY     5 9 Binocular camera    74 of 97    The binocular camera is attached to the top of the powercube  allowing for  pan and tilt movements     The image data is transmitted in raw yuv format between the CORBA servant  and the clients     When restarting the servants  you should kill the process and call  dc1394_reset_bus  or else the servant will not succeed on starting again     5 9 1 Compiling and 
40.  the power and serial data cords  If  further disassembling is required proceed as in the previous paragraph     Reaching the inside of the mobile robot     Once the top part of the mobile base is free from devices and structures both  front and back inside parts of the robot can be reached unscrewing the littlest  black bolts on the black plates  Additionally you can also remove the sonar  sensors for reaching deeper inside the robot  There are four little vertical  bolts inside the structure that holds each sonar array  Remove the ribbon  cable prior to disassembling it     In the back part of the robot reside the electronics in two layers  To access    ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 47 of 97    the bottom boards the top ones must be removed unscrewing the four small  bolts situated behind the back wheels at the side of the robot and removing  the sonar array so it can be slipped out     LEAD BATTERIES ROBOT BASE SUPPLY       POWER BOARD SUPPLY SHUNT RESISTOR FUSE    Figure 5 2  Robot base front part disassembled     5 1 2 Firmware    It is possible to update the firmware of the Mobile base  uploading it to the  nonvolatile memory of the Hitachi H8 microcontroller  Check the Pioneer 2  H8 Series Operations Manual  It is also possible to update the tick count of  the odometry     5 2 On board computer    48 of 97    The onboard computer is the sony VAIO laptop running tUbuntu linux 10 04  with a RTAI kernel  The older onboard computer is a GENE board that w
41.  them  lift the small black lever on the back side of the robot and turn it to  the left  This will loosen the battery door  Open it to 135    You may have  to pull the door up to get the door over the bump sensors  Once it is open     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 33 of 97    34 of 97       Laptop On board _   USB ae USB to RS232  Battery computer hub x3 converter          y  I O board    Compass  Accelerometer    PS     N     N     N  N     N     N  Ys    12V to 24V  converter    Robot base Robot base    ODS    battery  f LL  pH F         Power cable shared  with data                GPS radio                   __   I V Sensor      Figure 4 15  General power connection diagram    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    pull the batteries with the black sucker  or carefully with the hands do not  get yourself pinched  When inserting the new batteries  remember that the  battery terminals go last  Failure to introduce them correctly will cause short  circuits and damage the electronics        Figure 4 16  Robot base charger     Recommended voltage when using the batteries is between 11 5V and 12 5V   If the batteries are too low the robot will indicate it with continuous short  beeps  You can check the battery status through the battery LED in the Pi   oneer2AT8 panel  Green when fully charge through orange downto 11 5V   finally red  To keep the batteries in good conditions  do not discharge them  completely  Doing so will decrease the charge c
42.  this command returns the fixed coordinates given     INTERFACEMODE COM2 NONE CMR OFF  LOG COM2 CMROBS ONTIME 1   LOG COM2 CMRREF ONTIME 10   LOG COM2 CMRDESC ONTIME 10 1    72 01 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    Sets the COM2 port for sending the corrections using the message types  CMROBS  CMRREF and CMRDESC  See the GPS manual for more information   ONTIME 1 means to repeat the command every second  Use the UNLOG  log_name and UNLOGALL commands to stop transmitting automatic logs   Omit COM2 for sending the data your terminal     SAVECONF IG    Stores the configuration to the non volatile memory     Rover station    Proceed as for the base station  except that the serial connection may be al   ready available from the on board computer  In this case you may need to  stop the GPS servant first to gain control of the serial device port  These com   mands were used to configure it     PREOET   SBASCONTROL ENABLE EGNOS 0 ZEROTOTWO  INTERFACEMODE COM2 CMR NONE OFF  SAVECONF IG    The SBASCONTROL command line configures the GPS mobile station to use  the EGNOS SBAS satellites for better precision than GPS alone if the differ   ential readings are not available     5 8 2 Servant    The GPS module uses the convention for other module sources  installation  and execution procedure  code placement inside the subversion repository  and CORBA utilities such as in other modules are used     The servant code uses non standard commands to receive the data from the 
43.  veces de simulador  de fallos en los sistemas     Desconexi  n autom  tica    Para el m  todo autom  tico  se necesitar   un medio que conecte la tarjeta de alimentaciones  con la tarjeta de adquisici  n de datos en la que cada una de las lineas controle digitalmente  la tension de cada sistema  que se llevara a los pines digitales de entrada y salida generales  de la tarjeta de adquisici  n de datos  Ser   responsabilidad de la tarjeta de adquisici  n de  datos la que  a trav  s de la conexi  n USB con el ordenador de a bordo  suministre las senales  adecuadas para el correcto control del apagado autom  tico de cada uno de los canales  El  requisito 1 2 3 estar  a resuelto     Desconexi  n manual    Por otra parte tambi  n se desea simular la aver  a de los sensores para que el software  de control que opere el robot pueda ser probado ante estas eventualidades sin tener que  provocar una aver  a real sobre los sistemas  Muchas veces estas aver  as se dan de forma       intermitente y el robot debe ser capaz de recuperarse de ellas una vez el sistema afectado  vuelve a estar disponible  Tal es el caso en el que un cable defectuoso queda a circuito abierto   por problemas en el conector o incluso por problemas de los conductores del cable mismo   bajo determinadas condiciones  como por ejemplo cuando la temperatura ambiente supera  un cierto umbral  digamos 30   C  La condici  n de fallo de este ejemplo se dar  a   nicamente  en verano y en exteriores  El robot  una vez han d
44.  y soldar los com     ponentes previamente pedidos  La lista de componentes  Ball Of Materials  se muestra en el  cuadro 4 4  Se ha anadido la referencia de la tienda online RS Amidata para cada componente   El montaje y soldadura de los componentes se realiz   manualmente con herramientas          pertenecientes al grupo de investigaci  n  Durante el montaje se encontraron algunos problemas  y fallos de dise  o que pudieron resolverse sin necesidad de encargar m  s circuitos impresos        pero que habr   que tener en cuenta y redisenar el circuito impreso si se da el caso de tener    que fabricarlo de nuevo     CAPITULO 4  DISENO HARDWARE 43    Cantidad Referencia RS Descripci  n    9 332 818 Right angle small switch  1 317 695 Right angle switch with lever  9 294 312 Low signal NPN transistor  12 670 5715 MiniFit connector  male PCB  9 544 3503 Zener diode 2V4  9 188 3036 Capacitor  1 5uF electrolythic  1 542 8784 Ribbon connector 10way PCB header    10 466 4260 Right angle LED   9 369 781 DPST Relay   1 487 836 Power Jack connector  male PCB  3 131 299 Resistor 2K2   1 131 255 Resistor 1K   9 131 378 Resistor 10K   8  3    1 628 9029 1N2004 Diode  426 3722 Ribbon 10way plug  20 679 5776  MiniFit connector  female plug  1 172 9134 MiniFit connector  bag with 100 terminals       Cuadro 4 4  Listado de componentes de la tarjeta de alimentaciones     1  Los orificios para los pines de los rel  s presentan una separaci  n excesiva  Adem  s  los  dos pines correspondientes a l
45. 0 11  7 140  0 119 0 193 0 17  8 180  0 136 0 147 0 12  9 180  0 136  0 144 0 12  10 220  0 119  0 189 0 17  11 240  0 19  0 223 0 11  12 260  0 027  0 241 0 08  13 280 0 027  0 241 0 08  14 300 0 079  0 223 0 11  15 320 0 119  0 189 0 17  16 360 0 136  0 144 0 12    Cuadro 6 1  Par  metros de los sensores y distancias m  nimas en la prevenci  n de impactos     La velocidad m  xima Ving  se calcula a partir de la distancia del sensor al obst  culo     siguiendo la curva de la figura En esta figura la velocidad admmisible est   acotada  superiormente por tres rectas     1  Distancia de seguridad  que incluye la distancia del sensor hacia el interior del contorno  en planta del robot y la distancia m  nima del sensor     2  Rampa de velocidades incrementales  Se permite mayor velocidad cuanto m  s lejos  est   el obst  culo     3  La velocidad m  xima Vinotor que son capaces de alcanzar los motores     Vmax    Vmotor    LO    Figura 6 12  Funci  n de limitaci  n de la velocidad m  xima respecto de la distancia     CAPITULO 6  MODULOS SOFTWARE 76       En cada actualizaci  n de la lectura de los sensores ultras  nicos y cada vez que se recibe  un nuevo comando de movimiento se recalculan las velocidades m  ximas Vina    permitidas  por cada sensor y la transformaci  n espacial de la velocidad solicitada a la posici  n de cada  sensor y proyectadas sobre su direcci  n usando los datos de la tablaf 6 1  limitando la velocidad  absoluta solicitada al sensor que m  s limite la veloc
46. 0Hz  To GND    8  NC     9  GND  To Arduino supply     All connections including the calibration button are done inside the IDT con   nector and protected by thermoadhesive  The button takes the calibration  input to ground when pressed     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 57 of 97    58 of 97    Pin 9 OV Masa   fo Pin 8 No conectado  Pin 7 S50 60Hz  Pin 6 Calibracion    25 Pin 5 No conectar       Figure 5 6  Connection diagram for compass board    Calibration instructions    As noted in the manual of the compass  to calibrate it you have to press the  button with the board heading perfectly well once in each direction  North   West  South and East  no order required  It is already calibrated  so there is  no need to do it again     The compass gives an output pulse of 1ms to 37 ms VCC plus a fixed 65ms  GND  1ms corresponds to 0   and 37ms to 359       The aluminum bridge does not interfere on the compass readings  but if the  robot is moving near steel structures they may be perturbed     5 4 4 Accelerometers    There are two accelerometers encased on the same electronic board attached  horizontally with Velcro to the top cover of the robot base next to the I O  board  They give a standard analog OV to 5V signal and are connected di   rectly to the I O board     5 4 5 Intensity Voltage sensor    There are two I V sensors installed on board plus the battery status indica   tor in Vaio accessible through the command line  The two sensors can detect  current an
47. 2   2 1  22   2 3   2A  2 4 1  2 4 2  2 4 3  2 9  2al  2 dell  201 2  2 9 2  2 0 3  2 9 9 1    Establecer base de desarrollo   Integraci  n de un ordenador de a bordo   Sistema operativo en tiempo real   Elaboraci  n de un sistema de configuraci  n e inicializaci  n de servants  Desarrollo de tarjeta de alimentaciones   Los dispositivos se controlar  n individualmente   Apagado manual de dispositivos   Apagado remoto de dispositivos   Integraci  n de sensores y actuadores   Uso de la tecnolog  a CORBA   Los objetos CORBA estar  n disponibles cuando el dispositivo lo est     Recuperar funcionalidades autom  ticamente    Integraci  n de sensores propioceptivos   Integraci  n de una br  jula electr  nica   Integraci  n de aceler  metros   Integraci  n de sensores de tensi  n e intensidad   Integraci  n de sensores exteroceptivos       Integraci  n de una c  mara direccionable   Integraci  n de la c  mara estereosc  pica existente  Integraci  n de la muneca   Integraci  n del dispositivo l  ser   Integraci  n del receptor GPS   Integraci  n del sistema de correci  n diferencial del GPS  Uso de est  ndares y optimizaci  n en el desarrollo    Cuadro 2 1    rbol de requisitos resumido     20    CAPITULO 2  REQUISITOS 21    2 1  Definici  n de los requisitos    Esta secci  n contiene tablas para cada requisito ofreciendo descripciones m  s espec  ficas   la importancia que tiene en el proyecto  el motivo por el cual es necesario y el m  todo de  validaci  n que se deber   usar para c
48. 3 3 Member Function Documentation    2 3 3 1 template lt class T  gt  template lt class O  gt  void executive_attribute lt  T   gt   subscribe_compute  O x obj  void O    Q  compute   inline   Parameters   obj The object to which the compute method should be called with     compute Pointer to member method that makes computations based on the attribute  It must  be of the form void compute_t  compute_method    Retrieve this pointer with    consumer_t  consumer method      Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    Pe __cffffs__ 096    2 3 3 2 template lt class T  gt  template lt class O  gt  void executive_attribute lt  T   gt   subscribe_consumer  O x obj  void O  x  const T  amp   set   inline     The same as void subscribe _consumer O   obj  void  0    set   T   when the con   Sumer receives a reference to the attribute     Warning     set has const in the parameter by reference so you cannot modify the attribute     2 3 3 3 template lt class T  gt  template lt class O  gt  void executive_attribute lt  T   gt   subscribe_consumer  O x obj  void O  x  T x  set   inline     The same as void subscribe _consumer O   obj  void  0    set   T   when the con   sumer receives a pointer to the attribute   Parameters     obj The object to which the set  consumer  method should be called with     set Pointer to member method that needs to read the attribute  It must be of the form void  Consume cb Feonsiumer methodlat tribute t 5 Retrieve this pointer with   
49. 8  tomando por ejemplo  Ut   12V y U    11 7V y usando los valores del resto de resistencias los correspondientes  a la parte de instrumentaci  n           Uo   10  079861730   12V     109   11  7V   3  96V  4 11     CAPITULO 4  DISENO HARDWARE 48    R2 22 23 2031  X1 1  330K      X1 2        gt  9 LM358N X1 3    Kra  22 23 2031       22  23  2031 18K7 X10 1            es   22 23 2031  X11 1  ee X1i1 2  X11 3    X10 3    R3  X2 3  oT Bet       R10  X2 1 22 23 2031  22 23 2031 a     X12 1  i a X12 3       INSTRUMENTACION ets co HS     00    GND    0   Z  Lw     GND    Figura 4 3  Esquema final de los sensores I V    Compar  ndolo con el valor que dar  a sin el error en R    que ser  a de Up   109   12V     100     11 7V   3V se observa que un error de un 1  en la resistencia R   produce desviaciones  de casi 1V  es decir  errores un 33  mayores  Dado que las resistencias comerciales tienen  tolerancias de un 10  o de un 5  t  picamente  no se puede confiar en que colocando una  resistencia con el valor te  rico exacto el circuito vaya a funcionar    Para solventar este problema se ha recurrido al hecho de que las resistencias se fabrican  en serie y que una resistencia fabricada inmediatamente posterior a otra sera muy parecida  por haber tenido practicamente las mismas condiciones de temperatura  presion  etc  Cuando  se necesiten coger dos resistencias iguales  se cogera del lote recibido de la empresa suminis   tradora dos resistencias contiguas en la parte central y se com
50. Desarrollo e implantacion de plataforma robotica movil en  entorno distribuido    Franciso J  Arjonilla Garcia    18 de octubre de 2011    A mi abuelo  que en paz descanse    Indice    general    a bees     1 3  Estado del artel            LSL    Robots aut  nomos      1 32  Rob  tica movil        1 3 3  Ejemplos de robots para investigaciOn                            1 4  Marco del proyecto            1 4 1     Proyecto ASys         1 4 2  Otros proyectos de investigaci  n        ooo e o a a a 0000000   1 5  Alcance del proyecto        1 6  Objetivo del proyecto           2  Requisitos    2 1  Definici  n de los requisitos    2 2  Vista general del proyecto       3 1  Descripci  n del robot base    3 2  Descripci  n de la mu  eca     3 3  Descripci  n de la camara       3 4  Descripci  n del sistema l  ser    3 5  Descripci  n del sistema GPS diferencial                             3 6  Descripci  n de la tarjeta de adquisici  n de datos                      3 6 1     Aceler  metrol         3 6 2  Br  jula electr  nica     3 7  Descripci  n del ordenador de a bordo                               ee  3 8  Descripci  n del entorno de red del laboratorio                       4  Diseno hardware    nono ate  ra rra ae  ba oe Gk o ais  eee  plain ee    A Zo Ll     An  lisis de requisitos    00 O NNN    17  17  18  18  18    20  2l  27    28  28  29  29  30  32  33  34  34  39  36    37  37  37  39  Al  45  45    INDICE GENERAL 2       E E E E E E E E E 45  4 2 3  Consideraciones p
51. G6B 2214C 2K2  3  Q1 D3  1 2N3904 paa   lt   GND    Figura A 2  Esquema del canal de 24V de la placa de alimentaciones    Y    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES    93             cXny  LXxNY IOYLNOD  LNO MS T719VWN3    DOA       aN  LxNY TIOYLNOD    LNO MS JA1EaVNA    PAZL TOHLNOO  iS D  LXNV TOYLNOD 5    LNO MS  319VN3  NI MS       1  Rig P      gt N  gt    gt a N   N  o O    TY NO SY TNO    ni ni        JOA        aN9        cXxny   IXNW     TIOYLNO9  LNO MS     T19VN3  NI MS        JOA    N  ni    T         ee ee  NA  A     TNO S          N OO t   ni Le    aN9        cXxny  LXNY        TI0OHYLNO9       ni    Ol X314 NNOO       L    o    vc IOYULNOD       cXny  LXNY IOYLNOD  LNO MS JA1EaVNA  NI MS        NOM      wodta       99    OAZL TOHLNOO  A          J ane  o  S ENM  iii  a  Ww  al  J    fe     x    N  iii           cXny  LXxNY TIOYLNOOD  LNO MS JAI1EaVNA  NI AAS       CARE JOULNDS    JOA        aN9  cXnv  LXNY     TOYINO9       N  Uf          vo  e o LE ino ms savna   Ave TOBLNOO  Lb DON  cdr  A A zxnv a  LE ixn ownoo  S     p  40 ino ms siayna   Are OHLNO  as   gt   i B    IA  Laf    Figura A 3  Esquema general de la placa de alimentaciones    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES       Figura A 4  Distribuci  n de pistas en la capa superior de la placa de alimentaciones    94    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES    a    a    a     al    a    a    E    E    E         Figura A 5  Distribuci  n de pistas en la capa inferio
52. IND E UOISIBAUOD  0UJOJU3 jap O  O1Jesaqg     SOJIEdW  Sp UdIBUaAaId  Sd SNPS  13581  92P SINPlA  310233 2118q17   OUINPIY 183P onp Ol  PISUNW 2  3p opo  segansd A 3JEMIJOS  9P 0  90JJE53 0     Aj  105085  0pea1985    02 1109  sauopejzuawne ap egale    aJempJey jap oO  OIJIesag     Yayo  Us u   pewJoJ  1090  13 UO VOIP Zen Ley  0 11038 0q8  3 Ua UVO DeJ633u   so1133 q0 ap u   puyag  07335A01d    p 01514        03J33A0Jg          SIQWON    cP  Lp    Ee  Z    LE    FE L  FEL  FEL  EEL  CEL  VEL   El  EX L  eck  PEL   El  PEL  EFL  eb    Diagrama de Gantt     Figura 8 2    Capitulo 9    Conclusiones y trabajo futuro    En este capitulo se hara un balance global del proyecto  repasando el trabajo realizado   algunos incidentes y logros y las observaciones destacables que han ido surgiendo durante  su desarrollo  Se seguir   comentando algunos de los desarrollos actuales sobre el robot que  escapan del alcance de este proyecto y se plantean trabajos futuros que resuelven problemas  o mejoras propuestas durante el desarrollo de este proyecto y que no estaban contempladas  en los requisitos iniciales           9 1  Conclusiones    Se han alcanzado los objetivos principales planteados al inicio del proyecto  Se ha logrado  el funcionamiento remoto de todos los sistemas y se ha facilitado documentaci  n que permita  el uso y la continuidad del proyecto    La complejidad y su extensi  n hacen de   ste el mayor proyecto realizado por el autor  hasta la fecha    Algunos de los m  dulos d
53. Integraci  n de una camara direccionable  Validando los dos requisitos  derivados se valida   ste     Requisito 2 5 1 1  Integraci  n de la c  mara estereosc  pica existente  Validado parcial   mente  La conexi  n CORBA funciona correctamente cuando el servant y el cliente est  n en  el mismo computador  pero no as   cuando corren en computadores distintos porque apare   cen retardos mayores al segundo y el refresco es tambi  n demasiado bajo    sto es as   por el  ancho de banda requerido para transmitir los datos de v  deo  que no est  n optimizados para  streaming     Requisito 2 5 1 2  Integraci  n de la mu  eca  Al igual que m  dulos anteriores  es posible  controlar remotamente la mu  eca usando los dos clientes CORBA desarrollados  El primer  cliente realiza un bucle que env  a comandos de vaiv  n alternativos de amplitud creciente  A  continuaci  n se muestra este c  digo como ejemplo representativo para los dem  s m  dulos y    en el que se observa la sencillez con la que se pueden escribir clientes         include  lt iostream gt     include  wristC h     include  CosNamingC h     include    7    2  22 7 aby CORBA utile a      int main int argc  charx argv        CORBA_BEGIN_CLIENT arge   argv    CORBA  GET REFERENCE  higgs   wrist  wrist   wrist         higgs   wrist   PITCH       wrist     gt set_max_speed F   F  higgs   wrist    PITCH  F  F     6  wrist     gt set_max_accel  5  wrist    gt set_max_accel  2   wrist    gt set_max_speed  4  float f    1F       higgs
54. PI is not supported  by the kernel and it will not work so this command is unavailable        Figure 4 18  VAIO laptop charger     4 3 3 Diagnostics  Power  There are several indicators of malfunction that can ve verified in case the    robot does not work properly  In the first place  look for correct power in  each device  This is how you can check it     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    Pioneer2AT There is a red LED inside the Pioneer when it is powered  but  can only be verified indirectly through reflections in the methacrylate  structure that covers the top hole of the base  Alternatively  There is a  dedicated red LED for this purpose in the Control Panel with the label  PWR     Laptop The VAIO laptop lights a green LED when it is on     Laser When it is powered on  a green LED or two orange and red LEDs will  be lighted in the front of the laser device  Green means powered and  prepared  orange and red means powered and initializing     Arduino When it is powered a little orange LED can be find behind the USB  connector  A fast sanity check is to power the arduino and the servo  If  everything is OK  the Laser will rotate to look upwards in a small angle     Wrist There is no way to verify this device externally  However  it is quite  robust and will normally work as supposed to  If everything is running  ok  it will make a little calibration movement on startup     Camera Depends on the camera used  The black stereoscopic one has a red  LED that b
55. TAI kernel  Note that only  the current working OS  that is  the Ubuntu with RTAI kernel  is documented  here  The other operating systems are old but kept for backup and compati   bility with old software     Shutting down     The correct procedure to shut down the onboard computer is to log in as root  and request shutdown     root higgs2  root  halt    Forcing instant shutdown using the power button is not recommended  how   ever  normally there has been no problem with the OS afterwards     4 4 2 Loggin in to the onboard computer through SSH   The Secure SHell server is run in the onboard computer by default and open  to everyone that has a user account or the root password  The root password  is the same as the root password for all the computers in the laboratory  Ask  your tutor for a local account on higgs or the root password  Access can be  obtained by opening a terminal and executing the command   your pe  S ssh account_in_higgs higgs2   and root access by changing account_in_higgs with root  If you want to  execute programs that use a graphical interface  create a ssh tunnel for X with  the option  X     your pe  S ssh  X account_in_higgs higgs2    This way the program will execute in the onboard computer and display in  your local screen remotely  In case you get this error while trying to connect     ssh  Could not resolve hostname higgs2     Name or service not known    then you have a problem with the name resolution on your computer  Copy  these lines to  etc
56. TPUTS OUTPUTS    Figure 5 13  Photograph of the Power Board indicating each part     general switch  can control 24V devices whilst the other 6 are for 12V devices   On the back side there are 12 connectors  6x12V relay controlled outputs   3x24V relay controlled outputs  12V input  24V input and a 12V output to be  taken to the 12VDC to 24VDC converter that will be powered on whenever  any 24V output is enabled  Additionally  there is a power jack connector for  the battery charger   Thus  the Power Board needs a 12V power source and  if the 24V channels are used  it also needs a 12VDC to 24VDC converter     5 5 1 Power board pinouts    Check figure 5 13 for a visual description of the connectors  The connector  for the ribbon cable has the pinout indicated by table 5 3     The connectors for the devices are Molex MiniFit  RS references 670 5717   PCB male   679 5776  female   172 9134  terminals      5 5 2 Electric interface    The ribbon cable connector has 10 pins  Starting from pin 0  these are ground   the six 12V channels and the three 24V channels  The channels are shut down  writing a logical 0  OV  to the corresponding pin  whilst a 1  5V   a high  impedance or a no connection will allow for the channel to be powered on   Both manual and remote switches must allow for the channel to be powered  on for having that channel powered        Originally there was a lead battery pack for powering the devices on top of the robot base     This power jack connector is no longe
57. TS 335 00          Cuadro 4 3  Listado de presupuestos para la fabricaci  n del circuito impreso de la tarjeta de  alimentaciones        El espesor de cobre base debe ser mayor que el est  ndar para soportar las altas corrientes  que se esperan  El espesor base est  ndar es de 18u  existiendo ofertas de 35u e incluso  TO        Se tomar   en consideraci  n el color del acabado de la tarjeta por motivos est  ticos   siendo preferible el azul que es el color de la tarjeta de adquisici  n de datos  No obstante  seguir  n teniendo m  s peso los motivos econ  micos     El circuito impreso ser   de clase 3  que es la de menor calidad que com  nmente realizan  los fabricantes     Los fabricantes exigen un m  nimo de dos a cuatro tarjetas en la fabricaci  n del prototipo   No se tendr   en cuenta el precio por tarjeta del presupuesto  sino el precio global ya  que el prototipo ser   tambi  n el circuito impreso final que se usar   en el robot     Una vez analizados los presupuestos se opt   por aceptar la oferta de 2CI  Los dos prin   cipales motivos fueron el coste y la calidad percibida  Las caracter  sticas m  s relevantes del  circuito impreso se exponen a continuaci  n     Grosor de cobre  351    Color de m  scara  Azul  Blanco para la serigraf  a   Plazo de entrega 5 d  as   Dos capas clase 3     Grosor del material base 1 6mm de material FR4  fibra de vidrio con resina epoxi      Montaje de componentes    Recibidos los tres prototipos del circuito impreso se procedi   a montar
58. TULO 8     83    oj9ahoJd  Jap UOIDIB PO    seuoIsnj9uos  ep UOIDeJ0qe 3    oj9ahoJd  Jap 911919    sojoeduul    9p U     IDU  A  Jd       Sd9 OINPON    2A1IN99X3 8149 01     sojnpow    J9se   OP o  npo  so  ap uoloeje su   1 18P OINPOW    0 98 dwoo eula sis onmelado OUuINpY  Jap UOIDBPILA eua sIs Jap OINPON    ojnp   w epeo SENO esaunul  9p UOIDEPIJEA e UDISIBAUOD e  ap OInpon    seq  n  d u0Q 9e 63 ul  A soysinba  a 0uJO ua  SO  9P UOIDEPIJLEA Jap ojjouesaq    sejenuew  SO  ap UQIDDepeY    9JEMPOS      ap 0   0 eseg    pepisuajul a  uQIsua  ap Josuas    opea  qe9 A oolod    sauo 9ejuau1e  ap ejohey    SJEeMPIeH  Jap ojoueseq 01 0e U09 ap euo  ap ojuanuinbBas    OdINEGIYLSIG ONJOLNI NI TIAOW VOLLOOY  VNYOAVLV 1d 30 NOIOVLINVIdWI 3 O TMO44WVSI30  OLOAAOYd 130 NOIOISOdNOOSAC 30 Van 1ON4 1S3    VayO9  us UOIDeuIoy    10Q01    UOD  UOIOeZIEI We    e usWedIpqued  sope  nse  ap UQIDEJUISDIH    OLIOJeJOQe     9 ua uo neJBaju     SOAI alqo seolpolied  ap UDIDIUIJEG sauolunay       UOIDeuuIO  A ojoa  oJd       del Proyecto     icion    Estructura de Descompos    Figura 8 1    7    ASPECTOS DE LA DIRECCION DE PROYECTOS    7    CAPITULO 8     84                                       AA ee a  LLOZ    poz  ps   pss  pag  Por  P  L  paz  Pr    PSI  Ps6  PGE  p    PSE  pez  POLZ  PEE  PZ I  Prl  pes  poz  pg  pg  pE  PSE  POLE    ofegeIL     oya  o1d  3p ugoe pay  SSUOISN IUO2 Sp UO D2J0qE 3  o0y33k0Jd jap 34319     53 2NUEW 50  Sp UOIDIEP3Y  SO NPOW   p UO 9e 275U   OAJeJado PLUS SIS  SYB
59. Tampoco proporciona m  todos para controlar condiciones de error en el protocolo sino  que simplemente ofrece la   ltima lectura tomada como v  lida por antigua que sea       Driver proporcionado por companeros de rob  tica m  vil  Dispone de la funcionalidad          completa que ofrece el sensor pero no puede recuperar el sincronismo  No tiene depen   dencias con librer  as externas  es autocontenido  y est   preparado para ser enlazado  est  ticamente          Empezar un nuevo driver desde cero  Se pierde la ventaja de partir de un sistema ya  probado y en funcionamiento para repetir un trabajo de programaci  n que ya est   rea   lizado  A favor  que el c  digo resultante se ajustar  a perfectamente a los requerimientos  del proyecto     En primer lugar se program   una serie de funciones capaces de conectar con el l  ser y       recuperar el sincronismo independientemente de su estado inicial  con idea de usar este c  digo  tras la selecci  n del c  digo base  Se decidi   abandonar la librer  a ARIA en favor de un c  digo  m  s controlable y compacto donde la robustez del protocolo quedara garantizada  no solo  en la ejecuci  n sino en la instalaci  n y facilidad de mantenimiento del c  digo  Las funciones  desarrolladas se introdujeron en las rutinas de inicializaci  n del driver proporcionado por los  compa  eros de r  botica m  vil aprovechando as   la posibilidad de cambiar la frecuencia del  puerto serie y los par  metros de sensado del l  ser     O CON nok WN A    P
60. _ready        wrist_servant Eq command   mre         eg device   SeriallinkRS232   fe get_status    Te send       1 He receive         device   use      1     SerialLinkRS232   Eq device     2  Open     e  Close       Lo Send     Le Receive     He WaitData       Figura 6 1  Diagrama de clases de la muneca     2  Sobrecorrientes   3  Dispositivo apagado     En los tres casos el servant detectar   la condici  n de error y abortara la ejecuci  n  a la espera  de que se reinicie y vuelva a intentar abrir la comunicaci  n     6 2  L  ser  A continuaci  n se expone las tareas desarrolladas en el   mbito del requisito 2 5 2    6 2 1  Selecci  n del c  digo base       El c  digo base desde el que se parti   est   basado en la librer  a ARIA  y usa algunas  clases con funciones avanzadas de c  lculo estad  stico para la determinaci  n de segmentos  rectos en los datos de entrada  en concreto ArSick y ArLineFinder    ste c  digo se ha usado  satisfactoriamente en en el cual no es necesario capacidades de curaci  n del sistema    La integraci  n de este m  dulo CORBA ya realizado tropez   con la necesidad de recupe   rarse de un fallo o de una desconexi  n del sensor  por lo que no pudo integrarse sin previa  adaptaci  n  lo que constituir  a la primera opci  n para tener un m  dulo l  ser funcional  Por  otra parte se dispon  a del c  digo creado a medida por los compa  eros del laboratorio de  rob  tica m  vil consistente en dos unidades de compilaci  n  La tercera opci  n consisti   
61. a aplicada    El desarrollo de este proyecto ha incluido partes en las que se ha tenido que hacer uso  de los conocimientos te  ricos aprendidos a lo largo de la carrera y aplicarlos en la vida real   Las dificultades que aparecen son de otra naturaleza y se ha tenido que lidiar con ellas   como ejemplo m  s claro est   el sensor i v en el que las resistencias disponibles en el mercado  sobrepasaban las tolerancias admisibles en el circuito disenado  y aun as   se ha podido realizar  gracias al conocimiento de los m  todos de producci  n en serie de las resistencias en las que  art  culos de un mismo lote son mucho m  s parecidos que art  culos de lotes distintos        9 2  L  neas de desarrollo actualmente abiertas    La plataforma rob  tica m  vil es un proyecto en continuo desarrollo  por ello antes de la  finalizaci  n de este proyecto fin de carrera se realizaron unas modificaciones no contempladas  en los requisitos iniciales  Estas modificaciones son principalmente tres  La actualizaci  n de  la c  mara estereosc  pica  la integraci  n del sensor de profundidad y v  deo Kinect y el uso de  la librer  a de rob  tica ROS     9 2 1  Webcam    La c  mara con la que se ha trabajado en este proyecto presenta una serie de inconvenientes  que han llevado a la adquisici  n de otra c  mara  Estos inconvenientes son       Vineteado muy acusado     Enfoque y apertura del diafragma manual       Distorsi  n de los colores hacia el verde     Algunos de estos defectos pueden estar de
62. a bobina est  n invertidos  fallo que no se encontr   por  situar casualmente los pines con la polaridad adecuada durante las pruebas iniciales y  por no estar suficientemente documentado en la hoja de especificaciones del rel    Se  solucion   separando manualmente los pines antes de montarlos sobre las tarjetas y ex   tendiendo los pines de la bobina e intercambi  ndolos  usando pegamento termoadhesivo  como aislante  Adem  s  debido al debilitamiento de los pines con su manipulaci  n  se  reforz   la sujeci  n del rel   a la tarjeta con adhesivo           2  El conector de carga de la bater  a tiene desconectado el pin de tensi  n positiva  Se  resolvi   creando un puente de esta  o con la pista adecuada        3  Los orificios de los diodos 1N4004 son de tamano insuficiente  Se aument   el tamano  con una taladradora que destruy   la capa de cobre pasante  por lo que hubo que soldar  estos componentes por ambas caras del circuito impreso     4  La serigraf  a del conector 24VIN es incorrecta y est   marcado como 12VIN que queda  duplicado  De ambos  es el conector m  s alejado del cable plano el que se marc   con  tinta indeleble la marca correcta 24VIN     El resultado final con la localizaci  n de conectores e interruptores se muestra en la figura    CAPITULO 4  DISENO HARDWARE AA    INTERRUPTOR   CARGADOR  GENERAL INTERRUPTORES DE BATER  A       i    bi    CABLE CONECTORES DE SALIDAS SALIDAS  PLANO ALIMENTACION 3x24V 6X1l2v    Figura 4 1  Fotografia de la tarjeta de al
63. a c  mara direccionable      Importancia   media      Descripci  n   Se desarrollar   e integrar   un sistema de visionado que permita tomar  im  genes y tomar datos de profundidad en todos los   ngulos        Justificaci  n   La visi  n es uno de los sentidos m  s complejos y a la vez m  s   tiles para  el control de robots en movimiento     Verificaci  n   Se podr   controlar remotamente la direcci  n en la que enfoca la c  mara  y recibir im  genes de   sta          Numero 2 0 1 1      Nombre Integraci  n de la c  mara estereosc  pica existente      Importancia   media      Descripci  n   Se integrar   la c  mara estereosc  pica que dispone el laboratorio en el  conjunto del robot     Justificaci  n      Verificaci  n   Se podr   capturar im  genes estereosc  picas remotamente             CAPITULO 2  REQUISITOS 26      N  mero   2 5 1 2      Nombre   Integraci  n de la muneca     Importancia   media    Descripci  n   Se desarrollar   e integrar   un sistema de movimiento de la c  mara uti   lizando el dispositivo powercube de dos grados de libertad que posee el  laboratorio     Cumplimiento del requisito 2 5 1 sobre direccionamiento de la c  mara         Verificaci  n   Se podr   controlar remotamente la direcci  n a la que apunta la c  mara        N  mero p OOOO o SOSA    Nombre   Integraci  n del dispositivo l  ser     Importancia alta O       SO  A    Descripci  n   Se desarrollar   e integrar   un sistema de sensado de distancias en inte   riores a partir del dispositi
64. a dos motores DC de alta eficiencia y precisi  n    Hace uso del sistema operativo GNU Linux y de todas las herramientas de desarrollo  t  picamente usadas en este sistema operativo  como el compilador cruzado de C C    Se  incluye con varios programas y utilidades que facilitan el desarrollo de aplicaciones de control     Qbo    Qbo es un robot actualmente en desarrollo por la empresa thecorpora y su misi  n primaria  es ejercer de plataforma rob  tica para investigaci  n en interacciones sociales humano robot   Para ello cuenta con una multitud de sensores espec  ficos de esta tarea          Tres micr  fonos  uno de ellos unidireccional     Dos altavoces de alta calidad     Dos c  maras de alta definici  n con cierres deslizantes a modo de p  rpados       LEDs en boca y nariz     CAPITULO 1  INTRODUCCION 15       Figura 1 6  El robot Khepera con vista del interior       Sensores de proximidad     Una pantalla LCD de 20x4 caracteres       Otros sensores internos     Su sistema de control est   formado por varios procesadores en una disposici  n muy similar a  la que se ha propuesto en este proyecto       Tarjeta Arduino para controlar los sensores y actuadores situados en el cuerpo del robot       Una tarjeta basada en un microcontrolador ARM para controlar los dispositivos situados  en la cabeza del robot       Una placa Mini ITX con procesador ATOM y tarjeta gr  fica Nvidia ION donde realizar  los c  lculos pesados para reconocimiento de habla y visi  n artificial     Toda
65. a la documentaci  n del robot  al igual que este proyecto  han sido redactados en IATRX     APENDICE E  HERRAMIENTAS 164    OrCAD    OrCAD es una aplicaci  n para Windows de dise  o CAD de circuitos electr  nicos  Pue   de exportar los proyectos al formato usado en las f  bricas de circuitos impresos  Para m  s    informaci  n consultar la web del fabricante http    www cadence com    CATEDRA PROYECTO FIN DE CARRERA ETS de  DE ANEXO III Ing  Industriales  PROYECTOS UPM    TITULO DEL PROYECTO   Desarrollo e implantacion de plataforma robotica movil en entorno distribuido     ENTIDAD PROPONENTE  N   PROYECTO   Departamento de Automatica   Ingenieria Electronica e Informatica Industrial    TUTOR ASIGNADO  FECHA de COMIENZO   Ricardo Sanz Bravo 1 de octubre de 2009    NOMBRE del ALUMNO  N   de MATRICULA   Francisco Jesus Arjonilla Garcia 00031    ESPECIALIDAD E INTENSIFICACI  N   Autom  tica y electr  nica    DESCRIPCI  N DEL PROYECTO Y SUS OBJETIVOS PRINCIPALES    El proyecto consiste en el desarrollo de una plataforma rob  tica m  vil para experimentaci  n en rob  tica  e inteligencia artificial  Para ello se desarrollar  n  sobre la base de un robot m  vil Pioneer 2AT8 los  componentes f  sicos  la electr  nica y el software necesarios para integrar de manera robusta y fiable  entre  otros dispositivos  un esc  ner l  ser  una c  mara binocular direccionable  un receptor GPSD y sensores  propioceptivos  El proyecto se dividir   en dos bloques     Plataforma f  sica    e Dise  
66. ad de avance y evitando  choques laterales y tambi  n evitar choques frontales sin reducir la capacidad de giro ante  paredes  Los movimientos que el robot hace son previsibles  pues no modifica la direcci  n ni  el sentido del desplazamiento solicitado    nicamente limita la velocidad de avance  incluso  deteniendo el robot  en caso de choque inminente  Tampoco limita la velocidad cuando se  solicitan movimientos suaves y precisos en espacios pequenos  cumpliendo con los requisitos  solicitados        Figura 6 11  Representacion de las variables usadas en la prevencion de impactos     Las velocidades de las ruedas izquierda  derecha  del punto central del robot y del punto  representado son  respectivamente     V      p     a  w  Va       p   a   4   6 1     Vo  p  w V  r w       Los datos conocidos  obtenidos por la odometria y por las especificaciones geom  tricas del  robot son Vi  Va y a  Las inc  gnitas para obtener el centro instant  neo de rotaci  n son p y w     Despejando en                Va     Vi Vi   Va  _     6 2  E P  y   6 2   Por relaciones geom  tricas    r  yy     p r   T     Y  aretg          6 3    Y tomando 0   y    a 7 2  resulta que la velocidad se excede cuando  V  cos 0   gt  Vmax  6 4    Y se debe limitar la velocidad a Venas    V   6 5        cos       CAPITULO 6  MODULOS SOFTWARE 75  Sensor   a x m  y m  dmin m   1 O 0 136 0 147 0 12  2 40 0 119 0 193 0 17  3 60 0 079 0 227 0 11  4 80 0 027 0 245 0 09  5 100  0 027 0 245 0 09  6 120  0 079 0 227 
67. ana  Curiosity     ruedas  Para estos terrenos las cadenas son la opci  n m  s conveniente  Las cadenas son m  s  resistentes y pueden superar obst  culos mayores e incluso zanjas  Sin embargo el giro de estas  ruedas provoca el deslizamiento de las cadenas que reducen la eficacia del desplazamiento  En  odometr  a las cadenas son poco pr  cticas pues el error acumulativo es muy grande y depende  mucho del terreno    Los robots con patas son los m  s aptos para desplazarse por terrenos muy accidentados   Su mayor complejidad  proveniente del n  mero de grados de libertad  hace que el control de  estos robots suponga un verdadero reto  Cada pata necesita varios motores cada uno con su  sistema de control  m  s luego el control de la coordinaci  n de todos los motores  Actualmente  es un   rea de investigaci  n muy activo que est   siendo liderado por el robot BigDog  de la  Agencia de Proyectos Avanzados de Investigaci  n de la Defensa de Estados Unidos  Cuenta  con actuadores hidr  ulicos y la suavidad de sus movimientos se asemeja al de un mam  fero  pequeno        Localizaci  n y navegaci  n en interiores    Moverse por el interior de un edificio puede ser complejo cuando no se conoce el mapa   m  s a  n si   nicamente se percibe una franja limitada del entorno en forma de distancias a  objetos detectados  Un robot debe saber en qu   lugar se encuentra y ser capaz de moverse de  un punto a otro  Los robots comerciales actuales como Roomba pueden desplazarse de forma  aut  n
68. apacity  It is better to fully  charge them after each use     To charge the batteries  connect the charger to the robot through the power  jack connector to the left of the battery door  Its charger is the big black one   model PSC 124000A  You may leave the charger connected for as long as you  want  but remember to switch off the robot every night  as electricity in the  laboratory is turned off and the robot will fully discharge the batteries in this  time  damaging them     GPSD radio battery  There are two radio batteries  one for the GPS base station and the other for    the GPS mobile station  Both batteries are interchangeable  and are 8x9x23cm  in size with a black leather cover  Ni MH batteries have memory effect  so    ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 35 of 97    36 of 97    you must discharge them completely before charging them again  There are  two chargers  you may found them in the yellow suitcase in the    F room    or  in a white long box next to the suitcase  Remember that the    F room    is the  name for the ASLab cabinet in the computer rack room  To charge it  open  the battery tab and connect the charger  Press the button for discharging it  fully  then wait until the charger finishes the operation  Detailed instructions  are printed on the charger        Figure 4 17  GPSD radio charger     VAIO laptop battery    The VAIO laptop manages automatically its own battery  You may check its  status with the command acpi  b  On linux RTAI  AC
69. ar el  dispositivo y recuperar la funcionalidad original al encender de nuevo el  dispositivo  sin que haya manipulaci  n del ordenador de a bordo           CAPITULO 2  REQUISITOS 24     Nimo sS o S SESA    Nombre   Recuperar funcionalidades automaticamente      Importancia  alta    Descripci  n   El robot contar   con capacidades para recuperar  sin intervenci  n del    operador  funcionalidades perdidas en los dispositivos    Justificaci  n    Verificaci  n   Los m  dulos CORBA en funcionamiento morir  n al apagar el dispositivo  correspondiente y se reiniciar  n autom  ticamente cuando el dispositivo  vuelva a estar disponible      Nimos pa Ey    Nombre   Integraci  n de sensores propioceptivos     Importancia   media    Descripci  n   Se desarrollar  n e integrar  n sensores que permitan conocer el estado  interno del robot       J ustificaci  n      Se a comprobar remotamente la salida de los sensores propiocepti  Vee   at mi CT TR NT     N  mero PAL   Nombre   Integraci  n de ma br  jula elechr  nica oooi   Importancia   media OSS   S   Descripci  n   Se desarrollar   e integrar   una brijula olectr  nica       Justificaci  n   La br  jula electr  nica sirve como complemento de datos odom  tricos y  se  cel receptor GPS para conoce Te notaci  n del soba    Verificaci  n   Se podr   comprobar remotamente la orientaci  n del robot respecto del  Mal rt     N  mero pa OoOo O S SYSS      Nombre Integraci  n de aceler  metros    Importancia   baja      Descripci  n   Se desar
70. arduino is in    svnt ssh   sagan home svnroot Higgs code devices     arduino arduino IDE    or you can get the latest version from the web at  http   arduino cc en Main Software  Start the IDE with    arduino  and open the C source file arduino_embedded  pde  For the IDE to compile  correctly  the name of the source file without the   pde extension must have  the same name as the directory it is in  Select the correct Board and Serial  Port    under the Tools menu  then Compile   Verify and Upload     5 5 Power board    The Power Board is a custom printed circuit board designed specifically for  the needs of the investigators at ASLab with which to test the algorithms in  system auto reprogramming with partial malfunction of a robot  The Power  Board is in control of the power supply of up to nine devices in the robot   Each of these channels may be manually shut down by means of a switch  or remotely  automatically using the ribbon cable connection to the Arduino  board  There is a LED power indicator for each channel plus and a switch and  LED indicator for all the board  Three of the channels  the ones nearer to the       The MEGA Arduino board has an integrated USB to RS232 chip  so it will appear as a  serial port devtt yUSBx when connecting the USB cable     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 63 of 97    64 of 97       MAIN BATTERY  SWITCH CHANNEL SWITCHES CHARGER       3    r    NIAZI NIA 3a  2 30z1    RIBBON POWER SOURCE 3x24V 6X12v  CABLE CONNECTORS OU
71. arquitecturas  los sistemas operativos y los lenguajes de programaci  n  est  n limitado   nicamente por las implementaciones disponibles que los soporte  Existen  implementaciones para Ada  C  C    C   Smalltalk  Java  Python  Perl y Tcl  entre otros    Todo ello hace de CORBA el middleware m  s flexible existente hoy en d  a y es utilizado  por una infinidad de empresas  especialmente compan  as de telecomunicaciones    El mecanismo de funcionamiento de CORBA se basa en el empaquetamiento de las lla   madas a funciones en cadenas de bytes que se env  an codificadas de forma est  ndar y de  ese modo el objeto remoto no necesita conocer m  s que el protocolo de comunicaci  n  Para  facilitar la labor del programador las herramientas de CORBA proporcionan la generaci  n  de c  digo para ser usado tanto por los clientes  que son los usuarios de los servicios de los  objetos CORBA  como los servidores  que implementan la funcionalidad del objeto CORBA   Estos servidores pueden estar en el mismo espacio de memoria que el cliente  en la misma  m  quina o en una m  quina remota  La localizaci  n del servidor es transparente al cliente    El Lenguaje de Definici  n de Interfaces  IDL  es un archivo de texto de sintaxis similar  a C   que act  a como pegamento que une los clientes con los servidores  con ellos se define  la interfaz con la que se comunican y son los archivos a partir del cual se genera el c  digo       auxiliar en cualquier lenguaje  es decir  que es independiente de
72. as  placed inside the mobile base with its own dc dc regulator running Win   dRiver  See figure 5 3    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org       Figure 5 3  The old onboard computer GENE    5 2 1 Hubs and converters    The onboard computer has two USB ports and one FireWire port among  others  The FireWire port is used with the binocular camera  The arduino   GPS  laser  wrist and robot base all use serial RS 232 communication which  is achieved using USB to RS 232 converters  There is a hub behind the power  board with 4 USB ports to where the converters are plugged  either directly   two of them   with a short USB cable  i e  the GPS  or has the converter  chip embedded inside the device  i e  the data acquisiton board   There is a  lack of one serial converter for having all five devices working at the same  time  Be sure to reconfigure the serial ports at  etc higgs devices when  changing the connected devices  see 4 5 3     5 2 2 Real Time Operating System    This section describes the steps that have been made for building and in   stalling the Ubuntu RTAI operating system     1  Download and burn Ubuntu 10 04 LTS Desktop Edition  then install it  like a standard Ubuntu installation  The Long Term Support surname  guarantees that this version will be supported for 3 years     2  Install these packages  libncurses dev build essential  kernel package linux source They are needed for building the  kernel and generating a debian package     3  Download and unc
73. be met for both references to be scaled down by the    Un  U  5 1     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 59 of 97    60 of 97     Fanameter_ Tnstramentaton    33kQ 18 7kQ  330kQ 330kQ       E  OEA   5550 7808         Eo    cain  Voltage scale factor   01998    0 2275  Sensing resistor  000  oog    Table 5 2  Characteristics of the differential amplifiers for the battery sensors        same coefficient is that the relation of the resistor values between the positive  input and the negative input is    Ro R    D a 5 2  Re Ro    Rs Od     This way   Gel e  Uo   R   UT  U     From this result we can observe that there is great sensibility in the opera   tion of the differential amplifiers  The resistors from the negative input and  the positive input must be of the same value  of the same brand and of the  same batch to give enough precision  Rg   R1 and Rg physically being two    resistors in parallel  Re   Ra    Rs     The current sensors will not work correctly while the batteries are charging     5 4 6 Servant and firmware    The CORBA module has been written in the JAVA language whilst the test  client in C    When the TurnOn and TurnOff methods are called  the appro   priate device is turned on off and simultaneously  for the gps  laser  wrist and  camera  the servant that controls the device is killed from the arduino servant  This only works if the device servant is installed and running on the same  machine as the arduino servant  and will solve some issues
74. bidos al driver de la c  mara  c La nueva c  mara  no solamente presenta mejor calidad en el color  sino que carece del efecto de vineteado de  la anterior y las im  genes en movimiento quedan m  s n  tidas  Usa el protocolo relativamente  moderno UVC  Sin embargo las im  genes de ambas c  maras no est  n sincronizados lo que  puede dar lugar a c  lculo incorrecto de la profundidad de objetos en movimiento  En realidad  se trata de dos webcam independientes con un hub USB para compartir la conexi  n  por lo  que adem  s no se puede usar ambas c  maras a su m  xima resoluci  n simult  neamente           9 2 2  ROS    ROS  Robot Operating System  suministra librer  as y utilidades para ayudar a desarrolla   dores de software crear aplicaciones rob  ticas  Suministra abstracci  n de hardware y drivers  para una gran variedad de dispositivos usados en rob  tica  librer  as  visualizadores  paso de  mensages y gesti  n de paquetes  entre otros  Puede plantearse como un reemplazo de CORBA  espec  fico para rob  tica  aunque no tiene la flexibilidad ni la capacidad de tiempo real    Su funcionamiento se basa en la publicaci  n de mensajes a un broker central y env  o  de estos mensajes a los nodos que lo soliciten  Los nodos pueden ser drivers de dispositivo   transformadores de datos  visualizadores  etc    Se han realizado pruebas satisfactoriamente para el manejo simult  neo del l  ser  el kinect   el robot base Pioneer y un mando de control Wiimote en aplicaciones de navegaci  n
75. by default the iptables firewall is enabled on many  distributions and it must be configured or disabled before CORBA clients  can make calls to the servants     Kernel modules    The linux kernel loads the serial modules for the converters at startup by de   fault  but the order in which it does it is not the same on each bootup  so the  serial device links must be checked on each bootup with this setup  The mod   ules are the FTDI driver ftdi_sio ko and the pl2303 driver p12303 ko   This inconvenience has been avoided by moving the kernel file objects from  their standard placement at  1ib modules  to  etc higgs modules  The  kernel tries to load the modules but fails because it can not find them where  it expects them to be  The modules are loaded with the init scripts in a de   termined order  The following commands as root can be used to set up this  behaviour on new installations     cd Fete inttsd   echo     bin sh   gt  load serial modules   chmod a x load _ serial modules   echo  insmod  etc higgs modules p12303 ko  Y   gt  gt  load serial modules   echo  insmod  etc higgs modules ftdi_sio ko      gt  gt  load serial modules   lt  3 J eto init d load serial modules     etc rc3 d Ss60load serial modules    Replace rc3 d with the runlevel the OS starts with  You may instead prefer  to modify the init script skeleton and give more functionality such as removal  of the modules using the standard init V procedure such that loading and un   loading the modules is done with
76. by the wrist  The CORBA servant code is     Note that even though the manufacturer calls this device a powercube  internally we call  it wrist     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 69 of 97    5 7 Laser    70 of 97    aware of this fault and will abort execution to allow to complete device reset   outputting a log and leaving the restart of the servant to the VAIO utility  programs  This fault can be prevented by periodically reading the voltage  sensor value from the I O board  the Arduino CORBA servant     Overcurrent    The internal current sensor will stop the axis when an overcurrent is detected  or a low voltage condition is met if the 12V to 24V converter can not supply  enough power  In this case  a reset and homing procedure is needed before  continuing operating the unit  The maximum speeds and accelerations before  the fault are saved and restored after the reset and homing procedure  but not  the position     Device not found    This error may arise if the device is powered off  if the serial port is not ac   cessible or can not be found  or if the serial cable is not correctly connected   In this case the servant will die and get restarted automatically by the init  scripts     The data cable is a serial one prepared for RS 232 and RS 422 communica   tions  There is a jumper on the end connector to select which of the protocols  to use  With the jumper  RS 422  Without the jumper  RS 232  Note that the  RS 422 has not been successfully tested  mayb
77. cantidad de  ampliaciones y el trabajo que se realice en nuevas funcionalidades est   limitado   nicamente  por la imaginaci  n     9 3 1  Estaci  n de carga       Para que un robot sea completamente aut  nomo adem  s de comprobar su nivel de energ  a  debe restaurarlo cuando se reduce  Se propone la realizaci  n de una estaci  n de carga a la  que el robot pudiera acoplarse sin intervenci  n humana y recargarse  de modo que pudiera  completar la tarea a pesar de necesitar varias cargas de bater  as para completarla     CAPITULO 9  CONCLUSIONES Y TRABAJO FUTURO 89    9 3 2  Optimizaci  n del envio de video    Uno de los inconvenientes que presenta actualmente la interfaz CORBA para la c  mara  estereosc  pica es el bajo rendimiento en el env  o de datos  La soluci  n que se propone  a  incorporar en el futuro  es modificar la interfaz de manera que se use CORBA para configurar  un sistema de streaming de video usando comunicaciones as  ncronas UDP IP para lo cual  existen infinidad de paquetes software en Internet  As   el v  deo se enviar  a comprimido y sin  la p  rdida de ancho de banda necesario en comunicaciones s  ncronas y del protocolo IIOP  de CORBA  dejando parte de la conexi  n wi fi libre para otras comunicaciones m  s cr  ticas   aunque se perder  a tiempo de CPU del ordenador de a bordo en la compresi  n del v  deo        9 3 3  Uso de bater  as de litio    Las bater  as de plomo son pesadas y sufren de efecto memoria si se las descarga demasiado   Las bater  as
78. cho de ellos se expone a continuaci  n     NIS Identificaci  n por contrase  a en los ordenadores  El laboratorio est   dispuesto tal que  cualquier usuario puede usar cualquier ordenador y encontrarse en   l la misma confi   guraci  n con la que abri   sesi  n por   ltima vez  aunque fuera en otro ordenador  El  mantenimiento de las contrase  as se puede realizar as   desde un   nico punto para todos  los usuarios        NFS Net File System  o sistema de archivos en red  Se trata de un disco duro virtual situado  remotamente  Es un servicio complementario a NIS por el cual se pueden almacenar       los archivos personales en el servidor principal  Permite abrir sesi  n con los archivos  personales disponibles en cada ordenador  La tarea de realizar las copias de seguridad  para todos los miembros del laboratorio se automatiza f  cilmente y  al tener el servidor  un sistema RAID con discos duros extra  bles en caliente se mejora la seguridad de los  datos           CVS Sistema de control de versiones  Utilizado inicialmente para ir almacenando las dife   rentes versiones del software desarrollado as   como los archivos de dise  o del hardware   en su evoluci  n  Tambi  n usado para compartir el c  digo con el resto del laboratorio     SVN Equivalente a CVS pero m  s moderno  Se describe en detalle en el anexo  El    SSH Secure SHell  Programa con interfaz en modo texto que abre consolas en otros ordenado   res remotamente  Ha sido utilizado para coordinar c  modamente todos l
79. correspondence of the Arduino extension board with  the devices        56 of 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    1  The potentiometer is prone to errors due to mechanical hystheresis   worn out and temperature effects     2  There is a lot of functionlity that can be more useful than controlling the  pitch of the laser  The effort has been so displaced elsewhere     3  A better pitch angle sensor  such as an optic encoder  would justify buy   ing a whole controlled actuator with integrated sensing and electronics     4  The kinect sensor can partially substitute the laser     5 4 2 Power board    The I O board and the power board have been connected with a ribbon cable  that plugs to the doble row of pins of the extension board in the side of the  I O board  The ground connection has been stripped as the correspondent  pin is not connected to ground in these pins  Common ground with the rest  of the robot is achieved through the power connections that come from the  batteries  Figure 5 2      5 4 3 Compass    The compass is a solid state magnetism sensor placed next to the GPS antenna  on the aluminum bridge  It was bought at www superrobotica com product  reference CMPS03 S320160  The connections are as follows  from bottom to  top as shown in figure 5 6     1  VDD  To Arduino supply    2  SCL  To 5V with 470 resistor    3  SDA  To 5V with 47Q resistor    4  PWM  To Arduino digital input    5  NC    6  Calibrate  To button in compass connector   7  50Hz 6
80. d voltage of the Pioneer2AT batteries and the instrumentation bat   teries  One operational amplifier per battery has been used as a differential  amplifier  as shown in Figure 5 7  This design allows to detect small varia   tions in voltage of higher voltage than those of the working conditions of the  operational amplifier  specifically lower than 3 5V  with the LM2904P oper   ational amplifier powered at 5V  The voltage sensor is a scale down of the  battery voltage  which is then divided by the scale factor by software to re   cover the true value  The gain is that of the differential amplifier  To read  the true current value  both the gain and the sensing resistor value must be    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    considered  See Table 5 2 for the numerical values  The printed circuit board  is designed to fit into connectors 3 4 6 and 7 of the Arduino extension board  as an add on module  The sensing resistors are placed one inside the Pio   neer2AT glued to the chassis under the back sonars  figure 5 2  and the other  one is in an aerial connection on the battery cable immediately before the  power board     Ld    INSTRUMENTACION pl jg la    Figure 5 7  Battery sensor schematic    r oN       INSTRUMENTATION MOTORS    Figure 5 8  Battery sensor board layout  Supposing ideal components  the output voltage given by the current sensor  is given by the formulae  R  R2   1 1 1 _ Re     SE DEA pee A ee ee  Ro   Re  Ri Ro Rs   Ry    The condition that must 
81. de datos     CAPITULO 4  DISENO HARDWARE 53    Bateria del   Ordenador USB Convertidor  ordenador    de a bordo hub USB a RS232  Tarjeta  microcontroladora    Br  jula    Bater  a de Aceler  metro  dispositivos    Power Board    L  ser    Mu  eca    C  mara  Convertidor    12V a 24V    Bater  as de Base del robot  la base del    robot    Leyenda                12V    Bater  ade       a           gt W 24  ore   P aoard      Energ  a y datos en    a y S   cable compartido       I__ HF Resistencia Schunt       Figura 4 8  Diagrama de conexiones de alimentaciones     Capitulo 5    Entorno software de trabajo    Dado el n  mero de m  dulos con los que se ha trabajado y la similitud entre ellos  ha  sido necesario convenir la organizaci  n de los m  dulos  El c  digo fuente se ha almacenado  en el repositorio SVN  ver anexo  E   y ha sido tambi  n utilizado para el intercambio y  la actualizaci  n del c  digo  Al no ser una herramienta de comunicaci  n  la publicaci  n de  nuevas versiones  cuando as   se ha considerado oportuno  se ha realizado personalmente  si  s  lo estaba involucrada una persona  o por correo electr  nico cuando esa persona no estaba  presente o hab  a m  s personas involucradas    sto ha sido contemplado en el requisito 1        5 1  Subversion    Una de las primeras recomendaciones que se planted fue mudar el repositorio de software  de CVS  o Concurrent Versioning System  a SVN  abreviatura de Subversion  Los motivos  que llevaron a este cambio fueron      
82. digo con Doxygen     Anexo  E      5 3  Librer  as comunes    Los m  dulos incorporan elementos comunes en su programaci  n que han sido recogidos  e implementados en un   nico lugar  Las dos ventajas principales de compartir c  digo son   primero  que se reduce el tiempo de programaci  n en cada m  dulo  evitando reinventar la  rueda y reduciendo el n  mero de l  neas  que facilita la revisi  n del c  digo  Segundo  que si  se hace necesario modificar este c  digo com  n con realizarlo una vez basta y los cambios se  propagan a todos los m  dulos cuando se compilen  o si la modificaci  n es en la configuraci  n   cuando se reinicien  Aunque la necesidad de   sta librer  a ha surgido despu  s del incio del  proyecto  se enmarca dentro de los requisitos 1 y 3    El c  digo fuente de esta librer  a se puede encontrar en el ced   que acompa  a al proyecto  dentro del archivo          code lib CORBA_utils h    A continuaci  n se lista el c  digo de un hipot  tico servant que se ha tomado como referencia  para construir los m  dulos     1     A typical servant executable would be something like     O CON OD OF KR W WD    te pp      O  090042 WN KF       CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 57     include  implementation h    include  CosNamingC h   tinclude  2    7 lib  COREA Tilson     int main int argc  charx argv            CORBA BEGIN SERVER arge   argv      implementation_t impl      higgs  implementation_t_var implvar   impl  _this       CORBA REGISTER REFERENCE implvar  
83. do por estimaci  n   queda   T   10kQ x 1 5uF   15ms  4 5     m  s que suficiente para eliminar el efecto rebote     Resto de componentes    El n  mero de canales que se van a implementar son nueve  seis de ellos con tensi  n de  alimentaci  n a 12V y el resto a 24V  La distribuci  n elegida para los dispositivos es la que se    CAPITULO 4  DISENO HARDWARE 41    Consumo  en A   1   BV  Reeve   o o o  AV  Reeve o ooo    1  6   mv  ops  OS  Cs OW   haser PT   AV   Reserva    Cuadro 4 2  Distribuci  n de dispositivos por canales en la tarjeta de alimentaciones          muestra en la tabla  4 2  Se ha resuelto dejar dos canales de reserva en el canal a 12V y uno  en el que va a 24V    En cuanto al diseno de las pistas  la separaci  n m  nima entre pistas viene fijado por  la diferencia de potencial m  xima que es de 24V que se corresponde a una separaci  n de  0 3mm  El grosor de las pistas viene condicionado por la corriente que transportan  siendo  las mayores las de los conmutadores de los rel  s  Se acepta un incremento de temperatura  admisible m  xima de 30  C  Para un grosor de cobre de 354  el ancho de pista que soporta  una corriente de 1A es de 0 45mm  Se ha tenido en cuenta que no todos los dispositivos usan  el m  ximo de corriente de 4A por canal  y que los dispositivos de 24V consumen el doble  de corriente en la parte de 12V antes de la conversi  n a 24V  Un ancho de lcm soporta  as   22 7A que es aproximadamente la corriente m  xima consumida por todos los disposi
84. e  The upstart config file for the laser  follows as example     description  Upstart config file for the arduino servant   author  Francisco J  Arjonilla Garcia   start on started Naming_Service  respawn  Setipe  sleep 5  date  gt  gt   var log higgs laser log  su  l1  c  usr local bin laser_server higgs    gt  gt   var log higgs laser log 2 gt  amp 1  end script    Other modules have different upstart config files  See each module source  tree  The Naming Service should start automatically too after installing it   If not  an upstart config file must also be created for it  In either case  the  endpoint must be specified in the parameters  i e  manual execution     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org      Naming_Service     ORBEndPoint    iiop   higgs2 disam etsii upm es 9876    The JAVA servant does not use the automatic NameService resolution mech   anism provided by the C   macros in CORBA_utils h and needs to have it  specified as arguments when running it  Also  the next two lines must exist  in the  profile file in the home directory of the user running the servant     export PATH  opt jdk1 6 0_26 bin   PATH   export LD_LIBRARY_PATH  usr local lib     Replace paths apropriately     5 4 I O board    The I O board manages the sensors and actuators that do not have a specific  interface for connecting them to a computer  It has been implemented with  an Arduino Mega board  The devices controlled by the I O board are     e Compass    e Accelerometers    Batt
85. e because the jumper should  be inside the laser connection black box instead of the serial cable endpoint     5 7 1 Laser servant    The laser servant has been developed on top of the driver given by the peo   ple working in the mobile robotics lab  It has been modified to be able to  resynchronize after a transmission error or a reboot of either the sensor or the  servant  The original source code can be found in       SVN   code devices laser libreria_laser paloma zip    The documentation for the Sick Laser Sensor both hardwre and protocol def   inition can be found under the doc directory of the laser sources  Inside the  src directory you will find the modified sources for the laser driver  the ser   vant implementation and a test client  like in other modules     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    5 8 Differential GPS    The GPS module is based on two OEMV 2 RT2 receptors with capacity for  Satellite Based Augmentation System  SBAS  and Differential GPS  DGPS    Both receptors communicate through a radio based modem capable of trans   mitting in half duplex mode through relatively long distances at 9600bps   The base radio has a transmitting power of 2W and the rover radio 0 5W   however the latter is only used for receiving data  Both radios must be set to  work in the same channel  use the button with the channel label to change it   The electronics for each receptor have been encapsulated into plastic boxes  with these connectors and indicators avai
86. e distinto para exteriores   en este caso el GPS  En interiores el GPS no es funcional debido a la mala recepci  n de las  se  ales electromagn  ticas enviadas por los sat  lites  y en exteriores el sensor de proximidad    nicamente valdr  a para la detecci  n de obst  culos  no as   la localizaci  n por mapas ya que  en exteriores no hay paredes ni mobiliario y el sensor tiene un rango m  ximo de detecci  n de  objetos de unos ocho metros   u ochenta metros  dependiendo de la configuraci  n   En ambos  casos  exterior e interior  los sensores dejan de aportar informaci  n   til por lo que siempre  habr   alg  n sensor que no pueda ser usado para recabar informaci  n del entorno y que sin  embargo siguen consumiendo energ  a y reduciendo la carga de las bater  as del robot  Seria  conveniente poder apagar estos sensores para aumentar el tiempo de operaci  n del robot sin  necesidad de recargar    Por lo tanto  los requisitos principales que debe reunir la tarjeta de alimentaciones es que  sea capaz de gestionar la alimentaci  n de cada uno de los sensores y actuadores por separado  de dos maneras distintas  Una autom  tica  controlada por ordenador  en la que se pueda  apagar remotamente los sistemas para ahorrar energia independientemente de si en el punto  remoto esta trabajando un operador humano o es una arquitectura cognitiva que decide que el                37    CAPITULO 4  DISENO HARDWARE 38    sistema en cuesti  n no es util en ese momento  y otra manual que haga las
87. e is performed  normally it  will invalidate some of the documentation herein  Remember to write down  the procedures and descriptions to match the new devices and or software   When replacing a broken part  this chapter can be used as a guide for in   stalling the new components  The tools and libraries in use are defined  as  well as how they have been installed and configured  and a detailed descrip   tion of the modules  both hardware and software     5 1 Mobile base    46 of 97    5 1 1 Disassembling the robot    The main reason for disassembling the robot is to access the inside of the mo   bile base for repairs and updates  The remaining components can be accessed  without major disassembling  The robot base has two black plates screwed  to the red chassis with a joint between them  This allows to access different  parts of the robot without fully disassembling it  The front part of the robot is  where the motors are placed and the inner on board computer can be fitted   No computer is currently installed inside so it will rarely need servicing  See  section 5 1 1 to access it  The back part houses all power and control electron   ics and the batteries and can be reached disassembling the back methacrylate  structure with the alluminium gantry  This is achieved by unscrewing all six  bolts fixing it to the robot base  Be sure to unplug all necessary cords when  taking it out  The robot base will power up but will not work correctly if the  multi coloured ribbon cable i
88. e los edi   ficios con opci  n de configurarlo a 50Hz o a 60Hz y de un terminal de inicializaci  n que s  lo    CAPITULO 3  SISTEMA DE PARTIDA 35       Figura 3 9  Detalle del aceler  metro     ha de emplearse en el primer uso o cuando haya cambios de localizaci  n importantes  para  ajustarse a los nuevos niveles de campo electromagn  tico terrestre          EAS 1 4 e    j    Hee eee a eae ea    EY 11d did dd dd       Figura 3 10  Detalle de la br  jula electr  nica     3 7  Descripci  n del ordenador de a bordo    El ordenador de a bordo es un port  til marca Sony y modelo Vaio TX2HP  Sus carac     tar  sticas son     Intel Pentium M a 1 1GHz     512MB de memoria SDRAM     SOGB de disco duro a 4200rpm     Pantalla LCD de 11 1      DVD RW  Los puertos de los que dispone son     2xUSB      FireWire    CAPITULO 3  SISTEMA DE PARTIDA 36      Ethernet 100Mbps    Wifi IEEE 802 11b g    Bluetooth    Tiene instalado un sistema operativo Fedora Linux desde el que se han hecho pruebas con  algunos dispositivos pero sin llegar a funcionar aut  nomamente  es decir  que los servants  y los programas se han ejecutado manualmente y el ordenador no se ha llegado a integrar  adecuadamente con el resto de componentes del robot        3 8  Descripci  n del entorno de red del laboratorio    El laboratorio dispone de una red propia con servidores de distinto tipo  Los servicios m  s  importantes que se han usado a lo largo de este proyecto  junto con una breve descripci  n del  uso que se ha he
89. e sea posible compartir    Justificaci  n   El desarrollo se facilita con el uso de est  ndares y se asegura la conti   nuidad a medio largo plazo       Verificaci  n   El uso de software propietario se limita a lo estrictamente necesario             CAPITULO 2  REQUISITOS 27    2 2  Vista general del proyecto    En la figura  2 1  se da una visi  n general del proyecto  Se ha separado en dos bloques  la  parte software y la parte hardware  La parte software est   desarrollado con las utilidades   librer  as y scripts que se crear  n y compondr  n el entorno de desarrollo  que no interviene  durante la operaci  n del robot  La parte software necesita un sistema operativo sobre el que  ejecutar y poder comunicarse con el hardware  tambi  n se implantar   como parte del proyecto     Sistema desarrollado  Plataforma Rob  tica    Entorno de    M  dulos Software  desarrollo    Sistema Operativo    Componentes  Hardware       Figura 2 1  Vista general del proyecto     Capitulo 3    Sistema de partida    El desarrollo del robot ha sido una constante evoluci  n y lo seguir   siendo  incorporando  nuevos dispositivos a medida que aparezcan y las necesidades as   lo soliciten  y adaptando  las tecnolog  as que surjan para un mejor aprovechamiento de las capacidades del robot  Por  ello  este proyecto no parte desde cero  sino que existe una base desde la cual se han ido  desarrollando otros proyectos y que han ido completando el robot    Este cap  tulo describe los dispositivos que ya 
90. e the debian package     fakeroot  make kpkg   initrd kernel_image kernel_headers      Go to the upper directory  where the packages are created  and install    them with dpkg  i    dev     Once the kernel is installed  reboot and start with the new kernel to check  it con boot  Now it is time to finish the installation compiling the realtime  kernel modules and utilities     1     Ze  3     Go to the root directory of the RTAI source code and run make menuconfig   Select the number of target cpu s with the same number as the kernel  and write the path to the kernel sources     make and as rootmake install     Configure the libraries as root     echo  usr realtime lib  gt   etc ld so c  nf  d  rtai cont  Ldcontig    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    4  Add  usr realtime bin to the path of all users     profile files   echo  PATH SPATH  usr realtime bin   gt     profile    5  Finally  check that the realtime extensions are working correctly  Go  to  usr realtime testsuite kern latency and run   run  If  realtime is correctly installed  the last column should be all zeroes after  2 3 minutes     6  Optionally  if space is low remove the packages and the source for the  kernel and patch  or only the object files with make clean     5 2 3 OS Tweaks    There are some modifications to be done to the Operating System to have  Higgs    modules running flawlessly     There must be a username called higgs and it must be a member of the dialout  group  Note also that 
91. ecessary programs and libraries  type    svn co svn ssh   sagan home svn_repositories Higgs  to check out the source  Again  replace sagan with 138 100 76 251 if your    hosts conf is not correctly configured and prepend it with your user name  and an   if your server user is not the same as the local user     There is a second repository with older modules and code that have not yet  been ported to the new CMake   subversion schema     svn co svnt ssh   sagan home svn_root   Higgs     An even older CVS repository exists too     4 5 2 Subversion directory hierarchy  Once finished  three directories will be available     trunk The latest code available using the technology currently in develop   ment in the robot  which is ROS at the time of this writing     branches Alternative code using other technologies  which currently is only  CORBA     docs The source code of this document     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    This is the resumed directory tree inside branches  CORBA     code      LowLevelControl      WorldModel     batteries     gontrol libraries      devices       arduino      camera       Gps      laser                     Vaio  tools       wrist            The directories to consider when programming new clients are   code idl Contains the IDL definition files of all the modules necesary for  controlling the robot  You may open it for accessing the documentation    for the interfaces and you will have to link to it for generating the stubs  and s
92. ectamente desde la consola  con Makefiles generados manualmente o usando el ya obsoleto  GNU Autoconf y GNU Automake  con todos los problemas que acarrea  Se decidi   cambiar  el sistema de compilaci  n en todos los m  dulos para unificar y simplificar la tarea de trabajar  con los m  dulos  facilitando el desarrollo y el mantenimiento del c  digo al tener que trabajar  con una   nica herramienta de compilaci  n  El nuevo sistema mejorar   el cumplimiento de los  requisitos 1 y 3    Igualmente CORBA plantea una serie de dificultades en cuanto a la generaci  n del c  digo  de los stubs y los skeletons  A continuaci  n se presenta una extensi  n que se ha hecho en  el propio lenguaje de archivos de configuraci  n de CMake que permite a esta herramienta  compilar los archivos IDL al lenguaje C   y controlar las modificaciones     MACRO  MacroGeneratelDL    IF  NOT IDL COMPILER   SET  IDL COMPILER tao _idl   ENDIF  NOT IDL COMPILER   IF  NOT IDL_DIR   SET IDL_DIR       id1   ENDIF  NOT IDL_DIR   FOREACH _in_FILE   ARGN    GET _FILENAME _COMPONENT   base  FILE   _in_FILE  NAME WE   ADD CUSTOM COMMAND    OUTPUT   _base_FILE S h   _base_FILE S cpp   _base_FILE S  inl                 _base_FILE C h   _base_FILE C cpp   _base_FILE C   inl  MAIN DEPENDENCY   IDL_DIR    _base_FILE   id   COMMAND   IDL COMPILER     I  IDL_DIR    IDL_DIR    _base_FILE  idl    ENDFOREACH _in_FILE   ARGN    ENDMACRO   MacroGenerateIDL         Ahora es posible crear nuevos m  dulos y que la tarea de crear la
93. educir al m  ximo el impacto visual del cableado sin que reduzca la  accesibilidad a   stos para mantenimiento  reparaciones o reconfiguraciones  El diagrama sim   plificado del cableado de datos se muestra en la figura Las flechas senalan el flujo de  informaci  n   til entre dispositivos  Tambi  n se ha incluido la transmisi  n de datos inal  mbri   ca del sistema GPSd  no as   las conexiones inal  mbricas con la red del laboratorio     4 3 4  Cableado de alimentaciones    El cableado de alimentaciones est   centrado alrededor de la tarjeta de alimentaciones  En  la figura  4 8  se mueestra un esquema del cableado de alimentaciones  Cada bloque representa  el conjunto de dispositivos que alimenta cada una de las bater  as presentes en el robot  Los  elementos hexagonales representan las bater  as y los elementos cuadrados  los dispositivos  que necesitan ser alimentados  La tarjeta de adquisici  n de datos  o tarjeta de adquisici  n de  datos  se ha representado entre bloques pertenecientes a bater  as distintas porque puede ser  alimentado desde USB y usando la bater  a de dispositivos    Algunos dispositivos usan el mismo cable simult  neamente para la transimisi  n de datos  y para la alimentaci  n  Estos cables se han indicado con linea discontinua                 CAPITULO 4  DISENO HARDWARE 52    Ordenador  de a bordo    hub    Base del robot  MCU    x2        x2 x2    Interruptor fin Aceler  metro  de carrera    ru    Br  jula       Figura 4 7  Diagrama de conexiones 
94. el archivo de configuraci  n del servant     description  Upstart config file for the arduino servant   author  Francisco J  Arjonilla Garc  a   start on started Naming_Service  respawn  script   sleep 5   date  gt  gt   var log higgs arduino log   su  l  c  java  jar  usr local bin arduino jar     ORBInitRef Naming_Service corbaloc    cat  etc higgs nameservice ip     NameService  higgs  gt  gt   var log higgs arduino log 2 gt  amp 1  end script       El servidor de nombres de CORBA necesita tener fijados la direcci  n y el puerto por los  que escuchar  El archivo de configuraci  n es     description  CORBA Naming Service   start on net device up    respawn  exec Naming_Service  ORBEndPoint iiop   higgs2 disam etsii upm es 9876       Capitulo 6    Modulos software    En este capitulo se describe la parte software de los m  dulos  Todos ellos estan encapsula   dos en un objeto CORBA que implementa las interfaces IDL creadas como consecuencia del  requisito 2 1     6 1  Mu  eca    El desarrollo del m  dulo de la mu  eca viene a cumplir con el requisito 2 5 1 2 y se ha  centrado en el desarrollo del servant  Al inicio del proyecto se encontraba instalada sobre la  estructura de metacrilato que soporta el l  ser pero preparada para ser alimentada externa   mente y controlada desde ordenadores externos  Se termin   de integrar al robot adapt  ndolo  a la tarjeta de alimentaciones y a los convertidores USB a RS 232     6 1 1  Servant    El desarrollo del m  dulo se inici   a parti
95. en  programar un nuevo driver a medida de las necesidades del robot  A continuaci  n se descri   ben brevemente las ventajas y desventajas de cada opci  n             Librer  a ARIA  Como ventaja fundamental se puede citar que ya est   integrado dentro  de un servant CORBA probado y en funcionamiento y que dispone de funciones para       Se puede descargar m  s informaci  n sobre esta librer  a en  http    robots mobilerobots com wiki ARIA       CAPITULO 6  MODULOS SOFTWARE 63      CORBA client E servant wrist_servant a dev SerialLinkRS2 32 E wrist wrist  1  set_positior    1 1  create  E order powercube_telegram    1 2  send 1 2 1  Send    1 2 1 1  set    1 2 2  Send  2  status    1 2 3  Receive    1 2 4  Receive  1 3  send    1 4  delete  3  set_positior    Figura 6 2  Diagrama de secuencia t  pica para una llamada al servant de la muneca     la determinaci  n de segmentos rectos  En contra  que no dispone de algoritmos para       resincronizar el protocolo en caso de fallo del hardware o del servant  que depende de una       librer  a de gran tama  o poco manejable y que el esfuerzo de adaptaci  n requiere estudiar  el c  digo fuente de la librer  a  Adem  s  habr  a que actualizar la librer  a con cada nueva  versi  n que apareciese y llevar registro de los cambios  Adicionalmente  esta librer  a  filtra algunos mensajes perdiendo parte de la informaci  n de las distancias en cada  lectura y no est   preparado para funcionar a la m  xima velocidad que permite el sensor   
96. encuentran en m  quinas remotas o la CPU est   compuesto por  varios n  cleos  se mejora el uso los recursos de computaci  n existentes al no tener que esperar  a que cada objeto realice los c  lculos en su m  quina  es decir  que el tiempo de c  lculo no  depende del n  mero de objetos llamadas a realizar  sino del objeto que tarde m  s en realizar  el c  mputo              El c  digo fuente de esta librer  a se ha incluido en el ced   que acompa  a el proyeto y la  documentaci  n generada ha sido extra  da con Doxygen  ver anexo  El y manual de uso en  9    y se incluye en el anexo  B  Tambi  n se ha incluido un ejemplo de uso que ha servido asimismo  para probar y validar el c  digo  del cual se pueden encontrar m  s detalles en el cap  tulo  7    A continuaci  n se incluye algunos de los m  todos implementados en la cabecera de la  librer  a  Este c  digo no es funcional  pero sirve para tener una ideal del funcionamiento  interno del c  digo desarrollado  Se han omitido tipos de datos  atributos y comentarios    stos    ltimos ya est  n incluidos en la documentaci  n y se han omitido para evitar duplicidades        n  tese que el cuerpo de los m  todos es suficientemente sencillo para ser autoexplicativo y no  necesitar m  s comentarios     l  template  lt class T gt   2  class executive_attribute    Q oF o    40    CAP  TULO 6  M  DULOS SOFTWARE 72         public   template  lt class O gt     executive_attribute executive  amp  ex  O x obj  T  O    get        const     
97. erie  no es suficiente para enviar todos los datos de las distancias  se pierde el   ltimo barrido        El sensor dispone de dos entradas con protecci  n contra polvo y agua  La primera de ellas  es el suministro de alimentaci  n a 24V y la segunda de ellas es la conexi  n del puerto serie   ya sea RS 232 o RS 422  Tal como queda indicado en el manual  la selecci  n entre ambos  protocolos se realiza cortocircuitando dos terminales en el interior de la caja de conexiones  de la entrada del puerto serie     CAPITULO 3  SISTEMA DE PARTIDA 32    El manual del l  ser y el protocolo que sigue se puede encontrar en el directorio del c  digo  fuente del m  dulo  Existe un m  dulo CORBA realizado en el proyecto fin de carrera  que hace uso de la librer  a ARIA  est   limitado a las necesidades del citado proyecto y no  est   integrado con el resto del robot     3 5  Descripci  n del sistema GPS diferencial    El sistema GPSd es uno de los menos desarrollados  Los componentes hardware fueron  adquiridos en el ano 2007 y se trata del model OEMV 2 RT 2 compuesto por una estaci  n  base emisora de correcciones diferenciales y una estaci  n m  vil    Al inicio del proyecto los componentes del GPS se encontraban almacenados en el malet  n  original y se hicieron algunas pruebas infructuosas para tratar de recibir la posici  n  usando  para ello un terminal serie conectado al receptor y comandado mediante   rdenes manuales  sencillas  Est   pendiente el desarrollo del m  dulo CORBA  el dr
98. ery sensors    Laser pitch    e Power board    These devices are connected to the Arduino Mega commercial board through  a custom made extension board  The connector layout is shown in Figure 5 5   and the connectors correspondence to the devices in Table 5 1  The ribbon  cable connector is between the digital inputs  The position is marked on the  board and pin 0  ground  is next to Pin22     5 4 1 Tilt mechanism for the laser    The laser sensor is housed inside a methacrylate structure with a joint that en   ables pitch movements on the laser  They are actuated by a servo placed just  behind the laser  and by two end of stroke switches that limit the movements  to safe values  To the left side of the laser  coaxial with the axis of rotation   there is a potentiometer that closes the loop for precise control of the rotation  angle  The servo  switches and potentiometers are all controlled by the I O  board and has a PID programmed within its firmware  The details can be  found in the PFC from Marcos Salom     Currently the PID feature has been disabled and the servo operates in an  open loop fashion  using the end of stroke switches as a reference for rotation  limits during initialization  The factors that motivated this decision are     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 55 of 97         Pin 8 Pin 11      X n       Digital Digital  outputs inputs    Figure 5 5  Connection diagram for compass board    Number Device    Max pitch switch    Table 5 1  Connector 
99. esaparecido las condiciones de fallo  debe  restablecer el sistema  La mayor dificultad ser  a pues que el software del sistema tolerara  estos fallos y tuviera una cierta capacidad de auto curaci  n  problema que se afrontar   en       el cap  tulo  6  y para poder probar este software se requiere poder simular los fallos  En este  proyecto la simulaci  n de estos fallos se va a limitar al apagado manual arbitrario de sistemas  individuales  suponiendo que si un sistema est   operativo entonces interactuar   con el entorno  de una manera correcta y fiable  cumpliendo con el requisito 1 2 2  Otro ejemplo ser  a el de  un actuador que se sobrecalienta y se aver  a  se le ordenar  a moverse pero los sensores no       registrasen los datos que se esperar  a si el actuador se hubiera realmente movido     Otras consideraciones    Para el m  todo manual se facilitar   un interruptor por cada dispositivo  Adicionalmente  habr   un interruptor general que controle la alimentaci  n de todos los sistemas y reduzca  efectivamente  con corriente consumida nula o despreciable  el gasto de carga de las bater  as  cuando el robot no est   en uso  Tambien ser   necesario instalar un conector de alimentaci  n  est  ndar    power jack    que cargue las bater  as aunque el interruptor general est   apagado    Algunos de los dispositivos funcionan a 24V  mientras que las baterias aportan una tension  nominal de 12V  que en la practica es variable entre 10 5V y 13 5V  Existe un convertidor  12VDC
100. esarrollados no tienen nada que envidiar a sus hom  logos pro   fesionales  Se podr  a comercializar algunos de estos desarrollos y as   sacar rentabilidad a los  productos provenientes de investigaci  n    En el mercado existen multitud de sensores que resuelven parte de la problem  tica que  existe con el robot  Por ejemplo  existen c  maras direccionables comercialazadas como un  paquete cerrado y con drivers est  ndar  Descartar la c  mara y la muneca en beneficio de uno  de estos paquetes habr  a ahorrado tiempo de desarrollo y dinero  pues el coste de tener una  persona desarrollando estos m  dulos durante varios meses es alto              Colaboraci  n con otros grupos    La comunicaci  n con el resto de personal del departamento ha sido continua y ha permitido  la colaboraci  n con otros grupos de investigaci  n dentro de la universidad  en concreto con  el grupo de investigaci  n en Control Inteligente  Las funciones programadas que realizan la  sincronizaci  n del protocolo del sensor l  ser fueron integradas en el c  digo fuente del driver  desarrollado por ellos mismos  probadas y devueltas con las modificaciones realizadas  Esta  colaboraci  n se ha traducido en una reducci  n del tiempo de desarrollo del driver del l  ser al  tener ya implementado y probado las funciones m  s importantes suministradas por el sensor  l  ser  Tambi  n ha aportado mayor fiabilidad y robustez a los robots de ambos grupos al no    3     CAPITULO 9  CONCLUSIONES Y TRABAJO FUTURO 86   
101. est  n adquiridos  qu   se ha desarrollado con  ellos antes del inicio de este proyecto y qu   nivel de integraci  n cuentan en el conjunto del  robot        3 1  Descripci  n del robot base    La plataforma rob  tica m  vil que se ha tomado como base es un robot Pioneer 2 AT8 de  la casa mobilerobots  Este robot ha sido ampliamente utilizado durante la   ltima d  cada por  laboratorios de investigaci  n en todo el mundo Sus caracter  sticas principales son       Cuerpo robusto en aluminio      Robot tipo  2 0 con 4 ruedas controladas con regulador      Microcontrolador H8S integrado  Interfaz por puerto serie      Bater  as de   cido plomo integradas  accesibles por compuerta en parte trasera      16 sensores de proximidad por ultrasonidos  distribuidos por el per  metro del robot     Dimensiones 500x490x240 mm     Peso 15Kg    Adem  s del robot base se ha incluido una estructura en su parte inferior con sensores  de contacto que detienen el robot  como medida de seguridad ante posibles choques  Esta  estructura sobresale por la parte anterior y posterior y tambi  n protege las ruedas    Al comienzo de este proyecto la base rob  tica se encontraba plenamente operativa e in   tegrada en el conjunto  El software para controlarlo estaba bien implementado y todas las         Seg  n la clasificaci  n de robot propuesta en  4     28    CAPITULO 3  SISTEMA DE PARTIDA 29       Figura 3 1  La plataforma rob  tica de investigaci  n tomada como base     funciones estaban disponibles a 
102. etos C    Los m  todos que deben llamarse son  tres y tambi  n son miembros de alguna clase  por lo que junto a la referencia del puntero  a m  todo miembro hay que almacenar el objeto  de modo que la llamada al m  todo sea  efectiva tal como se producir  a con un objeto  Ha sido necesario el uso de plantillas debido a  que los objetos pueden ser de cualquier tipo  combinando las caracter  sticas m  s avanzadas       CAP  TULO 6  M  DULOS SOFTWARE 71    do  Activity 1    i   Create attributes i   Get attributes  A Subscribe consumers A Set attributes  La Subscribe computers LA Request data processing    Figura 6 10  Diagrama de actividades de libExecutive        del lenguaje C   en su versi  n C  03  Ver  7  para una de las mejores referencias C    existentes    Es similar al servicio de eventos de CORBA  con la diferencia de que el servicio de eventos  espera a que los objetos suministren el dato  en lugar de recogerlos   l mismo  y libExecutive  gestiona los ciclos y el momento en que cada objeto puede realizar los c  lculos  manteniendo  en sincronismo los datos    Debido a la naturaleza distribuida del proyecto  se ha preparado esta librer  a para trabajar  con objetos CORBA  estando soportados la mayor  a de tipos de datos  habi  ndose excluido  los datos de longitud variable  Tambi  n se ha optimizado el uso de los recursos habilitando un  hilo por cada llamada que se realiza  de modo que   stas llamadas se hacen simult  neamente       y  Si los objetos distribuidos se 
103. ferencial     Se van a monitorizar las tres primeras bater  as  La cuarta presenta las siguientes caracter  sticas  que desaconsejan su monitorizaci  n  pues a  adir  a complejidad al sistema sin que sea una       informaci  n suficientemente   til  Se trata de un sistema propietario cerrado con cables y  conectores dedicados  la duraci  n de la carga es de un orden de magnitud mayor que el resto  de bater  as en el robot y la p  rdida de la radio del GPS implicar  a   nicamente la reducci  n  en la precisi  n de la posici  n en exteriores    La bater  a del ordenador de a bordo puede ser monitorizada por el n  cleo del sistema  operativo y no necesita ning  n circuito adicional  Las bater  as de los motores y de la instru   mentaci  n son muy parecidas diferenci  ndose en la potencia que deben aportar  siendo en el  caso de los motores de hasta 17A y en el de la instrumentaci  n de hasta 6A  ver cuadro  4 2    Ambas bater  as son de plomo y   cido compuestas por tres c  lulas de 7A   h cada una     4 2 2  Dise  o te  rico    La t  cnica elegida ha sido colocar en serie una resistencia schunt a la salida de las bater  as   de modo que se pueda medir la tensi  n de la bater  a antes de la resistencia y la corriente  indirectamente leyendo la diferencia de tensi  n en la resistencia schunt  Esta configuraci  n  necesita un divisor de tensi  n que reduzca las tensiones a niveles con los que los componentes       que se usar  n puedan trabajar  a saber un amplificador operacional
104. h  Doxygen  Manual for version 1 3 2  2003     Grady Booch  James Rumbaugh y Ivar Jacobson  The Unified Modeling Language User  Guide  Segunda edici  n  Addison  Wesley    Jos   Alberto Arcos  Sistema de navegaci  n y modelado del entorno para un robot movil   PFC  UPM  Madrid  2009     Antonio Barrientos  Luis Felipe Pen  n  Carlos Balaguer  Rafael Aracil  Fundamentos de  rob  tica  McGraw Hill  1997    Ricardo Carelli  Control de robots m  viles  Conferencia ETSII UPM  2009     Crcosi  I  Ortiz y Alejo  F J  S  nchez  El Proyecto Fin de Carrera  Normas de realizaci  n   presentaci  n y defensa  Secci  n de puclicaciones de la ETSII UPM  2005     Marcos Salom Garc  a  Fusi  n Sensorial en Plataforma Rob  tica M  vil  PEC  UPM  Ma   drid  2009     Adolfo Hernando Marcos  Versi  n RT CORBA del servidor Pioneer 2AT 8  PFC  UPM   Madrid  2005     90    Ap  ndice A    Esquemas de la placa de alimentaciones    91    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES 92     lt     ramas     ENABLE s  R14  10K YN D26  1N4004  D28 D29  CONTROL     2  14004 BZX79 C2V4     C7 S8  1 5u  N  a       O         ep    SW IN    AUX 1            ME a W OUT  8 qF  P  R15  h G6B 2214C 1K  3  Q7 D27  1 2N3904 LED   lt _ GND    Figura A 1  Esquema del canal de 12V de la placa de alimentaciones       we  gt   ENABLE  RR  R2  10K 7s  D2  1N4004  D4 D5  CONTROL  gt  E  1N4004 BZX79 C2V4     C1 S2  1 5u  N  x  za L  O        109     SW IN    AUX1      4 3 a  AUX2    W OUT       1 r  dP  P       R3    
105. idad  es decir  el m  nimo de velocidades  m  ximas     Capitulo 7    Validacion y pruebas    7 1  Pruebas    A lo largo del proyecto se han ido realizando pruebas sobre los m  dulos en desarrollo   comprobando el correcto funcionamiento de los componentes de forma individual  Las pruebas  se han centrado en la verificaci  n funcional de los componentes    La tarjeta de adquisici  n de datos sufre de un problema en la interacci  n con la tarjeta de  alimentaciones  Se trata de que si est   alimentado   nicamente por USB  los pines de salida  digitales se configuran a cero con una resistencia  lo que hace que apague ocasionalmente  algunos de los dispositivos  Se ha resuelto asegur  ndose que la tarjeta de alimentaciones tiene  el interruptor correspondiente a la tarjeta de adquisici  n de datos encendido    Se han realizado pruebas en exterior que contemplan el funcionamiento simult  neo de  varios servants    stos son el robot base  la tarjeta de adquisici  n de datos  el GPS y el sensor  l  ser    sto implica que otros m  dulos desarrollados  como la tarjeta de alimentaciones y el  sensor i v  han sido correctamente integrados  ya que el sistema de control usado control   el  robot a trav  s de las interfaces IDL proporcionadas     7 2  Validaci  n de los requisitos    Se har   un repaso breve de la verificaci  n efectuada sobre cada requisito     Requisito 1  Establecer base de desarrollo  Este requisito ha sido validado a lo largo del  desarrollo de los m  dulos  El hecho
106. imentaciones montada sobre el robot     CAPITULO 4  DISENO HARDWARE 45    4 2  Dise  o del sensor de corriente y tensi  n    4 2 1  An  lisis de requisitos    En general un robot cuenta con sensores que captan informaci  n del entorno pero tambi  n  cuenta con otros sensores que reciben informaci  n sobre el estado del propio robot  de esta  manera los algoritmos pueden adaptar sus resultados para obtener la mejor soluci  n tenien        do en cuenta no solamente el exterior sino las funciones internas  descalibraciones y otras  desviaciones de la idealidad  El sensor de corriente y tensi  n est   pensado para satisfacer  esta necesidad en cuanto se refiere a la cantidad de energ  a que a  n puede usar el robot y el  consumo actual  tal como se ha indicado en el requisito 2 4 3    Existen cuatro bater  as independientes en el robot m  vil  cada uno alimentando una serie  de sistemas distintos        Bater  as de motores Alimentan el robot base  incluyendo los motores  el controlador in   terno y los sensores s  nar     Bater  as de instrumentaci  n Alimentan los dispositivos montados sobre el robot base   La distribuci  n de las alimentaciones est   gestionada por la tarjeta de alimentaciones   Incluye L  ser  GPS  mu  eca  etc     Bater  a del ordenador de a bordo Est   integrada en el ordenador de a bordo e incorpora  su propio sistema de gesti  n de bater  as  accesible desde el sistema operativo        Bater  a de la radio del GPSd Alimenta el receptor de radio del GPS di
107. ipment with differential corrections or  only the rover part  The differential readings may not work in the campus be   cause of interferences in the environment that blocks radio communications  between the base station and the rover     Rover    the serial cables are correctly installed  The USB to RS232 converter should  be attached to COM1  Turn on the GPS switch  Now to the software part  Go  to      HIGGS_ROOT   branches CORBA code devices gps src and run  cmake    make  Run gps_client  A command line menu will be printed  form where you can check the satellites used in the solution  the current po   sition and speed  the standard deviation for the position and the type of dif   ferential corrections used  if any     Base station    The software part is the same as in the Rover part  with the standard devia   tion reducing to 0 02m or so if the differential correction is working  Prepar   ing the base station     Go to the ASLab closet and locate a yellow bag  Take out the black leather  battery  the blue radio transmitter with the antenna  the white box housing  the electronics and the cables  The GPS antenna is located on the roof with  the coaxial cable hanging down the facade to the back of the room where  Higgs lives  Open a window and take it inside  Beware of your workmates  in winter  Connect it to the electronics box  Power the electronics box with  12V  for example using Higgs charger  and the radio transmitter to the battery  pack using the appropriate cable 
108. is best used  You may have to con   figure it  Open  etc minirc ttyS1 and insert these lines     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 71 of 97      Machine generated file   use  minicom  s  to change parameters     p   port    dev ttysl  pu baudrate 9600   pu bits 8   pu parity N   pu stopbits 1   p   EFLSCELCS No    Change the port as needed  Run  minicom ttysl    Now you should have access to a command line where you can send com   mands and check the status of the device     Base station    Set up the base station with the RF input to the external antenna situated in  the roof of the department of automatics  Get a serial cable and plug your  personal computer to COM1  Start the minicom program to start a new ses   sion with the GPS device  These are commands were used to configure it     FRESET   FIX POSITION 40 4397076  3  6801432  744  INTERFACEMODE COM2 NONE CMR OFF   LOG COM2 CMROBS ONTIME 1   LOG COM2 CMRREF ONTIME 10   LOG COM2 CMRDESC ONTIME 10 1  SAVECONF IG    The meaning of the commands is as follows   FRESEI    Clears the non volatile memory and sets the configuration to the default val   ues  RESET does the same thing without clearing the non volatile memory     FIX POSITION 40 4597076    3 6001402 744    This is the position measured for the base station after a period of several  hours  Latitude  Longitude  Height   The command indicates the base sta   tion that it should calculate the GPS position for the corrections  All position  reading after
109. isito 2 3 requiere que los servants se recuperen autom  ticamente tras un fallo   Los servants se encargan de abortarse a s   mismos  pero el arranque debe realizarse a m  s  bajo nivel  desde el sistema operativo  Se ha usado la utilidad de arranque de los servicios  del sistema operativo Ubuntu  Upstart    sta utilidad es un reemplazo del antiguo sistema  Init V  Se usan archivos de configuraci  n en lugar de entradas en el   rbol de directorios de  arranque del sistema y de esta manera lograr mayor flexibilidad en las opciones de arranque  de los demonios mientras se mejor el control de los mismos  Estos archivos se guardan en el       directorio   etc init    T  picamente el archivo de configuraci  n de ejecuci  n de los m  dulos ser   como el mostrado  a continuaci  n del l  ser que se toma como ejemplo  N  tese que se redirecciona la salida  est  ndar y de error al archivo de log  pero no la direcci  n del servicio de nombres de CORBA        CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 60    description  Upstart config file for the arduino servant   author  Francisco J  Arjonilla Garcia      start on started Naming _ Service  respawn  script  Sleep 5  date  gt  gt   var log higgs laser log  su  1  c  usr local bin laser_server higgs  gt  gt   var log higgs laser log 2 gt  amp   end script       El servant java de la tarjeta de adquisici  n de datos no usa las macros C   que automa   tizan la configuraci  n del broker de CORBA por lo que hay que especificarlo manualmente  en 
110. ith the obsolete source code for the wrist  starting  point but fully rewritten code for the current library     PDF file from the manufacturer describing the serial protocol to the  wrist     The sources are all under the  src directory and its documentation can be  found inside the source files     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 67 of 97    68 of 97      interface    wrist    He get_full_state     fey set_max_speed     o set_max_accel     He set_position       He set_diff_position     Lo get_position       2  get_speed      Lo get_current      Lo is_ready       2  wait      2  get_status        _  wrist_servant      device    1  H SerialLinkRS232   Eq device    Fa Open      2  Close       Lo Send     de Receive      2  WaitData          powercube_telegram  ca axis_address    E command   ee  device   SeriallinkRS232    Lo send     Lo receive         use      Figure 5 16  Class diagram for wrist module and CORBA interface    oo  servant_activity    process_start    iJ Initialize    E Attend CORBA calls    Check for faults    Ok    GA Sleep    Yes    EMIR Repairable    No    Figure 5 17  Activity diagram for wrist servant    R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    When a CORBA client calls a method of this servant a new telegram is created  with the parameters and format adequate to the call  passing the reference to  the serial device already initialized  This telegram sends a message to the  serial device and waits for the acknowledgement  This
111. iver de conexi  n  pruebas de  funcionamiento y la integraci  n           co  5 E  J           z  7  zs       i    gt   la    Je o  z   ES g     gt   Zg  a       ay       2    Note  i      E 2     a    Figura 3 5  Componentes que forman el sistema GPS de la estaci  n m  vil    La estaci  n base est   compuesta por una caja de control en la que se procesan las senales  recibidas de los sat  lites  Tiene dos conectores coaxiales  el primero de ellos e la entrada del  oscilador de alta precisi  n que no se usar    y el segundo es donde debe conectarse la antena  que ir   situada en la parte m  s elevada del robot  La parte frontal consta de cuatro conectores  para puerto serie  de los cuales el etiquetado como COM1 se usa como interfaz de conexi  n  con el ordenador de a bordo y COM2 para recibir las correcciones diferenciales de la radio   La radio es el cilindro azul en el que se colocar   la antena correspondiente  Consta de un  solo conector del que parte un cable que separa la senal de datos y la alimentaci  n  La radio  est   alimentada con una bater  a propia  Esta bater  a tiene adem  s su propio cargador    El sistema GPS de la estaci  n base es muy parecido al de la estaci  n m  vil  Se compone  de una caja de control con la electr  nica  exactamente el mismo hardware pero con una    CAPITULO 3  SISTEMA DE PARTIDA 33       ASLab RCT Radio ROVER          Figura 3 6  La antena  radio y caja de control de la estaci  n m  vil del GPS     configuraci  n software distinta  u
112. ivity1  E Setup serial E Change baudrate    A Read byte    Next baudrate    Ga Check datagram correctness    fail 1000 tries    Correct No more baudrates to try    Success Abort    Figura 6 4  Procedimiento de inicializacion del protocolo del sensor laser       CORBAStruct   1   CORBATypedef    laser_point 401 laser_data    ce distance   double      laser_point   E  angle   double  P    Figura 6 5  Estructuras de datos definidas en la interfaz IDL del l  ser        Try to syncronize from a previous program crash   unsigned char c 5    memset c  0  5    ine  for  j   0  j  lt  1000  j     t   for  int k   0  k  lt  4  k      c k    c k   1     if   port Receive 1  c 4          cout  lt  lt   No  data  received    Synchronization  failed    lt  lt  endl    break     Receive failed  We try to set up the laser     j    29  30  31  32  33  34  39  36    37  38    39  40  Al  42  43    44  45  46  47  48    49  50    l  52  93  54  55    56  ov  58  59  60  61  62  63    CAP  TULO 6  M  DULOS SOFTWARE 66    int msg_length   0   if  c 0    0x02  amp  amp  c 1    0x80  amp  amp  c 4      0xb0      msg length    c 2    256xc 3      1   2   unsigned char dump 1000    cout  lt  lt   Telegram detected  with length     lt  lt  msg_length  lt  lt       Waited   for    lt  lt  j  lt  lt    characters    lt  lt  endl   if  msg length  gt   1000    port Receive msg_length   dump      msg length      cout  lt  lt   Telegram  not fully received  Synchronization    failed     lt  lt  endl   brea
113. k     Receive failed  We try to set up the laser      Stop       break     Receive successful  We stop and reset the  configuration         if  j   1000      cout  lt  lt   Data stream  received   but jno  header  found    Trying    to  reset     lt  lt  endl   Reset       int pru LMSType  cadena     if  pru  PROT_LMS_OK       printf   Connection at   d baud failed Reason    d n   bps   pru         else     printf   Connectionyat   4dsuccesful n   bps     break         if i gt  size return PROT_LMS ERROR   6 3  GPSd    El desarrollo del m  dulo GPS est   motivado por el requisito 2 5 3 y 2 5 3 1 y se ha di   vidido en tres partes  Instalaci  n mec  nica  an  lisis del protocolo y desarrollo del servant   La instalaci  n mec  nica se ha contemplado en el cap  tulo  4  En primer lugar se descifr   el    CAPITULO 6  MODULOS SOFTWARE 67    protocolo de comunicaci  n  estudiando los manuales del GPS  conectando por el terminal  usando la utilidad est  ndar de UNIX minicom y realizando pruebas hasta conseguir capturar  la posici  n     6 3 1  Servant    El desarrollo del servant se realiz   como el resto de m  dulos  Se utliz   el sistema CMake  para el sistema de compilaci  n y se aprovecharon las librer  as comunes para el desarrollo del  servant  La interfaz incluye m  todos para las siguientes funciones     1  Posici  n en coordenadas geogr  ficas   2  Velocidad en m s   3  Desviaci  n est  ndar de la posici  n     4  N  mero de sat  lites usados en la soluci  n   5  Tipo de so
114. keletons     lib C   macro and CMake files  See section 4 6 2  for fast client develop   ment     4 5 3 Checking the environment for starting test programs   Configuration files    The next sections describe how to run the test programs contained in the  CORBA branch for testing the devices     Before running the test clients the configuration files must have been installed  for proper operation  Clients only need one configuration file      etc higgs nameservice ip    containing the address and port of the Naming Service that the servants are  using for publishing themselves     higgs2 9876    Configuring serial port links    On the server side there are a few more entries inside  etc higgs  the most  important one for configuration issues being devices  This directory con     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 41 of 97    42 of 97    tains soft links to the character devices that represent the USB to RS 232 con   verters in  dev  The servants open these files instead of the real devices so  they can be reconfigured without having to recompile  Usually you will mod   ify these links when swapping the serial cables of the devices or changing the  arrangement of the USB to serial converters  Knowing which device file goes  with which device is a matter of trial and error  starting the servants and  testing wether they started or not  See 4 5 3 for more information on servant    logging     Starting and stopping the CORBA servants    The servants use upstart  the 
115. king   Ipthread      Warning     Although it creates and uses threads  the interface is not itself thread safe     2 2 2 Member Function Documentation  2 2 2 1 void executive  compute_all       Creates a thread for each computer for each attribute and asynchronously calls them     2 2 2 2 void executive  get_all       Creates a thread for each supplier and asynchronously gets the value for each attribute by calling the  suppliers     2 2 2 3 void executive  set_all       Creates a thread for each consumer and asynchronously passes the value for each attribute and in each  consumer by calling asynchronously all the consumers for that attribute     2 2 2 4 void executive  wait       Waits for all threads to terminate  These threads are those created with get_all    set_all   and  compute_all       The documentation for this class was generated from the following files     e executive h  e executive cc    Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    ON    2 3 executive_attribute lt  T  gt  Class Template Reference    Stores an attribute and manages the supplier  consumers and computers associated with that attribute       include  lt executive h gt     Classes    e struct computer  e struct consumer  e struct supplier    Public Member Functions    template lt class O  gt   executive_attribute  executive  amp ex  O x0b3  T O  xget O const     template lt class O  gt   executive_attribute  executive  amp ex  O x0b3  T    O   get Q     template lt class O  g
116. lable     e One double power LED indicator for checking 12V and 3 3V    e One USB    e Three RS 232 ports COM1 to COM3 with male DB9 connectors   e One DB9 connector labelled CEXT    e Power Jack connector  12V nominal    e Two TNC connectors     e A reset button     The connectors used on both base station and rover are the same  The an   tenna  either the small one on the rover or the bigger circular one on the base  station is connected to the RFIN labelled TNC connector  The other TNC  connector is not used and its purpose is to have an external high precission  oscillator for the GPS time measures  The power jack is used to power the  unit  COM2 is connected to the radio emitter receptor for sending  receiving  the differential corrections from the base station to the rover  COM1 is con   nected to the VAIO laptop through a USB to RS232 adaptor so the GPS re   ceiver can send the position information to the CORBA servant  On the base  station  COM1 is only used when configuring the parameters of the receiver  and saving them to its internal non volatile memory     5 8 1 Configuring the devices    These procedures are not to be used while on normal operation of the robot   They are only needed on first boot  then the configuration is saved perma   nently on the non volatile memory of each device  There is a little booklet  inside the yellow bag where the station base is stored with the commands  and parameters used by the stations     The minicom command line application 
117. le with pan and tilt movements  manufactured by Schunk    It was originally bought for use as the tilt mech   anism for the laser  but as the center of gravity of the laser does not match the  center of rotation of either axis of the wrist  it would be a very power hun   ery method for tilting the laser  given that the laser is heavy and the power  comes from a portable battery system  Moreover  one of the axis from the  wrist would be unused  It was finally decided to use the wrist for controlling  the motion of the camera  even thought it could be achieved with a smaller  controller with minor power requirements     The manufacturer gives several interfaces for controlling the wrist  Profibus   CAN and serial  The serial RS 232 bus was chosen over the others because of  the simplicity  the availability of drivers and the sufficient fulfillment of our  requirements  It is connected to the on board computer via a custom made  cable with an intermediate RS 2323 to USB converter  The wrist endpoint has  industry standard serial closings     5 6 1 Wrist servant  All source code for controlling the wrist is located under   S  SVN _ROOT   Higgs branches CORBA code devices wrist    The programs and utilities found there include     Low level library with direct access to serial port     Servant code for the CORBA object     Simple CORBA client to test the functionality and status     Graphical CORBA client for manually teleoperating the wrist with the  mouse     e Compressed file w
118. links when the driver is reading it and the Minoru3D lights  up in white when the driver is reading it     GPS There are two LEDs on the side  One of them indicates that power is  OK and the other lights when enough satellites for position calculation  are being tracked     Power Board There is a green LED for the general switch and one for each  device     4 4 Operating the robot manually    4 4 1 Booting the onboard computer and choosing the OS   The onboard computer has several operating systems installed    WindRiver OS  dev sdal  1GB   This was once used as a testbench for the  WindRiver OS  It is several years old and is not used any more     Windows XP Professional  dev sda2  25GB   The original Windows OS  prepackaged with the laptop  The NovAtel GPSD utilities have been  installed here for quick GPS diagnostics     Ubuntu 10 04 Long Term Service  dev sda3  14GB   This is the current work   ing environment  with Real Time Application Interface  RTAI  kernel     Fedora 13  dev sda5  29GB   Has the previous working environment  with  CORBA modules and depending on the nameserver in the old onboard  computer  Has a custom driver for supporting the FireWire camera     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 37 of 97    38 of 97    Swap partition  dev sda6  100MB      On bootup there is a selection of the operating system to start  It includes  Ubuntu with and without real time kernel  a RAM memory test and the other  three OSs  The default OS is Ubuntu with the R
119. lowing file     e executive h    2 2 executive Class Reference    Asynchronous event dispatcher with the hybrid Push Pull model      include  lt executive  h gt     Classes    e struct callbacks    Do not use  Internal use     Public Member Functions    void get_all     void set_all     e void compute_all       void wait       Waits for all threads to terminate     void cycle       Gets and waits  Sets and waits  Computes and waits     Public Attributes    e std  vector lt  callbacks  gt  callbacks_pool  e std  list lt  pthread_t  gt  thread_pool    2 2 1 Detailed Description    Asynchronous event dispatcher with the hybrid Push Pull model     Author     Francisco J  Arjonilla Garc  a    Date   April 2010    Class Documentation    Each instance saves a data value to be distributed amongst the consumers  Do not modify the data in    executive  just call the methods     USAGE  Create an executive  Then create the attributes passing the executive just created  When creat   ing the attributes the object and pointer to method must point to the supplier  Afterwards subscribe the  consumers and the compute methods and finally while  1  ev_mgr cycle       Create one instance of executive attribute for each data value to be tracked  The interface for the    callback methods must be like  attribute_t get    set attribute_t   compute       Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    2 2 executive Class Reference 5    Note     Include the pthread library when lin
120. luci  n  Ver tipos en figura  6 6      El funcionamiento interno del m  dulo es similar al de la tarjeta de adquisici  n de datos y se  basa en la existencia de dos hilos  El primero de ellos est   bajo control del broker de CORBA  y atiende llamadas de objetos remotos volcando la informaci  n de variables intermedias en  los valores de retorno  El segundo hilo es el m  s complejo y es el que inicializa la caja de  control del GPS para despu  s quedarse a la escucha y decodificar los mensajes del GPS  que  son enviados cada segundo    Un tercer hilo asegura que las comunicaciones entre el servant y la caja de control siguen  activas  Su funcionamiento es similar al de un watchdog  Se habilita un temporizador que  con cada mensaje recibido se reinicia  Si el contador pasa un l  mite  que en el caso de este  m  dulo est   establecido en 5 segundos  fuerza la finalizaci  n del proceso y consecuentemente  el reinicio  si el archivo de configuraci  n de upstart est   correctamente instalado                CORBAStruct     CORBAStruct    _  GPS_coords E GPS_speed  Ez  latitude   double ce Soe   double  Eg  longitude   double ce peadlng   double  Ez  height   double  E  height_speed   double    CORBAStruct     enumeration    H  GPS_coords_UTM  GPS_solution_type   Eg easting   double   PENDING  ce height   double   SINGLE  E   northing   double   SBAS  Eg Zone   short   DIFFERENTIAL   E  north   boolean   UNKNOWN    Figura 6 6  Tipos de datos retornados por llamadas al servant del GPS
121. m  viles     Dise  o de ruedas       Se puede clasificar los robots m  viles terrestres con ruedas seg  n su estructura     Uniciclo Es uno de los disenos m  s sencillos tanto mec  nicamente como desde el punto de  vista del control  El robot puede trazar curvas  girar sobre s   mismo e ir recto  El centro de  giro se puede situar en cualquier punto del eje perpendicular a la direcci  n de avance de la  rueda  Dada la inestabilidad de un robot de una rueda  se suele implementar con dos o m  s  ruedas en cada lateral del robot que deslizan en los giros        Ackerman Este tipo de dise  o es el usado por los veh  culos de carretera  La caracter  sti   ca principal es que todas las ruedas se desplazan perpendicularmente al centro de giro del  veh  culo  siendo la configuraci  n m  s t  pica dos ruedas motrices traseras y dos ruedas direc   trices delanteras  Es m  s eficiente que el uniciclo porque las ruedas no sufren deslizamiento   sin embargo  no permite curvas con radio de giro peque  o  Tiene buena estabilidad a altas  velocidades        Dise  o sincronizado En este diseno todas las ruedas son tanto directrices como motrices   Permite un rango de movimientos omnidireccional  Cada rueda puede girarse sobre s   misma  para ajustarse al movimiento requerido sin sufrir deslizamiento  Se est   investigando en este  tipo de robots para la pr  xima generaci  n de veh  culos lunares  Figura  1 4      CAPITULO 1  INTRODUCCION 13       Figura 1 4  Veh  culo lunar de la NASA en inve
122. mente  y que incluye instrucciones para las siguientes operaciones          Instalaci  n de las librer  as requeridas  que se encuentran dentro del   rbol del c  digo  fuente del m  dulo       Generaci  n del c  digo a partir de las IDLs       Compilaci  n del servant     CAPITULO 6  MODULOS SOFTWARE 70    remote_client    arduinolmpl arduinolmpl H interfaz arduinoProcessing MCU     1  CORBA_method  1 1  add_to_list    2  CORBA_method LJ orden orden    3  get_order    5  remove_from_lisi    6  send_order    Figura 6 8  Diagrama de secuencia del envio de mensajes     Instalaci  n en el ordenador de a bordo     6 5  Executive    libExecutive es el nombre de una librer  a desarrollada para facilitar la comunicaci  n entre  m  dulos que deben trabajar con datos que se actualizan s  ncronamente  Surgi   la necesidad de  contar con una utilidad que  funcionando por ciclos  cogiera en primer lugar el valor de ciertos  datos en determinados objetos  los distribuyera entre todos aquellos objetos que hiciesen uso  de ese dato y cerrase el ciclo solicitando a los objetos que hiciesen los c  lculos necesarios con  los datos actualizados para comenzar un nuevo ciclo  que se representa en la figura  6 10             executive    e get_all     t_all  ho a all O H executive_attribute  a    5 1  To ie      gf  executive_attribute      g   cycle O   2  subscribe_consumer        Fe subscribe_compute        Figura 6 9  Diagrama de clases de libExecutive     Los datos son atributos miembro de obj
123. n al interior de la  estructura de metacrilato posterior    La estaci  n base no se ha instalado de forma definitiva  sino que ha de prepararse en una  ubicaci  n temporal con cada uso  Esta preparaci  n est   descrita en el manual del usuario     anexo    Sensores de la tarjeta de adquisici  n de datos    La br  jula electr  nica se mont   sobre el p  rtico de la manera que ya se ha descrito  Se  conect   a la tarjeta de adquisici  n de datos con un cable plano de tres conductores portando  alimentaci  n y la senal PWM con la codificaci  n de la orientaci  n del sensor     CAPITULO 4  DISENO HARDWARE 51    Los aceler  metros se colocaron detr  s de la tarjeta de extensi  n de conectores del arduino   entre   sta y la estructura de metacrilato que soporta el l  se  donde encuentra protecci  n f  sica  y a la vez se puede observar su correcta colocaci  n  que por su tama  o y bajo peso se ha  realizado con velcro  Junto al servant del arduino desarrollado en el cap  tulo  6  se realizar   el  requisito 2 4 2    Las resistenacias shunt se han montado     1  La primera  que controla las bater  as de dispositivo a la entrada de la tarjeta de alimen   taciones  al aire con la sujeci  n de los cables     2  La segunda  que controla las bater  as de la base del robot  sobre la puerta de acceso  a las bater  as  por el lado interior  Se accede a   l desmontando la base del robot y la  tarjeta electr  nica de control de los motores        4 3 3  Cableado de datos    Se ha tratado de r
124. n in soft real time     On bootup  the onboard computer will connect automatically to the wireless  accesspoint aslab_wireless  This accesspoint is in the same network as  the other computers  The connection is configured using the ESSID of the  wi fi hotspot and the MAC address too     4 5 Testing the modules    The CORBA servants access the NameService to publish their services   The  table 4 1 shows the    id      s used by each module  being the    kind    parameter  empty for all of them        If appropriate module is installed and running     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 39 of 97    40 of 97    Description IDL Name Service ID    Camera Camera idl CAMERA  I O Board Arduino idl Arduino  Robot base Pioneer2AT idl PIONEER   Wrist wrist idl wrist    Battery Model BatteryModel idl BatteryModel  Current Monitor BatteryModel idl CurrentAverage  Laser Laser idl LASCOR  GPS eps idl GPS    Table 4 1  Names of the CORBA objects registered in the NameServer     4 5 1 Subversion     The device modules have test programs that can be run either locally from the  onboard computer or remotely without needing to log in  This section and  the next one are a quick guide for reconfiguring and troubleshooting easy  problems with the devices  Any problem not solved here requires further  understanding of the robot software mechanisms and are described in the  developer manual     The first thing to do is download the source code  Supposing you already  have installed the n
125. n se describe el proceso para la selecci  n cualitativa de los componentes  y los c  lculos matem  ticos para obtener los valores cuantitativos de los componentes que lo  requieran     Selecci  n del interruptor electr  nico    En la selecci  n del dispositivo de interrupci  n electr  nica se ha descartado el uso de       transistores y otros componentes semiconductores debido a la ca  da de tensi  n entre sus  terminales  de unos 0 6V  y que resulta inaceptable para muchos de los dispositivos cuando  la carga de las bater  as se reduce  al imponer una reducci  n en la tensi  n de la alimentaci  n  aun mas baja y restringiendo el m  nimo de carga necesaria para que contin  e operando   Finalmente se opt   por el uso de rel  s  Estos dispositivos electromec  nicos ofrecen una  ca  da de tensi  n despreciable aunque la velocidad de conmutaci  n es baja  del orden de  10Hz  Esto no es un problema ya que la frecuencia de conmutaci  n del rel   debe estar por       debajo del tiempo de inicializaci  n de los dispositivos que alimenta  A modo de ejemplo  el  sensor l  ser tarda de media unos 40 segundos en inicializarse  m  s el tiempo que dura la  sincronizaci  n y la inicializaci  n del software controlador  El rel   debe ser capaz de soportar       la corriente del dispositivo de mayor consumo  que se ha analizado en p  rrafos anteriores y  corresponde a los 4A de la mu  eca  la bobina debe funcionar a 12V y debe disponer de dos  contactos normalmente abiertos  uno para controla
126. na antena de mayores dimensiones y una radio con una  potencia de emisi  n de 2W  El resto de componentes son iguales           Figura 3 7  Componentes de la estaci  n base del sistema GPS    Existe una antena GPS instalada en el   tico del departamento de autom  tica  Su locali   zaci  n se puede ver en la figura  3 8  De   l cae un cable coaxial por la fachada del edificio que  permite instalar los componentes de la estaci  n base en el interior del edificio           3 6  Descripci  n de la tarjeta de adquisici  n de datos    El robot cuenta con diversos sensores y actuadores que no son directamente conectables  a un puerto serie o cualquier otra interfaz de conexi  n con una computadora moderna  La  tarjeta de adquisici  n de datos viene a suplir esta necesidad de conectar dispositivos sencillos  con el ordenador de a bordo    La funcionalidad de la tarjeta de adquisici  n de datos est   dividida dos partes  La primera  de ellas reside en el ordenador de a bordo y se encarga de mediar entre la interfaz CORBA  existente y el puerto serie con el que se comunica con la tarjeta  y la segunda es la tarjeta de       adquisici  n de datos y el firmware desarrollado en sincron  a con el servant     CAPITULO 3  SISTEMA DE PARTIDA 34       Figura 3 8  Localizaci  n de la antena GPS en el   tico del departamento     El servant CORBA est   desarrollado en Java y dispone de una interfaz gr  fica por la que  se pueden visualizar todas las variables cuyo valor se reciba desde la tarjeta
127. o        Figure 4 12  Compass        Figure 4 13  Accelerometer     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 31 of 97              On board  computer    urrent Voltage  sensor  Compass    x2       Laser Tilt Sensor  Accelerometer    Figure 4 14  General data connection diagram       4 1 2 Data connection diagram    Arrows indicate the direction of valuable information flow     4 2 Setting up the system    Preparing the robot for operation is easy  Power it on and all systems will  start automatically  On next sections it will be discussed how to command it     4 2 1 Powering the robot    There are three switches that must be turned on to enable the robot with full  capabilities  The first one is at the back of the robot  next to the wheels  This  switch powers the Pioneer2AT8 robot base and the power board  The power  board has a general switch for all devices and one more for each device for    32 of 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    manual disabling  The power board is placed between the two big methacry   late structures  Each switch has a label with the device that enables  The last  device to power on is the VAIO laptop     Note  The devices powered by the power board can be also disabled auto   matically by the Arduino  When the Arduino is not correctly powered on   the voltage levels at its pins are undefined  and may disable the power to  some devices  Be sure to power the arduino if you are going to use any other  device from the power b
128. o actualmente abiertas                   048  87  Pasa ora ara ee 87  IAS AE 87  AAA ICO i AG ESE TRAE EEE EEG OME KEE RE KE we 88    OO  Trabajos UlUTOS  es s sea ten en eh ee ee ee ek a 88  0 0  L    Estaci  n de Caleal  s s s s   soso aaa das ees awe SS 88    INDICE GENERAL    9 3 2  Optimizaci  n del envio de video       2    a a ee ee  9 3 3  Uso de bater  as de litio      2    ee    9 3 4  Panel solar     Bibliografia    A  Esquemas de la placa de alimentaciones  B  Manual de referencia de la libreria executive    C  Manual de usuario  D  Manual del desarrollador    E  Herramientas    89  89  89    90    91    98    109    129    160    Indice de figuras    1 1  El pr  ximo robot de exploraci  n marciana  Curiosity                 10    1 2  Uno de los robots iRobot usados en el reciente desastre nuclear de Fukushima   11  1 3  Robot de patas BigDog                       e    12       1 4  Veh  culo lunar de la NASA en investigaci  n                           13   be ELTODOS Vrbanoj sesers saerad a a rrp EEn 14    1 6  El robot Khepera con vista del interior         ooa aoa a a a a 02 0000  15  1 7  El robot Qbo en desarrollo por la empresa thecorpora                16       1 8  Logo de la UPM y ASLab J            0   2 2 0 0    00000050  17  19  Logo de ASyo je ss e a aaa AAA ds 17  2 1  Vista general del proyecto       s o saaa                       e    27  a SS Oe 29  oats ee ee ee ee 30  AAA 31  3 4  El sensor l  ser SICK LMS200    e    31  3 5  Componentes que fo
129. o de la plataforma para la integraci  n f  sica de todos los elementos    e Selecci  n e implantaci  n de componentes y sensores que aumenten las capacidades del robot   e Dise  o del sistema de control de alimentaciones  con sensado del nivel de bater  as    e Integraci  n de los canales de se  ales de los equipos     Dise  o del software de la plataforma    e Despliegue de la tecnolog  a CORBA    e Integraci  n del control remoto de los equipos con el desarrollo de m  dulos CORBA    e Gesti  n de errores y tolerancia a fallos y desconexiones de los dispositivos    e Herramientas de desarrollo y despliegue    e Librer  as que faciliten la explotaci  n de la plataforma  junto con plantillas  documentaci  n  etc     OBSERVACIONES     ENTIDAD PROPONENTE  EL TUTOR     Nombre  Nombre  Ricardo Sanz Bravo    POR LA C  TEDRA DE PROYECTOS EL ALUMNO     Nombre  Fco  Jes  s Arjonilla Garc  a  Nombre        
130. o encendido  por ello no se prestar   el servicio remoto aunque en este caso es irrelevante   se est   comprobando   nicamente que se controla la alimentaci  n a los dispositivos        Requisito 1 2 1  Los dispositivos se controlar  n individualmente  Como el anterior  solo  que se accionan los interruptores espec  ficos del canal que se quiera controlar  Debajo de cada  interruptor est   indicado con una etiqueta el dispositivo que controla     Requisito 1 2 2  Apagado manual de dispositivos  La verificaci  n coincide con la del re   quisito anterior     Requisito 1 2 3  Apagado remoto de dispositivos  Similar a la verificaci  n del requisito  1 2 1 salvo que en lugar de accionar los interruptores manualmente  se dejan todos encendidos  y mediante el cliente de pruebas desarrollado para la tarjeta de adquisici  n de datos y que  apaga y vuelve a encender cada dispositivo aproximadamente cada segundo  queda verificado  el requisito           Requisito 2  Integraci  n de sensores y actuadores  En los siguientes p  rrafos se encuentran  multitud de ejemplos de control de dispositivos remotos     Requisito 2 1  Uso de la tecnolog  a CORBA  No hay m  s que conectarse a alguno de  los servants  Muchos de los requisitos se han validado simult  neamente ya que entran en  funcionamiento muchos elementos que trabajan a la vez     Requisito 2 2  Los objetos CORBA estar  n disponibles cuando el dispositivo lo est    Se  puede comprobar que si se apaga la alimentaci  n de cada dispositi
131. o funcionamien   to de procesos en tiempo real usando las herramientas para tal fin del  que disponen los n  cleos en tiempo real              CAPITULO 2  REQUISITOS 22     Nimro q oS S      Nombre   Elaboraci  n de un sistema de configuraci  n e inicializaci  n de servants     Importancia  alta  Descripci  n   Se crear  n los scripts y los archivos de configuraci  n necesarios para  que todos los m  dulos hagan uso de los mismos par  metros y se faci   lite la configuraci  n com  n  El sistema de inicializaci  n de servants se  realizar   usando las utilidades de arranque del sistema operativo   Justificaci  n   Durante la experimentaci  n con el robot se realizar  n cambios en la  configuraci  n que no deber  an suponer m  s esfuerzo que el cambio del  par  metro en un solo punto del sistema   Verificaci  n   Existir   un   rbol de directorios desde el que se controlar  n los par  me   tros m  s importantes de configuraci  n de los servants      Nimo LE     Nombre   Desarrollo de tarjeta de alimentaciones     Importancia alta S O   S    Descripci  n   Se desarrollar   una tarjeta que controle la alimentaci  n de los distintos  dispositivos que se instalen en el robot     la autonom  a de las bater  as  Se realizar  n experimentos en los que los  dispositivos se apagan espont  neamente        verificaci  n   Los dispositivos se encender  n al accionar un interruptor en la tarjeta    Justificaci  n   El consumo en veh  culos aut  nomos debe reducirse si se quiere aumentar  de
132. oard     Only the laptop is mandatory to power on  The other switches may stay off  if you are not going to use the device associated to that switch  However you  will have to start at least one device to make it useful     The Arduino does not disable any device by default  Both the manual switches  and the Arduino may force the shutdown of any device  so to use a device   be sure that none of them disables it  The automatic switches are remotely  controlled through the Arduino module     4 3 Basic maintenance    There is little maintenance to do with the robot  The batteries are the most  important matter to be aware  followed by the wheels     4 3 1 Wheels    Once every two months or so  the wheels will loose pressure and they must  be inflated evenly  this way the odometry will not loose precision  It can  be noticed when the wheels have deinflated by looking to the tread pattern   Two separate bands of moist will indicate underinflation  one on the middle  overinflation  and correct inflation when moist is evenly distributed  There is  a manual pump with manometer in the cabinet     4 3 2 Battery management    The robot has 3 battery packages  One of them is inside the Pioneer2AT8  the  other one powers the radio receiver for the differential GPS and the last one  is embedded in the laptop     Robot base lead batteries    There are three lead battery packages inside the Pioneer2AT8 that powers  the motors  the internal electronics and the external power board  To access 
133. obots  creaci  n de entornos virtuales  c  lculo cinem  tico  inverso y filtros  Adem  s est   siendo usado por otros grupos de investgaci  n dentro del  departamento     Ubuntu Linux   RTAI Se trata de la distribuci  n Ubuntu Linux  una de las m  s usadas  en ordenadores de esritorio y port  tiles  a la que se le anade un n  cleo de tiempo real   Hay mucha documentaci  n y tutoriales que facilitan la modificaci  n de la distribuci  n  para hacerlo en tiempo real     Finalmente se decidi   instalar Ubuntu Linux 10 04 LTS  con soporte oficial durante tres  a  os  hasta el 2013  usando como n  cleo el kernel de linux con los parches RT AI  El proceso  seguido para descargar  configurar  compilar e instalar el n  cleo se describe en el manual del  desarrollador  anexo  D           5 5  Configuraci  n de los m  dulos CORBA      sta secci  n resuelve las necesidades planteadas por el requisito 1 1 2     5 5 1  Par  metros de los servants    Se ha creado un   rbol de directorios donde se han introducido los archivos de configuraci  n  necesarios para iniciar los servants  Este directorio debe ir ubicado en     etc higgs    en todos los ordenadores que vayan a ejecutar componentes CORBA  ya sean clientes o  servants  Los clientes   nicamente necesita el archivo con la direcci  n del servicio de nombres   mientras que en el ordenador de a bordo se han necesitado todos ellos  El   rbol resultante es  el siguiente     higgs      devices       CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 59 
134. oducido en aeronaves  tripuladas donde el control lo realiza una m  quina y el piloto gu  a al sistema de control sin  tener acceso directo a los accionamientos    A  n as    la autonom  a de veh  culos terrestres es m  s compleja que los no terrestres  debido  a irregularidades en el terreno  diferencia de densidades de superficie  distintas condiciones  climatol  gicas y de la superficie y posibles inestabilidades del entorno percibido    Una de las aplicaciones m  s notables de la navegaci  n en exteriores son los rovers de  exploraci  n marciana  Los robots Sojourner  Spirit  Opportunity y el m  s reciente Curiosity   programado para ser lanzado en diciembre de este a  o 2011  pueden encontrar la posici  n del  sol y navegar por sus propias rutas a destinos sobre la marcha mediante                Creaci  n de un mapa 3D con las caracter  sticas topogr  ficas de la zona       Distinci  n de terrenos seguros e inseguros     CAPITULO 1  INTRODUCCION 12       Figura 1 3  Robot de patas BigDog       C  lculo de rutas posibles hacia el destino prefijado       Navegaci  n a lo largo de la ruta calculada     Dos proyectos militares estadounidenses  el DARPA Grand Challenge y el DARPA Urban  Challenge  promueven la investigaci  n en navegaci  n en exteriores  el primero en zonas rurales  y el segundo en urbanas  habiendo logrado a fecha de hoy gran autonom  a en los veh  culos  desarrollados    En se ha llegado a una soluci  n bastante buena para el problema de control de robots  
135. odules may be diagnosed inspecting the logsin  var log higgs    where all the output from the programs is registered  These files may  grow big  so it has been created a logrotate config file for them  higgslog   placed in  etc logrotate d      e MODULES  Removed p12303 and ftdi_sio kernel modules  They do not  load with the same order on each bootup  so they are manually loaded  by the inits scripts as described in 5 2 3  The binaries have been moved  from the original location to  etc higgs modules     5 3 Common libraries and module considerations    52 of 97    The RCT testbed may be controlled remotely by means of procedure calls  to CORBA objects  All of Higgs devices including the base platform have a     This is not valid in Ubuntu RTAI as the ACPI subsystem is not functional  It is docu   mented here in case other OS is used      This is not available when running the RTAI kernel     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    Top and bottom rows are hardware  related components  not relocatable   Green  Fully integrated and tested  components  Blue  Client components  for testing and operating the others   Gray  Integration pending  Red     Planned components        Figure 5 4  General view of the CORBA modules     CORBA interface definition that must be used in order to remotely or auto   matically operate the robot  In this section these interfaces are described in  detail     There are additional CORBA objects running in the on board computers that  whil
136. ol size    i         pthread_t thread   pthread_create  amp thread   0  threaded_set    amp consumer_pool   Lil     exec    gt thread_pool push_back thread              static void x  threaded_set void   void_data          consumer   data    consumer    void_data   T x   value_p   switch  data    gt set_type      case NORMAL    data    gt obj    gt  data    gt set    x data   value    break   case POINTER   value_p   new T  data    gt value     data    gt obj    gt  data    gt set_p  value_p     break   case REFERENCE    data    gt 0bj    gt   data    gt set_r   data   value    break     j    return 0     j    Prevencion de impactos       Se ha desarrollado un algoritmo para extender el m  dulo del robot base y que prote     ger   contra posibles impactos  reduciendo la velocidad del robot de manera progresiva a  medida que se aproxima a un obst  culo  El algoritmo calcula por una parte la velocidad  m  xima en direcci  n del eje del sensor que puede tener el robot en funci  n de la distancia          al obst  culo detectado  si hay alguno  con los sensores ultras  nicos de la base rob  tica  y    por otra parte la velocidad solicitada desplazada a cada sensor y proyectada sobre su eje  Si    CAPITULO 6  MODULOS SOFTWARE 74    la velocidad calculada supera la velocidad maxima  se acota la primera a la segunda  Este  algoritmo permite desplazar el robot cerca de obstaculos y paredes siempre que no se acer   que a ellos  Puede pasar por pasillos estrechos sin limitar la velocid
137. oma entre habitaciones detectando caracter  sticas del entorno  ya sea por contacto o  por cualquier otro medio        Los sistemas m  s avanzados usan informaci  n de varios sensores simult  neamente  reali   zando localizaci  n y navegaci  n simult  neamente  SLAM   Pueden condicionar el uso de cada  sensor al que proporcione los datos m  s fiables y reconstruir el mapa partiendo de esa nueva  informaci  n    En general  los robots de interiores limitan su movimiento al alcanzable por una silla de  ruedas  controlando ascensores y puertas electr  nicas en un mapa 2D  Los costes de investi   gaci  n se abaratan  mientras que la autonom  a necesaria para subir escaleras y abrir puertas    CAPITULO 1  INTRODUCCION 11          Figura 1 2  Uno de los robots iRobot usados en el reciente desastre nuclear de Fukushima     son temas de investigaci  n candentes     Localizaci  n y navegaci  n en exteriores    La autonom  a en exteriores es alcanzable m  s f  cilmente que en interiores  Los obst  culos  raramente aparecen y son f  cilmente sorteables  No cortan el paso y no existen riesgos de  choque o necesidad de b  squeda de caminos  pues una desviaci  n del rumbo no implica  necesariamente que el robot impacte contra un obst  culo    Algunos ejemplos de robots aut  nomos en exteriores son aeronaves no tripuladas  mi   siles de crucero y robots submarinos  Algunos de estos robots logran realizar misiones sin  interacci  n humana alguna  Parte de esta tecnolog  a tambi  n se ha intr
138. ompress the vanilla linux kernel 2 6 32 11  The ver     sion must much exactly so the RTAI patch can be applied smoothly  The  linux kernel sources can be downloaded from http    www kernel org      ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 49 of 97    50 of 97    4     Get the RTAI patch form http   www  rtai org  As the time of this  writing  the latest version was 3 8 1       Apply the patch     cd  pathtolinuxkernel2 6 32 11   patch  pl  lt   pathtortai rtai 3 8 1 base arch x86    pebcnes  hal   lanux   2 6 32   11 5K806 2 06 0 3 patech    Be sure to use the patch for the exact kernel vanilla version  in this case  2 6 32 11  or errors and warnings will arise  The  p1 option removes  the base directory form the path of the files inside the patch       Configure the kernel  First  copy the ubuntu kernel config    cp  1ib modules  uname  r   build  config     path_to_kernel 2 6 32 11    and run make menuconf ig inside the root directory of the downloaded  kernel sources  Look for the following options and change them to  the appropriate values  local version append to  rtai 3 8 1 1  number  of CPUs to 1  ACPI to no  all power management features to no  mod   ule versioning support to yes  interrupt pipeline to yes  The RTAI patch  needs ACPI not to be supported by the kernel  As a consequence  no  power management features will work and the kernel will not be able  to run the HALT instruction on shutdown       Compile with make  This can last many hours       Generat
139. omprobar el cumplimiento del requisito  La numeraci  n  empleada describe la jerarqu  a de requisitos de manera que un requisito derivado describe  detalles del superior           N  mero EY    E a E i   Importancia alta   Descripci  n   Se establecer   una plataforma base sobre la que desarrollar e integrar a  Paci a a ae aT   Justificaci  n   Los m  dulos a desarrollar necesitan una base sobre la que funcionar       Verificaci  n   Es posible desarrollar e integrar m  dulos en la plataforma rob  tica base       N  mero EY      Nombre   Integraci  n de un ordenador de a bordo     Importancia alta    Descripci  n A SSS instalar   un ordenador a bordo que ejecutar   los servicios que el E  ofrezca a clientes remotos     Justificaci  n   Es necesario un sistema de procesamiento de informaci  n que entienda  los protocolos del entorno distribuido y adapte las se  ales de los dispo        sitivos     Verificaci  n   Se iniciar   una sesi  n en modo consola remotamente desde otro ordena   dor      N  mero     PE       Nombre   Sistema operativo en tiempo real     Importancia   media OSS OO    Descripci  n T sistema operativo del ordenador de a bordo deber   contar con    cidades de tiempo real    Justificaci  n   En la ejecuci  n de una tarea  las acciones que realiza un robot puede  ser inadecuado por realizarse m  s tarde de lo debido  Los tiempos de  ejecuci  n de los procesos han de ser predecibles    Verificaci  n   Se realizar  n pruebas espec  ficas que confirmen el correct
140. order    Figure 5 11  Sequence diagram for sending data to the i o board     remote_client  H arduinolmpl arduinolmpl H orden Command H interfaz arduinoProcessing MCU     1  send_data  1 1  update_data    1 2  update_data    2  CORBA_get_method  2 1  get    2 2  get  3  CORBA_data    Figure 5 12  Sequence diagram for receiving data from the i o board     62 of 97 R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    Modifying and uploading the embedded C code    The embedded program inside the Arduino has been developed using the  official IDE based on the processing IDE and the libraries associated to it     There are a few issues for remembering when installing this module on a  fresh linux installation  The serial library RXTXcomm is included in the sub   version directory  svntssh   sagan home svnroot Higgs code devices arduino lib  The file librxtxSerial so should be copied to   usr SJAVA_BASE  jre 1lib i386 and the three jar files core  jar RXIXcomm  jar  and serial j3ar to    usr SJAVA_BASE jre lib ext  Then make sure the user running the  servant is in the groups uucp  dialout and lock  and that the package  uucp is installed  Ensure the cross compilation environment for avr is in   stalled  In Debian  Ubuntu these are the packages gcc avr  avr libc and  Diners    Now check for the embedded C source in the subversion directory    svnt ssh   sagan home svnroot Higgs code     devices arduino arduino  _ embedded    A copy of the Integrated Development Environment for the 
141. ores t  ctiles    Sensores de contacto    Sensores   pticos    Sensores de proximidad    En general los sensores se clasifican como propioceptivos o exteroceptivos por las variables       que miden  si son propias del robot independientemente del entorno o son del entorno     Ejecuci  n de tareas Tras la percepci  n del estado interno y externo el siguiente paso consiste  en realizar una tarea f  sica que modifique este estado  Esta tarea puede ser parte de una  secuencia de subtareas o ser una tarea condicional  Como ejemplo  un robot patrulla puede  tener una secuencia de movimientos preconfigurada que se ve alterada cuando detecta un  intruso     1 3 2  Rob  tica m  vil  Locomoci  n    Existe una gran variedad de modos de desplazarse sobre superficies  Los m  s empleados  en rob  tica son ruedas  cadenas y patas  Los robots de ruedas son los m  s empleados con  diferencia  Son m  s sencillos  m  s econ  micos y la carga que pueden transportar es relativa   mente mayor  En general  Para una misma carga   til  tanto los robots con patas como los  que llevan cadenas son m  s complicados y pesados  Adem  s  la disponibilidad de robots de  ruedas es mucho mayor  pues es posible transformar coches de radio control    No obstante los robots de ruedas pueden tener dificultades para moverse en terrenos  irregulares o para superar obst  culos mayores que aproximadamente 0 4 veces el radio de sus    CAPITULO 1  INTRODUCCION 10       Figura 1 1  El pr  ximo robot de exploraci  n marci
142. os en los que ha trabajado o est   trabajando el grupo ASLab son     HUMANOBS Humanoides que aprenden habilidades socio comunicativas por imitaci  n   Financiado por el programa IST de la Comisi  n Europea     COMPARE Una aproximaci  n por componentes a sistemas embebidos y en tiempo real   financiado por el programa IST de la Comisi  n Europea     ICEA Integrando Cognici  n  Emoci  n y Autonom  a  financiado por el programa IST de la  Comisi  n Europea     C3 Control Cognitivo Consciente  financiado por el Ministerio de Educaci  n y Ciencia     1 5  Alcance del proyecto    El alcance del proyecto es el desarrollo y la implantaci  n de una plataforma rob  tica m  vil  para navegaci  n en interiores y exteriores en entorno distribuido con el middleware CORBA   usando en lo posible componentes hardware ya adquiridos  y la redacci  n de documentaci  n  en forma de manuales de cuanto sea necesario para operar el robot  con el objeto de permitir  pruebas de sistemas de control en investigaci  n de sistemas conscientes y autorreparables     1 6  Objetivo del proyecto    El objetivo principal del proyecto es la ejecuci  n de las tareas propuestas en el alcance  del proyecto  Para ello es necesario analizar el sistema existente y el sistema deseado con  detalle suficiente para poder planificar el tiempo de desarrollo  A partir de   ste an  lisis se  establecer  n los requisitos que ha de cumplir el robot a la finalizaci  n del proyecto    El proyecto tiene sentido siempre y cuando el
143. os ordenadores  con los que se ha trabajado simult  neamente        Existe un punto de acceso wifi con ESSID aslab_wireless necesario para las comunicaciones  inal  mbricas con el robot     Capitulo 4    Diseno hardware    En este cap  tulo se describir   el proceso seguido para el diseno del hardware  No todo  el robot ha sido dise  ado  sino que una parte estaba ya montado y funcionando  aunque sin  robustez ni integraci  n adecuadas  otra parte son elementos adquiridos pero no montados  sobre el robot  y algunos componentes han tenido que disenarse desde cero        4 1  Dise  o de la tarjeta de alimentaciones    4 1 1  An  lisis de los requisitos    En esta secci  n se va a analizar el requisito 1 2  Una de las condiciones que debe cumplir el  robot m  vil es  como ya se ha comentado en el capitulo  2  relativo al an  lisis de requisitos  es  que pueda continuar operando con normalidad aunque no todos sistemas est  n en funciona   miento  El caso t  pico ser  a aquel en el que el robot se pone en marcha con todos los sistemas  operando correctamente y con el transcurso del tiempo y de la misi  n asignada  ciertos com   ponentes dejen de responder bien sea por aver  a o por cualquier otra cosa  Por ejemplo  una  misi  n en la que el robot m  vil deba desplazarse por interiores y por exteriores necesita de  sensores de proximidad  en este caso el l  ser  en el interior del edificio que le ayude a reconocer  las habitaciones  mobiliario y obst  culos  y otro sensor totalment
144. prender para optimizar la calidad de las presentaciones usando l  gica  difusa para la toma de decisiones y representa las creencias del robot en cuanto a lo que  es bueno  malo o indiferente para una presentaci  n  Las creencias del robot contin  an evo   lucionando para coincidir con las opiniones del p  blico usando algoritmos gen  ticos para la  adaptaci  n de las reglas que gu  an esta evoluci  n  2            Khepera       Los robots Khepera son una serie de peque  os robots con m  ltiples funcionalidades y posi   bilidad de expandir estas funciones con tarjetas de extensi  n  como comunicaci  n inal  mbrica    CAPITULO 1  INTRODUCCION 14       upm  disam   y    Figura 1 5  El robot Urbano    y otros sensores  Han sido desarrollados por la empresa K Team Corporation  Es de especial  utilidad en la investigaci  n de las capacidades de enjambres de robots trabajando para un  objetivo com  n  En  8  hay m  s informaci  n sobre un proyecto de investigaci  n que ha usado  estos robots    En su versi  n m  s b  sica  el robot Khepera III dispone de sensores de ultrasonidos en  todo su per  metro  sensores de proximidad basados en infrarrojos para rangos de distancias  peque  as y una configuraci  n de ruedas con los que desplazarse como un m  vil tipo uniciclo    Tal como se expone en su p  gina web  la caracter  stica m  s importante es su modulari   dad gracias al bus de extensiones incorporado para pr  cticamente cualquier configuraci  n de  sensores y actuadores  Incorpor
145. probara mediante polimetro  que tienen el mismo valor  De esta manera  aunque el valor de ambas resistencias tenga una  tolerancia de 5  o 10  tendran un valor parecido cualquiera que sea este  Es el caso de las  resistencias R   y R3 correspondientes a los sensores de la bateria de instrumentacion y de los  motores  Para las resistencias cuyo valor teorico se corresponde con el paralelo de dos resis   tencias se han montado uniendo fisicamente dos resistencias en paralelo obtenidas como se  ha descrito en el procedimiento anterior  de esta manera la precision obtenida es la adecuada             para las necesidades     4 3  Montaje y cableado    En esta secci  n se describe c  mo se han montado los componentes hardware que faltaban  por integrar f  sicamente en el robot  al igual que la distribuci  n esquem  tica del cableado  tanto de la alimentaci  n como de los datos        CAPITULO 4  DISENO HARDWARE 49       tye E    a 4 cr  INSTRUMENTATION MOTORS    Figura 4 4  Distribuci  n de pistas del sensor I V       Figura 4 5  Fotograf  a del convertidor de se  al del sensor de tensi  n e intensidad        Figura 4 6  Fotograf  a del sensor i v acoplado a la tarjeta de adquisici  n de datos     CAPITULO 4  DISENO HARDWARE 50    4 3 1  Dise  o del p  rtico    Se ha construido un p  rtico en aluminio que proporciona una plataforma elevada donde  apoyar la antena receptora de se  al GPS y la br  jula electr  nica  requisitos 2 4 1 y 2 5 3     El material elegido ha sido el aluminio
146. que se usen resoluciones bajas  Para las  resoluciones m  s altas el m  dulo no es usable  latencias de varios segundos y refrescos muy  bajos              3 4  Descripci  n del sistema l  ser       El sistema de detecci  n de obst  culos principal consiste en el sensor l  ser SICK LMS200   con capacidad para la lectura de distancias basado en el tiempo de retorno de un haz de luz  l  ser  desde 8mm hasta 80m  Cuenta con tres par  metros principales configurables        1  Resoluci  n y distancia m  xima  Se puede configurar entre una resoluci  n de 1mm y  distancias de hasta 8m o una precisi  n de lcm y distancias de 80m     2    ngulo de barrido  Seleccionable entre 180  y 100       3  Resoluci  n angular  Las opciones son 0 25    0 5  y 1    siendo la primera usable   nicamente  para barridos de 100       CAPITULO 3  SISTEMA DE PARTIDA 31       Figura 3 3  C  mara estereosc  pica    SS E  to       Figura 3 4  El sensor l  ser SICK LMS200    El   ltimo par  metro configurable  no relacionado con el funcionamiento del l  ser  es la  velocidad de comunicaci  n por el puerto serie  Puede seleccionarse entre 9600bps  19200bps  y 38400bps en el modo RS 232  y tambi  n 500000bps en el modo RS 422  La selecci  n del  modo se realiza empezando la comunicaci  n a la velocidad de 9600bps  ya sea RS 232 o RS   422  y enviando el comando apropiado para cambiar la velocidad a la deseada  Si con los  par  metros elegidos  tambi  n configurable mediante comandos  la velocidad del puerto s
147. r  cticas y construcci  n f  sica 47  orar sacas 48  4 3 1  Dise  o del p  rtico               e    50  MEE E E eee eee    50  4 3 3  Cableado de datos              a a 51  4 3 4  Cableado de alimentaciones         0 0 0 0    a ee ee gl   54  Poe HA a e ee eee eee Ass a 54  senenn erenneren 54  5 3  Librer  as Comunes    56    5 4  Sistemas operativos en el ordenador de a bordo                   57  5 5  Configuraci  n de los m  dulos CORBA   ooa             58    5 5 1  Par  metros de los servants               0 0000 eee 58   Dee eden eee eeeeeeoeueeeneene 59   61  ee ee a E E E EAN 61  CLl  Deval   o se oo Ae BRE RSE E SEO ERE CREME Ew OSES SE 61  6 1 2  Tolerancia a fallos                                  61   O E EEE 62  6 2 1  Selecci  n del c  digo base                                        62  AR E he eee hee 64  ANO esas csapra Oe ek bee SRA ee a ee eS 66  AA ASA 67  A ee eee PO eee ee eee 68  AE is 2c as bas wee we eRe ee ee ee ae ee ee 68  042  Serva  esre eanes ER eee Owe oe eee ee eee eee 69   6 5  y    ga2e  ws dbo ww EES 6 Owe SR Hw eS SEE Sew So Oe 70    6 6  Prevenci  n de impactos          a a 13    7  Validaci  n y pruebas TT  ele Pruebas e he we a asa AA AA 17    7 2  Validaci  n de los requisitos     2    2  a  ei    8  Aspectos de la direcci  n de proyectos 82  8 1  Presupuestol        o  lt  lt     2    ee EEE A ee ee ed eae 82    9  Conclusiones y trabajo futuro 85    9 1  Conclusiones       2 she be kOe EOE Rew wee SES E 85  9 2  L  neas de desarroll
148. r de la placa de alimentaciones    95    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES    AYOLYYUOEYT SWALSAS SNOWONOLNY  aquvOd Y3IMDA SSSIH 6002 01    sc    od  12V IN     td  L2VIN    u  a  ab  UN  TU  ey  a  N                     Figura A 6  Serigraf  a de la placa de alimentaciones    96    APENDICE A  ESQUEMAS DE LA PLACA DE ALIMENTACIONES    x X  x x  xX xX  x x  x x  x x  x x  x x  x x    os is ile Dike sie ee ae i           DRILL CHART          SYM    Figura A 7  Distribuci  n y di  metro de los orificios de la placa de alimentaciones    97    Ap  ndice B    Manual de referencia de la libreria exe   cutive    98    libexecutive    Generated by Doxygen 1 6 1    Tue Sep 27 12 20 45 2011    Contents    1 Class Index    1 1    Class List      4 4   2    2 Class Documentation    Al    ive    20    2 4    executive  callbacks Struct Referente     4 5442448 sanos  ss  Poll Detailed DESC  lt   scis o ra  EXSUMTIVE Class ESTEROS acord CA SEEDED HERE RHE  Zoek  Detailed Description   6g be he eS ERD we rra  2 2 2 Member Function Documentation              0    002 eee eee ee  Laal Gomme TE 6 oe Be eee ee eR AAA  Bee  WA caro orar a oS REESE ers e  Gr E   EREE a cr a ae a ee ea ae  ae UNE ke hee zo ER EO eae eT KOE oe eG ee  executive_attribute lt  T  gt  Class Template Reference                    04   201 Detaled Descniploi   42h tee be ede Eee G ee eS OH RR a  2 3 2 Constructor  amp  Destructor Documentation                2 000004  Adal GROCUUVE AIDU 2 2 oo o co ehh ES
149. r de un c  digo que lograba conectar con la mu  eca  y aplicar comandos sencillos de movimiento  La interfaz de este c  digo no era suficientemente  buena para trabajar con ella  por lo que se empez   reorganizando y reestructurando el c  digo   Tras unos d  as de trabajo se decidi   que ser  a m  s sencillo comenzarlo desde cero usando la  documentaci  n para la elaboraci  n del protocolo y tomando como referencia de c  digo en fun   cionamiento el c  digo antiguo  Se inici   analizando el protocolo y disenando unas clases  a  n  sin la complejidad de CORBA  que facilitaran su implementaci  n  En cuanto se consigui   la  comunicaci  n con la misma secuencia de env  o de bytes por el puerto serie  la extensi  n del  protocolo a la funcionalidad completa de la mu  eca se aceler    gracias a la nueva estructura  de clases  que se puede observar en la figura  6 1    Conseguida la comunicaci  n con la muneca se escribi   la interfaz IDL y se implement   el  servant usando el c  digo descrito en el p  rrafo anterior        6 1 2  Tolerancia a fallos          Se ha logrado una muy buena tolerancia a fallos en este servant  Los fallos que se tienen  en cuenta son     1  Tensi  n de alimentaci  n fuera del rango admitido     61    CAPITULO 6  MODULOS SOFTWARE 62      interface    wrist    a  get_full_state         set_max_speed     F2 set_max_accel       fe set_position      fe set_diff_position      La get_position       2  get_speed        PO  get_current     Ey axis_address   k is
150. r el dispositivo en si y otro para desconectar  el convertidor 12VDC 24VDC en los canales de 24V  Se usar   el mismo rel   para todos  los canales  Las caracter  sticas principales del rel   seleccionado se muestran en la tabla  4 1   Se trata de un rel   subminiaturizado de dos polos y un terminal por polo con contactos          normalmente abiertos        De la tabla de datos se deduce que la ca  da de tensi  n m  xima que sufrir   el rel   en el  peor de los casos es de 4A x 30m   0  12V     CAPITULO 4  DISENO HARDWARE 40    Diseno del circuito de control del rel      La bobina de activaci  n del rel   no es tan sensible a variaciones de tensi  n como lo son los  dispositivos y es posible controlarlo con un transistor  Se ha usado un transistor de prop  sito  general NPN en serie con la bobina  Ver la figura  A 1  La base del circuito estar   controlado  por una fuente de corriente continua formada por la fuente de 12V y una resistencia que  realice simult  neamente la funci  n de resistencia pull up  siendo el resto de componentes los  que desv  an la corriente de base del transistor hacia tierra sin pasar por   ste  cuando se quiere  tener el dispositivo apagado  bien sea con el m  todo autom  tico o con el manual  El m  todo  autom  tico dispone de un diodo que evita que el microcontrolador que se encuentra al otro  lado pueda suministrar la tensi  n de polarizaci  n al transistor  es decir  que s  lo podr   forzar  la base del transistor a OV  Sucede que las caidas de 
151. r neccessary as the robot base has its own power jack  connector for charging the batteries     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    Channel   Ribbon cable pin            Ground common  BV    Table 5 3  Distribution of devices in the channels                 ENABLE    D26  14004    3  CONTROL Q7  1 2N3904    1N4004 BZX79 C2V4    C7  1 5u    SWITCH 1X2    Figure 5 14  Schematic for each of the channels     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 65 of 97    66 of 97             DESEE 57 109 ONTRO     CONTROL AO 8   10 2 7 CONTROLA   CONTROL 124 6j 7 HS CONTROLA   NEONTROCIA2 47 ma 4135 ES CONTROL IANA  UNIRE Al 2 1       az We  ERA  ENABLE S W OUT   E    c  SWIN  co RLI T  EA ALDO  EA 1    rg 2  DNTROL 24471 ul    1 43 VEC a  3    CONTROL AUK BIT 14 EEEE AE   oe 14  Pen CONTROL 1242 CONTROL AUNT PD 1241  exe sh    LA  Ls de  E     vec  E sun BH  CONTROL 2442 ENABLE Svw  OUT PT     lt a      _  SWIN  CONTROL AUXI   ENABLE SW OUT a 1  u ane DH SRG CONTROL 12 CONTROL AUNT D gt          GND  ene ADQ P33  Ri aQ  1K k RELAY d  173       pin    ds A 1  a La      y a    WZ Di 1224 IRE hri mum      ea Ya       El     z  ES  2 32 5   m  32 D  Dm  oO  Tu  w Eu  LEO   gag  L S  aaa  an  E  S         GND    ENABLE SWLOUTI    PIES CONTROL   AUT  x2  GND    RELAY       Figure 5 15  Schematic for the Power Board     5 5 3 Power Board Bugs    During the design phase of the board there were some errors that passed  the internal tests  As the board was to be manufactured
152. rman el sistema GPS de la estaci  n m  vill           32  TEE 33  3 7  Componentes de la estaci  n base del sistema GPS                  33  3 8  Localizaci  n de la antena GPS en el   tico del departamento              34  AE 35    3 10  Detalle de la br  jula electr  nica                              002  30  4 1  Fotograf  a de la tarjeta de alimentaciones montada sobre el robot           44    4 2  Esquema de referencia para el sensor tension intensidad               46  A ras ans 48  EEEE 49  as             4 7  Diagrama de conexiones de datOS l                             o    92  4 8  Diagrama de conexiones de alimentaciones                           53  6 1  Diagrama de clases de la muneca     2    a a a a a a a     e    62  6 2  Diagrama de secuencia t  pica para una llamada al servant de la muneca       63  6 3  Gesti  n de errores en la muneca        oaoa oa a a a a e a a a 64    6 4  Procedimiento de inicializaci  n del protocolo del sensor l  ser  65    6 5  Estructuras de datos definidas en la interfaz IDL del l  ser          2 2   65       INDICE DE FIGURAS 5             A 67  ore 69  6 8  Diagrama de secuencia del envio de mensajes        2 0 0 0    a a 70  AAA 70  APP 71  o 74  6 12  Funci  n de limitaci  n de la velocidad m  xima respecto de la distancia 19  veda ee eee geen ees 83  Se he do teen eae e teen ee eee ee eee Ss 84  9 1  La plataforma rob  tica m  vil  bautizada como Higgs  en todo su esplendor     86  9 2  El sensor Kinect de Microsoft          
153. rollar   e integrar   un sensor que mida aceleraciones      Justificaci  n   Es posible que tanto en exteriores como en interiores el robot se desplace  por terrenos accidentados o inclinados  Los sistemas de control deben  estar al corriente de esta situaci  n para adaptarse mejor al entorno     Verificaci  n   Se podr   comprobar remotamente la inclinaci  n del robot en reposo  respecto de la vertical           CAPITULO 2  REQUISITOS 25     N  mero EE     Nombre   Integraci  n de sensores de tensi  n e intensidad     Importancia  meda O   O    Descripci  n   Se desarrollar   e integrar   un sensor que mida el consumo y el nivel de  carga tanto de las bater  as de la base rob  tica como de las bater  as de  dispositivos    Justificaci  n   Los sistemas de control deben estar al corriente de la salud de todos los  componentes del robot para preveer fallos por falta de energ  a        Verificaci  n   Se podr   comprobar remotamente la tensi  n de las bater  as y el consumo  instant  neo      Nimero p Sy    Nombre   Integraci  n de sensores exteroceptivos      Importancia  alta    Descripci  n   Se desarrollar  n e integrar  n sensores que permitan conocer el entorno  del robot  tanto en exteriores como en interiores    Justificaci  n   Un robot aut  nomo necesita conocer el entorno que le rodea para poder  manipularlo y desenvolverse en   l    Verificaci  n   Se podr   comprobar remotamente variables asociadas al entorno del  robot      N  mero 21     Nombre Integraci  n de un
154. running the CORBA module    For installing the CORBA module on a fresh fedora linux system  you must  install these libraries which can be found in the repositories provided by the  package atrpms  glut glui libavcodec and related  Inside the direc   tory tree of the sources there are three scripts that help run the servant and  test clients  Compile and run the server with         l server sh   The test client with   NS   2 client sh   or  for the old client    Ja a o Clin eR   The client runs best when configured to run with Xlib instead of OpenGL     The user that runs the servant  higgs when running unattended  needs to be  in the video group     The source structure has not been adapted to the new tree configuration nor  cmake  idl Contains the idl interfaces  generated is where the skeleton  and stub source files are generated to  obj the binary files are compiled to  this directory  text contains code to test the camera without using CORBA     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    5 10 BatteryModel and CurrentMonitor    Note  Porting to the newer SVN repository is pending     These two CORBA servants have been implemented into one JAVA binary  and made an unique module inside the VAIO on board computer  The Bat   teryModel is a component that calculates the parameters related to the charge  in a battery and estimates the remaining life based on the power require   ments  The CurrentMonitor is not used in any other module but has been  an utility componen
155. s  de los requisitos  El proyecto parte desde unos componentes ya seleccionados y adquiridos   una estructura b  sica y algunos m  dulos ya realizados  este sistema de partida es descrito  en el cap  tulo 4  Los cap  tulos 5 a 7 describen el trabajo de dise  o y desarrollo realizado   separados en la parte hardware  las herramientas creadas que no participan directamente       en el funcionamiento y la programaci  n software  respectivamente  El cap  tulo 8 presenta  las pruebas realizadas para cumplir con los requisitos  En el siguiente cap  tulo se analiza la  organizaci  n de los recursos antes y durante el proyecto para terminar en el cap  tulo 10 con las    7    CAPITULO 1  INTRODUCCION 8    conclusiones  haciendo   nfasis en la trascendencia de las tareas realizadas y posibles mejoras  a realizar en el futuro  Finalmente en los anexos aparecen los trabajos mas detallados que por  su amplitud resulta conveniente incluirlos separados de la redacci  n del proyecto     1 3  Estado del arte       En esta seccion se hara un recorrido por el estado de la t  cnica en lo que se refiere a robots  para investigaci  n  Se realizar   una clasificaci  n de los tipos de robots existentes en cuanto  al campo de utilidad  el entorno de trabajo y la autonom  a  para inferir las caracter  sticas de  robots m  viles para investigaci  n  que es el caso que se aborda en este proyecto  y se dar  n  algunos ejemplos     1 3 1  Robots aut  nomos    Un robot aut  nomo es aquel capaz de realizar 
156. s dependencias y com   pilar el c  digo CORBA sea casi inmediato  A continuaci  n se presenta un archivo t  pico de  configuraci  n de CMake          Example configuration file for CMAKE     Substitute names beginning with  cmake_minimum_required  VERSION 2 6   project  _module     set  CORBA_LIBS TAORTCORBA TAO_RTPortableServer TAO_PortableServer  TAO_CosNaming TAO ACE TAO_AnyTypeCode     Remove these two lines if not using ARIA     10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  20    26  27  28  29    30    CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 56    include_directories  usr local Aria include     link_directories  usr local Aria lib       set  CMAKECXX FLAGS   Wall  fPIC    set  CMAKE BUILD TYPE Debug       CORBA related sources    INCLUDE        lib IDL command  cmake   MacroGenerateIDL CosNaming _module    set  CORBA SOURCES _moduleC cpp  moduleS cpp CosNamingC  cpp       Client   add_executable  _module_client _module_client cc   CORBA_SOURCES     target_link_libraries  _module_client   CORBA_LIBS        Servant   add_executable  _module_server _module_server cc    CORBA SOURCES    target_link_ libraries  _module_server   CORBA_LIBS  Aria pthread dl                    Installation of servant on onboard computer    set  CMAKE INSTALL RPATH USE LINK PATH TRUE    install_programs                       etce higgs servants  _module_server sh    install_targets  bin  module_server           CMake tambi  n se ha usado para la generaci  n de documentaci  n de c  
157. s estas caracter  sticas dotan al robot Qbo de m  ltiples capacidades entre las que se  incluyen       Visi  n Estereosc  pica      Sistema de Reconocimiento de Voz     Sistema para la S  ntesis de la Voz     API y Panel de Control      Wifi  amp  Bluetooth conexiones        bo puede sortear esquinas y no caerse gracias a los sensores     Para potenciar la misi  n investigadora del robot todo su c  digo ha sido liberado con  licencias abiertas y est   en desarrollo un portal web en el que los usuarios puedan publi   car y divulgar sus algoritmos de control  Qbo est   llamado a ser la referencia en cuanto a  investigaci  n en robots sociales     CAPITULO 1  INTRODUCCION    Figura 1 7  El robot Qbo en desarrollo por la empresa thecorpora        Qbo Specifications    Size and Weight    Height 56 mr  Width mm  Depth 292 5 mm    Weight 9 11 Kg Aprox  Charge Autocharging Dock Station    Head      Ears 2 Omnidirectional microphones  1 Unidirectional microphone   noise reduction    2 Webcams HiDef    2 Eyelids      Movements 4 Servos   Up Down  Let Right      Mouth 20 Leds    Nose 1 Led  Connection Witi Pob B02g n  amp  antenna  or 1 OPr2 peb controller  Body  th Me    by thecorpora      16    CAPITULO 1  INTRODUCCION 17    1 4  Marco del proyecto    El proyecto se ha desarrollado en el Laboratorio de Sistemas Aut  nomoy   de la Universidad  Polit  cnica de Madrid  donde se desarrollan proyectos encaminados a mejorar los sistemas de  control industriales        Figura 1 8  Logo de la
158. s not properly connected to the black instrument  panel of figure 5 1     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org       Figure 5 1  Robot base instrument panel     Disassembling the laser    There are two ways to disassemble the laser  The first one removes the block  composed of the laser sensor and the metacrylate structure that supports it   Get a number 5 allen wrench and unscrew the bolt placed under the laser   tiliting the latter upwards to reveal it  Then remove the two similar bolts on  the other border of the alluminium plate that the first bolt was also holding   The methacrylate structure will be loose but do not take it off yet  Unplug the  cords attached to the arduino board and the two data and power cords of the  laser  Once all cables are released the structure can be lifted  Be careful not  to damage the accelerometers when reassembling as its placement has been  carefully crafted to fit between the laser structure and the arduino connection  board     The second way allows for easier but more tedious disassembling  Remove  the radio receiver of the GPS turning it as it was a huge bolt  Then unscrew  the four bolts holding the upper methacrylate plate of the laser structure   Be careful with the weight of the devices fixed to this plate  This will leave  the two walls standing to the sides of the laser  Looking from a robot point  of view  the right wall can slide outwards releasing the laser from its side  constraints  Take it out after unplugging
159. simult  neas y decodifi   car   los mensajes direccion  ndolos al objeto adecuado  La labor del programador se resume  en heredar el skeleton y definir todos los m  todos virtuales  Esta clase se denomina servant  y es b  sicamente el software que se necesita desarrollar en este proyecto     INTERFACE IDL IMPLEMENTATION  REPOSITORY COMPILER REPOSITORY    9 E  CLIENT   operation   OBJECT  out E   return value  SERVANT   e  om tie     Ree  GIOP TIOP                  0 STANDARD INTERFACE EN STANDARD LANGUAGE MAPPING    SS OREB SPECIFIC INTERFACE  J STANDARD PROTOCOL    Figura E 2  Esquema de la arquitectura CORBA     El concepto    Compilaci  n de una interfaz IDL    hace referencia a la generaci  n del c  digo  stub del cliente y skeleton del servidor     APENDICE E  HERRAMIENTAS 162    CORBA es m  s que una definici  n de interoperabilidad entre objetos remotos  Tambi  n  define un conjunto de servicios que t  picamente son usados en los entornos distribuidos  Los  principales son el servicio de nombres  eventos  seguridad  etc    Las   ltimas revisiones de CORBA deinen tambi  n una especificaci  n para la tecnolog  a de  gesti  n de objetos distribuidos  DOM   Proporciona una interfaz de alto nivel para gestionar  los servants  su ubicaci  n y los m  todos de comunicaci  n  Facilita la labor de los analistas al  permitir el diseno por componentes    Dos buenas referencias para aprender a manejar esta tecnolog  a y como referencia est  n    en  6  y en  8      Subversion      
160. st not having direct control on Higgs    physical devices  they do use the  devices and provide useful  well known and proved services     The Java language requires that all CORBA interfaces are defined inside a  module  so all Higgs interfaces are defined inside the module higgs     5 3 1 ASLab servant utility functions for CORBA    The same file code 1ib CORBA_utils h for easy creation of clients has    also macros for servants  A typical servant executable would be something  like      include  implementation h    include  CosNamingC h   include        L11b CORBA utils  h     int main int argc  charx  argv       CORBA_BEGIN_SERVER  argc  argv      ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 53 of 97    54 of 97    implementation_t impl     higgs  implementation_t_var implvar   impl _this       CORBA_REGISTER_REFERENCE  implvar   IMPL     CORBA END SERVER   return 0     It is possible to use also CORBA_GET_REFERENCE in case other objects are  needed     5 3 2 Module installation and configuration files    The CORBA macros for the servants make use of the file   etc higgs listen_endpoint ip    to configure the ip address where they should listen to  additionally to nameservice ip   Typically will contain the IPv4 address of the computer it is running in  in this  case     1358  L0U0s 76 206  Other config files are the device links at   etc higgs devices    each module has this directory and the device file it uses hard coded     Finally  they need an upstart config fil
161. standard utility in Ubuntu for booting the sys   tem and running the daemons  You may start or stop the servants in case you  need the correspondant devices  i e  the laser and the robot base in ROS  or  they are not automatically started on boot     To start a servant use    S start higgs_device  and to stop it      stop higgs_device    where device is one of laser  wrist  gps  arduino  pioneer or any other avail   able CORBA servant     There is one more daemon  the CORBA Naming Service  that opens the port  9876  is always running and does not interfere with the devices     Logs and troubleshooting    Servants print their output to a log file in the on board computer placed at   war log higgs  You will have to consult these for debugging problems  with the servants such as not starting  setting the device file and checking  overall status     4 5 4 T O board    The next procedure is standard on all modules  Enter the directory      HIGGS_ROOT   branches CORBA code devices arduino client   Be sure to have the complete source tree  at least the code subdirectory  as  many methods rely on files situated back in the tree  Run     cmake    make    This will generate the CORBA stubs and headers and then compile the client  code  The binary arduino_client will appear  Run it to read the parame   ters of the devices attached to the IO board and setreset some of the devices     R 2010 008 v 0 1 Draft   Higgs Manual   ASLab org    4 5 5 GPSd    You may want to test the full GPSd equ
162. stigaci  n     1 3 3  Ejemplos de robots para investigaci  n  Urbano    Urbano es un robot fruto de la investigaci  n en Control Inteligente y Tecnolog  a del Habla  de la Universidad Polit  cnica de Madrid  Fue dise  ado para realizar la funci  n de gu  a en ferias  y museos  aunque ha servido para realizar m  ltiples experimentos en rob  tica m  vil    Urbano ha sido habilitado para ser operado mediante lenguaje hablado y se puede inter   accionar con   l presencialmente o a distancia a trav  s de Internet    Es capaz de realizar SLAM  Simultaneous Localization And Mapping  en grandes edi   ficios utilizando sensores l  ser para el posicionamiento y una red de sensores infrarrojos y  ultras  nicos para detectar obst  culos fijos y m  viles y poder as   evitarlos para llegar al des   tino previamente programado    Ha sido provisto de un rostro artificial y un brazo articulado a semejanza de un brazo  humano con el fin de empatizar con los visitantes de los museos y a los que puede mostrar su  estado interno en cuanto a bater  as y otras variables  mostrando distintas emociones    Las   ltimas investigaciones realizadas con este robot han consistido en el desarrollo de  un generador de presentaciones por el cual el robot  partiendo de una base de datos de pre   sentaciones  selecciona los mejores p  rrafos bas  ndose en el entendimiento sem  ntico de las  caracter  sticas de los p  rrafos y de los criterios de calidad apropiados para una presentaci  n  p  blica  Es capaz de a
163. stribuci  n  est  ndar y sus librer  as son propietarias  No es compatible con gran parte del c  di   go ya desarrollado por estar hecho para sistemas basados en UNIX  Configurar este  sistema operativo para tareas empotradas es dificultoso  sin embargo existen muchas  implementaciones CORBA  la mayor  a de ellas propietarias     CAPITULO 5  ENTORNO SOFTWARE DE TRABAJO 58    WindRiver VxWorks Este es el sistema operativo usado hasta la fecha  Est   basado en  UNIX  cumple POSIX   tiene un buen soporte para tiempo real y est   dise  ado para  ser usado en sistemas empotrados  Su mayor inconveniente reside en la dificultad para  su instalaci  n  por la que hay que crear un entorno de desarrollo cruzado para compi   lar las herramientas y servicios desarrollados  Es necesario solicitar licencia a la casa  comercializadora        Fedora Linux Se trata de un sistema operativo de f  cil instalaci  n y uso para usuarios  que no necesariamente tienen altos conocimientos en administraci  n de sistemas UNIX   Est   enfocado hacia un entorno gr  fico con una carga alta sobre el procesador y la  memoria  lo que lo hace demasiado complejo para sistemas empotrados  No es tiempo  real        Orquestra Orquestra Control Engine es un sistema operativo basado en Ubuntu Linux de  libre distribuci  n  preparado para ser utilizado en aplicaciones industriales y de control  de robots  Es de f  cil instalaci  n  incluye un n  cleo de tiempo real y m  ltiples librer  as  y utilidades de control de r
164. t   executive_attribute  executive ex  O   obj  T  amp  O   get       template lt class O  gt    void subscribe_consumer  O   obj  void O   set  T    template lt class O  gt    void subscribe_consumer  O   obj  void O   set  T x      template lt class O  gt   void subscribe_consumer  O   obj  void O   set  const T  amp       template lt class O  gt   void subscribe_compute  O  obj  void O   compute        Public Attributes    e T value    2 3 1 Detailed Description  template lt class T gt  class executive_attribute lt  T  gt   Stores an attribute and manages the supplier  consumers and computers associated with that attribute  Sub     scribe the consumers and computers before calling the executive    s methods  TODO  Unsubscribing  not implemented  you must delete the executive_attribute instance and create it again without the desired    callbacks   2 3 2 Constructor  amp  Destructor Documentation    2 3 2 1 template lt class T  gt  template lt class O  gt  executive_attribute lt  T  gt   executive_attribute   executive  amp  ex  O x obj  T O    Q const get   inline     Parameters     ex The executive that will keep track of the value associated with this attribute     Generated on Tue Sep 27 12 20 43 2011 for libexecutive by Doxygen    2 3 executive_attribute lt  T  gt  Class Template Reference 7    obj The object to which the get call applies     get Pointer to member method that supplies the attribute by polling it  It must be of the form  attribute_t get_t  get_method   
165. t for developing the BatteryModel  It periodically polls  the current of the  currently instrumentation  batteries and reports the mean  consumption since it was required to start monitoring     Neither component reads or uses the peripherals on the computer  Battery   Model is exclusively a CORBA servant and the clients must pass the data to  it in order to compute the estimations for the battery life  whilst CurrentMon   itor is  besides a servant  a client to the Arduino CORBA servant for reading  the current values of the batteries     Installation of the module and automatic setup is achieved as in the other  modules     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 75 of 97    Apendice E    Herramientas    En este capitulo se describen las herramientas software mas utilizadas a lo largo del  proyecto     Descripcion de la tecnologia CORBA    CORBA  Common Object Reques Borker Arquitecture  es un estandar elaborado por  OMG  Object Management Group  que define una plataforma de desarrollo para sistemas  distribuidos que se basa en llamadas a m  todos bajo un paradigma orientado a objetos  COR   BA define protocolos de interoperabilidad  unas interfaces para los lenguajes de programaci  n  m  s com  nmente utilizados y unas librer  as que ofrecen servicios adicionales    CORBA est   orientado hacia sistemas distribuidos heterog  neos  es decir  aquellos que  est  n compuestos por distintos tipos de CPUs con distintos sistemas operativos y unidos  mediante una red  Las 
166. tado interno  como temperatura y consumo instant  neo     3 3  Descripci  n de la c  mara    La c  mara estaba preparada y montada sobre la mu  eca  A pesar de usar una interfaz  FireWire  la alimentaci  n de la c  mara es independiente y el cableado estaba pendiente de  integrar  es decir  que tan s  lo estaba resuelto la conexi  n a ordenadores de sobremesa para  trabajar con la c  mara desmontada              Se da una descripci  n somera de esta tecnolog  a en la secci  n  E     CAPITULO 3  SISTEMA DE PARTIDA 30       Figura 3 2  La muneca usada en el movimiento de la c  mara     El servant CORBA estaba programado y funcionando  Est   basado en un driver para  linux realizado en el laboratorio para esta aplicaci  n con soporte para la captura s  ncrona  de ambos sensores y m  ltiples resoluciones  El env  o de los datos de la imagen se realiza por  petici  n de cada frame por parte del cliente a trav  s de una llamada CORBA  Los datos  se env  an encapsulados en el protocolo CORBA sin comprimir  con codificaci  n YUV que el  cliente deber   convertir a RGB    El mayor inconveniente de este m  dulo es que el ancho de banda necesario para enviar los  datos sin comprimir es muy alto  No tiene importancia cuando el cliente y la c  mara est  n en  el mismo ordenador  pero cuando los datos han de enviarse inal  mbricamente para cumplir  con los requisitos del proyecto se consume toda la capacidad de la red existente  aumentando  las latencias de otras llamadas CORBA  y siempre 
167. tales cercanos  Se ha especulado que   ste  es el motivo de no recibir la correcci  n diferencial     Requisito 3  Uso de est  ndares y optimizaci  n en el desarrollo     Todos los servants desa   rrollados son conformes a C   est  ndar salvo el m  dulo de la tarjeta de adquisici  n de datos  que est   escrito en Java  El software propietario se ha limitado a estos casos     1  Diagramas convencionales con Omnigraffle   2  Diagramas UML con RSA     3  Primera verificaci  n de funcionamiento con el software de control del GPS incluido en  el paquete     4  Dise  o de las tarjetas con OrCAD     Capitulo 8    Aspectos de la direcci  n de proyectos    8 1  Presupuesto    Concepto Precio  Robot Pioneer 2AT 8 7 434 00     Camara STH MDCS C 876 00     Sony Vaio 11    1 505 41     Br  jula CMPS03 39 90     Aceler  metro 300019 42 20     Powercube 2 GDL 3 400 00     L  ser SICK LMS200 1 230 00     Sistema GPSd 18 500 00     Arduino Mega 46 95     Total 33 074 46       Cuadro 8 1  Presupuesto del sistema de partida     Concepto Precio  Pedido de componentes 13 10 2009 63 11     Fabricaci  n de PCB 299 99     Pedido de componentes 27 10 2009 140 25     Pedido de componentes 18 01 2010 IS  Pedido de componentes 11 03 2010 106 80     Pedido de componentes 27 10 2010 60 07     Cables y convertidores USB RS232 85 10     Proyectante  23 meses  900    mes  20 700 00     Total 21 513 37       Cuadro 8 2  Presupuesto del proyecto     82    Y    ASPECTOS DE LA DIRECCION DE PROYECTOS    7    CAPI
168. tareas relativamente complejas en entornos  no estructurados y desconocidos sin la orientaci  n continua de un operador humano  Un grado  de autonom  a alto ya es una realidad en campos como la limpieza de domicilios y robots corta  c  sped  y es necesario en campos m  s cr  ticos como la exploraci  n del espacio y el control en  industrias con productos peligrosos    La mayor parte de las f  bricas m  s avanzadas incorporan robots aut  nomos dentro de su  entorno directo  La localizaci  n y orientaci  n tanto del producto a transformar como de las  herramientas a usar est   cada vez menos fijado por el proceso de producci  n y es el robot el       que debe decidir ante una situaci  n no contemplada a priori    Otro   rea de investigaci  n en rob  tica es dotar al robot de las capacidades suficientes para  hacerle capaz de desenvolverse en su entorno  ya sea en tierra  interiores  sumergido  a  reo o  espacial    Un robot completamente aut  nomo debe tener como m  nimo estas capacidades          Obtener datos del estado de su entorno     Operar durante tiempos prolongados sin intervenci  n humana     Manipular parte del entorno y desplazarse para satisfacer sus objetivos       Evitar las situaciones potencialmente peligrosas para las personas  bienes y para s   mis   mo  a no ser que sea parte de su dise  o     A medida que un robot tiene mayores grados de autonom  a tambi  n puede adquirir  me   diante el aprendizaje  nuevas habilidades como la adaptaci  n a entornos cambian
169. tensi  n m  xima en la resistencia de  0 050  64   0 3V y una potencia de 0 3V   64   1 8W  La parte de motores llevar   una  resistencia de 0 01Qque tendr   una ca  da de tensi  n de 0 010   174  0 17V  Al primero se  le puede aplicar una ganancia de 10 y al segundo de 18 aproximadamente para adaptar esas  tensiones diferenciales al rango OV 3 5V de la entrada del convertidor anal  gico digital del  microcontrolador    Los valores de dise  o de las resistencias  la ganancia del diferencial y el factor de la ca  da  de tensi  n est  n indicados en el cuadro       Elemento   Instrumentaci  n Motores  Rl 33k 18  7kQ  R2 8  45kQ    330k 5 6kQ    330 0  R3 33k 18  7kQ    RA 330k 330k   R5 8  45k  5  6kQ  Ganancia 10 17 647  U JU  0  1998 0 2275       Cuadro 4 5  Valores obtenidos para el sensor I V    4 2 3  Consideraciones pr  cticas y construcci  n f  sica    El circuito tiene una alta sensibilidad a la entrada  tanto para desviaciones en las tensiones  diferenciales  que es lo que se busca medir  como a variaciones producidas por las tolerancias  de las resistencias  Analizando el efecto de la tolerancia de las resistencias comprobamos que  peque  as desviaciones tienen una gran repercusi  n en la tensi  n de salida del amplificador  diferencial  Haciendo R    Rs  la resistencia Ro es ahora la m  s sensible  pues tiene que  valer exactamente el paralelo entre R4 y Rs  Sustituyamos su valor por otro un 1  mayor   o   Ra   1 01 e introduzc  mos el nuevo valor en la ecuaci  n  4 
170. tensi  n propias del microcontrolador  y de este   ltimo diodo son mayores que la ca  da de tensi  n base emisor del transistor  de  ah   la colocaci  n del diodo z  ner de tensi  n de polarizaci  n inversa de 2 4V que invierta esta  situaci  n  El valor de la resistencia est   dise  ada teniendo en cuenta   sto y la P del transistor   Para el m  todo de apagado manual se ha dispuesto un interruptor con un condensador en  paralelo que elimina el efecto rebote del interruptor y ayuda a alargar la vida   til del rel     Finalmente el transistor est   protegido contra sobretensiones con un diodo en paralelo con la  bobina    Por aplicaci  n de la ley de ohm a las caracter  sticas del rel    la corriente necesaria para  su activaci  n  y sabiendo por las especificaciones que necesita un m  nimo de tensi  n del 70   del nominal que se va a cumplir incluso en condiciones de baja carga  es          12V    oe A 4 1  nn   4 1     A   sta corriente de colector  la 6 del transistor esta situada entre 60 y 100     25mA a  ome   0  416mA  4 2     Aplicamos un margen de seguridad aproximando la corriente de base a 0 9mA  y la resistencia  de pull up limita la corriente con un valor de  12V     2 4V    0 7V      9 8kQ  gt  10k0 4   0  0009A 9 8k0     10k  4 3     Las resistencias limitadoras de corriente para los LED indicadores     Vec   Virp 12V    2 5V    24V    2 5V        1kQ 2  ZE  4 4  TILED 10mA   10m A      Para terminar  la constante de tiempo en el condensador  que ha sido valida
171. tes y el       reajuste de los m  todos usados para realizar la tarea que tiene encomendada   La rob  tica comercial aut  noma ha logrado introducir algunos de los progresos realizados  en los laboratorios        Auto mantenimiento Para la autonom  a completa es necesario que un robot sea capaz de  cuidar de s   mismo  Los juguetes robotizados y las aspiradoras dom  sticas son capaces de  localizar y acoplarse a estaciones de carga cuando su nivel de bater  as se reduce    El mantenimiento se basa en parte en la capacidad del robot para conocer el estado de  s   mismo  El conocimiento de este estado se puede aproximar con modelos internos  En general     CAPITULO 1  INTRODUCCION 9       estos modelos no son suficientemente exactos y la lectura con sensores propioceptivos aportan  informacion mas fidedigna con menos esfuerzo de desarrollo   Los sistemas propioceptivos mas importantes incluyen     Encoders    Sensores t  rmicos       Sensores de efecto Hall    Sensores de inclinaci  n    Sensores qu  micos    Percepci  n del entorno La exterocepci  n se define como la capacidad para percibir el estado  del entorno  Para realizar sus tareas los robots aut  nomos necesitan sensores que actualicen  el estado interno del entorno con los datos proporcionados por sensores que midan las pertur   baciones en la interacci  n del robot con el entorno  como por ejemplo la cantidad de suciedad  a limpiar en una determinada zona  Sensores exteroceptivos son        Sensores de sonido    Sens
172. tivos  en funcionamiento    La conexi  n con la tarjeta de adquisici  n de datos se realizar   mediante cable plano  que  re  na en un solo cable los 9 canales y la conexi  n a tierra  La tarjeta de adquisici  n de datos  dispone de una serie de pines digitales de entrada salida general con disposici  n id  ntica a  la de cable plano  circunstancia que se aprovechar   para facilitar la conexi  n  Los esquemas  electr  nicos y la distribuci  n de pistas  serigraf  a y orificios se pueden encontrar en el anexo    4 1 3  Fabricaci  n y complicaciones surgidas  Circuito impreso    El dise  o finalizado se export   a archivos gerber  que es el formato m  s aceptado entre los  fabricantes de circuitos impresos  Estos archivos se pueden encontrar en formato comprimido  dentro del directorio Power_Board OrCAD del ced   del proyecto  Se solicit   presupuesto para  la realizaci  n del prototipo a las empresas detalladas en la tabla  4 3    Las ofertas detalladas de estos presupuestos remitidas por los fabricantes se encuentran en  el ced   que acompana este proyecto  Cabe destacar los siguientes factores a la hora de elegir  el fabricante          El plazo de entrega deb  a ser lo mas corto posible sin que se dispare el precio por  urgencia  Tras recibir los presupuestos el plazo m  s razonable con todos los fabricantes  result   ser de 5 d  as     CAPITULO 4  DISENO HARDWARE 42    Empresa fabricante  FAST PCB 308 00     2CI 202 87       ELATE 280 88       NOVATEK 251 76     LAB CIRCUI
173. trav  s de una interfaz CORBA  que mapeaba las funciones  de la biblioteca ARIA destinadas a este robot  incluyendo el movimiento del robot  la lectura  de los ultrasonidos y la lectura de los sensores de contacto  Este proyecto se desarroll   en l  Existe una rutina de comprobaci  n en el servant CORBA por el cual hace que el robot emita  sonidos caracter  sticos cuando la inicializaci  n ha sido correcta y est   preparado para recibir    rdenes  La publicaci  n en el servidor de nombres tambi  n estaba implementada     3 2  Descripci  n de la mu  eca    La mu  eca consiste en un actuador robotizado de dos grados de libertad  El dispositivo  que cumple esta funci  n ya est   disponible y montado sobre el robot  y se trata del modelo  PW 070 del fabricante SCHUNK  El cableado estaba pendiente de integrar en el robot    El software existente para controlar este dispositivo se encontraba parcialmente desarro   llado  Era posible enviar   rdenes de movimiento sencillas de manera poco estructurada  desde  un ordenador conectado directamente por puerto serie  No exist  a servant CORBA ni interfaz  definida    El protocolo est   descrito en el manual correspondiente que puede encontrarse en el sub   directorio doc dentro   rbol de directorios del c  digo fuente de la mu  eca  en el repositorio  SVN  Resumiendo  se trata de un protocolo cliente servidor en el que la mu  eca act  a como  servidor  tanto para recibir los comandos de movimiento como para enviar datos relativos a  su es
174. u        11  12  13  14  15    CAP  TULO 6  M  DULOS SOFTWARE 64    process_start    Ea Initialize    E Attend CORBA calls    Check for faults paul Repairable    Ok    i  Sleep He    Figura 6 3  Gesti  n de errores en la mu  eca     6 2 2  Servant       Finalmente se cre   el servant CORBA usando este driver y el cliente de prueba  El servant  adapta los valores de entrada a la convenci  n matem  tica usada a lo largo del proyecto   Radianes para referirse a los   ngulos en sentido positivo con referencia vertical hacia arriba  y origen mirando al frente  y las distancias en metros  Existe un hilo espec  fico para manejar  el protocolo del l  ser y otro para atender las llamadas de los clientes CORBA  teniendo la  implementaci  n del servant un buffer intermedio en el que los dos hilos se transmiten la  informaci  n del sensor    A continuaci  n se presenta la parte desarrollada del driver capaz de resincronizarse bajo  todas las frecuencias del protocolo y en cualquier punto de   ste        char cadena 100     int baud     9600  38400  500000        int baud    9600  38400     j   int baud        19600     at 0   int size sizeof baud  sizeof  int    for  i 0 i lt  size   i               int bps    if  i   size     In case a Reset   returns the laser to 9600  bps   bps   baud  0     else  bps   baud i l     port  SetBaud  bps     printf   Trying to connectyjat  d baud  n  bps      16  17  18  19  20  21  a2  23  24  20  26    27  28    CAPITULO 6  MODULOS SOFTWARE 65  oo  Act
175. urn 0     With the correct route to CORBA_utils h  The arguments for CORBA_GET_REFERENCE     are     1  module    implementation The type of the object to fetch     2  impl The identificator desired for the reference  It should not be de   fined nor declared  it is done inside the macro  Remember that refer   ences are used as pointers     3   IMPL  String with the name that the object is registered in the Name   Server     4 6 2 CMake    It is encouraged to use CMake as the tool for managing the compilation of the  proyects  There is a sample CMakeLists txt in Higgs  branches CORBA code lib  prepared for linking the CORBA libraries and generating the necessary de   pendencies for compiling  Substitute module with the name of your mod    ule  The file IDL_command  cmake defines a macro for generating and man    aging the sources of the IDL interfaces  Include all interfaces that you need   when calling the macro MacroGenerateIDL  Use the command    SET  IDL_DIR path to idl     pointing to higgs    idl definition files to tell the macro where to find them     ASLab org   Higgs Manual   R 2010 008v 0 1 Draft 45 of 97    Ap  ndice D    Manual del desarrollador    129    Chapter 5    Developer Manual    The RCT testbed has been designed and developed with the tools and li   braries that are currently  as the time of this writing  the state of the art  These  tools are usually replaced by easier and more powerful ones with time  and  Higgs can benefit from these  When such a chang
176. vo  las referencias a objetos  CORBA dejan de ser v  lidas  Cuando se llama a un m  todo remoto en estas condiciones se  recibe una excepci  n TRANSIENT  Cada m  dulo ha sido dise  ado prestando mucha atenci  n  a   ste requerimiento  Se han a  adido hilos de ejecuci  n a modo de watchdog y se capturan  los errores en la comunicaci  n        O 0 lO UA On Fe             w Ne       CAP  TULO 7  VALIDACI  N Y PRUEBAS 79    Requisito 2 3  Recuperar funcionalidades autom  ticamente  Continuaci  n de la verifica   ci  n anterior  Durante el arranque del ordenador de a bordo o despu  s de la ca  da de un  dispositivo  se puede observar en los logs como los scripts de inicio tratan de ejecutar los       servants continuamente hasta que es fruct  fera por estar el dispositivo f  sico nuevamente ope        rativo  Los servants se han desarrollado cuidadosamente para ofrecer este comportamiento     Requisito 2 4  Integraci  n de sensores propioceptivos    Requisito 2 4 1  Integraci  n de una br  jula electr  nica    Requisito 2 4 2  Integraci  n de aceler  metros    Requisito 2 4 3  Integraci  n de sensores de tensi  n e intensidad  Estos cuatro requisitos  se validan con llamadas remotas al servant del Arduino  Cada uno tiene un m  todo en la  interfaz IDL  Basta con llamar a los tres m  todod   en secuencia para efectuar la validacion        Requisito 2 5  Integraci  n de sensores exteroceptivos  Validando cualquiera de los requi   sitos derivados se valida   ste     Requisito 2 5 1  
177. vo l  ser montado en el robot    Justificaci  n   Es necesario un sistema de detecci  n de obst  culos para la navegaci  n  en interiores    Verificaci  n   Se podr   comprobar remotamente la lectura de las distancias a objetos  pr  ximos      N  mero  253    Nombre Integraci  n del receptor GPS   Importancia  alta  Descripci  n   Se desarrollar   e integrar   un sistema de recepci  n de posici  n en exte   riores basado en el receptor GPS existente       Justificaci  n   Es necesario un sistema de localizaci  n para navegaci  n en exteriores       Verificaci  n   Se podr   comprobar remotamente la posici  n y velocidad del robot         N  mero   2 5 3 1      Nombre   Integraci  n del sistema de correci  n diferencial del GPS     Importancia ba oS    y  SOSOSA    Descripci  n   Se montar   una estaci  n base para la lectura y env  o por radio de co   rrecciones diferenciales basado en el receptor GPSd existente    Justificaci  n   Es preferible que el sistema de localizaci  n tenga una buena precisi  n  en la posici  n    Verificaci  n   Se podr   comprobar remotamente la posici  n del robot en exteriores con  un error menor a medio metro               Nim e    Nombre   Uso de est  ndares y optimizaci  n en el desarrollo     Importancia   med  a    SS               S   S   SCS    Descripci  n   Se har   uso de herramientas y normas est  ndar donde sea posible  Donde  no existan normas est  ndar se unificar   en librer  as y scripts comunes a  todos los m  dulos el c  digo qu
178. y description    The Robotic Control Testbed is a Mobile Robot built from a commercial robot  base with added funcionality  The robot base consists of a four wheel vehicle  with position and speed control embedded  integrated power and control  electronics and 16 ultrasonic sensors that give readings on the distance to  close obstacles  Additionally front and rear bumpers have been installed for  safeguarding the robot while operating it in very constrained areas and for  manual stopping     The Laser range reader can measure distances from 8mm up to 80m  depend   ing on configuration  Typically it will function with a resolution of Imm and  a range of 8mm to 8m  It is the main sensor along with the odometer read   ings in SLAM navigation  It can be rotated to make three dimensional maps  with the servo  The mechanism operates in open loop mode  which gives  a low precision angular rotation  given the mechanical hystheresys and the  thermal and age deviations of set     Next to the laser the I O board  or data acquisition board  is a general pur   pose input output board that connects to a compass  a two axis accelerometer   the laser servo that controls its tilt movement  and two current and voltage  sensors one for monitoring the consumption of the robot base and the other  for the power board and related devices  These sensors and actuators are  controlled through the I O board module     For outside applications there is a global absolute position sensor which con   sists
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
12-Volt 9,5 Amp/Hr Battery Batería de 12V (9,5 A/h - Fisher  Compaq 1655 Laptop User Manual  Low Power on the SCM68000  RIDGID ZRR92009 Use and Care Manual  FONIX® 7000 - Frye Electronics  Présentation  Télécharger le manuel d`utilisation de la Souris Logitech  User manual - produktinfo.conrad.com  仕様書【物品の購入】  Makita XT421 Use and Care Manual    Copyright © All rights reserved. 
   Failed to retrieve file