Top Banner
Aplicación para el control de un robot móvil utilizando un sensor inercial ______________________________________________________________________ - 6 - 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de trabajo desde el punto de vista hardware y software. Se van a detallar las características mas relevantes de cada uno de los elementos que van a componer nuestro sistema. Algunos de los elementos que se irán detallando durante la sección serán, desde el punto de vista hardware, la unidad inercial MT9, el robot Pioneer 3-DX de ActiveMedia y la plataforma de calibración. En cuanto al software explicaremos algunos de los programas y las librerías necesarias para el desarrollo del proyecto, como serán por ejemplo las ARIA, el MT9 software y las librerías SDK. 2.2 Hardware. 2.2.1 Unidad inercial MT9. Éste será propiamente el elemento sobre el que nosotros haremos la calibración. Una vez realizada la calibración, la información que pasará al Pioneer 3-DX será la que usará este para estimar su orientación en cada momento. Se comunica con la placa del robot vía puerto serie a través de un conector que viene con la compra de un aparato. El MT9 se muestra en la figura 2.1. figura 2.1. Encapsulado y sistema de coordenadas del MT9. El MT) es una unidad inercial capaz e dar la orientación 3D de un sistema de coordenadas situado sobre el cuerpo del sensor respecto de un sistema de coordenadas de referencia [2]. Este sistema de referencia será el sistema de coordenadas inicial cuando pongamos en funcionamiento el MT9. Los sistemas de coordenadas se muestran en la figura 2.2.
15

2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aug 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 6 -

2. Entorno de trabajo.

2.1 Introducción.

En este apartado explicaremos el entorno de trabajo desde el punto de vista hardware y software. Se van a detallar las características mas relevantes de cada uno de los elementos que van a componer nuestro sistema. Algunos de los elementos que se irán detallando durante la sección serán, desde el punto de vista hardware, la unidad inercial MT9, el robot Pioneer 3-DX de ActiveMedia y la plataforma de calibración. En cuanto al software explicaremos algunos de los programas y las librerías necesarias para el desarrollo del proyecto, como serán por ejemplo las ARIA, el MT9 software y las librerías SDK.

2.2 Hardware.

2.2.1 Unidad inercial MT9.

Éste será propiamente el elemento sobre el que nosotros haremos la calibración. Una vez realizada la calibración, la información que pasará al Pioneer 3-DX será la que usará este para estimar su orientación en cada momento. Se comunica con la placa del robot vía puerto serie a través de un conector que viene con la compra de un aparato. El MT9 se muestra en la figura 2.1.

figura 2.1. Encapsulado y sistema de coordenadas del MT9.

El MT) es una unidad inercial capaz e dar la orientación 3D de un sistema de coordenadas situado sobre el cuerpo del sensor respecto de un sistema de coordenadas de referencia [2]. Este sistema de referencia será el sistema de coordenadas inicial cuando pongamos en funcionamiento el MT9. Los sistemas de coordenadas se muestran en la figura 2.2.

Page 2: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 7 -

figura 2.2. Sistemas de coordenadas de referencia y del MT9

El MT9 está compuesto por una serie de sensores en cada uno de los ejes, cosa que nos proporciona redundancia a la hora de determinar la postura de la unidad. Los sensores de que está compuesto son los siguientes: - 3 acelerómetros los cuales miden aceleraciones en X, Y y Z. - 3 giróscopos, los cuales miden velocidades angulares en los tres ejes.

- 3 magnetómetros, los cuales miden la intensidad de campo magnético en los tres ejes.

A parte de estos sensores el MT9 lleva toda una serie de electrónica asociada para poder ajustar los datos recibidos por el sensor y proporcionar estos datos con la mejor calidad posible al usuario. La comunicación del sensor se hace a través del puerto serie RS-232, desde donde se adquieren los datos.

Especificaciones del MT9.

En este apartado daremos una visión de las características tanto físicas como de funcionamiento del MT9. Se detallan en la tabla 2.1. El tema de la alimentación del MT9 es muy importante ya que el robot sobre el cual se situará va alimentado con baterías y nos interesará que el MT9 utilice la misma fuente de alimentación que la del robot. La tensión de alimentación nominal del MT9 es de 6V. Pero puede funcionar con unas tensiones comprendidas entre 5,1 y 10V. En el caso que nos salgamos de este rango, el MT9 puede bien no funcionar, bien sufrir sobretensiones y por tanto puede quemarse.

