SISTEMA Y MÉTODO DE INTERACCIÓN EN ENTORNOS VIRTUALES UTILIZANDO
DISPOSITIVOS HÁPTICOS
CAMPO DE LA INVENCIÓN
El objeto de la invención se enmarca en el campo de la informática, más concretamente en el de los dispositivos hápticos y la simulación virtual.
ANTECEDENTES DE LA INVENCIÓN
Las técnicas diseñadas para controlar la interacción mediante dispositivos hápticos se pueden clasificar en tres grupos atendiendo a su modo de funcionamiento: basadas en control de posición, basadas en control de velocidad y técnicas híbridas. En primer lugar, las técnicas basadas en el control de posición se sirven de la posición del efector final del dispositivo háptico -dentro del espacio de trabajo físico- para, consecuentemente, situar su avatar virtual. En segundo lugar, las técnicas basadas en control de velocidad desplazan el avatar virtual en concordancia a la desviación del efector final y con respecto al centro del espacio de trabajo, como si de un joystick se tratara. Por último, las técnicas híbridas combinan el control de posición y el control de velocidad en una misma, añadiendo algún mecanismo que permite intercambiarlas.
Dentro de las técnicas de interacción basadas en control de posición se encuentran el clutching [1] y el mapeado directo o escalado [2]. El clutching es una adaptación a los dispositivos hápticos de la técnica utilizada en los ratones de escritorio. Consiste en levantar el ratón y volverlo a posar en una posición más cómoda cuando con un solo movimiento no es posible alcanzar un área de interés. Aplicado a los dispositivos hápticos, consiste en desacoplar el movimiento del efector final del movimiento del avatar virtual mientras se presione, por ejemplo, un botón. De esta manera, es posible realizar repetidas veces tal maniobra y alcanzar así cualquier parte de la escena virtual con un dispositivo háptico que tenga un espacio de trabajo limitado. El mapeado directo o escalado, realiza una correspondencia entre el espacio de trabajo del dispositivo háptico y toda la escena virtual, estableciendo un factor de escala lo que implica que en escenas grandes un movimiento pequeño del dispositivo háptico produzca un gran movimiento en el avatar virtual, penalizando seriamente la precisión.
Otra de las técnicas basadas en control de posición es la presentada por Conti & Khatib [3], consistente en recolocar continuamente el efector final hacia el centro del espacio de trabajo sin actualizar la realimentación visual. En otras palabras, mientras se está interaccionando con un objeto virtual, el efector final se va desplazando gradualmentey con movimientos suaves hacia el centro del espacio de trabajo físico, sin que ello repercuta de ninguna manera en su aspecto visual, y por ende, sin que el usuario se percate.
Las técnicas híbridas comprenden dos modos de funcionamiento: uno basado en control de posición y otro en control de velocidad. Estas técnicas se centran en resolver el problema del cambio de modo, como es el caso de la propuesta de Liu et al. [4]. En ella, se propone mantener un área neutra alrededor del centro del espacio de trabajo del dispositivo háptico. Así, al ejecutar el cambio de modo no se perturba la posición deseada por el usuario, ya que dicho cambio está asociado a la pulsación de un botón lo que puede repercutir en un movimiento no deseado del efector final.
Por último, la denominada técnica de la burbuja también se encuadra dentro de las técnicas de interacción híbridas y consiste en dividir virtualmente el espacio de trabajo del dispositivo háptico en dos secciones: una burbuja interior y el resto del área de trabajo exterior. Se representa visualmente una burbuja semitransparente en el entorno virtual y, dentro de la burbuja, se consigue una buena precisión gracias a un mapeado 1:1; mientras que para poder alcanzar cualquier parte del entorno es necesario mover la burbuja. Para ello, realizando fuerza con el avatar virtual hacia afuera de la misma, ésta se moverá en la dirección del avatar, a mayor o menor velocidad dependiendo de la magnitud aplicada [5].
Referencias bibliográficas
[1] Dominjon, L., Perret, J., & Lécuyer, A. (2007) . Novel devices and interaction techniques for human-scale haptics. The Visual Computer, 23 (4) , 257-266.
[2] Hirzinger, G., Brunner, B., Dietrich, J., & Heindl, J. (1993) . Sensor-based space robotics-ROTEX and its telerobotic features. IEEE Transactions on robotics and automation, 9 (5) , 649 663.
[3] Conti, F., & Khatib, O. (2005, March) . Spanning large workspaces using small haptic devices. In Eurohaptics Conference, 2005 and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems, 2005. World Haptics 2005. First Joint (pp. 183-188) . IEEE.
[4] Liu, L., Liu, G., Zhang, Y., & Wang, D. (2014, August) . A modified motion mapping method for haptic device based space teleoperation. In Robot and Human Interactive Communication, 2014 RO-MAN: The 23rd IEEE International Symposium on (pp. 449-453) . IEEE.
[5] Dominjon, L., Lecuyer, A., Burkhardt, J. M., Andrade-Barroso, G., & Richir, S. (2005, March) . The" Bubble" technique: interacting with large virtual environments using haptic devices with limited workspace. In Eurohaptics Conference, 2005 and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems, 2005. World Haptics 2005. First Joint (pp. 639-640) . IEEE.
DESCRIPCIÓN DE LA INVENCIÓN
La invención se refiere a un método y sistema de interacción en entornos virtuales utilizando dispositivos hápticos. La invención propone un nuevo modelo de interacción para dispositivos hápticos que soluciona el principal problema de los mismos, su espacio de trabajo limitado, permitiendo utilizar este tipo de dispositivos con un área de trabajo limitada como principales elementos de interacción, consiguiendo un alto nivel de movilidad y precisión.
La presente invención permite utilizar los dispositivos hápticos para una interacción natural y precisa con escenas virtuales. El modelo de interacción está basado en la realización de ampliaciones sobre una escena virtual inicial utilizando un dispositivo háptico (por lo que la ampliación realizada se puede denominar "zoom háptico") , lo que permite al operador realizar una primera fase de aproximación al área de interés de la escena para posteriormente activar el zoom háptico y disponer de una mayor precisión. Por tanto, dada una escena virtual en la que se utilice un dispositivo háptico, el zoom háptico consiste en realizar una o varias ampliaciones de la misma para conseguir un mayor nivel de precisión háptica.
En cada una de las escenas ampliadas, el espacio de trabajo disponible para el avatar virtual del dispositivo háptico se mapea directamente con el espacio que representa la escena virtual, permitiendo de esta manera que el avatar alcance cualquier lugar de la escena. Si el usuario requiere un mayor nivel de precisión sobre alguna zona de la escena, se activa el zoom háptico. Este hecho repercute en la realización de un zoom visual sobre el área de interés, dando lugar a una segunda escena. Con la nueva escena ya determinada, se mapea de nuevo l espacio de trabajo del dispositivo háptico con el espacio que representa la nueva escena, permitiendo una vez más que el avatar virtual alcance cualquier zona.
El método de interacción en entornos virtuales de acuerdo a la presente invención comprende las siguientes etapas:
- Detectar una orden de zoom de una escena virtual inicial.
- Generar, por parte de una unidad de procesamiento gráfico, una nueva escena virtual a partir de la escena virtual inicial con un nivel de ampliación modificado en función de la orden de zoom detectada.
- Mapear el espacio de trabajo de un dispositivo háptico con el espacio que representa la nueva escena virtual.
- Representar la nueva escena virtual en un dispositivo de visualización, preferentemente en un visor de realidad virtual (aunque también podría representarse en una pantalla) .
La orden de zoom puede ser una instrucción que permite modificar progresivamente el nivel de ampliación de la escena virtual inicial o modificar puntualmente el nivel de ampliación de la escena virtual inicial según un determinado valor predefinido.
La detección de la orden de zoom la puede realizar el propio dispositivo háptico, preferentemente mediante la detección de la pulsación de un botón del dispositivo háptico. En este caso, el método comprende enviar la orden de zoom detectada a la unidad de procesamiento gráfico. Adicionalmente, o alternativamente, la detección de la orden de zoom se puede llevar a cabo mediante el reconocimiento de un comando de voz. Para este caso la detección la puede realizar directamente la unidad de procesamiento gráfico mediante el análisis de la señal capturada por un micrófono.
Un segundo aspecto de la presente invención se refiere a un sistema de interacción en entornos virtuales que implementa el método anteriormente descrito. El sistema comprende un dispositivo háptico para interactuar con un entorno virtual, una unidad de procesamiento gráfico encargada de generar escenas del entorno virtual, y un dispositivo de visualización para representar las escenas virtuales generadas. La unidad de procesamiento gráfico está configurada para recibir una orden de zoom de una escena virtual inicial; generar, a partir de la escena virtual inicial, una nueva escena virtual con un nivel de ampliación modificado en unción de la orden de zoom recibida; y mapear el espacio de trabajo del dispositivo háptico con el espacio que representa la nueva escena virtual.
Existen también diferentes maneras de aplicar el zoom háptico atendiendo a la localización de la ampliación y a la del avatar virtual.
• Zoom centrado en el avatar virtual. En este modo de zoom se tomará la posición del avatar virtual como el centro de la escena tras la ampliación. Este modo de zoom implica la recolocación física del efector final del dispositivo háptico hacia el centro del espacio de trabajo para que concuerde con la representación en pantalla del mismo. Al realizar una ampliación de la escena centrada en el avatar virtual (puntero háptico) , en la escena resultante el avatar virtual estará en el centro de la misma. Para hacer corresponder la escena con el dispositivo físico (efector) , se debe recolocar el mismo automáticamente en el centro del espacio de trabajo, de tal forma que tanto el avatar virtual esté en el centro de la escena como el efector esté en el centro del espacio de trabajo. Esta correspondencia permitirá que con los movimientos permitidos por el espacio de trabajo (limitado) se alcance cualquier punto de la escena virtual. La recolocación automática se lleva a cabo mediante la aplicación de fuerzas del dispositivo háptico hacia el centro de su espacio de trabajo.
• Zoom manteniendo las proporciones. En este modo de zoom se realiza un aumento en la escena manteniendo el avatar virtual a las mismas distancias en porcentaje de los bordes de la escena, por lo que no será necesaria una recolocación física del efector final.
La presente invención soluciona un problema inherente a los dispositivos hápticos, su pequeño espacio de trabajo. Aplicar el modelo descrito por la invención en los dispositivos hápticos permite utilizarlos de una manera más natural y precisa como principales dispositivos de interacción en diferentes tipos de simulaciones de diferentes campos técnicos (sector médico, industria automovilística, industria aeroespacial, etc.) .
BREVE DESCRIPCIÓN DE LOS DIBUJOS
A continuación, se describen de manera muy breve una serie de figuras que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta.
Las Figuras 1A y 1B representan un diagrama de flujo del método de interacción en entornos irtuales de acuerdo a dos posibles realizaciones de la presente invención.
Las Figuras 2A y 2B muestran, de acuerdo a una posible realización, el sistema de interacción en entornos virtuales en funcionamiento, cuando el usuario realiza un zoom háptico.
La Figura 3 representa la relación entre las imágenes por segundo (trames) y el nivel de zoom aplicado.
REALIZACIÓN PREFERENTE DE LA INVENCIÓN
La presente invención se refiere a un método y sistema de interacción en entornos virtuales utilizando dispositivos hápticos.
La Figura 1A representa un esquema principal del método de interacción en entornos virtuales de acuerdo a la presente invención, a través del cual se realiza un zoom (ya sea de acercamiento o de alejamiento de la imagen) utilizando un dispositivo háptico. Este tipo de zoom habilitado por un dispositivo háptico se puede denominar "zoom háptico".
Un usuario realiza una acción que genera una orden de zoom 102 para ampliar o reducir una escena virtual inicial, que es la imagen mostrada al usuario a través de un visor de realidad virtual. La acción puede consistir, por ejemplo, en la pulsación de un botón de un dispositivo háptico. La orden de zoom es detectada 104 por el dispositivo háptico, el cual envía 106 la orden de zoom detectada a una unidad de procesamiento gráfico.
A continuación, la unidad de procesamiento gráfico genera 108 una nueva escena virtual a partir de la escena virtual inicial con un nivel de ampliación modificado en función de la orden de zoom recibida, y mapea 110 el espacio de trabajo del dispositivo háptico con el espacio que representa la nueva escena virtual. Finalmente, la nueva escena virtual se representa 112 en un visor de realidad virtual (el cual estará normalmente portado por el mismo usuario) .
La orden de zoom incluye al menos la información indicativa de si hay que realizar una ampliación o una reducción de la imagen inicial. Además, la orden de zoom puede contener información del nivel de zoom a aplicar sobre la escena virtual inicial, si bien dicha información está preferentemente prefijada en la unidad de procesamiento gráfico (e.g. mediante una variable almacenada en memoria y modificable por el usuario utilizando una aplicación) . La orden de zoom también puede incluir información relativa a si se trata de un zoom puntual o n zoom continuo o progresivo que hay que aplicar a la escena virtual inicial. En el caso de zoom progresivo, la orden se envía preferentemente de manera continuada mientras el dispositivo háptico detecte la actuación del usuario (e.g. mientras el usuario mantenga apretado un botón) . De esta forma, la unidad de procesamiento gráfico generará, según una tasa determinada de refresco, sucesivas imágenes (i.e. "frames") ampliadas o reducidas a partir de la escena virtual inicial, según un nivel de ampliación entre imágenes sucesivas determinado, hasta que deje de recibir la orden de zoom. Debido al uso de una alta tasa de refresco (e.g. 30, 60 o 90 frames por segundo) y el cómputo acelerado de las imágenes sucesivas, el usuario percibe de manera fluida un zoom de la escena virtual inicial mientras realice la acción de orden de zoom (e.g. mientras mantenga un botón pulsado) .
La Figura 1B representa un esquema del método de interacción en entornos virtuales de acuerdo a otra posible realización. Esta realización difiere de la realización anterior en el modo de detección de la orden de zoom. En el caso de la Figura 1A, la detección 104 es realizada por el dispositivo háptico, mediante la detección de la pulsación de un botón del dispositivo háptico. En la realización de la Figura 1B la detección 105 la realiza la unidad de procesamiento gráfico mediante la detección de un comando de voz del usuario capturado por un micrófono.
En la Figura 2A se muestran los distintos elementos del sistema de interacción en entornos virtuales de acuerdo a una posible realización de la presente invención. En particular, el sistema comprende un dispositivo háptico 204 para que el usuario interactúe con un entorno virtual, una unidad de procesamiento gráfico 206 encargada de generar escenas del entorno virtual, y un dispositivo de visualización 208 para representar las escenas virtuales generadas. De acuerdo a la realización mostrada en la Figura 2A, el dispositivo de visualización es un visor de realidad virtual 208, si bien puede ser también una pantalla normal (e.g. un monitor, un televisor) .
Según la realización de la Figura 2A, la unidad de procesamiento gráfico 206 es una entidad separada e independiente del visor de realidad virtual 208. Dicha unidad de procesamiento gráfico se puede implementar, por ejemplo, mediante un ordenador conectado por cable 210 (o por conexión inalámbrica a alta frecuencia según las recientes tecnologías, e.g. WiGig) al visor de realidad virtual 208. Sin embargo, en otra realización (no mostrada en las figuras) la unidad de procesamiento gráfico 206 y el visor de realidad virtual 208 pueden ser la misma entidad, esto es, la unidad de procesamiento gráfico 206 puede estar integrada en el propio isor de realidad virtual 208 autónomo (e.g. Oculus Go) . En otra realización, la unidad de procesamiento gráfico 206 y el dispositivo de visualización pueden estar implementados en un teléfono móvil inteligente que se acopla a un soporte (e.g. casco de realidad virtual Samsung Gear VR) para su correcta utilización.
El dispositivo háptico 204 está configurado para detectar una orden de zoom para ampliar o reducir una escena virtual inicial 212, representada a modo de ejemplo en la figura. La orden de zoom puede ser detectada por el dispositivo háptico 204 mediante la detección de la pulsación, realizada por un usuario 202, de un botón 205 del dispositivo háptico 204. El dispositivo háptico 204 envía 106, preferentemente de manera inalámbrica, la orden de zoom detectada (y convenientemente procesada) a la unidad de procesamiento gráfico 206.
Según se muestra en la Figura 2B, la unidad de procesamiento gráfico 206 genera, a partir de la escena virtual inicial 212, una nueva escena virtual 216 con un nivel de ampliación modificado en función de la orden de zoom recibida (en el ejemplo, la orden de zoom es de ampliación, pero podría ser en su lugar de reducción) . Tal y como se ha indicado anteriormente, el nivel de ampliación o reducción a aplicar (e.g. 1.5x, 2x, 4x, ...) puede estar predeterminado por la unidad de procesamiento gráfico 206 (e.g. un dato almacenado en memoria) o puede ser un dato incluido en la propia orden de zoom enviada 106. El zoom a realizar puede ser puntual o progresivo, en función de la orden de zoom enviada 106 (por ejemplo, la orden de zoom puede incluir un campo que determina el tipo de zoom a aplicar, si puntual o progresivo) . A partir de entonces, la unidad de procesamiento gráfico 206 mapea el espacio de trabajo del dispositivo háptico 204 (las coordenadas espaciales donde se mueve el dispositivo háptico) con el espacio que representa la nueva escena virtual 216.
De acuerdo a una realización, la unidad de procesamiento gráfico 206 puede estar configurada para efectuar un zoom en la escena virtual inicial 212 centrado en un avatar virtual, recolocando el dispositivo háptico 204 hacia el centro del espacio de trabajo.
En otra realización, se aplica un zoom en el que se mantienen las proporciones desde un avatar virtual a los bordes de la escena. En esta realización la unidad de procesamiento gráfico 206 efectúa un zoom en la escena virtual inicial manteniendo a un avatar virtual 214 (representado con un aspa) a la misma distancia (Dx, Dy) de los bordes de la escena virtual, tal y como se representa en el ejemplo de las Figuras 2A y 2B, donde las líneas punteadas representan la distancia en porcentaje desde el avatar 214 a los bordes de la escena. Tras la ctivación del zoom háptico, se comprueba cómo el avatar 214 se mantiene a la misma distancia en porcentaje de los bordes de la escena, lo que representa que tanto el efector final (i.e. el dispositivo físico que maneja el usuario con la mano) como el puntero háptico (i.e. la representación del efector final en el entorno virtual) del dispositivo háptico mantienen su posición.
En función de la orden de zoom recibida o de la configuración de la unidad de procesamiento gráfico 206, el zoom háptico ejecutado puede ser un zoom puntual, de forma que cada pulsación del botón 205 del dispositivo háptico 204 conlleva la realización de un zoom en la escena con un determinado valor predefinido, o un zoom continuo, donde al mantener pulsado el botón 205 del dispositivo háptico 204 se aplicará un zoom progresivo sobre la escena hasta que el usuario deje de presionar el botón, momento en el que se considera alcanzado el nivel de ampliación deseado.
La Figura 3 muestra, para la ejecución de un zoom continuo, el cálculo del nivel de ampliación sobre la escena original que debe tener cada trame durante 1 segundo, tanto a 30 trames por segundo (parte superior de la Figura 3) como a 60 trames por segundo (parte inferior de la Figura 3) .
Dada una escena inicial eo y una posición del avatar virtual p medida en porcentaje a los bordes de la escena, el zoom háptico se activa cuando el usuario mantenga presionado uno de los botones 205 del dispositivo háptico 204. Para conseguir un nivel aceptable de fluidez en la ampliación se realizan como mínimo 30 pequeñas ampliaciones del zoom en cada segundo, siendo 60 el número de actualizaciones por segundo deseadas. Partiendo de la escena inicial eo con un valor de ampliación 1.0 y una tasa de refresco de 30 ampliaciones por segundo, el valor que debe tomar el zoom en la escena posterior, escena ei, es:
a x zoom (e0)
zoom (e1) = zoom (e0) +------------------
La fórmula general para el cálculo del nivel de zoom para una escena genérica e, a partir de la escena anterior e-i, es:
a x zoom (ei_1)
zoom (ei) = zoom (ei_1) +
fps
En la fórmula anterior a es una constante y fps es la tasa de refresco (en frames por segundo) . En una realización preferida a =0, 3. Al aplicar dicha fórmula consecutivamente durante 30 iteraciones (un segundo) sobre la escena inicial, con nivel de zoom inicial de 1.0 (zoom (e0) = 1.0) , se obtiene un nivel de zoom final de 1.3478, por lo que la escena inicial eo en un segundo habrá experimentado un nivel de ampliación del 34.78% (zoom (e30) = 1.3478) . Para el ejemplo de 60 fps, el zoom final es de 34.88% (zoom (e60) = 1.3488) .
Una vez calculado el valor del zoom de cada escena e¡, se aplicará ese nivel de zoom sobre la escena anterior en, de tal manera que la escena resultante e¡conserve el avatar virtual a la misma distancia en porcentaje de los bordes de la escena que la escena anterior e¡-i.
Existen diferentes maneras de activar el zoom háptico atendiendo a las posibilidades físicas (e.g. botones) de los que disponga el dispositivo háptico en cuestión. Dada la diferente disponibilidad de botones en los diferentes dispositivos hápticos de escritorio presentes en el mercado, la activación del zoom háptico (ya sea en modo de zoom puntual o en modo de zoom continuo) se puede realizar de varias maneras:
- Dispositivos hápticos con un único botón:
• Zoom puntual (niveles constantes de zoom) : Cada pulsación del botón del dispositivo háptico conlleva la realización de un zoom en la escena con un determinado valor predefinido. Deshacer un nivel de zoom podrá llevarse a cabo con una doble pulsación rápida del botón.
• Zoom continuo: Manteniendo pulsado el botón del dispositivo háptico se aplicará un zoom progresivo sobre la escena hasta que el usuario deje de presionar el botón, momento en el que se considera alcanzado el nivel de ampliación deseado. La acción que activará el zoom reverso será una doble pulsación del botón del dispositivo háptico manteniendo pulsado el botón tras la segunda pulsación.
- Dispositivos hápticos con al menos dos botones:
• Zoom puntual (niveles constantes de zoom) : Cada pulsación de uno de los botones del dispositivo háptico conllevará la realización de un zoom en la escena con un determinado valor predefinido. Deshacer un nivel de zoom podrá realizarse con una pulsación sobre el otro de los botones.
• Zoom continuo: Manteniendo pulsado uno de los botones del dispositivo háptico se aplicará un zoom progresivo sobre la escena hasta que el usuario deje de presionar el botón, que será cuando se haya alcanzado el nivel de ampliación eseado. La acción que activará el zoom reverso será el mantener pulsado el otro botón del dispositivo háptico.
- Dispositivos hápticos sin botones: Mediante órdenes de voz el usuario puede aplicar, de forma constante o continua, tanto aumentos como decrementos al nivel de zoom. Las órdenes de voz son capturadas a través de un micrófono conectado a la unidad de procesamiento gráfico 206 (e.g. un ordenador o el propio visor de realidad virtual) encargada de representar el entorno virtual. La unidad de procesamiento gráfico 206 recibe, analiza y ejecuta los comandos de voz, aplicando la acción correspondiente sobre la escena virtual (i.e. activando el zoom háptico en la representación virtual) .
La implementación del zoom háptico más adecuada es aquella en la que se utiliza un dispositivo háptico de escritorio con al menos dos botones como método de interacción aplicando un zoom continuo en el que se mantienen las proporciones desde el avatar a los bordes de la escena.