Home

Desarrollo e implantación de plataforma robótica

image

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

image

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