Page 3: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 8 -

MT9-B

Interfaz RS-232/RS-485 Voltaje de operación nominal 6V Consumo 40mA Rango de Temperatura de operación 0ºC-55ºC Dimensiones del encapsulado 38’5 x 53’5 x 28,73 mm (ancho x

largo x alto) Peso 35g Drivers Windows/Linux Rate 25-512 Hz Baudrate 57’6-460’8 K

taula 2.1 . Características físicas y eléctricas.

Cables y conectores.

En este apartado trataremos de ver como es el cableado que conecta el MT9 con el PC y que forma tienen los conectores, asó como el linaje asociado a cada uno de estos conectores.

figura 2.3. Cableado de conexión del MT9

En la figura 2.3 podemos ver el único cableado que viene con la compra del MT9, ya que es el único que necesitamos.

- Conector macho de 5 pines, este conector es un conector de cinco pines, de los cuales solo se utilizan cuatro. La parte del conector hembra es la que vamos a insertar en el casco del MT9. En la figura 2.4 se presenta este conector.

Page 4: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 9 -

figure 2.4.Conector macho 5 pines

La tabla 2.2 muestra que cable corresponde a cada pin.

Pin Definición Color cable (4 cables) 1 B o TX (desde el punto de vista del sensor) Amarillo 2 VCC (5’5-6V) Rojo 3 No se conecta 4 GND Verde 5 A o RX (desde el punto de vista del sensor) Azul

tabla 2.2. Pines del conector macho 5 pines.

- DB9 hembra, es el conector RS-232, que va directamente conectado al PC. La figura 2.5 nos muestra una vista frontal del conector DB9.

figura 2.5.Conector RS-232

En cuanto al pinaje, se muestra en la tabla 2.3:

Pin Definición Color cable (4 cables) 1 No se conecta 2 B o TX (desde el punto de vista del sensor) Amarillo 3 A o RX (desde el punto de vista del sensor) Azul 4 GND Verde 5 No se conecta

tabla 2.3. Pinaje conector DB9.

- Conector alimentación, a través de este conector se lleva la alimentación hacia el MT9 y hacia el conector DB9 mediante un cable de dos caminos, tal y como se describe en la tabla 2.4.

Page 5: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 10 -

Color cable (dos caminos) Definición Rojo VCC (5’5-6V) Verde GND

tabla 2.4. Pines del conector de alimentación.

Carcasa y dimensiones.

Esta carcasa protege el MT9 de cualquier tipo de elemento físico como por ejemplo el polvo, aunque no lo hace impermeable, por lo que hay que ir con cuidado a acercarlo a elementos húmedos y evitar tenerlo sometido a lluvia, nieve, etc… Sus dimensiones son de 38’5 x 53’5 x 28’73 mm (ancho x largo x alto), las cuales se pueden observar a la figura 2.6.

figura 2.6. Vistas de planta y perfil del MT9

Condiciones de operación medioambientales.

El rango de temperaturas de operación recomendados para el hardware MT9 es de entre 0ºC y 55ºC de temperatura ambiente. Operar fuera de de estos rangos de temperaturas podría dañar algunos elementos internos del dispositivo, como los sensores o algunos elementos de la electrónica asociada. Hay que tener en cuenta que rápidas fluctuaciones de temperatura pueden disminuir la exactitud de la medida proporcionada por el MT9. Por esto tenemos que intentar que a la hora de hacer las medidas, la temperatura ambiente sea constante, o al menos lo más constante posible.

Page 6: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 11 -

Así podremos evitar que se nos puedan introducir en nuestras medidas algunas no correctas y por tanto, indeseables para llegar a nuestros objetivos. Además, el hardware tendría que estar protegido de descargas electrostáticas y de fuentes de radiación ya que pueden provocar la ruptura de elementos electrónicos o llevar a errores en la medida. Ya para finalizar cabe decir que se tiene que evitar la manipulación brusca del MT9 así como las caídas sobre superficies duras, ya que aunque soporte aceleraciones muy grandes con un golpe en el suelo la desaceleración es demasiado brusca. También, a ser posible, tendríamos que evitar las vibraciones excesivas, ya que esto igualmente que todo lo citado anteriormente provocan el error o la ruptura del MT9.

Estados de operación.

figura 2.7. Estados de operación del MT9.

