SlideShare a Scribd company logo
1 of 30
Desarrollo de una interfaz multimodal para un robot
         domótico móvil. Control por voz y
                mando a distancia.


                               Jorge Cancela González
Índice

 1.    Introducción
 2.    Visión general del sistema
 3.    Aplicación Roomba
 4.    Aplicación Wiimote
 5.    Aplicación teléfono móvil
 6.    Aplicación central
 7.    Aplicación reconocedor
 8.    Comparación de interfaces
 9.    Conclusiones
 10.   Demo
Introducción

   Domótica                       Accesibilidad
                                  acceso para todos
  desarrollar las herramientas
necesarias para la integración
de una aspirada en un entorno
domótico




    Usabilidad
  facilidad y naturalidad en el
uso de las interfaces
Visión general del sistema




    Objetivo:
Controlar Roomba a través de las diversas interfaces de control



    Evaluar:
  requisitos de usabilidad,
  flexibilidad y precisión
Visión general del sistema
  Roomba:

Aplicación de control
y gestión de Roomba corriendo en el PC.

La aplicación se comunica con Roomba a través
de Bluetooth y con el resto de aplicaciones a través
de los sockets del sistema.
Visión general del sistema

  Interfaces de control:

Aplicaciones para el control de la interfaces
en el PC, además de una aplicación en el
teléfono móvil. Esta última se encarga de
la gestión de menús y botones pulsados.
Visión general del sistema

  Aplicación central:

Establece y mantiene
las comunicaciones.
                          Ap.. central
Encamina los mensajes
desde las interfaces de
control hacia la
aplicación de Roomba.

Es la aplicación que
aporta flexibilidad al
sistema.
Aplicación Roomba

  ¿Qué tenemos?                        ¿Qué queremos?

Aspiradora Roomba y API              Ofrecer un conjunto de movimientos
                                     de más alto nivel que las instrucciones
Se pueden enviar instrucciones de    de API, más cercanas al lenguaje
bajo nivel que provocan acciones     natural y configurables.
simples (mover una rueda, encender
LEDs, leer un sensor)                Posibilitar que cualquier interfaz de
                                     control pueda emplear el conjunto de
Se puede emplear un puerto serie     movimientos.
para enviar información.
                                     Automatizar el establecimiento de la
                                     conexión.
Aplicación Roomba - Elementos
                PC: Ejecuta la aplicación        Roomba + API: Permite recibir
              de control y gestión             sencillas instrucciones a través del
              de Roomba                        puerto serie


                     Perfil SPP: perfil de bluetooth que
                   Implementa un puerto serie virtual




                                                  Rootooth: Permite implementar
                                                el perfil SPP de bluetooth
 Dispositivo Bluetooth:Establece la
comunicación bluetooth con el                  Ficheros de configuración
Rootooth                                    Contiene información sobre la
                                            dirección y configuración del puerto
                                            serie.
Aplicación Roomba –Ejemplo 1
   Ejemplo del nivel de abstracción que ofrece la aplicación

   La aplicación traduce los
movimientos a secuencias                 ( avanza )
de la API de Roomba con
la ayuda de los ficheros de
configuración.

  En este caso la capa de
abstracción realiza las siguientes
acciones:

1. Cambia el estado de Roomba a modo full
para poder controlar las ruedas
2. A continuación envía el comando de
puesta en marcha
                                                132
                                                 modo full
                                                             137, 50,50
                                                             activación vel.rueda1 vel.rueda2

3. Indica la velocidad de cada rueda según lo
leído en los ficheros de configuración.
Aplicación Roomba –Ejemplo 2
     Ejemplo del nivel de abstracción que ofrece la aplicación

  Los movimientos                              ( da_la_vuelta )
pueden ser más complejos
que el simple envío de
comandos.
                                               SOFTWARE DE CONTROL DE ROOMBA
  En el caso da la vuelta,
necesitamos:

