Home
Desarrollo arquitectura de control de robots móviles
Contents
1. 64 C REX PMBE P2R 62 C RE4VIPMAIZ PSB 61 CI RENPMAIVP 1C 60 CI REGVPMAIOVPIB 55 CTT ROWVWPMDA 54 ET ROZPMD2 53 C7 ROSPMD3 52 TT ROAPMDASDO 51 ET ROSPMDSSDPISDAZ 50 OT RDOGPMDESCK2ESCL2 49 CT RD7 PMD7 552 O REVPMWRIP2C C REO PMRD P2D RGO PMAB ECCPIP3A C RG UPMA ITX2 CK2 RG2 PMASIRKX2DT2 C RGYIPMOS1 CCP4 P3D MCLR TEE RG4 PMCS2ICCPS P10 PIC18F6XJ5X Ves vss C OSC2ICLKO RAG Voocore Vcae HA OSCUCLKIVRAT RF7 551 C10UT CO Voo RFS ANIVCIINALT 1 RB7KBI3 PGOD RES AN10 C1INB CVass C RC5 SDO1 C20UT RF4 D RC4 SDIt SDA1 RFID C RACIISCKI SCLA RF2 PMAS ANT C2INB C ROYVECCPAUPIA RBOFLTO INTO RBUINTIPMAS RB2 INT2 PMA3 RBIINTIPMA2 RB4KB 0 PMA1 RBSKBM PMAD RBEKBI2 PGC lO lo y 05 Mm Ll Wh ENVREG C 18 RA TANI C 23 RAA TOCK C 28 RAVAN N veers C 21 RANAMICZ2INA C 27 RC I TIOSVECCPAIP2A C 29 RC amp TXICK1 31 RE7RXIDT1 C 32 RCT 1OSO0 T 130K C 30 Note 1 The ECCP2 P2A pin placement depends on the setting of the CCP2MX Configuration bit IMAGEN 5 DIAGRAMA DEL MICROCONTROLADOR DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY MICA TR LA 3 1 2 2 MOTORES mOway dispone de dos motores totalmente independientes que le permite desplazarse Estos motores constan de dos partes una mec nica que se encarga de imprimir el movimiento al robot y otra electr nica encargada de la velocidad de los motores El mO
2. Desarrollo arquitectura de control de robots moviles basada en radiofrecuencia y su aplicacion al robot Moway Proyecto Fin de Carrera Titulacion Ingenieria Superior Informatic r ose is t or de Proyecto Martin Mellado Arteche 01 09 2011 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY ERII IN o k TABLA DE CONTENIDOS T IO O e er E AE 3 2 OONO a E A E EA E E E E E EE E E E 4 gt EUPEN O E E EE 6 31 A ASAS 6 3 1 1 so A y ee ene one eer er 6 3 1 2 FE CIN A Po AI 7 3 1 3 SOTONE ia ri 15 E Etapas 8 deso lOs 16 41 Desarrolo Inicial sisas 16 4 1 1 Env o y recepci n de bits entre el robot y el transmisor inal mbrico 16 4 1 2 ela Mao oo sapescncasseeatessasaesceassomascadecenaansenntn aaae i aada esa 17 4 1 3 Libreria en Abro pene earo ented ea tecate tirada 17 42 Elaboraci n del proyecto arrimar atada bea 25 5 Consejos de utilizaci n de la librerla ooccconnnnnnncnnnnnnnnnnaninonarononarononacanonacanonocnnnarononaninonos 44 6 CONU ONE a ro E eee ree 45 DONOR a Acree sae secs A e o A 47 8 Relacion de documentos ANEXOS risa 48 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY ERII RL ndice de Ilustraciones Imagen 1 Esquema de la librer a y SUS CAPAS cccoocccconoconccnonnnonarononanonnonacononarononannnnonaronenanonos 5 Imagen 2 Aspecto externo de
3. ctica era el siguiente 38 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RI TILA Pruebas de funcionamiento de la librer a RF CMoway 39 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTI Consideraciones El software moway gui debe estar instalado en el equipo para poder utilizar el pen rf usb Recordad que Moway Gui debe estar cerrado cuando se hagan las pruebas porque de lo contrario el pen rf usb estar bloqueado El robot pierde mucha precisi n cuando su bater a est por debajo del 50 La comunicaci n rf es poco tolerante a obst culos Se debe intentar mantener una l nea de visi n limpia entre el pen rf usb y el moway Los sensores de proximidad no funcionan correctamente sobre ciertas superficies sobre todo oscuras y por su disposici n no detectan obst culos si el robot se aproxima a ellos en diagonal Esto son limitaciones de dise o del robot que hay que tener en cuenta a la hora de evaluar los resultados de las pruebas Para los chequeos del micr fono se puede utilizar est p gina web que genera ruido blanco http www simplynoise com classic Chequeo f sico del robot Durante la realizaci n de las pruebas se deber anotar cualquier anomal a f sica y reproducible del robot Que se desplace levemente hacia un lado que no se encienda alg n led que
4. un sonido durante el tiempo especificado en la variable time int time Indica el tiempo que estar sonando solo Funci na si mode SPEAKER_TIME Valores posibles 0 255 1 100ms 32 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU bool SetSpeed int speed motor left int speed motor_right direction dir_left FORWARD direction dir_right FORWARD int duration left 0 int duration_right 0 bool SetSpeedDistance int speed _motor_left int speed _motor_right direction dir_left direction dir_right int distance_right int distance_left APLICACI N AL ROBOT MOWAY RTS Funci n para definir la velocidad del robot y la duraci n del movimiento Funci n para definir la velocidad del robot y la distancia del movimiento int speed_motor_left velocidad del motor izquierdo en Valores posibles de 0 100 int speed_motor_right velocidad del motor derecho en Valores posibles de 0 100 direction dir_left sentido del motor izquierdo Valores posibles enum BACKWARD FORWARD direction dir_right sentido del motor derecho Valores posibles enum BACKWARD FORWARD int duration_right Duracion del movimiento del motor derecho 1 100ms Por defecto 0 movimiento infinito int duration_left Duracion del movimiento del motor izquierdo 1 100ms Por defecto 0 movimiento infinito int speed_motor_left velocidad del motor izquierdo en Valores posibles
5. 2 3 These enums both improve the legibilitiy of programs and protect against incorrect parametrization The most important steering function is bool SetSpeed int speed_motor_left int speed_motor_right direction dir_left FORWARD direction dir_right FORWARD int duration_left 0 int duration_right 0 it sets the speed and DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY direction of each motor and it allows to set the duration while the motors should be moving by defult it is until further command For the direction parameters the enumeration enum direction BACKWARD FORWARD should be used the speed should be given on a scale of 0 100 The function bool GoStraight int speed direction dir FORWARD int duration 0 is a simplified version of the previous command with the same values applying to both wheels The function bool MotorStop stops the motor of both wheels therefoe making the mOway stop The function bool ChangeLEDState CMOway leds led_number CMOway led_action action_number serves to turn on and off the different LEDs of the robot For the parameters the enumerations enum leds LED_FRONT LED_BRAKE LED_TOP_GREEN LED_TOP_RED and enum led_action ON OFF should be used 2 2 3 Sensor and motor reading 1 de septiembre de 2011 The sensor and reading commands serve to provide information about the environment and
6. ENTORNO DE DESARROLLO PARA MOWAY 4 2 1 1 2 1 PASO 1 INSTALACI N MOWAY PACK V2 2 El primer paso es instalar el software mOway Pack v2 2 que puede descargarse desde la p gina web del fabricante htto www mOway robot com index php option com content amp task blogcategory amp id 53 amp ltemid 204 Este software lo necesitaremos tanto por las librer as adicionales que le acompa aban como por los drivers del m dulo RF USB Ya que sin ellos nos ser imposible comunicarnos de forma inal mbrica con el robot Si la instalaci n se ha realizado correctamente al conectar el modulo USB RF Windows deber a instalar los drivers autom ticamente En caso contrario habr a que reinstalar el software asegur ndose de ejecutarlo con permisos de Administrador local del equipo 4 2 1 1 2 2 PASO 2 INSTALACI N MPLAB IDE Para generar programas para el robot mOway haremos uso de la aplicaci n MPLAB IDE v8 56 que puede descargarse desde el siguiente enlace htto www microchip com stellent idcplg ldcService SS GET PAGE amp nodeld 1406 amp d DocName en019469 amp part SWO007002 Una vez instalado procederemos a su configuracion Haciendo uso del Project Wizard de MPLAB la configuracion es sencilla Dentro del programa nos vamos al Menu Project gt Project Wizard Seleccionamos el microcontrolador PIC18F86J50 27 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY
7. RNE INTL Step One As Select a device Device IMAGEN 18 PASO 1 WIZARD MPLAB Configuramos las opciones de la siguiente manera Step Two B Select a language toolsuite Active Toolsuite Microchip C18 Toolsuite Toolsuite Contents MFASM Assembler mpasmwin exe v5 37 MPLINK Object Linker mplink exe v4 37 MPLAB C1 8 C Compiler mcc18 exe v3 36 Location C MCC18 mpasm MPASMWIN exe 7 Store tool locations in project Help My Suite Isn t Listed E Show all installed toolsuites toner a IMAGEN 19 PASO 2 PROJECT WIZARD MPLAB Una vez generado el proyecto solo nos falta un ultimo paso se deben agregar los archivos h del robot mOway que agregan la funcionalidad tanto para utilizar el modulo de expansion RF como los sensores Para ello deberemos copiar los archivos lib mot _mOway h lib rf2gh4 h y lib sen mOway h dentro de la carpeta Header Files de nuestro proyecto Estos archivos se encuentran dentro de la carpeta de instalaci n del mOway Pack La ruta por defecto es C Archivos de Programa mOwayPack Robot mOway Librerias C18 Dentro de nuestro archivo main c incluiremos las referencias a los archivos h include p18f86j50 h include lib rf2gh4 h 28 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL include lib mot mOway h include lib sen mOway h Una
8. alg n comando no es correcto el resto de la ejecuci n del programa se ver a comprometida Algo tan sencillo como un bucle que se repita X veces hasta que se tenga confirmaci n de que un comando se ha ejecutado con xito puede resolver muchos problemas Es importante que el nivel de bater a est alto sino pueden producirse problemas en la respuesta del robot Siempre que sea posible es aconsejable utilizar el robot con el WIFI desactivado y en lugares con pocas interferencias Debido al modo de funcionamiento de los detectores de proximidad se deben usar como obst culos objetos preferentemente blancos ya que as los sensores son m s precisos Si el robot se acerca en diagonal a alg n objeto seguramente no detectara el obst culo debido a que el haz de luz infrarroja saldr rebotado hacia otra direcci n Esto es una limitaci n debida a la disposici n de los sensores en el robot 44 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL 6 CONCLUSIONES Ha resultado satisfactorio llevar a cabo este proyecto y m s aun sabiendo que tendr una aplicaci n pr ctica inmediata y no se quedar simplemente acumulando polvo en los archivos Esto me hace pensar que seguir vivo y que incluso podr ser retomado para futuras ampliaciones Creo que es todo un acierto por parte de los profesores de rob tica el intentar que sus alumnos tengan
9. and used especially in the targeted programming environment and we created test projects to see if this structure works porperly The following step was to define the interface deciding what commands should be supported what features should be hidden For that we studied both the MOway Robots manual and the interface used in a previous teaching assignment After that we implemented the functions using the gr layer to send commands to the mOway A typical implementation consists of the following steps 1 constructing a message of appropriate form using the received function Za sending the message 3 recieveing the mOways answer 4 in case of reading functions writing the read values into the reading parameters 5 error handling 1 de septiembre de 2011 In the last phase we tested and debugged the solution For this we created small projects and started to conduct experiments testing the communication and the functions During this phase we investigated and overcame the following problems among others the proper settings of the programming environment Visual Studio for using a precomplied dll in a project a bug in the 3 layer that resulted in problems when reading values from the robot a compilation setting that induced unsuspected delays and caused seemingly inexplicable behaviour That last one was the hardest problem to overcome because it was caused by the porgramming environment and had nothing to do
10. de 0 100 int speed_motor_right velocidad del motor derecho en Valores posibles de 0 100 direction dir_left sentido del motor izquierdo Valores posibles enum BACKWARD FORWARD direction dir_right sentido del motor derecho Valores posibles 33 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RTS enum BACKWARD FORWARD int distance_right Distancia a recorrer por la rueda izquierda en mm Valores posibles 0 255 int distance_left Distancia a recorrer por la rueda derecha en mm Valores posibles 0 255 bool GoStraight int speed direction dir FORWARD int duration 0 Funci n para hacer que el robot se mueva en linea int speed velocidad de los motores de ambas ruedas en recta Valores posibles de 0 100 direction dir sentido del movimiento de ambas ruedas Valores posibles enum BACKWARD FORWARD int duration Duracion del movimiento de ambos motores 1 100ms Por defecto 0 movimiento infinito bool GoStraightDistance int speed direction dir int distance Funci n para hacer que el robot se mueva en linea int speed velocidad de los motores de ambas ruedas en recta una distancia concreta Valores posibles de 0 100 direction dir sentido del movimiento de ambas ruedas Valores posibles enum BACKWARD FORWARD int distance Distancia a recorrer en mm Valores posibles 0 255 bool ChangeLEDState CMOway
11. de septiembre de 2011 WORK REPORT on the development of a Programming Interface for the MOway Robot Julia Bir julia biro gmail com Sami Racho Ferrandis maesesami gmail com Summary The team developed a programming interface in the form of a linkable C class that can be used to program a MOway Robot The interface was designed to serve teaching purposes The interface can be used with other tools to remotely control and receive sensor information from a robot unit Keywords MOway robot programming interface dll L Assignment Goal structure of assigment solution The MOway Robot is a programmable mobile robot designed for teachning purposes The group s goal was to develop a porgramming interface that is most apt for future assignments that can be used to remotely control a MOway Robot unit 18 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY The organization of this report is the following in section 2 1 we will explain the structure of the solution and mark out what part of this was completed by the team formed by the authors In section 2 2 we will describe the programming interface In Section 2 3 we will analyze the process of the work and the problems encountered In section 2 4 we will give instructions how to use the programming interface 2 Assignment solution 2 1 Structure of the solution The solution of the assin
12. dulo USB RF suministrado por el fabricante trabaja en la misma frecuencia que las extendidas redes WIFI por lo que en entornos congestionados se producen muchas interferencias y a veces el mOway deja de responder La soluci n a esto es complicada ya que la nica alternativa que ofrece el fabricante es un m dulo de expansi n WIFI cuyo funcionamiento es completamente distinto por lo que para adaptar la librer a habr a que reescribir gran parte del c digo La soluci n m s sencilla aunque no muy elegante pasa por no alejar mucho el emisor del robot Una lectura muy interesante se encuentra en el Proyecto de fin de carrera de Carmen Coll C mara una estudiante de la universidad de Elche En l se dedican varias p ginas a los errores en la odometr a del mOway Sus conclusiones son que los errores de precisi n del robot son demasiado aleatorios como para encontrar un patr n opini n que comparto Enlace al su proyecto http coolab umh es mOway web PFC CarmenCollCamara html 46 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE NT IL 7 BIBLIOGRAF A Web mOway robot http www mOway robot com Documentaci n del robot mOway Manual de usuario y material de ejemplo C18 inclu do con el robot MPLAB IDE Manual Avoiding DLL Hell http msdn microsoft com en us magazine bb985026 aspx Creating Visual C DII http logix4u net Programming vc A T
13. inner status of the robot With their help it is possible to design behaviours that react to the changes of the surroundings of the robot Since the reading functions too return a boolean value to indicate the success or failure of the reading process the rad numeric vaules are written into should be variables that passed as parameters The firstgroup of the reading functions provide information on the motors The method bool ReadSpeed int speed_motor_left int speed_motor_right reads and writes the speed of each motor into the parameter varables The function bool ReadMotorDistances int left int right reads the distance covered by each wheel in mms The counter can be reset by bool MotorDistanceReset The function bool CMOway ReadMotorKM int KM returns the distance covered by the robot in kilometers the counter can be reset by 21 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY bool MotorKmReset The function bool ReadMotorTime int time reads the time the motors have been active the counter resettable by bool MotorTimeReset For fine steering it is possible to read the rotation of each wheel in degrees with the function bool ReadWheelRotation int left int right The next group of functions make it possible the use the sensors of the robot to measure environmental vales The MOway Robot has a set of proximity sens
14. vez configurado el proyecto deber a verse como en la siguiente imagen mOway_firmware_1_1 mcp G gt a Source Files Senasa om main C lib_m ho a lib ps h E lib_sen_moway h sn Ea Object Files feat 29 Library Files a 40 Linker Script bs Moway_Ikr lkr a Other Files IMAGEN 20 PROYECTO MPLAB 4 2 1 1 2 3 PASO 3 DESCARGAR PROGRAMAS EN MOWAY Cuando compilemos un programa nos generar un archivo hex que ser el que deberemos cargar en el robot a trav s del cable USB mediante el programa mOway GUI Para ello conectamos el robot mOway con el cable USB al PC y desde la aplicaci n mOway GUI vamos al men Archivo gt Importar Grabar Seleccionamos el archivo Hex y esperamos a que el programa se vuelque en la memoria del robot 4 2 1 1 3 ENTORNO DE DESARROLLO EN VISUAL STUDIO 2008 Lo nico que debemos hacer es crear un proyecto C seg n nuestros requisitos Si deseamos utilizar formularios crearemos un proyecto Windows Forms y sino una aplicaci n de consola Win32 29 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL 4 2 1 2 PROGRAMACI N Y FUNCIONALIDAD DEL FIRMARE INSTALADO EN EL ROBOT El objetivo de esta parte del desarrollo era conseguir un programa que permitiera al mOway establecer un canal de escucha para el m dulo RF y que fuera capaz tanto de transmitir la informac
15. AL ROBOT MOWAY MICA RL 3 1 2 HARDWARE mOway est compuesto por los siguientes elementos e Procesador e Dos motores independientes e Bater a recargable e Sensores En el siguiente esquema se puede observar la situaci n de cada uno de estos componentes IMAGEN 3 ESQUEMA DE LOS COMPONENTES DEL MOWAY DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MIER TR LA identificador indicador luminoso bicolor Slot del bus de expansion sensor de luz filtro infrarrojos posterior Ve Lianta d Caja de motores filtro infrarrojos delantero ventana sensores infrarrojos de suelo protector ruedas IMAGEN 4 VISTA DESGLOSADA HARDWARE MOWAY 3 1 2 1 PROCESADOR El mOway tiene un microcontrolador modelo PIC18F86J50 a 4Mhz En el siguiente enlace se puede encontrar la documentaci n completa del microcontrolador http www microchip com wwwproducts Devices asox dDocName en027175 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MICA RL Los programas que se desarrollen para el robot se cargan en este microcontrolador En nuestro caso se dise un programa para que el robot pudiera enviar y recibir comandos a trav s de su interfaz inal mbrica 64 Pin TQFP 59 RETIPMANECCPA PZA 63 C REVPMAI1NPIGC RE FO 58 C RDOP MDO
16. ARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY ERII IN o k 1 INTRODUCCI N Es indudable que la rob tica est cada vez m s extendida en la sociedad y que sus aplicaciones se cuentan por miles Desde el mbito industrial hasta el m dico su avance se ha disparado durante las ltimas d cadas Lo m s interesante desde el punto de vista educativo es que ese avance en las tecnolog as relacionadas con la rob tica se ha traducido en una mayor accesibilidad Un claro ejemplo es la gama de robots Lego Mindstorms NXT concebidos como un juguete pero que ofrecen much simas posibilidades para desarrollar aplicaciones que bien podr an ser el punto de inicio de otras m s complejas que podr an utilizarse en sistemas m s avanzados Esto resulta una clara ventaja de cara a la investigaci n puesto que con un presupuesto reducido se pueden realizar experimentos y desarrollar tanto software como hardware con grandes posibilidades de aplicarse a la pr ctica Siguiendo la estela de los avances en rob tica durante las ltimas d cadas podemos observar que las mejoras en la parte mec nica de los robots no son el principal impedimento para conseguir que estos realicen m s funciones y de forma m s r pida y eficiente En la inteligencia artificial disciplina ntimamente ligada a la rob tica es donde se encuentran m s problemas a la hora de crear robots m s in
17. ES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY To adapt to the future purpose of the interface we studied a past class assigment using a similar robot and the programming interface providied to it We designed the new interface to be as similar to the old one as possible This sometimes meant that some more user friendly capabilities of the MOway were made unaccessible from this interface The interface consists of one single C class that is providied as a dinamically dll The interfaces linkeable library functions can be classified into the following groups connection handling methods motor and LED commands sensor readings error handling We are going to summarize the functions shortly for exact deatils please consult the full return a documentation All functions boolean value true on successfull completion and false otherwise 2 2 1 Connection handling methods bool ConnectMOway int robotId connects to the mOway robot identified by 1 de septiembre de 2011 the number robotid This id is set in the firmware and indicated by a sticker on each robot bool DisconnectMOway disconnects from robot Naturally any the control and sensor reading methods ony work if the connection to the robot is successfully established 2 2 2 Motor and LED commands The inetrface defines enumerations to be used for certain parameters of the methods discussed in sections 2 2 2 and 2
18. Est n colocados en los extremos delanteros de la carcasa del robot El modo de funcionamiento es el siguiente El emisor de luz genera un pulso si ste es reflejado en un obst culo y captado por el receptor se considera que el robot tiene algo delante de l 11 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MICA TR LA 3 1 2 3 2 SENSORES DE L NEA En la parte inferior del mOway se encuentran dos sensores que funcionan de manera parecida a los detectores de obst culos funcionan tambi n con luz infrarroja para detectar el tono del suelo en el lugar donde se encuentre el robot Para ello hace uso del sensor CNY70 de Vishay capaz de distinguir entre diferentes tonos Hoja de especificaciones http www vishay com optical sensors list product 83751 21835 IMAGEN 8 SENSOR VISHAY CNY70 Si el robot se encuentra sobre una superficie clara se reflejara casi toda la luz infrarroja 3 1 2 3 3 SENSOR DE LUZ Este sensor permite captar la intensidad de luz ambiental Esta ubicado en un pequeno hueco en la parte delantera del robot Esta compuesto por un sensor APDS 9002 de Avago Technologies Enlace a su hoja de especificaciones http www avagotech com docs 5989 3051EN S E A IMAGEN 9 SENSOR APDS 9002 Este sensor est conectado a un puerto anal gico del del microcontrolador lo que nos permite detectar las variaciones de intensidad de la luz c
19. SARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RTS O eee a Devuelve la temperatura en C Error estimado 5C bool ReadMotorDistances int left int right Obtiene la distancia recorrida por las ruedas en mm Valores posibles 0 255 bool CMOway ReadMotorKM int KM Obtiene el cuenta kilometros 1mm bit Valores posibles 0 512 bool ReadWheelRotation int left int right Obtiene la rotacion de las ruedas Valores posibles de 0 360 bool ReadAccelerator int result CMOway axis eje Aceleraci n sufrida por el robot en los ejes x y z Valores de 0 a 255 0 2G 255 2G 0 0156G bit bool ReadMotorTime int time Obtiene el tiempo transcurrido 100ms bit Valores posibles 0 255 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE NT IL 4 2 1 4 PRUEBAS 4 2 1 4 1 DESARROLLO DE LAS PRUEBAS Para la realizaci n de las pruebas se cont con la ayuda de varios alumnos que realizaron en base a una memoria que realic con el principal objetivo de intentar averiguar el comportamiento de la comunicaci n RF y la estabilidad de la librer a de comunicaci n Cabe mencionar que la soluci n CMoway en formato Visual Studio 2008 tiene incluido un proyecto llamado CheckDIl que permite comprobar la funcionalidad de la librer a sin necesidad de crear un proyecto desde cero El enunciado de la pr
20. acceso a los robots y puedan trabajar con ellos ya que motiva bastante m s trabajar con modelos f sicos y no quedarse solo en simulaciones En mi primera aproximaci n a la rob tica nuestro objetivo era crear un algoritmo para resolver un laberinto Todo se hizo mediante simulaciones por ordenador y nuestros supuestos robots no eran m s que un punto en la pantalla Esta primera toma de contacto me result frustrante y muy aburrida Tanto que no volv a interesarme por la rob tica hasta que tuve la oportunidad de hacer peque as pruebas con minirobots en la UPV El interactuar con un robot es infinitamente m s inmersivo incluso cuando se comenten errores que utilizando una simulaci n que tan solo muestra un error por pantalla As que en este proyecto he buscado intentar facilitar esa interacci n para que los usuarios de la librer a CMoway puedan comunicarse de forma trnasparente con el robot a n con conocimientos reducidos en programaci n La parte del proyecto que m s dura ha sido la relacionada con el transporte de las tramas de datos Muchos problemas ven an por el solapamiento de instrucciones y el debugging era complicado ya que al poner puntos de ruptura se pausaba la ejecuci n y los errores no se produc an 45 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL Otro gran problema con la librer a de comunicaci n RF es que el m
21. alg n sensor nunca de un valor correcto e t c Se rellenar una tabla con el siguiente formato Descripci n del problema Condiciones en las que ocurre Chequeo de las funciones Se deben chequear las funciones de la librer a CMoway para comunicarse con el robot Para ello se probar n una a una con al menos tres combinaciones de par metros aleatorios en caso de que la funci n tenga par metros pero dentro de los rangos v lidos Se rellenar una tabla con la siguiente informaci n Nombre de la funci n Valor devuelto a 1m 2m Resultado robot 1m 2m Siendo Nombre de la funci n Nombre de la funci n con los par metros utilizados Valor devuelto a 1m 2m Valor true o false devuelto por la funci n a 1m y 2m de distancia entre el pen rf usb y el robot Datos devueltos a 1m 2m En algunas ocasiones las funciones devuelven los datos de algunos sensores Aqu se apuntaran sus valores Resultado robot 1m 2m Aqu se indicar si el robot efectivamente ha realizado la tarea o no As por ejemplo si probamos la funci n ConnectMoway a 1m de distancia la funci n nos devuelve true y el moway ha conectado la tabla quedar de la siguiente forma 40 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL Nombre de la funci n Valor devuelto a 1m 2m Datos devueltos a 1m 2m Resultado robot 1m 2m ConnectMoway true Ooo de correcto Para chequear alguna
22. aptada 12 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY MICA RL 3 1 2 3 4 BUS DE EXPANSI N Este bus permite conectar cirtuitos para ampliar el hardware del robot En la siguiente tabla podemos encontrar la relaci n de conexi nes de que dispone 3 1 2 3 5 LEDS mOway posee los siguientes LEDs e LED Frontal de color blanco e LED bicolor verde rojo superior e LED de freno rojo 3 1 2 3 6 SENSOR DE TEMPERATURA La temperatura se mide mediante un transmisor modelo NTC de Murata Su resistencia el ctrica disminuye a medida que la temperatura aumenta Enlace al cat logo de semiconductores de detecci n de temperatura Murata http www murata com products catalog pdf r44e pdf 3 1 2 3 7 ALTAVOZ mOway es capaz de emitir tonos a trav s de un buzzer CMT 1102 de CUI INC Los tonos pueden estar entre los 250Hz hasta los 5 6kHz IMAGEN 10 BUZZER CMT 1102 13 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MICA RL 3 1 2 3 8 MICR FONO mOway monta un micr fono modelo CMC 5042PF AC de CUI INC Permite detectar sonidos desde 100HZ hasta 20KHZ Enlace a hoja de especificaciones http products cui com adtemplate asp invky 925120 e aS IMAGEN 11 MICROFONO CMC 5042PF AC 3 1 2 3 9 ACELEROMETRO El aceler metro permite medir la aceleraci n y las fuerzas induci
23. cer de puente entre el programa cargado en el robot mOway y el m dulo USB RF De este modo se pueden enviar comandos al robot comp por ejemplo mOwayRobot gt MotorStop De esta forma se simplifica de manera evidente la comunicaci n A continuaci n se adjunta la tabla con todas las funciones disponibles en la librer a 31 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RTS bool ConnectMOway int robotld int robotid Identificador del robot void SetSendDelay int delay Funci n para establecer el retardo en milisegundos Int delay Retardo en milisegundos por defecto 100 antes de enviar un comando bool DisconnectiMOway bool disableRF false Funci n para desconectar el robot bool disableRF Indica si queremos desconectar el mo rf del mOway Si se desconecta el rf del mOway habr apagarlo y encenderlo otra vez para que pueda volver a recibir rdenes std string GetErrors Devuelve un string con detalles sobre el error ee bool SetSpeaker int freq soeaker_mode mode int time 0 Funci n para definir el Funci namiento del altavoz inf freq Frecuencia del sonido Valores posibles 0 255 Valor Frecuencia O 0 0000000 10 5681 8181818 50 1225 4901961 100 618 8118812 150 413 9072848 200 310 9452736 250 249 0039841 255 244 1406250 enum speaker_mode Valores posibles SPEAKER OFF SPEAKER_ON SPEAKER_TIME SPEAKER_TIME indica que se emitir
24. das por la gravedad Utiliza un aceler metro MMA7455L de Freescale Semiconductor Enlace a su hoja de especificaciones http www freescale com files sensors doc data sheet MMA7455L pdf Bottom View Top View 2114 scusPc gt SDA SOVSDO 41 2 12 14 LEAD LGA CASE 1977 01 11 no 119 8 INTVORDY re Figure 1 Pin Connections IMAGEN 12 ACELEROMETRO MMA7455L 14 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MICA TR LA 3 1 2 3 10 BATER A mOway posee una bater a LiPo recargable Es posible medir la cantidad de bater a restante ya que va conectada a una entrada anal gica del microcontrolador 3 1 3 SOFTWARE mOway viene acompa ado de algunas aplicaciones para poder realizar programas para l y cargarlos a traves de su puerto USB Desde la pagina http www mOway robot com es possible descargarse el mOway Pack que ofrece los siguientes elementos e Manual de usuario del robot mOway e Gu a de introducci n e Software mOway GUI El software mOway GUI nos permite generar programas para el robot de manera visual muy til como introducci n y para uso en entornos docentes donde los alumnos no posean conocimientos de programaci n IMAGEN 13 MOWAY GUI 15 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY MICA RL A trav s de mOwa
25. e 35 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU bool ReadLineSensors int left int right bool digital false bool ReadAmbientLightSensor int lightsensor bool ReadBatteryStatus int battery bool CMOway ReadMic int temp bool digital false APLICACI N AL ROBOT MOWAY RTS Obtiene la lectura de los sensores de l nea Devuelve la cantidad de luz detectada en Valores posibles 0 100 0 oscuridad Devuelve el estado de la bateren Valores posibles 0 100 Funci n para leer el ruido ambiental En modo anal gico obtiene valores entre O y 255 0 no hay ninguna l nea 255 el sensor est pegado a la la l nea En modo digital obtiene valores entre O y 1 0 no hay ninguna l nea 1 el sensor est pegado a la l nea int left Valor del sensor izquierdo Valores posibles 0 255 Valor del sensor derecho Valores posibles 0 255 bool digital Si se pone a true se obtendr el valor digital de cada sensor devuelve O si no se detecta l nea y 1 en caso contrario Si se pone a false se obtendr un valor entre 0 255 para cada sensor Por defecto es false int temp El ruido detectado por el mOway Valores posibles 0 255 bool digital Indica si queremos obtener el valor digital del sensor de ruido O no se detecta nada 1 se detecta ruido Valor por defecto false Devuelve true si se recibe confirmaci n del mensaje por parte 36 DE
26. e esta prueba no es resolver alg n problema complejo sino comprobar la estabilidad de la comunicaci n RF Ejemplos de algoritmos sencillos e Encender y apagar los leds en una secuencia 100 veces e Moverse detectar si existen obst culos y en ese caso girar y continuar e Emitir pitidos si se detecta mucha luz Se deber n apuntar los resultados obtenidos as como sugerencias para mejorar su funcionamiento 42 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE NT 4 2 1 4 2 RESULTADOS Los resultados de las pruebas se pueden consultar en los anexos 3 y 4 4 2 1 5 MODIFICACI N DE PR CTICA DESTINADA A ESTUDIANTES PARA EL USO DE LA LIBRER A En base a la librer a creada se construy una pr ctica para los alumnos de la asignatura de Rob tica a continuaci n adjuntamos la ltima versi n de la pr ctica con las modificaciones marcadas en amarillo para reflejar las ltimas funcionalidades agregadas a sta El documento con las modificaciones pertinentes se puede encontrar en el Anexo 5 43 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTI 5 CONSEJOS DE UTILIZACI N DE LA LIBRER A Pr cticamente todos los m todos devuelven true si se han completado con xito y false en caso contrario Es muy recomendable comprobar estos valores porque en caso contrario si el env o de
27. e llamada LibUsb http www libusb org Libusb permite un acceso uniforme a los dispositivos usb desde diferentes sistemas operativos Puesto que el proyecto ten a como objetivo el sistema operativo Windows y 16 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY ERII RL el lenguaje de programaci n Visual C se utiliz libusb win32 Se puede consultar toda la documentaci n relativa a este proyecto en su p gina Web http sourceforge net apps trac libusb win32 wiki 4 1 2 FIRMWARE DEL ROBOT Fue necesario el desarrollo de un firmware para que el robot interactuara con los distintos comandos codificados que se le enviaban de forma inal mbrica Una versi n inicial fue desarrollada en C con un compilador especial destinado al procesador que incluye el robot m s adelante se explica detalladamente tanto la configuraci n del entorno de desarrollo para el firmware as como de su c digo 4 1 3 LIBRER A EN C El objetivo era ofrecer una capa de abstracci n entre la parte 1 y la parte 2 del desarrollo Para ello se cre el c digo necesario para que el env o y la recepci n de datos entre el robot y un programa escrito en C se hicieran con funciones sencillas de utilizar A continuaci n se incluye el informe de esta implementaci n 17 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY 1
28. gment uses 4 independent layers that were developed by separate teams table 1 The first layer is the firmware of the MOway Robot that provides a basic interface for commanding the robot and taking measurements from its sensors The second layer is a communication layer that ensures raw data communication between a comupter and a Radio Frequency unit that is attachable to the robot using a USB radio transmitter The third layer provides an interface for the raw data communication processes the commands and the received data and stores error information The fourth layer provides a C programming interface that can be used from a Visual C program to command the robot The 1 de septiembre de 2011 team carried out the construction of the 4 layer and participated in the testing and debugging of all 4 layers Table 1 Solution layers Layer name developer 4 Programming Interface S Ferrandis J CMOway Bird 3 Communicaion interface Marcin RFModule Nikliborc 2 Raw cumminication libusb lib 1 MOway firmeare Peter Hanger 2 2 The programming interface The programming interface was designed to be used in future class assignments therefor it had to be able to provide a certain way of control notably there was an epmhasis on controlling the movement of the robot by contorlling the motors of its two wheels 15 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVIL
29. i n de sus sensores como de recibir rdenes y ejecutarlas En cada trama se pueden transmitir hasta 8 bytes Lo que se intent es aprovechar al m ximo la ocupaci n de estos bits para evitar retardos tanto como fuera posible Un ejemplo de esto es f cil de observar en la configuraci n de los motores En la versi n inicial de la librer a si se quer a establecer la velocidad de los motores de ambas ruedas se deb an enviar dos rdenes desde el PC al mOway El problema de esto es que al enviar dos comandos la velocidad de los motores no se establec a al mismo tiempo y provocaba que el robot se desplazara levemente hacia un lado antes de iniciar el movimiento Siempre que ha sido posible se ha intentado minimizar el impacto de los retardos sobre el funcionamiento del robot Puesto que no es un programa demasiado largo adjunto su c digo comentado para que se pueda ver qu funciones realiza B sicamente establece un canal para el m dulo RF e inicia un bucle infinito esperando rdenes Cuando recibe una orden la decodifica y si es v lida ejecuta el comando asociado Para consultar el c digo comentado detallamente debe consultarse el anexo 1 Exactamente el documento de nombre main c 30 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE NT IL 4 2 1 3 PROGRAMACI N Y FUNCIONALIDAD DE LA LIBRER A EN C El objetivo de la librer a es ejer
30. ia 2 Partiendo del punto anterior se debe desarrollar una capa adicional para codificar y descodificar la informaci n utilizando bits de manera que los dispositivos puedan entenderse 3 Porun lado el PC debe ser capaz de descodificar los datos enviados por el robot y tambi n de enviar los comandos con un formato correcto para que puedan ser ejecutados por el microcontrolador del robot 4 Se debe desarrollar una capa adicional que permita interactuar con todos los sensores y motores del robot de la forma m s natural posible ocultando todos los procesos que se realizan a bajo nivel tanto en al pc como en el robot y DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY MICA RL proporcionando comandos sencillos para enviar rdenes y pedirle informaci n sobre sus sensores al robot 5 Todo ello debe encapsularse en una librer a de enlace din mico dll en el lenguaje de programaci n C para que pueda ser agregada de forma sencilla a proyectos nuevos proporcionando la funcionalidad requerida sin afectar al resto del proyecto 6 Por ltimo debe escribirse una documentaci n detallada donde pueda consultarse el funcionamiento de la librer a el modo de uso de cada comando los valores que devuelve etc En resumen lo que se perseguir es crear una interfaz de comunicaci n inal mbrica bidireccional robot PC con fines docentes con la que los al
31. l robot MOWAY ccccccssececessecceeseccceneceeeeeceseeeeeseaeeeseueeeeees 6 Imagen 3 Esquema de los componentes del MOWaY ccccoccnncnnccnccnccnncnacononacononnnnononanonenanonos 7 Imagen 4 Vista desglosada hardware MOWAY ssccccssecccessecceseceeesecesseceeeeseeeseecessueeeeees 8 Imagen 5 Diagrama del MicrocontroladoF coocccccnocnnncnonnnonacononnnnnnonarononarononnnnnnonaronenanonos 9 Imagen 6 Placa electr nica MOWAY ooccccccncccnncnnnccnnonnnonnnonanonnnonanonnnonanonononanorononanonononaninononos 11 Imagen 7 Esquema KPA3010 F3C ooooccoccnccnoconccnonnononccnorcnnonccnoronconoronnonconoronnonacnoronccnaronnancnno 11 imagen 8 Sensor Vishay CIN Y 7 0 escs tcaccsindorssnancesaresenenseasasonscededeassuasdeansuannouessadebssadmdonstenesoncas 12 Imagen Sensor APD5 9002 did 12 Imagen LO BUZZER CIT iO 2 a as 13 imagen 11 Micr fono CMC 5042PF AC omar vo 14 Imagen 12 Aceler metro MMA74A55BL onocconconicnonconacnonconaricnnonaricnonnarionoonaricnonnaricnonnaricnonas 14 Magen o MOWa QUE oso noo sra 15 Maten ee WZ sucre ada 26 imagen 15 M d lo USB Raton 26 Imagen 16 M dulos expansi n RF ooccccccncccnncnnnccnnnnononononacnonononanocononanonononanonononanonononanonononos 26 imagen 17 Cable USB Mini US Besora tdci 26 Imagen 18 Paso 1 Wizard MPLAB conidios 28 Imagen 19 Paso 2 Project Wizard MPLAB ccccssecccsssececeseceeesceceesceeeeseceseaecesseecesseeeeees 28 imagen 20 Proyecto MI Pla sb 29 DES
32. leds led number CMOway led_action Funci n para cambiar el estado de los leds enum led led number El led Valores posibles LED FRONT action_number LED_BRAKE LED_TOP_RED LED_TOP_GREEN 34 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU bool ReadSpeed int speed_motor_left int speed_motor_right bool ReadProximitySensors int left int center_left int center_right int right bool digital false APLICACI N AL ROBOT MOWAY RTS Obtiene la velocidad de las ruedas en Valores posibles de 0 100 Obtiene la lectura de los sensores de proximidad enum led_action Para apagar o encender el led Valores posibles ON OFF En modo anal gico obtiene valores entre O y 255 0 no hay ning n obst culo 255 el sensor est pegado al obst culo En modo digital obtiene valores entre 0 y 1 0 no hay obst culo 1 el sensor est pegado al obst culo int left Valor del sensor izquierdo Valores posibles 0 255 int center_left Valor del sensor centro izquierdo Valores posibles 0 255 int center_right Valor del sensor centro derecho Valores posibles 0 255 int right Valor del sensor derecho Valores posibles 0 255 bool digital Si se pone a true se obtendr el valor digital de cada sensor devuelve O si no se detecta obst culo y 1 en caso contrario Si se pone a false se obtendr n valor entre 0 255 para cada sensor Por defecto es fals
33. los sensores disponibles en el robot y depurando su funcionamiento Dividiremos el proceso de creaci n del proyecto en las siguientes subsecciones e Preparaci n del entorno de desarrollo e Programaci n y funcionalidad del Firmware instalado en el robot e Programaci n y funcionalidad de la librer a en C e Desarrollo de pruebas y resultado e Modificaci n de pr ctica destinada a estudiantes para el uso de la librer a e Problemas encontrados y consejos de utilizaci n de la librer a 4 2 1 1 PREPARACI N DEL ENTORNO DE DESARROLLO En esta secci n se detallar n los pasos necesarios para tener un entorno de desarrollo funcional tanto para compilar programas para el microcontrolador PIC18F86J50 como para utilizar la librer a CMOway en un proyecto en Visual C 25 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL 4 2 1 1 1 REQUISITOS DE HARDWARE Para poder trabajar necesitaremos los siguientes elementos e Un mOway v2 e Un M dulo de expansi n RF e Un m dulo USB RF e Un cable USB Mini USB e Un PC con el sistema operativo Windows XP Vista o 7 tanto de 32 bits como de 64 bits IMAGEN 15 M DULO USB RF IMAGEN 16 M DULOS EXPANSI N RF IMAGEN 17 CABLE USB MINI USB 26 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL 4 2 1 1 2
34. ors built in their values can be read by the function bool ReadProximitySensors int left int center_left int center_right int right The amibent light level on a scale 1 255 and temperature in degrees Celsius can be read by te functions bool ReadAmbientLightSensor int lightsensor and bool ReadTemp int temp The acceleration in one axis can be read by bool ReadAccelerator int result 1 de septiembre de 2011 CMOway axis eje the enumeration enum axis X Y Z should be used for the second parameter The return value indicates a point on an linear scale between 2G and 2G And finally the battery charge level can be read by bool ReadBatteryStatus int battery 2 2 4 Error handling The interface collects all error messages accumulated which can be obtained by the method std string GetErrors The collection can be reset to empty by the function void ResetErrors The error indicate initialization messages errors connection errors and parameter errors 2 3 Work process and problems 22 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY The first step of the work was designing the solution structure We decided that the best option to provide the interface would be a dynamically linked C library that can be used in a Visual C environment For that we investigated how such libraries should be constructed
35. s funciones necesitaremos realizar alguna acci n previa por ejemplo al leer la velocidad ser a recomendable que el moway estuviera en movimiento Funciones a chequear bool ConnectMoway int robotld bool DisconnectMoway std string GetErrors void ResetErrors bool SetSpeaker int freq speaker_mode mode int time 0 Se pazos pa bool SetSpeed int speed_motor_left int speed_motor_right direction dir_left FORWARD direction dir_right FORWARD int duration_left 0 int duration_right 0 P 7 bool SetSpeedDistance int speed_motor_left int speed_motor_right direction dir_left direction dir_right int distance_right int distance_left 8 bool GoStraight int speed direction dir FORWARD int duration 0 9 bool GoStraightDistance int speed direction dir int distance 10 bool MotorStop 11 bool ChangeLEDState CMoway leds led_number CMoway led_action action_number 12 bool ReadSpeed int speed_motor_left int speed_motor_right 13 bool ReadProximitySensors int left int center_left int center_right int right bool digital false 14 bool ReadLineSensors int left int right bool digital false 15 bool ReadAmbientLightSensor int lightsensor 16 bool ReadBatteryStatus int battery 17 bool CMoway ReadMic int temp bool digital false 18 bool ReadTemp int temp 19 bool MotorDistanceReset 20 bool MotorKmReset 21 bool MotorTimeReset 22 bool ReadMotorDistances in
36. t left int right 23 bool ReadMotorTime int time 24 bool CMoway ReadMotorKM int KM 25 bool ReadAccelerator int result CMoway axis eje Chequeo de retardos El objetivo de estas pruebas es intentar localizar los problemas que surgen cuando se le envian muchas Ordenes seguidas al moway Para ello deber n realizarse algoritmos sencillos y repetitivos con una duraci n no superior a 5 min observar el comportamiento del robot y en caso de que deje de responder intentar acotar los fragmentos de c digo involucrados Para ello ser a recomendable que el programa de prueba fuera escribiendo en un archivo de texto las funciones que est ejecutando junto con una marca de tiempo ya que si se utiliza el debugger la ejecuci n del programa es paso a paso y es m s dif cil reproducir los comportamientos an malos En la l nea 236 del archivo RFModule cpp hay un Sleep 100 que introduce un retardo al enviar una orden al robot para evitar que se solapen comandos Al realizar los algoritmos 41 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE INTL ser a recomendable modificar este valor y comprobar si se obtienen mejores o peores resultados Tambi n se debe tener en cuenta la exposici n a interferencias por redes WIFI Si es posible se deben ejecutar los algoritmos en zonas con m s y con menos interferencias y comparar los resultados El objetivo d
37. teligentes Con inteligentes nos referimos a robots m s capaces para realizar las tareas a las que han sido encomendados de forma eficaz El poder realizar an lisis simulaciones resoluci n de algoritmos reconocimientos de formas y trayectorias etc abrir sin lugar a dudas el camino para las siguientes generaciones de robots De ah la importancia de estos desarrollos DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY ERII TR LA 2 OBJETIVOS El objetivo de este proyecto es ofrecer las herramientas necesarias para que un usuario pueda comunicarse con un robot en un lenguaje de programaci n de alto nivel e interactuar con sus sensores Todos los esfuerzos est n destinados a abstraer lo m ximo el hardware del robot para que el investigador no se vea obligado a conocer los detalles de su implementaci n y la comunicaci n se realice de la forma m s natural posible Para ello se ha desarrollado una librer a que ser la que act e de intermediaria entre el robot y la aplicaci n que se realice y que se describir detalladamente en las siguientes secciones Podemos clasificar los puntos que se abarcar n en el siguiente orden 1 Elaboraci n del software necesario para comunicarse de forma inal mbrica Para ello bas ndose en el sistema operativo Windows se debe implementar un sistema capaz de escribir y leer bits en un dispositivo usb de radio frecuenc
38. umnos sean capaces de trabajar con muy pocos conocimientos de programaci n e ignorando el funcionamiento interno de los componentes del hardware del robot A continuaci n se adjunta un esquema de la librer a acabada y las capas que la constituir n CMoway h M todos y variables p blicos de la librer a CMoway Env o Recepci n comandos PC mOway mOway PC RFModule Lectura Escritura en dispositivo USB RF mOway LibUSB win32 Comunicaci n gen rica con dispositivos USB IMAGEN 1 ESQUEMA DE LA LIBRER A Y SUS CAPAS DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACION AL ROBOT MOWAY ERII TR LA 3 EQUIPAMIENTO 3 1 ELROBOT MOWAY El robot mOway es un minirobot aut nomo y programable destinado principalmente a entornos docentes y de investigaci n Sus principales caracter sticas que se detallar n en las secciones siguientes son e Sensores y motores para interactuar con el mundo real e Posibilidad de ampliar su hardware f cilmente gracias a un bus de expansi n destinado a tal efecto 3 1 1 DISE O EXTERNO Como puede apreciarse en las siguientes im genes el minirobot es bastante peque o y manejable y destaca su forma carente de ngulos lo que facilita que no se quede bloqueado al toparse con paredes obst culos e t c IMAGEN 2 ASPECTO EXTERNO DEL ROBOT MOWAY DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N
39. utorial on creating DLLs with VC html Creating Dinamic link libraries http msdn microsoft com en us library 1ez7dh12 aspx Libusb documentation http sourceforge net apps trac libusb win32 wiki libusbwin32 documentation 47 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY 8 RELACI N DE DOCUMENTOS ANEXOS Anexo 1 Firmware mOway zip Anexo 2 Soluci n VS2008 librer a CMoway Anexo 3 Resultado Pruebas Funcionamiento pdf Anexo 4 Resultado Pruebas Funcionamiento pdf Anexo 5 Programaci n de un robot m vil mod doc Sami Racho Ferrandis Versi n inicial de Peter Hanger Sami Racho Ferrandis En la versi n inicial colaboraron Julia Biro Marcin Nikliborc Slawomir Moriak Laura Arnal Benedicto Carmen Arbonara de la Asunci n Martin Mellado Arteche Septiembre 2011 Proyecto de MPLAB con el programa creado para el robot mOway Soluci n VS2008 con la librer a CMoway lista para ser compilada Tambi n incluye un proyecto llamado CheckDIl para hacer pruebas con la librer a implementada Resultados obtenidos al realizar las bater a de pruebas Resultados obtenidos al realizar las bater a de pruebas Pr ctica realizada en base a la librer a CMoway 48
40. way girar hacia un lado u otro cuando las velocidades de ambos motores sean distintas El servo motor ofrece las siguientes funcionalidades Control de la velocidad de cada motor por separado Control de la distancia recorrida Cuentakil metros Control del ngulo de rotaci n del mOway A A A 2 Control del tiempo de cada comando con procesi n de 100ms 3 1 2 3 SENSORES mOway cuenta con los siguientes sensores e Cuatro detectores de obst culos e Dos sensores de linea e Sensor de luz e Bus de expansion e Cuatro tipos de LEDs e Sensor de temperatura e Altavoz e Micr fono e Aceler metro e Nivel de bater a 10 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY MIER RL IMAGEN 6 PLACA ELECTR NICA MOWAY 3 1 2 3 1 DETECTORES DE OBST CULOS mOway posee cuatro detectores de obst culos independientes Los detectores est n compuestos por dos fuentes de luz infrarroja KPA3010 F3C de Knightbright Enlace a su hoja de especificaciones http www kingbright com product main 1 php product01 20050504115352 amp product 02 20050518061248 amp level 20050519091608 amp lang Korea 2 1 0 3 gt Lawn Eh lia 1 o k 2 1 04 o 2 079 x 0 25 01 0 25 01 POLARITY MARK mi hi a 1 2 IMAGEN 7 ESQUEMA KPA3010 F3C 2 0 079 1 04 Tambi n posee cuatro receptores PT100FOMP de Sharp
41. with our implementation 2 4 Use of the solution In order to use the library you have to 1 Enter into VS2008 2 Create a new C Windows Form Project 3 Go to Project properties Alt F7 4 In General tab change Common Language Compatibility to Common Language Compatible clr 23 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS M VILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY MICA RL 5 Copy inside the project folder CMOway lib CMOway h RFModule h usb h and CMOway dll References 6 Right click on solution explorer click on Add existing file and add CMOway lib CMOway h RFModule h usb h and CMOway dll to the project 7 Finally add include CMOway h on the file you want to call the library To test your program after compliation 1 MOway User manual 3 Plug in the usb transmitter 2 Khapera assignment 4 Turn on the MOway Robot 5 Run your program Please make sure that your solution is compiled in Release mode because programs complied in Debug mode may have unexpected delays in them Acknowledgements Martin Mellado Peter Hanger Marcin Nikliborc 24 DESARROLLO ARQUITECTURA DE CONTROL DE ROBOTS MOVILES BASADA EN RADIOFRECUENCIA Y SU APLICACI N AL ROBOT MOWAY RNE NT IL 4 2 ELABORACI N DEL PROYECTO A partir de una versi n bastante inmadura de la librer a comenz el desarrollo de la versi n completa a adiendo el manejo de todos
42. y GUI es posible cargar software para el robot compilado con alg n programa externo siempre que el formato sea el adecuado para su microcontrolador M s adelante en las secciones que describen c mo se realiz el proyecto se indica paso a paso c mo instalar un entorno de desarrollo para el mOway 4 ETAPAS DE DESARROLLO Este proyecto comenzo como una practica de la asignatura de Robotica cuyo objetivo era desarrollar una librer a que permitiera la comunicaci n inal mbrica entre un ordenador y un robot MOway por medio de un programa escrito en C Para su realizaci n cont bamos con la documentaci n del robot y una librer a de comunicaci n escrita en CH La primera aproximaci n fue intentar recompilar la librer a para que pudiera ser reutilizada pero encontramos problemas insalvables porque no poseiamos el c digo fuente completo por lo que se decidi implementar una librer a nueva desde cero El proyecto se dividi en tres partes 1 Env o y recepci n de bits entre el robot y el transmisor inal mbrico 2 Firmware para el robot 3 Librer a con las funciones para enviar y recibir comandos 4 1 DESARROLLO INICIAL 4 1 1 ENV O Y RECEPCI N DE BITS ENTRE EL ROBOT Y EL TRANSMISOR INAL MBRICO En la primera parte el objetivo era desarrollar el software necesario para poder leer y escribir datos en el transmisor inal mbrico USB que acompa aba al robot Para ello se hizo uso de una librer a Open Sourc
Download Pdf Manuals
Related Search
Related Contents
ASF6000 ORION USB3 EvaluationUnit Sistema de Titulación Notarial Valueline VLVP34700B10 Manual de Usuario Manual de Usuario PLX PCI HOST SDK Effet métal texture Copyright © All rights reserved.
Failed to retrieve file