El MT9 se puede encontrar en alguno de los estados que se muestran en la figura 2.7. Cada estado tiene una funcionalidad diferente. En el estado de Wake up se decide si se pasa al estado Auto mode o por el contrario se pasa al estado de configuración. Esta decisión la lleva a cabo el usuario, que según la acción que realice irá a uno u otro estado. A continuación se explicarán los estados posibles en que puede encontrarse el MT9 [3]:

- Wake up: Cuando encendemos el MT9, éste entra en este estado. Dentro de este podemos inicializar los valores de frecuencia de muestreo y baudrate a los valores de fábrica. En el caso que antes de 500ms enviemos un mensaje de WakeUpAck el MT9 entrará en el estado de configuración. En caso contrario entraremos en el estado Auto mode.

Page 7: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 12 -

- Configuración: Dentro de este estado podemos cambiar algunos de los parámetros del MT9 tal como los valores que vienen de fábrica por defecto. Un ejemplo podría ser el cambio de baudrate mandando un mensaje de SetBaudrate.

- Measurement Auto Mode: en este estado el MT9 va enviando paquetes libremente según la frecuencia de muestreo determinada. Los paquetes de datos son enviados mediante un mensaje llamado MTSData.

- Measurement Manual Mode: En este caso el MT9 no va enviando mensajes libremente a la frecuencia de muestreo, sino que es el usuario quien hace una petición de los datos. Este modo de operación será importante en el caso se tengan varios aparatos MT9 ya que nos permitirá la sincronización entre ellos. En este estado, para realizar una lectura lo que se hace es lo siguiente:

·PrepareData, este comando se envía para que los sensores internos empiecen a realizar medidas.

· ReqData, este comando pide datos al MT9. · ReqAck, el MT9 en este caso envía los datos. Este mensaje ya lleva los datos internamente en un campo de datos.

Cabe decir que el MT9, tal y como se ha comentado, solo puede estar en uno de estos estados de funcionamiento. Con estos cuatro estados se puede hacer cualquier tipo de toma de datos.

2.2.2 Pioneer 3-DX.

En la figura 2.8 podemos observar el Pioneer 3-DX de ActiveMedia. Este robot será sobre el que situaremos la unidad inercial con el objetivo de determinar su posición. Desarrollará un papel muy importante en el proyecto.

figura 2.8. Robot Pioneer 3-DX de ActivMedia

Page 8: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 13 -

El SRV decidió comprar cinco robots ActiveMedia Pioneer 3-DX de propósito general. El objetivo era crear una flota de robots, cada uno de los cuales no debía tener unas dimensiones muy grandes pero si una capacidad de carga suficiente para poder introducir mejoras sobre ellos en el futuro. Posibles ejemplos serían la introducción de cámaras o cualquier aparato sensorial (por ejemplo e MT9). Además, el robot debía permitir un fácil acoplamiento tanto de componentes mecánicos como de inteligencia. Con la intención de poder cubrir estas necesidades, la universidad, en concreto la escuela politécnica decidió hacer la compra de estos robots de ActiveMedia. El Pioneer 3-DX es un robot muy estable y fiable. Consta de u cuerpo de 44 x 38 x 22 cm con unas ruedas neumáticas de 16cm de diámetro. Tiene dos motores con una relación 38.3:1 con encoders de 500 pulsos por vuelta gracias a los cuales puede llevar a cabo una estimación odométrica de la posición del robot. Su tracción diferencial le permite rotar sobre si mismo o girar sobre una rueda en un radio de 32 cm a parte de los movimientos de translación y otras rotaciones. Todo esto se encuentra equilibrado por una rueda pivotando detrás. El pioneer 3-DX puede subir pendientes de hasta un 25% de desnivel, escalones de 2,5cm y baches de hasta 8,9cm dependiendo de la carga que transporte. La velocidad máxima es de 1,6m/s y a velocidades más reducidas puede llegar a transportar cargas de hasta 23Kg de peso. Pero en los escalones y desniveles, la odometria falla un poco, de manera que al acoplamiento de elementos sensoriales para la estimación de la posición es una posibilidad que debe considerarse seriamente. En cuanto a los sensores, a parte de los encoders viene equipado con una corona de 16 sensores de ultrasonido (sonars) que dan una cobertura de 360º, a parte de una pequeña zona lateral en la que aparecen zonas invisibles, y que dan la distancia de objetos entre 15cm y 7m (datos teoricos). El robot se comunica con el exterior a través de un puerto serie, y lo que realmente marca la diferencia con otras plataformas robóticas es el software que viene con el robot: un conjunto de librerías muy versátiles y fáciles de utilizar que permiten una comunicación rápida y sencilla. Estas librerías son las ARIA y se detallarán en el apartado 2.3.2. A parte de el equipamiento del pioneer 3-DX que se adquirió, ActiveMedia aporta toda una serie de componentes opcionales totalmente integrables al pioneer 3-DX. Algunos de estos componentes son: · Inclinómetro-brújula. · Corona con sensores de tacto. · Láser Range-Finder. · Giróscopo. · GPS. · PC104 empotrado. · Sistema de sonido (micrófonos y altavoces integrados). · Brazos robot.