1.   Poner Roomba en modo full
2.
3.
     Instrucción de activación de ruedas
     Velocidad de giro leída en el fichero
                                             132 137, 50,-50
                                             modo full      activación    vel.rueda1 vel.rueda2


Loop
4. Petición de lectura de sensor de
                                             Bucle                              142, 37
                                                                               petición lectura, sensor de ángulo
    ángulo girado.
Fin Loop

5. Enviar instrucción de parada
                                                         137, 0,0
                                                         activación vel.rueda1 vel.rueda2
Aplicación Roomba – Interfaz de
control
    ( atiende )
    ( deja_atender )
    ( avanza_despacio )
    ( retrocede )
    ( avanza_rapido )
    ( gira_despacio_derecha )
    ( gira_rapido_derecha )
    ( gira_despacio_izquierda )
    ( gira_rapido_izquierda )
    ( para )
    ( aspira )
    (a_casa )
    ( da_la_vuelta )
    ( graba_recorrido_1 )
    ( final_recorrido_1 )
    ( recorrido_1)
Aplicación wiimote
  ¿Qué tenemos?                             ¿Qué queremos?

Wiimote transmitiendo información a       Aplicación que transmita mensajes de
través de bluetooth                       la interfaz desarrollada para Roomba
                                          en función de los botones pulsados o
Librería Wiiuse.dll, permite establecer   del estado de acelerometría.
una conexión con el wiimote desde el
PC y obtener el estado de los botones     Evitar reenviar mensajes repetidos.
y los datos en crudo de acelerometría
                                          Capacidad de utilizar el control con
                                          acelerometría solo en determinadas
                                          ocasiones.

                                          Capacidad de emplear el mismo
                                          evento para enviar diferentes
                                          mensajes en función de las
                                          condiciones.
Aplicación wiimote - Elementos
    Wiimote: botones de control,
  más información de los
  acelerómetros en los ejes: x,y,z



                                       Acelerómetros: elemento capacitivo
                                     variable en función de la aceleración

                                                   Perfil HID: trasmite
                                                 paquetes autodescriptivos.

                                                    Wiiuse.dll: lee los
                                                 paquetes en busca de un
   Ficheros de configuración                     dispositivo de Nintendo
Contiene información sobre las                   Wiimote y extrae la
dirección y configuración de los                 información útil.
sockets
Aplicación wiimote
  Detección de eventos:                                        Salida:
botón pulsado o control por                                 Los eventos son
acelerometría detectado y       Máquina de estados:         la entrada.
umbral superado.              Los eventos son la entrada.
                                                            La salida son
                              La salida son movimientos     movimientos en
                              en función del estado         función del
                                                            estado


                                                            ( avanza )
                                                            ( avanza_rapido)
                                                            ( retrocede)
                                                            .
                                                            .
                                                            .
Aplicación para teléfono móvil
  ¿Qué tenemos?                            ¿Qué queremos?

Teléfono móvil con capacidad de          Aplicación que transmita mensajes de
detectar el estado de los botones y de   la interfaz desarrollada para Roomba
generar menús en los que el usuario      en función de los botones pulsados o
puede navegar entre las diversas         del mensaje seleccionado en el menu.
opciones.
                                         Automatizar el establecimiento de las
                                         comunicaciones entre el teléfono móvil
                                         y el PC.
Teléfono móvil
                                   SO Symbian: Diseñado
                                especialmente para este tipo
                                de dispositivos. Hace uso
                                eficiente de los escasos
                                recursos de memoria de los
                                que dispone. Administrar
                                eficientemente la energía.


   Teléfono móvil N70:              JAVA J2ME: En Symbian
ejecuta la aplicación que       podemos desarrollar
lee los botones y genera        aplicaciones en lenguaje
los menús                       nativo o bien trabajar con
                                J2ME instalando en el
   Ficheros de configuración    dispositivo una versión
Contiene información sobre la   reducida de la máquina
dirección y configuración del   virtual de Java.
puerto serie.
Teléfono móvil
  Detección de eventos:                                        Salida:
                                  Aplicación del teléfono
