Dispositivo apuntador con detección de cambios de orientación.
El objeto de la presente invención es un dispositivo de entrada para ordenador capaz de detectar cambios de orientación, además de los cambios de posición. El dispositivo se puede utilizar para controlar un cursor orientable, permitiendo simplificar la manipulación de elementos gráficos en aplicaciones de diseño y dibujo.
Estado de la técnica
El dispositivo más utilizado para leer posiciones en sistemas de bajo coste es el ratón. Un ratón permite leer desplazamientos en un plano, que suelen usarse para controlar un cursor en pantalla, facilitando la entrada de posiciones en coordenadas de pantalla. La detección de los desplazamientos, en estos dispositivos, se puede realizar con transductores mecánicos u ópticos.
Un dispositivo de entrada alternativo al ratón es la bola o trackball. Estructuralmente un trackball es similar a un ratón mecánico invertido al que se le ha aumentado el tamaño de la bola. El usuario acciona el dispositivo moviendo directamente la esfera. De este dispositivo se han realizado variantes, conocidas como trackball 3D, que detectan tres giros según ejes perpendiculares de la esfera. No obstante la utilización del trackball resulta menos intuitiva, de hecho no ha llegado a desplazar al ratón.
Este tipo de entrada está limitada a dos grados de libertad, lo que hace que con frecuencia sea necesario recurrir a técnicas de interacción complicadas, para permitir al usuario introducir información más compleja [K. Evans, P.Tanner, M. Wein: "Tablet-based valuators that provide one, two or three degrees of freedom", SIGGRAPH 81, 91-97]. Con este propósito, Himelstein y Wang han patentado un método más simple para rotar objetos visibles en pantalla basado en la lectura de posiciones con un ratón convencional [nº Pat. US. 4.661.810].
Se ha realizado bastantes esfuerzos para idear dispositivos apuntadores semejantes a un ratón, que se manejen con cambios de posición de la mano, y que permitan introducir más información, o información más fiable, en el sistema. Nishikawa y otros patentaron un dispositivo con los sensores duplicados, con el propósito de medir desplazamientos en el sistema de coordenadas del ratón, que cambia con la orientación de éste [Pat. nº JP 60.193.032].
En diversos casos se ha optado por transformar la alfombrilla del ratón, añadiéndole algún elemento activo (o sensible), con el propósito de obtener información sobre la posición u orientación del ratón. Dhawan utiliza una alfombrilla con sensores de campo [Pat. nº US-4.564.835]. Soyce diseño un sistema en el que la alfombrilla contenía un patrón no regular que el dispositivo era capaz de identificar para determinar posiciones absolutas [Pat. nº US-4.686.329 y US-4.814.553]. Cambridge propone la utilización de una alfombrilla con marcado regular en sentido vertical y horizontal, que permiten detectar cambios de posición en los dos sentidos, y además, duplica los sensores en el ratón, con el objetivo de detectar cambios de orientación [Pat. nº US-51.627.781 y WO91/05326]. En cualquier caso, esta alternativa convierte al ratón en algo más parecido a una tableta digitalizadora, y además supone un incremento de coste importante.
Otra alternativa es añadir elementos sobre los que el usuario pueda actuar. En este grupo se encuentran los trabajos de Gilligan y Falcón, quienes han patentado un ratón al que se ha incorporado una barra de desplazamiento [Pat. nº EP-0.609.819]. Ringawald ha ideado un dispositivo más sofisticado, adaptado a la entrada de posiciones y rotaciones 3D, que en esencia está formado por un ratón al que se ha añadido un conmutador para cambiar el plano de movimiento del XY al XZ, y un trackball en la parte superior, para introducir rotaciones de objetos [Pat. nº DE-4.211.189].
Funyu, Yamada y Noguchi idearon un método para controlar un cursor orientable usando un dispositivo de entrada con los sensores duplicados como el de Nishikawa [Pat. nº US-4.487.230]. El principal inconveniente de este método es que necesita calcular funciones trigonométricas, concretamente arcotangentes, lo que lo hace impreciso y complejo.
Descripción
El ratón es un objeto rígido que se mueve sobre una superficie, con tres grados de libertad: desplazamiento x e y, más rotación. No obstante el dispositivo solo capta dos de estos grados de libertad.
El objetivo de este desarrollo es crear un dispositivo localizador, que manteniendo la sencillez de diseño, permita detectar cambios de posición y de orientación.
El dispositivo objeto de esta invención incluye un sensor adicional para detectar desplazamientos en una dirección perpendicular al eje que une los dos sensores. Las magnitudes medidas directamente con el dispositivo son los incrementos de posición en vertical y horizontal dadas por el sensor principal y los incrementos de posición dados por el sensor secundario.
La principal ventaja de este diseño, respecto a los propuesto en las patentes descritas previamente es su sencillez. El dispositivo propuesto utiliza transductores de desplazamiento, de la misma naturaleza que los usados en un ratón convencional, ubicados sobre el mismo plano inferior del ratón. Además de estos transductores, el dispositivo consta de los circuitos necesarios para convertir las señales medidas en señales eléctricas, botones y el cable de conexión con el ordenador. Además, para poder utilizar el dispositivo, el ordenador debe disponer de software especifico, que interprete la información recibida y controle la visualización del cursor en pantalla.
De forma natural, este tipo de dispositivos se puede utilizar para especificar ángulo de rotación de objetos en aplicaciones gráficas. La obtención de posiciones y orientaciones con un mismo dispositivo permitiría simplificar la interfaz de aplicaciones gráficas, que actualmente operan con un dispositivo tipo ratón, cuya utilización se conmuta mediante opciones de menús, dando lugar a distintos modos en la interfaz de usuario. Esta simplificación de la interfaz conlleva una simplicidad de uso, y una mayor velocidad de manipulación.
Por otra parte, y de forma limitada, el disponer de un tercer grado de libertad se puede utilizar para introducir posiciones 3D.
Por último, la interfaz de aplicaciones generales (no necesariamente gráficas), puede simplificarse al utilizar este tipo de dispositivos, haciendo que cambie la orden a realizar con el objeto apuntado/seleccionado en función del ángulo de giro del cursor.
Comparado con un trackball 3D, este dispositivo presenta las ventajas de un ratón convencional: menor tamaño y coste, y un uso más intuitivo.
El dispositivo incorpora un sensor adicional para determinar desplazamientos en una dirección perpendicular al eje que une los dos sensores. Las magnitudes medidas directamente con el dispositivo son los incrementos de posición en vertical y horizontal dadas por el sensor principal y los incrementos de posición dados por el sensor secundario. En el caso en que la dirección del sensor secundario coincida con una de las direcciones del principal, si el dispositivo se mueve sin realizar ningún cambio de orientación la medida de ambos sensores debe coincidir.
Cuando se produce un cambio de orientación el desplazamiento en cada sensor es diferente, y por tanto lo es la medida de cada uno de ellos (en la figura 3 se muestra como D z no coincide con D x).
Esta diferencia de desplazamiento se puede utilizar para determinar la posición y orientación de un cursor en pantalla. Obsérvese que el cursor deberá mostrar una orientación que el usuario pueda percibir. En la figura 5 se ha usado una cruz con una flecha indicando la dirección hacia arriba.
El hecho de que uno de los sensores detecte solamente desplazamientos en una dirección simplifica los cálculos. Suponiendo las esferas alineadas según el eje vertical y que ambas incluyen sensores para detectar movimientos horizontales, el desplazamiento es
(D xc,D yc)=(D x,D y) Y, el ángulo de giro será
D a = [(D z-D x)/(2p d)] Siendo d la distancia entre ambos sensores.
Las movimientos leídos en el dispositivos se pueden interpretar como transformaciones geométricas realizadas sobre objetos. En principio las transformaciones que se obtienen son secuencias de traslaciones y giros respecto al centro del objeto. No obstante, a partir de cambios de posición y orientación del cursor, se puede especificar un giro respecto a un punto arbitrario, que se puede utilizar para rotar un objeto. Esto equivale, matemáticamente, a componer las transformaciones. La transformación resultante se puede expresar como una traslación concatenada con un giro, calculados de forma sencilla usando el siguiente procedimiento (ver figura 5):
Calcular el centro de giro como la intersección de la dirección hacia arriba del cursor antes y después del movimiento. El ángulo de giro será directamente el ángulo de giro del cursor, D a . Calcular el desplazamiento inicial como la diferencia entre la posición original y la posición nueva rotada -D a . Para poder utilizar el nuevo tipo de dispositivo se deberá modificar la interfaz del ratón con el ordenador, los controladores de ratón (drivers), y la interfaz de las distintas aplicaciones. No obstante, el diseño de las interfases ratón-controlador y controlador-aplicación puede realizarse de forma que los nuevos dispositivos puedan ser usados por software convencional como si fuesen ratones normales.
Descripción de las figuras
La figura 1 muestra los sensores del dispositivo indicando la dirección de desplazamiento de cada uno. La figura 2 muestra un ejemplo de colocación de los transductores. La figura 3 muestra las magnitudes medidas por el dispositivo, usando dos sensores alineados verticalmente. En este caso hay dos sensores de desplazamientos según el eje x. La figura 4 muestra el cálculo del desplazamiento angular. Pi es la posición inicial del dispositivo, en la que la flecha vertical indica la orientación hacia arriba. Pf es la posición final. Pc representa el sistema de coordenadas sin girar y centrado en el cursor. D a es el desplazamiento angular. D x es el desplazamiento del sensor horizontal principal. D z es el desplazamiento del sensor horizontal secundario. La figura 5 muestra como utilizar un posicionamiento completo para especificar el giro de un objeto respecto a un centro arbitrario. (X0, Y0) es el centro de giro, r el radio de giro, D x, D y y D a los parámetros obtenidos del dispositivo de entrada. La figura 6 muestra la conexión del dispositivo a un ordenador usando dos puertos de E/S. La conexión "a" lleva información del primer grupo de sensores. La conexión b lleva información del sensor horizontal del segundo grupo y del vertical. Ejemplo de realización
A continuación se detalla un ejemplo de realización preferida usando sensores de desplazamiento, mecánicos, que mantiene el máximo de compatibilidad con los dispositivos clásicos. El dispositivo incorpora dos bolas en su parte inferior, alineadas con el eje vertical del mismo (ver figura 1). Una de éstas incluye un sensor de desplazamiento vertical y otro horizontal. La segunda contiene un solo sensor de desplazamiento horizontal (ver figura 2).
Ambos grupos de sensores se conectan a sendos circuitos de conversión, que de forma independiente generan señales y se conectan a dos puertos distintos del ordenador. La señal entregada en el primer puerto corresponde al primer grupo de sensores y a los pulsadores del dispositivo. La señal del segundo puerto integra el desplazamiento horizontal del segundo grupo de sensores, la vertical del primero y los pulsadores. De este modo el dispositivo se podrá usar como un ratón convencional si se consulta solo un puerto, facilitando la compatibilidad con cualquier programa.
Si se instala un software de control de dispositivo adecuado, que efectúe los cálculos de orientación descritos anteriormente, utilizando la información de ambos puertos, se podrá obtener la orientación relativa del ratón.