· Cámaras convencionales, estereoscópicas, omnidireccionales, de infrarrojos, etc…

· Opciones de comunicación gíreles (WLAN).

Page 9: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 14 -

El SRV se quedó con unos modelos más sencillos con el objetivo de ir aumentando las prestaciones de los robots con componentes que se adecuasen más a las necesidades futuras que irían surgiendo. Es el caso del acoplamiento on board de la placa VIA EPIA ME6000 con base Linux y de una Gíreles Linksyswmp11 detallados a continuación.

2.2.3 Placa VIA EPIA y Wíreless Lynksys wmp11.

Cabe decir que esta placa se conectará con el MT9 y con el pioneer 3-DX a través del puerto serie. Su importancia en el proyecto se verá reflejada ya que servirá de interfaz entre el MT9 y el robot y nos permitirá un procesamiento de datos que no sería posible sin ella ya que el pioneer 3-DX no lleva ningún mecanismo para poder realizar esta función. Cabe decir que esta placa no viene integrada con el robot sino que ha sido instalada posteriormente de la compra del robot por otro proyectista. En la figura 2.9 se observa el modelo de placa utilizada en nuestro robot. Esta placa lleva un procesador bastante rápido con disipamiento pasivo. El procesador funciona a una frecuencia de 600mHZ.

figura 2.9. Vista de la placa VIA EPIA ME6000

Las especificaciones técnicas se muestran en la tabla 2.5.

Processor - VIA EDEN 600MHz Fanless Processor Chipset - VIA CLE266 North Bridge.

- VT8235 South Bridge System memory - 1 DDR266 DIMM socket.

- Up to 1GB memory size. VGA - Integrated VIA Unichrome AGP graphics with

MPEG-2Acelerator. Expansion Slots - 1PCI. Onboard IDE - 2 X UltraDMA 133/100/66 Connector. Onboard Floppy - 1 x FDD Connector.

Page 10: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 15 -

Onboard LAN - VIA VT6103 10/100 Base-T Ethernet PHY. Onboard Audio - VIA VT1616 channel AC’97 Codec. Onboard TV Out -VIA VT1622 TV out. Onboard 1394 - VIA VT6307 TV out Onboard I/O

Connectors

- 1 USB connector for 2 additional USB 2.0 ports - 2 1394 connector for 2 1394 ports. - Front-panel audio connectors (Mic and Line Out). - CD Audio-in connector. - FIR connector. - CIR connector. - Wake-on-LAN. - CPU/Sys FAN/Fan 3. - 1 SMBUS connector. - 1 LVDS connector. - Serial Port connector for second com port.

Back Panel I/O - 1 PS2 mouse port. - 1PS2 keyboard port. - 1 parellel port. - 1 RJ-45 LAN Port. - 1Serial Port. - 2 USB 2.0 Ports - 1 VGA port. - 1 RCA port (SPDIF or TV out). - 1 S-Video port. - 3 Audio Jacks: line-out, line-in and mic-in; can be switched to 6 channel output.

BIOS - Award BIOS. - 2/4Mbit flash memeory.

System

Monitoring &

Management

- CPU voltage monitoring. - Wake-on-LAN, Keyboard-Power-on, Timer-Power-on-System power management. - AC power failure recovery.

From Factor - Mini-ITX (4 layer). - 17 cm x17 cm.

tabla 2.5. Característiques de la placa VIA EPIA ME6000