botón pulsado del joystick u                                 En función de lo
                               móvil:
opción seleccionada en los                                   que
                               Gestiona los menús y
menús.                                                       seleccionemos o
                               ofrece un interfaz que
                               permite emplear el joystick   del movimiento
                               central del teléfono como     del joystick se
                               método de control.            enviará un
                                                             movimiento.

                                                             ( avanza )
                                                             ( avanza_rapido)
                                                             ( retrocede)
                                                             .
                                                             .
                                                             .
Aplicación central
  ¿Qué tenemos?                            ¿Qué queremos?

Tres aplicaciones que controlan las      Establecer las comunicaciones con
interfaces de entrada.                   todas las aplicaciones de forma
                                         automática.
Una aplicación para controlar el robot
que queremos manejar, por lo tanto       Comprobar el estado de cada una de
aplicación de salida.                    las aplicaciones (no todas tienen que
                                         estar activas)

                                         Encaminar los mensajes lo más rápido
                                         posible.
Aplicación central

                                   Aplicaciones a interconectar
                                 Aplicación de control y gestión de
                                 Roomba

                                 Aplicación reconocedor

                                 Aplicación de control de teléfono móvil

                                 Aplicación de control de Wiimote



  Ficheros de configuración
Contiene información sobre los
sockets
Aplicación central – Flujo de la
aplicación

    Después del arranque de la
  aplicación se establece la
  comunicación a través de los sockets
  del sistema.

    Periódicamente se comprueba el
  estado de las conexiones (un conexión
  se puede caer)

    Periódicamente se comprueba si
  alguna de la interfaces ha enviado
  algún mensaje.
Reconocedor de voz
  Servivox: esta aplicación es capaz de generar una gramática (detrás de
cada palabra que otras palabras pueden venir) a partir de un conjunto de
ejemplos.

Ofrece la secuencia de palabras más probable según lo que el locutor dice y
la gramática que conoce.

Resumiendo: Pasa de voz a texto y calcula la confianza que tiene en
haberlo hecho bien
Reconocedor de voz
  Servivox: además del transductor voz/texto, Servivox tiene un transductor
de comprensión que permite asociar un concepto a un texto.

  Ejemplo:
gira a la derecha -> orden[gira_despacio_derecha]
gira a la derecha despacio -> orden[gira_despacio_derecha]
a la derecha -> orden[gira_despacio_derecha]
a la derecha despacio -> orden[gira_despacio_derecha]
derecha -> orden[gira_despacio_derecha]
derecha despacio -> orden[gira_despacio_derecha]
giro a la derecha -> orden[gira_despacio_derecha]
giro a la derecha despacio -> orden[gira_despacio_derecha]
Reconocedor – Determinación del
umbral óptimo

   Objetivo: determinar un umbral que permita aceptar el mayor número de
frases conocidas y desestimar el mayor número de aquellas que no
pertenezcan al dominio.
Reconocedor – Determinación del
umbral óptimo


  Preparación del
experimento:

1. Crear dos conjuntos de
   frases disjuntos:
   conocidas y
   desconocidas.

2. Dividir cada uno de los
   conjuntos en
   entrenamiento y test
Reconocedor – Determinación del
umbral óptimo

  Patrón de resultados de
entrenamiento

   Si el umbral es muy bajo, la tasa                                          90
                                                                                                 Resultados, Conjunto 2


    de error se debe a que todas las                                           85




                                          Porcentaje de frases correctamente
    ‘desconocidas’ son aceptadas
                                                                               80
                                                                               75
                                                                               70




                                                     clasificadas
   Si el umbral aumenta vamos                                                 65
                                                                               60
    rechazando la mayoría de                                                   55

    ‘desconocidas’ y alguna ‘conocida’.                                        50
                                                                               45
                                                                               40

   A partir de cierto umbral que                                                   1   8   15 22 29 36 43 50 57 64 71 78 85 92 99
                                                                                                             Umbral


    produce la mejor tasa de
    aciertos, comenzamos a rechazar
    ‘conocidas’ por tener baja
    confianza en el reconocimiento.