Algunas de las ventajas que presenta esta placa a parte del bajo precio, son su similitud com un PC convencional, el tener un disipador pasivo lo que hace que tenga un menor consumo (perfecto teniendo en cuenta que el robot funciona con baterías) y el tener todo tipo de interfaces controladoras integradas (2 puertos serie, 2 puertos USB, un puerto Ethernet, etc..), entre otras. Las interfaces controladoras nos permitirán la conexión de elementos externos como por ejemplo es el caso del MT9. Finalmente, sobre la placa se montó una wireless Lynksys wmp11, la cual también fue instalada por el mismo proyectista que conectó la placa. Esta wireless tendrá una gran importancia en nuestro proyecto ya que nos permitirá un acceso remoto al robot y una transferencia inalámbrica de datos.

Page 11: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 16 -

La wireless puede apreciarse en la figura 2.10.

figura2.10. Wireless Lynksys wmp11

2.2.4 Plataforma de calibración.

La importancia de este elemento será que gracias a ella podremos coger las medidas necesarias para poder realizar la calibración. Estas medidas serán unos datos de orientación real, los cuales serán comparados con los datos de orientación que nos proporcionará el MT9 para realizar la posterior calibración.

figura 2.11. Plataforma de calibración.

Page 12: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 17 -

La plataforma que se muestra en la figura 2.11 es una plataforma giratoria con el objetivo de situar el robot encima y que éste pueda girar sobre un eje. Encima del robot vamos a situar una plantilla graduada con divisiones de 5º. En el centro de esta plantilla se situará el MT9. Además esta plataforma lleva un puntero para: - En primer lugar encontrar el centro de rotación del robot.

- Para poder marcar en cada momento el grado de rotación en el que nos encontramos.

De esta manera será muy importante encontrar el centro de rotación de la plataforma, ya que tendremos que alinear este centro con el centro de la plantilla graduada y del mismo modo con el centro de rotación del MT9. Con el objetivo de encontrar el centro de rotación de la plataforma el procedimiento utilizado es el siguiente: · Situamos el robot sobre la rueda de la plataforma. · Encima del robot colocamos un folio en blanco.

· Vamos dando vueltas al robot, de manera que con el puntero vamos dibujando sobre el folio. · Si lo que se nos dibuja es un punto ya se ha acabado este proceso. Si por el contrario se nos dibuja una circunferencia, deberemos mover el puntero hacia el centro de ésta hasta que se dibuje un único punto. · el último paso será alinear el centro de rotación de la plataforma con el centro de la plantilla graduada previamente situada sobre el robot.

Además, la base de madera de la plataforma se situará encima de otra base con cuatro pies con el objetivo de poder nivelar la plataforma de calibración. En el caso que no estuviese nivelada la plataforma, las lecturas del MT9 serían incorrectas. Por lo tanto nivelar la plataforma será un paso muy importante que deberemos realizar con total y absoluta calma.

2.3 Software.

En este apartado se dará una visión del software usado para la recogida de datos directamente del MT9 o para dar órdenes de movimiento al robot. Los softwares de soporte que hemos tenido durante el proyecto han sido el MT9

Software, las librerías ARIA y las SDK.

2.3.1 MT9 Software y SDK.

Como ya hemos comentado antes, la comunicación del MT9 con un PC se hace a través del puerto serie, de manera que así se pueden hacer capturas de datos de una manera muy sencilla. La recogida de datos para realizar la calibración se ha hecho a través del MT9 Software. Este es un software que viene con la compra de un aparato MT9. Este software [4] permite hacer una recogida muy sencilla de datos de distinto tipo y solo

Page 13: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 18 -

existe versión para Windows. A continuación haremos una breve explicación del MT9

Software.

figura 2.12. Pantalla principal del MT9 software.

La figura 2.12 muestra la pantalla inicial cuando se abre el MT9 Software, a continuación explicaremos un poco el funcionamiento y las diferentes opciones que presenta. Este software escanea los puertos de comunicaciones del PC para poder ver si aparece algún aparato MT9 conectado. Es capaz de recoger un conjunto de datos del MT9 en función de las indicaciones del usuario. Además, nos permite modificar algunos parámetros como podrían ser la frecuencia de muestreo, el baudrate, etc… Los ficheros creados se guardan dentro de un directorio que especificará el usuario. También hay otros parámetros definidos por el fabricante los cuales no está permitido que sean modificados por el usuario. Un ejemplo podrían ser las matrices de desalineamiento, las cuales muestran el desalineamiento de los sensores con la carcasa (esta matriz se detallará más adelante). En el caso que hayamos conectado un MT9 y el programa no lo reconozca, podemos hacer un rescan para que se vuelvan a escanear los distintos puertos de comunicaciones. En el caso que no nos lo reconozca después de haber hecho el rescan, ya tendríamos que mirar que o hubiéramos conectado bien, o que el MT9 estuviera alimentado correctamente, etc… Cabe notar que podemos tener varios MT9 conectados en el PC, pero la recogida de datos no se podrá hacer en paralelo, sino que se deberá hacer de uno en uno. Alguna de las utilidades que podemos destacar es que podemos indicar al programa que queremos los datos en tiempo real y que datos queremos recibir del MT9. Los datos que podemos obtener al ejecutar el software son: · Datos de orientación: Son datos calibrados que pueden aparecer en tres formatos:

Page 14: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 19 -

- Cuaterniones: a cada lectura que se hace se da un vector que representa la rotación sobre un vector unitario un ángulo θ. - Matriz de rotación: nos da la orientación en forma de matriz de rotación. - Euler: nos dará, para cada lectura, una medida de roll, pitch y yaw.

· Datos calibrados del sensor: Nos da una matriz donde aparecen los valores obtenidos en cada eje de cada sensor y la temperatura interna del MT9 (con valores de sus unidades correspondientes) con la calibración hecha de fábrica, aplicando todos los parámetros internos que lleva implementado el software. · Lectura directa de los sensores: En este caso no se aplica ningún tipo de calibración. Con este tipo de formato tendremos una transcripción literal de lo que se envía por el puerto de comunicaciones, obteniendo la información a más bajo nivel que podemos obtener.

Cabe notar que los datos calibrados, sea cual sea su formato (cuaterniones, datos calibrados del sensor, etc…), no vienen con éste directamente del MT9, sino que el propio MT9 Software aplica los valores específicos de ganancia, desalineamiento, etc… dados por el fabricante para obtener los datos en u determinado formato. El MT9 solo saca los datos en formato binario y la conversión se hace dentro del propio PC. Además tenemos una opción de demo, 3D view, que nos permite visualizar mediante un visor de 3D el movimiento del MT9 e tiempo real. Cabe decir que este visor 3D es una herramienta muy interesante para comprobar el efecto del ruido como por ejemplo campos magnéticos externos, vibraciones, etc… La pantalla del visor 3D es la que se muestra en la figura 2.13:

figura 2.13. Pantalla de demo del MT9 software

Esta pantalla de demo que se ve en la figura 2.13 nos muestra en cada momento la temperatura y los datos de orientación.

Este programa sirve, como se ha dicho, para recoger datos a través de un PC con Windows, pero también existen una serie de librerías que permiten la recogida de datos del MT9 desde un programa de usuario tanto en Windows como en Linux. Una vez que tengamos instaladas las librerías SDK [5] ya podemos acceder a una funcionalidad del MT9 simplemente llamando a unas funciones desde nuestro propio código fuente.

Page 15: 2. Entorno de trabajo. 2.1 Introducción.bibing.us.es/proyectos/abreproy/50046/descargar... · 2. Entorno de trabajo. 2.1 Introducción. En este apartado explicaremos el entorno de

Aplicación para el control de un robot

móvil utilizando un sensor inercial

______________________________________________________________________ - 20 -

2.3.2 Librerías ARIA (ActiveMedia Robotics Interface

Aplications).

ActiveMedia proporciona estas librerías juntamente con la adquisición del robot Pioneer 3-DX (o con cualquier otro modelo que lo requiera). Se trata de una interfaz orientada a objetos para controlar cualquiera de los robots que fabrican. Las características más importantes que se presentan son: - Control dinámico de la velocidad, orientación, orientación relativa, etc… - En una sola función consulta todos los sensores de distancia. - Código fuente abierto. - Linux y Win32 (Multiplataforma). - Documentación muy completa. - Sistemas de hilos internos para aplicaciones multihilo.

- Gestión interna a nivel de socket para facilitar la comunicación entre programas por red.

- Acciones de evitación de obstáculos. - Facilita la implementación de acciones a los programadores. Se trata aquí de un conjunto de clases de objetos muy potente y sobre todo muy versátil, ya que podemos utilizar las ARIA para enviar y recibir comandos al robot por el puerto serie, tanto a alto como a bajo nivel. Un ejemplo podría ser decirle al robot que avance un metro o enviar comandos al robot para mover los motores hacia adelante a una determinada velocidad, leer los encoders y cuando haya llegado a la distancia de u metro parar los motores.