Reconocedor – Determinación del
  umbral óptimo
                                                         Pocentaje de frases correctamente clasificadas
  Conclusión
                                                 90
El umbral que suele ofrecer la mayor tasa de     80

reconocimiento se encuentra en torno a 0,86.     70


                                                 60

Sin embargo si calculamos el intervalo de        50


confianza al 95% vemos que no hay                40


diferencias estadísticamente significativas      30
                                                      Umbral alto                      Umbral medio                         Umbral bajo

entre un umbral alto (0,94), medio (0,72) o
                                                                          Umbral alto promedio (Umbral=0,92)

bajo (0,52).                                             85

                                                         80

                                                         75




Si analizamos la tasa de reconocimiento con
                                                         70

                                                         65

                                                         60

más detalle vemos que el resultado final tiene           55

                                                         50

orígenes diferentes:                                                Frases conocidas                  Frases desconocidas




                                                                          Umbral bajo promedio (Umbral=0,52)

                                                         100


Umbral bajo: demasiadas frases fuera de                   90
                                                          80
                                                          70


dominio aceptadas                                         60
                                                          50
                                                          40


Umbral alto: algunas desconocidas aceptadas               30
                                                          20
                                                          10


y bastantes conocidas no aceptadas.                       0
                                                                    Frases conocidas                  Frases desconocidas
Comparación de interfaces

 Característica



  Flexibilidad



   Precisión



   Usabilidad
Conclusiones

1. Hemos elaborado un sistema con múltiples interfaces de
control evaluando las ventajas e inconvenientes de cada una
de ellas.

2. El sistema es lo suficientemente flexible para añadir de
forma sencilla una nueva interfaz de control o una nueva
salida.

3. Hemos establecido los criterios de decisión a la hora de
seleccionar un umbral de decisión adecuado para nuestra
aplicación.
Gracias por vuestra atención.

More Related Content

What's hot

Manual Emisora Wft 09 Y 08 Parte 6 26112009
Manual Emisora Wft 09 Y 08 Parte 6 26112009Manual Emisora Wft 09 Y 08 Parte 6 26112009
Manual Emisora Wft 09 Y 08 Parte 6 26112009Romeodj1
 
Elementos mecanicos de un robot
Elementos mecanicos de un robotElementos mecanicos de un robot
Elementos mecanicos de un robotSusanavegav
 
Roboticakuka2 131127144948-phpapp01
Roboticakuka2 131127144948-phpapp01Roboticakuka2 131127144948-phpapp01
Roboticakuka2 131127144948-phpapp01Cristian Guzman
 
Actividades naye
Actividades nayeActividades naye
Actividades nayeLenidav
 
Act uni4
Act uni4Act uni4
Act uni4Lenidav
 
Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)dannysepulvedaa
 

What's hot (8)

Manual Emisora Wft 09 Y 08 Parte 6 26112009
Manual Emisora Wft 09 Y 08 Parte 6 26112009Manual Emisora Wft 09 Y 08 Parte 6 26112009
Manual Emisora Wft 09 Y 08 Parte 6 26112009
 
Elementos mecanicos de un robot
Elementos mecanicos de un robotElementos mecanicos de un robot
Elementos mecanicos de un robot
 
Roboticakuka2 131127144948-phpapp01
Roboticakuka2 131127144948-phpapp01Roboticakuka2 131127144948-phpapp01
Roboticakuka2 131127144948-phpapp01
 
Proyecto
ProyectoProyecto
Proyecto
 
Actividades naye
Actividades nayeActividades naye
Actividades naye
 
Act uni4
Act uni4Act uni4
Act uni4
 
Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)
 
Plc
PlcPlc
Plc
 

Viewers also liked

Fluentdがよくわからなかった話
Fluentdがよくわからなかった話Fluentdがよくわからなかった話
Fluentdがよくわからなかった話Shunsuke Michii
 
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンスpixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンスShunsuke Michii
 
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivUsing ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivShunsuke Michii
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Viewers also liked (7)

KosenconfConf Slide
KosenconfConf SlideKosenconfConf Slide
KosenconfConf Slide
 
Fluentdがよくわからなかった話
Fluentdがよくわからなかった話Fluentdがよくわからなかった話
Fluentdがよくわからなかった話
 
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンスpixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
 
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivUsing ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar to Pfc

Sistemas de monik
Sistemas de monikSistemas de monik
Sistemas de monikmoni312
 
Sistemas
SistemasSistemas
Sistemaszgpa
 
Trabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoTrabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoMACECIVE
 
Sistemas operativos
Sistemas operativos Sistemas operativos
Sistemas operativos paulaenczam
 
Unidad 4 robotica(4º)
Unidad 4 robotica(4º)Unidad 4 robotica(4º)
Unidad 4 robotica(4º)guti2002
 
Robótica prueba
Robótica pruebaRobótica prueba
Robótica pruebaguti2002
 
Actividades Unidad 4
Actividades Unidad 4Actividades Unidad 4
Actividades Unidad 4Lenidav
 
Trabajo sistema operativo
Trabajo sistema operativoTrabajo sistema operativo
Trabajo sistema operativodaniyainoa
 
Informatica electiva ii sistema operativos
Informatica electiva ii sistema operativosInformatica electiva ii sistema operativos
Informatica electiva ii sistema operativosgermanka
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativomamasita123
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativomamasita123
 
Carro a control remoto por Zigbee IEE802.15.4
Carro a control remoto por  Zigbee IEE802.15.4Carro a control remoto por  Zigbee IEE802.15.4
Carro a control remoto por Zigbee IEE802.15.4Fredy Serna
 

Similar to Pfc (20)

Metodos de programacion d robot
Metodos de programacion d robotMetodos de programacion d robot
Metodos de programacion d robot
 
Sistemas de monik
Sistemas de monikSistemas de monik
Sistemas de monik
 
Sistemas
SistemasSistemas
Sistemas
 
Trabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoTrabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema Operativo
 
Sistemas operativos
Sistemas operativos Sistemas operativos
Sistemas operativos
 
Brazo robotico
Brazo roboticoBrazo robotico
Brazo robotico
 
Unidad 4 robotica(4º)
Unidad 4 robotica(4º)Unidad 4 robotica(4º)
Unidad 4 robotica(4º)
 
Robótica prueba
Robótica pruebaRobótica prueba
Robótica prueba
 
Robotica
RoboticaRobotica
Robotica
 
Actividades Unidad 4
Actividades Unidad 4Actividades Unidad 4
Actividades Unidad 4
 
Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Lans switchadaspractica3
Lans switchadaspractica3Lans switchadaspractica3
Lans switchadaspractica3
 
Trabajo sistema operativo
Trabajo sistema operativoTrabajo sistema operativo
Trabajo sistema operativo
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Informatica electiva ii sistema operativos
Informatica electiva ii sistema operativosInformatica electiva ii sistema operativos
Informatica electiva ii sistema operativos
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativo
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativo
 
Carro a control remoto por Zigbee IEE802.15.4
Carro a control remoto por  Zigbee IEE802.15.4Carro a control remoto por  Zigbee IEE802.15.4
Carro a control remoto por Zigbee IEE802.15.4
 
20010315 WAP Lite Gateway
20010315   WAP Lite Gateway20010315   WAP Lite Gateway
20010315 WAP Lite Gateway
 

Recently uploaded

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 

Recently uploaded (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 

Pfc

  • 1. Desarrollo de una interfaz multimodal para un robot domótico móvil. Control por voz y mando a distancia. Jorge Cancela González
  • 2. Índice 1. Introducción 2. Visión general del sistema 3. Aplicación Roomba 4. Aplicación Wiimote 5. Aplicación teléfono móvil 6. Aplicación central 7. Aplicación reconocedor 8. Comparación de interfaces 9. Conclusiones 10. Demo
  • 3. Introducción Domótica Accesibilidad acceso para todos desarrollar las herramientas necesarias para la integración de una aspirada en un entorno domótico Usabilidad facilidad y naturalidad en el uso de las interfaces
  • 4. Visión general del sistema Objetivo: Controlar Roomba a través de las diversas interfaces de control Evaluar: requisitos de usabilidad, flexibilidad y precisión
  • 5. Visión general del sistema Roomba: Aplicación de control y gestión de Roomba corriendo en el PC. La aplicación se comunica con Roomba a través de Bluetooth y con el resto de aplicaciones a través de los sockets del sistema.
  • 6. Visión general del sistema Interfaces de control: Aplicaciones para el control de la interfaces en el PC, además de una aplicación en el teléfono móvil. Esta última se encarga de la gestión de menús y botones pulsados.
  • 7. Visión general del sistema Aplicación central: Establece y mantiene las comunicaciones. Ap.. central Encamina los mensajes desde las interfaces de control hacia la aplicación de Roomba. Es la aplicación que aporta flexibilidad al sistema.
  • 8. Aplicación Roomba ¿Qué tenemos? ¿Qué queremos? Aspiradora Roomba y API Ofrecer un conjunto de movimientos de más alto nivel que las instrucciones Se pueden enviar instrucciones de de API, más cercanas al lenguaje bajo nivel que provocan acciones natural y configurables. simples (mover una rueda, encender LEDs, leer un sensor) Posibilitar que cualquier interfaz de control pueda emplear el conjunto de Se puede emplear un puerto serie movimientos. para enviar información. Automatizar el establecimiento de la conexión.
  • 9. Aplicación Roomba - Elementos PC: Ejecuta la aplicación Roomba + API: Permite recibir de control y gestión sencillas instrucciones a través del de Roomba puerto serie Perfil SPP: perfil de bluetooth que Implementa un puerto serie virtual Rootooth: Permite implementar el perfil SPP de bluetooth Dispositivo Bluetooth:Establece la comunicación bluetooth con el Ficheros de configuración Rootooth Contiene información sobre la dirección y configuración del puerto serie.
  • 10. Aplicación Roomba –Ejemplo 1 Ejemplo del nivel de abstracción que ofrece la aplicación La aplicación traduce los movimientos a secuencias ( avanza ) de la API de Roomba con la ayuda de los ficheros de configuración. En este caso la capa de abstracción realiza las siguientes acciones: 1. Cambia el estado de Roomba a modo full para poder controlar las ruedas 2. A continuación envía el comando de puesta en marcha 132 modo full 137, 50,50 activación vel.rueda1 vel.rueda2 3. Indica la velocidad de cada rueda según lo leído en los ficheros de configuración.
  • 11. Aplicación Roomba –Ejemplo 2 Ejemplo del nivel de abstracción que ofrece la aplicación Los movimientos ( da_la_vuelta ) pueden ser más complejos que el simple envío de comandos. SOFTWARE DE CONTROL DE ROOMBA En el caso da la vuelta, necesitamos: 1. Poner Roomba en modo full 2. 3. Instrucción de activación de ruedas Velocidad de giro leída en el fichero 132 137, 50,-50 modo full activación vel.rueda1 vel.rueda2 Loop 4. Petición de lectura de sensor de Bucle 142, 37 petición lectura, sensor de ángulo ángulo girado. Fin Loop 5. Enviar instrucción de parada 137, 0,0 activación vel.rueda1 vel.rueda2
  • 12. Aplicación Roomba – Interfaz de control ( atiende ) ( deja_atender ) ( avanza_despacio ) ( retrocede ) ( avanza_rapido ) ( gira_despacio_derecha ) ( gira_rapido_derecha ) ( gira_despacio_izquierda ) ( gira_rapido_izquierda ) ( para ) ( aspira ) (a_casa ) ( da_la_vuelta ) ( graba_recorrido_1 ) ( final_recorrido_1 ) ( recorrido_1)
  • 13. Aplicación wiimote ¿Qué tenemos? ¿Qué queremos? Wiimote transmitiendo información a Aplicación que transmita mensajes de través de bluetooth la interfaz desarrollada para Roomba en función de los botones pulsados o Librería Wiiuse.dll, permite establecer del estado de acelerometría. una conexión con el wiimote desde el PC y obtener el estado de los botones Evitar reenviar mensajes repetidos. y los datos en crudo de acelerometría Capacidad de utilizar el control con acelerometría solo en determinadas ocasiones. Capacidad de emplear el mismo evento para enviar diferentes mensajes en función de las condiciones.
  • 14. Aplicación wiimote - Elementos Wiimote: botones de control, más información de los acelerómetros en los ejes: x,y,z Acelerómetros: elemento capacitivo variable en función de la aceleración Perfil HID: trasmite paquetes autodescriptivos. Wiiuse.dll: lee los paquetes en busca de un Ficheros de configuración dispositivo de Nintendo Contiene información sobre las Wiimote y extrae la dirección y configuración de los información útil. sockets
  • 15. Aplicación wiimote Detección de eventos: Salida: botón pulsado o control por Los eventos son acelerometría detectado y Máquina de estados: la entrada. umbral superado. Los eventos son la entrada. La salida son La salida son movimientos movimientos en en función del estado función del estado ( avanza ) ( avanza_rapido) ( retrocede) . . .
  • 16. Aplicación para teléfono móvil ¿Qué tenemos? ¿Qué queremos? Teléfono móvil con capacidad de Aplicación que transmita mensajes de detectar el estado de los botones y de la interfaz desarrollada para Roomba generar menús en los que el usuario en función de los botones pulsados o puede navegar entre las diversas del mensaje seleccionado en el menu. opciones. Automatizar el establecimiento de las comunicaciones entre el teléfono móvil y el PC.
  • 17. Teléfono móvil SO Symbian: Diseñado especialmente para este tipo de dispositivos. Hace uso eficiente de los escasos recursos de memoria de los que dispone. Administrar eficientemente la energía. Teléfono móvil N70: JAVA J2ME: En Symbian ejecuta la aplicación que podemos desarrollar lee los botones y genera aplicaciones en lenguaje los menús nativo o bien trabajar con J2ME instalando en el Ficheros de configuración dispositivo una versión Contiene información sobre la reducida de la máquina dirección y configuración del virtual de Java. puerto serie.
  • 18. Teléfono móvil Detección de eventos: Salida: Aplicación del teléfono botón pulsado del joystick u En función de lo móvil: opción seleccionada en los que Gestiona los menús y menús. seleccionemos o ofrece un interfaz que permite emplear el joystick del movimiento central del teléfono como del joystick se método de control. enviará un movimiento. ( avanza ) ( avanza_rapido) ( retrocede) . . .
  • 19. Aplicación central ¿Qué tenemos? ¿Qué queremos? Tres aplicaciones que controlan las Establecer las comunicaciones con interfaces de entrada. todas las aplicaciones de forma automática. Una aplicación para controlar el robot que queremos manejar, por lo tanto Comprobar el estado de cada una de aplicación de salida. las aplicaciones (no todas tienen que estar activas) Encaminar los mensajes lo más rápido posible.
  • 20. Aplicación central Aplicaciones a interconectar Aplicación de control y gestión de Roomba Aplicación reconocedor Aplicación de control de teléfono móvil Aplicación de control de Wiimote Ficheros de configuración Contiene información sobre los sockets
  • 21. Aplicación central – Flujo de la aplicación Después del arranque de la aplicación se establece la comunicación a través de los sockets del sistema. Periódicamente se comprueba el estado de las conexiones (un conexión se puede caer) Periódicamente se comprueba si alguna de la interfaces ha enviado algún mensaje.
  • 22. Reconocedor de voz Servivox: esta aplicación es capaz de generar una gramática (detrás de cada palabra que otras palabras pueden venir) a partir de un conjunto de ejemplos. Ofrece la secuencia de palabras más probable según lo que el locutor dice y la gramática que conoce. Resumiendo: Pasa de voz a texto y calcula la confianza que tiene en haberlo hecho bien
  • 23. Reconocedor de voz Servivox: además del transductor voz/texto, Servivox tiene un transductor de comprensión que permite asociar un concepto a un texto. Ejemplo: gira a la derecha -> orden[gira_despacio_derecha] gira a la derecha despacio -> orden[gira_despacio_derecha] a la derecha -> orden[gira_despacio_derecha] a la derecha despacio -> orden[gira_despacio_derecha] derecha -> orden[gira_despacio_derecha] derecha despacio -> orden[gira_despacio_derecha] giro a la derecha -> orden[gira_despacio_derecha] giro a la derecha despacio -> orden[gira_despacio_derecha]
  • 24. Reconocedor – Determinación del umbral óptimo Objetivo: determinar un umbral que permita aceptar el mayor número de frases conocidas y desestimar el mayor número de aquellas que no pertenezcan al dominio.
  • 25. Reconocedor – Determinación del umbral óptimo Preparación del experimento: 1. Crear dos conjuntos de frases disjuntos: conocidas y desconocidas. 2. Dividir cada uno de los conjuntos en entrenamiento y test
  • 26. Reconocedor – Determinación del umbral óptimo Patrón de resultados de entrenamiento  Si el umbral es muy bajo, la tasa 90 Resultados, Conjunto 2 de error se debe a que todas las 85 Porcentaje de frases correctamente ‘desconocidas’ son aceptadas 80 75 70 clasificadas  Si el umbral aumenta vamos 65 60 rechazando la mayoría de 55 ‘desconocidas’ y alguna ‘conocida’. 50 45 40  A partir de cierto umbral que 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 Umbral produce la mejor tasa de aciertos, comenzamos a rechazar ‘conocidas’ por tener baja confianza en el reconocimiento.
  • 27. Reconocedor – Determinación del umbral óptimo Pocentaje de frases correctamente clasificadas Conclusión 90 El umbral que suele ofrecer la mayor tasa de 80 reconocimiento se encuentra en torno a 0,86. 70 60 Sin embargo si calculamos el intervalo de 50 confianza al 95% vemos que no hay 40 diferencias estadísticamente significativas 30 Umbral alto Umbral medio Umbral bajo entre un umbral alto (0,94), medio (0,72) o Umbral alto promedio (Umbral=0,92) bajo (0,52). 85 80 75 Si analizamos la tasa de reconocimiento con 70 65 60 más detalle vemos que el resultado final tiene 55 50 orígenes diferentes: Frases conocidas Frases desconocidas Umbral bajo promedio (Umbral=0,52) 100 Umbral bajo: demasiadas frases fuera de 90 80 70 dominio aceptadas 60 50 40 Umbral alto: algunas desconocidas aceptadas 30 20 10 y bastantes conocidas no aceptadas. 0 Frases conocidas Frases desconocidas
  • 28. Comparación de interfaces Característica Flexibilidad Precisión Usabilidad
  • 29. Conclusiones 1. Hemos elaborado un sistema con múltiples interfaces de control evaluando las ventajas e inconvenientes de cada una de ellas. 2. El sistema es lo suficientemente flexible para añadir de forma sencilla una nueva interfaz de control o una nueva salida. 3. Hemos establecido los criterios de decisión a la hora de seleccionar un umbral de decisión adecuado para nuestra aplicación.
  • 30. Gracias por vuestra atención.