ES2450144T3 - Calibración de un acelerómetro de un controlador remoto - Google Patents

Calibración de un acelerómetro de un controlador remoto Download PDF

Info

Publication number
ES2450144T3
ES2450144T3 ES10772378.5T ES10772378T ES2450144T3 ES 2450144 T3 ES2450144 T3 ES 2450144T3 ES 10772378 T ES10772378 T ES 10772378T ES 2450144 T3 ES2450144 T3 ES 2450144T3
Authority
ES
Spain
Prior art keywords
acceleration
controller
axis
time
game console
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES10772378.5T
Other languages
English (en)
Inventor
Edward William Streibel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo of America Inc
Original Assignee
Nintendo of America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43031047&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2450144(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nintendo of America Inc filed Critical Nintendo of America Inc
Application granted granted Critical
Publication of ES2450144T3 publication Critical patent/ES2450144T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Details Of Television Systems (AREA)

Abstract

Método para calibrar la operación del sensor de aceleración de un controlador remoto usado junto con una consola de videojuegos de modo que produzca lecturas consistentes, que comprende: considerar un periodo de tiempo predeterminado después de la inicialización del controlador; considerar los valores de los vectores de aceleración del sensor de aceleración a lo largo de cada uno de una pluralidad de ejes ortogonales, para un número predeterminado de fotogramas de vídeo durante el periodo de tiempo predeterminado; determinar si la diferencia más grande en los vectores de aceleración para cada fotograma durante el periodo de tiempo predeterminado es menor que un límite predeterminado; establecer un factor de normalización basándose en dicha determinación; multiplicar cada vector de aceleración para cada eje del sensor de aceleración por dicho factor de normalización.

Description

Calibración de un acelerómetro de un controlador remoto.
Campo técnico
La tecnología en el presente documento se refiere a un método y a un sistema para calibrar la operación del sensor de aceleración de un controlador usado junto con un sistema de juegos.
Antecedentes y sumario
Las entradas de usuario a sistemas informáticos pueden suministrarse de diversas maneras. Por ejemplo, cuando el sistema informático es una consola de videojuegos, las entradas se suministran normalmente usando interruptores en cruz, joysticks, botones y similares previstos en un controlador. Puede usarse un interruptor en cruz o un joystick para controlar el movimiento de un objeto de videojuego en diversas direcciones y pueden usarse diversos botones para controlar las acciones de un personaje tales como saltar, usar un arma y similares.
El controlador descrito en esta solicitud de patente incluye adicional o alternativamente una disposición de acelerómetro que genera entradas a una consola de videojuegos u otro sistema informático basándose en determinados movimientos y/u orientaciones del controlador. Un controlador de este tipo puede proporcionar una interfaz de usuario más intuitiva en la que, por ejemplo, puede controlarse el movimiento de un objeto de videojuego moviendo el controlador de una manera particular. A modo de ilustración, un jugador puede aumentar o disminuir la altitud de un plano en un videojuego inclinando el controlador hacia arriba o abajo. Puede usarse la disposición de acelerómetro para proporcionar experiencias de juego que no pueden proporcionarse fácilmente (si acaso) usando un controlador que tiene interruptores en cruz, joysticks, botones, etc.
A veces acelerómetros diferentes pueden proporcionar lecturas diferentes cuando se someten al mismo movimiento (aceleración). Estas lecturas diferentes pueden resultar, por ejemplo, de diferencias en los componentes eléctricos o mecánicos de los acelerómetros. Por tanto, puede haber diferencias en las salidas de acelerómetro de acelerómetros previstos respectivamente en controladores primero y segundo incluso cuando estos controladores se mueven o se sostienen de la misma manera.
Además, en el caso de un acelerómetro multieje, la sensibilidad de cada eje a la misma aceleración puede ser diferente. Por ejemplo, una salida de acelerómetro generada cuando un usuario sostiene un controlador de modo que la gravedad se alinea con un primer eje (por ejemplo, el eje Y) puede ser diferente de una salida de acelerómetro generada cuando el controlador se rota de modo que la gravedad se alinea con un segundo eje (por ejemplo, el eje X). Esto significa que la manera en la que el usuario juega a un juego, por ejemplo, si él/ella se sienta
o mueve la orientación de la muñeca, puede afectar a los valores de aceleración medidos.
El documento US-A1-2008 303 697 da a conocer un método de calibración de y un sistema de calibración para un dispositivo de entrada como un controlador remoto. Los valores de aceleración absoluta se comparan con un umbral para calibrar un dispositivo de este tipo.
Los sistemas y métodos descritos en el presente documento proporcionan una constante de normalización para normalizar salidas de acelerómetro de modo que sean consistentes entre acelerómetros diferentes, e incluso para ejes diferentes del mismo acelerómetro. Esto proporciona un entorno de juego en el que el movimiento del controlador puede traducirse en un movimiento de los personajes del juego en la pantalla de vídeo de una manera consistente y natural.
A modo de ejemplo y sin limitación, el sistema de videojuegos tiene en cuenta un periodo de tiempo predeterminado, en el que la mayor diferencia en los vectores de aceleración para cada fotograma está dentro de un límite pequeño, que indica que el jugador está sosteniendo el controlador de manera relativamente inactiva. Entonces, el sistema de videojuegos promedia los vectores de aceleración durante este periodo de tiempo, y se usa la inversa de la magnitud de este promedio como constante de normalización.
Breve descripción de los dibujos
Éstas y otras características y ventajas se entenderán mejor y más completamente haciendo referencia a la siguiente descripción detallada de implementaciones ilustrativas no limitativas a modo de ejemplo junto con los dibujos en los que:
La figura 1 es un diagrama de un sistema 10 de juegos de ejemplo.
La figura 2 es un diagrama de bloques de una consola 100 de juegos de ejemplo mostrada en la figura 1.
Las figuras 3A y 3B son vistas en perspectiva de una parte superior y una parte inferior del controlador 107 de ejemplo mostrado en la figura 1.
La figura 4 es una vista frontal del controlador 107 de ejemplo mostrado en la figura 1.
La figura 5A es un diagrama de bloques de un controlador 107 de ejemplo mostrado en la figura 1.
La figura 5B se usa en una explicación de la dirección de puntería del controlador 107 de ejemplo.
Las figuras 6 y 7 muestran diagramas de flujo de software no limitativos ilustrativos a modo de ejemplo para los procesos de normalización y recalibración.
Descripción detallada
La figura 1 muestra un sistema 10 de juegos de ejemplo no limitativo que incluye una consola 100 de juegos, una televisión 102 y un controlador 107.
La consola 100 de juegos ejecuta un programa de juegos u otra aplicación almacenada en un disco 104 óptico insertado en la ranura 105 formada en la carcasa 110 de la misma. El resultado de la ejecución del programa de juegos u otra aplicación se presenta visualmente en la pantalla 101 de visualización de la televisión 102 a la que se conecta la consola 100 de juegos mediante un cable 106. El audio asociado con el programa de juegos u otra aplicación se emite a través de los altavoces 109 de la televisión 102. Aunque en la figura 1 se muestre un disco óptico, el programa de juegos u otra aplicación puede almacenarse alternativa o adicionalmente en otros medios de almacenamiento tales como memorias semiconductoras, memorias magnetoópticas, memorias magnéticas y similares.
El controlador 107 transmite de manera inalámbrica datos tales como datos de control de juegos a la consola 100 de juegos. Los datos de control de juegos pueden generarse usando una sección de operación del controlador 107 que tiene, por ejemplo, una pluralidad de botones de operación, una tecla, una palanca y similares. El controlador 107 también puede recibir de manera inalámbrica datos transmitidos desde la consola 100 de juegos. Puede usarse cualquiera de diversos protocolos inalámbricos tales como Bluetooth (marca comercial registrada) para las transmisiones inalámbricas entre el controlador 107 y la consola 100 de juegos.
Tal como se comenta más adelante, el controlador 107 también incluye una sección de cálculo de información de formación de imágenes para capturar y procesar imágenes desde dispositivos 108a y 108b emisores de luz. Aunque los marcadores 108a y 108b se muestran en la figura 1 estando sobre la televisión 100, también pueden estar situados por debajo de la televisión 100. En una implementación, un punto central entre los dispositivos 108a y 108b emisores de luz se alinea sustancialmente con una línea central vertical de la pantalla 101 de visualización. Pueden usarse las imágenes desde los dispositivos 108a y 108b emisores de luz para determinar una dirección en la que está apuntando el controlador 107 así como una distancia del controlador 107 con respecto a la pantalla 101 de visualización. A modo de ejemplo sin limitación, los dispositivos 108a y 108b emisores de luz pueden implementarse como dos módulos de LED (a continuación en el presente documento denominados “marcadores”) previstos en las proximidades de la pantalla de visualización de la televisión 102. Cada uno de los marcadores emite luz infrarroja y la sección de cálculo de información de formación de imágenes del controlador 107 detecta la luz emitida desde los módulos de LED para determinar una dirección en la que está apuntando el controlador 107 y una distancia del controlador 107 con respecto a la pantalla 101 tal como se mencionó anteriormente.
Con referencia al diagrama de bloques de la figura 2, la consola 100 de juegos incluye una unidad 204 de procesamiento central (CPU) RISC para ejecutar diversos tipos de aplicaciones que incluyen (pero no se limitan a) programas de videojuegos. La CPU 204 ejecuta un programa de arranque almacenado, por ejemplo, en una ROM de arranque para inicializar una consola 100 de juegos y luego ejecuta una aplicación (o aplicaciones) almacenada en el disco 104 óptico, que se inserta en la unidad 208 de disco óptico. Puede usarse el botón 210 de expulsión accesible por el usuario previsto en la carcasa 110 de la consola 100 de juegos para expulsar un disco óptico de una unidad 208 de disco.
En una implementación de ejemplo, la unidad 208 de disco óptico recibe tanto discos ópticos de un primer tipo (por ejemplo, de un primer tamaño y/o de una primera estructura de datos, etc.) que contienen aplicaciones desarrolladas para aprovechar las capacidades de la CPU 204 y el procesador 216 de gráficos como discos ópticos de un segundo tipo (por ejemplo, de un segundo tamaño y/o una segunda estructura de datos) que contienen aplicaciones desarrolladas originalmente para su ejecución mediante una CPU y/o un procesador de gráficos con capacidades diferentes que las de la CPU 204 y/o el procesador 216 de gráficos. Por ejemplo, los discos ópticos del segundo tipo pueden ser aplicaciones desarrolladas originalmente para la plataforma de Nintendo GameCube.
La CPU 204 está conectada a la LSI 202 de sistema que incluye una unidad 216 de procesamiento de gráficos (GPU) con una memoria 220 de gráficos asociada, un procesador 218 de señal digital de audio (DSP), una memoria 222 principal interna y un procesador 224 de entrada/salida (E/S).
El procesador 224 de E/S de la LSI 202 de sistema está conectado a uno o más puertos 226 USB, una o más ranuras 228 (conectores) de tarjeta de memoria convencionales, un módulo 230 de WiFi, una memoria 232 flash y un módulo 240 de controlador inalámbrico.
Los puertos 226 USB se usan para conectar una amplia variedad de dispositivos externos a la consola 100 de juegos. Estos dispositivos incluyen a modo de ejemplo sin limitación controladores de juego, teclados, dispositivos de almacenamiento tales como unidades de disco duro externas, impresoras, cámaras digitales y similares. Los puertos 226 USB también pueden usarse para conexiones de red por cable (por ejemplo, LAN). En una implementación de ejemplo se proporcionan dos puertos 226 USB.
Las ranuras 228 (conectores) de tarjeta de memoria convencionales están adaptadas para recibir tarjetas de memoria de tipo estándar industrial (por ejemplo, tarjetas de memoria SD). En una implementación de ejemplo, se proporciona una ranura 228 de tarjeta de memoria. Estas tarjetas de memoria se usan generalmente como soportes de datos pero naturalmente este uso se proporciona a modo de ilustración, no de limitación. Por ejemplo, un jugador puede almacenar datos de juegos para un juego particular en una tarjeta de memoria y llevar la tarjeta de memoria a la casa de un amigo para jugar el juego en la consola de juegos del amigo. Las tarjetas de memoria también pueden usarse para transferir datos entre la consola de juegos y ordenadores personales, cámaras digitales y similares.
El módulo 230 de WiFi permite que la consola 100 de juegos esté conectada a un punto de acceso inalámbrico. El punto de acceso puede proporcionar conectividad a Internet para un juego en línea con jugadores en otras ubicaciones (con o sin capacidad de chat por voz), así como navegación web, correo electrónico, descargas de archivos (incluyendo descargas de juegos) y muchos otros tipos de actividades en línea. En algunas implementaciones, el módulo 230 de WiFi también puede usarse para una comunicación con otros dispositivos de juegos tales como dispositivos de juegos manuales equipados adecuadamente. El módulo 230 se denomina en el presente documento “WiFi”, que es generalmente una designación usada en conexión con la familia de las especificaciones de la norma IEEE 802.11. Sin embargo, la consola 100 de juegos puede usar naturalmente, de manera alternativa o adicional, módulos inalámbricos que cumplen con otras normas inalámbricas.
La memoria 232 flash almacena, a modo de ejemplo sin limitación, datos para guardar el juego, archivos de sistema, aplicaciones internas para la consola y datos de descarga (tales como juegos).
El módulo 240 de controlador inalámbrico recibe señales transmitidas de manera inalámbrica desde uno o más controladores 107 y proporciona estas señales recibidas al procesador 224 de E/S. Las señales transmitidas por el controlador 107 al módulo 240 de controlador inalámbrico pueden incluir señales generadas por el propio controlador 107 así como por otros dispositivos que pueden estar conectados al controlador 107. A modo de ejemplo, algunos juegos pueden utilizar entradas derecha e izquierda separadas. Para tales juegos, otro controlador (no mostrado) puede estar conectado (por ejemplo, mediante una conexión por cable) al controlador 107 y el controlador 107 puede transmitir al módulo 240 de controlador inalámbrico señales generadas por él mismo y por el otro controlador.
El módulo 240 de controlador inalámbrico también puede transmitir de manera inalámbrica señales al controlador
107. A modo de ejemplo sin limitación, el controlador 107 (y/u otro controlador de juegos conectado al mismo) puede estar dotado de un conjunto de circuitos de vibración y pueden enviarse señales de control del conjunto de circuitos de vibración a través del módulo 240 de controlador inalámbrico para controlar el conjunto de circuitos de vibración (por ejemplo, encendiendo y apagando el conjunto de circuitos de vibración). A modo de ejemplo adicional sin limitación, el controlador 107 puede estar dotado de (o estar conectado a) un altavoz (no mostrado) y pueden comunicarse de manera inalámbrica señales de audio para su emisión desde este altavoz al controlador 107 a través del módulo 240 de controlador inalámbrico. A modo de ejemplo todavía adicional sin limitación, el controlador 107 puede estar dotado de (o estar conectado a) un dispositivo de visualización (no mostrado) y pueden comunicarse de manera inalámbrica señales de visualización para su emisión desde este dispositivo de visualización al controlador 107 a través del módulo 240 de controlador inalámbrico.
Unas ranuras 246 de tarjeta de memoria propietarias están adaptadas para recibir tarjetas de memoria propietarias. En una implementación de ejemplo, se proporcionan dos ranuras de este tipo. Estas tarjetas de memoria propietarias tienen alguna(s) característica(s) no convencional(es) tales como un conector no convencional y/o una arquitectura de memoria no convencional. Por ejemplo, una o más de las ranuras 246 de tarjeta de memoria pueden estar adaptadas para recibir tarjetas de memoria usadas con la plataforma de Nintendo GameCube. En este caso, las tarjetas de memoria insertadas en tales ranuras pueden transferir datos desde juegos desarrollados para la plataforma de GameCube. En una implementación de ejemplo, pueden usarse las ranuras 246 de tarjeta de memoria para un acceso de sólo lectura a las tarjetas de memoria insertadas en las mismas y pueden establecerse limitaciones en cuanto a si los datos en estas tarjetas de memoria pueden copiarse o transferirse a otros medios de almacenamiento tales como tarjetas de memoria convencionales insertadas en ranuras 228.
Uno o más conectores 244 de controlador están adaptados para una conexión por cable a controladores de juego respectivos. En una implementación de ejemplo, se proporcionan cuatro conectores de este tipo para una conexión por cable a controladores de juego para la plataforma de Nintendo GameCube. Alternativamente, unos receptores inalámbricos respectivos pueden estar conectados a los conectores 244 para recibir señales desde los controladores de juego inalámbricos. Estos conectores permiten que los jugadores, entre otras cosas, usen controladores para la plataforma de Nintendo GameCube cuando se inserta un disco óptico para un juego desarrollado para esta plataforma en la unidad 208 de disco óptico.
Se proporciona un conector 248 para conectar la consola 100 de juegos a una alimentación de CC procedente, por ejemplo, de un enchufe de pared habitual. Naturalmente, la energía puede proceder de una o más baterías.
La GPU 216 realiza un procesamiento de imágenes basándose en instrucciones desde la CPU 204. La GPU 216 incluye, por ejemplo, un conjunto de circuitos para realizar los cálculos necesarios para presentar visualmente gráficos tridimensionales (3D). La GPU 216 realiza un procesamiento de imágenes usando una memoria 220 de gráficos dedicada para el procesamiento de imágenes y una parte de la memoria 222 principal interna. La GPU 216 genera datos de imágenes para su emisión a la televisión 102 mediante un conector 214 de audio/vídeo a través de la IC 212 (interfaz) de audio/vídeo.
El DSP 218 de audio realiza un procesamiento de audio basándose en instrucciones desde la CPU 204. El audio generado por el DSP 218 de audio se emite a la televisión 102 mediante un conector 214 de audio/vídeo a través de la IC 212 de audio/vídeo.
La memoria 206 principal externa y la memoria 222 principal interna son áreas de almacenamiento accesibles directamente por la CPU 204. Por ejemplo, estas memorias pueden almacenar un programa de aplicación tal como un programa de juegos leído desde el disco 104 óptico por la CPU 204, diversos tipos de datos o similares.
ROM/RTC 238 incluye un reloj en tiempo real y preferiblemente se alimenta con una batería interna (no mostrada) de modo que puede usarse aunque no se suministre ninguna energía externa. ROM/RTC 238 también pueden incluir una ROM y SRAM de arranque que puede usar la consola.
Se usa el botón 242 de encendido para encender y apagar la consola 100 de juegos. En una implementación de ejemplo, el botón 242 de encendido debe apretarse durante un tiempo especificado (por ejemplo, uno o dos segundos) para apagar la consola para reducir la posibilidad de un apagado involuntario. Se usa el botón 244 de reinicialización para reinicializar (volver a arrancar) la consola 100 de juegos.
Con referencia a las figuras 3 y 4, el controlador 107 de ejemplo incluye una carcasa 301 en la que se proporcionan controles 302a-302h operativos. La carcasa 301 tiene una forma generalmente paralelepípeda y está dimensionada para que la mano de un jugador la agarre fácilmente. El interruptor 302a en cruz está previsto en el centro de una parte delantera de una superficie superior de la carcasa 301. El interruptor 302a en cruz es un interruptor pulsador de cuatro direcciones en forma de cruz que incluye partes operativas que corresponden a las direcciones designadas por las flechas (delante, atrás, derecha e izquierda) que están ubicadas respectivamente en partes sobresalientes en forma de cruz. Un jugador selecciona una de las direcciones delante, atrás, derecha e izquierda presionando una de las partes operativas del interruptor 302a en cruz. Mediante el accionamiento del interruptor 302a en cruz, el jugador, por ejemplo, puede mover un personaje en direcciones diferentes en un mundo de juego virtual.
El interruptor 302a en cruz se describe a modo de ejemplo y pueden usarse otros tipos de secciones operativas. A modo de ejemplo sin limitación, puede usarse un interruptor compuesto que incluye un interruptor pulsador con una sección operativa de cuatro direcciones en forma de anillo y un interruptor central. A modo de ejemplo adicional sin limitación, puede usarse una palanca inclinable que sobresale de la superficie superior de la carcasa 301 que emite señales según la dirección de inclinación de la palanca. Todavía a modo de ejemplo adicional sin limitación, puede usarse un elemento en forma de disco que puede deslizarse horizontalmente que emite señales según la dirección de deslizamiento del elemento en forma de disco. Todavía a modo de ejemplo adicional sin limitación, puede usarse una almohadilla táctil. Todavía a modo de ejemplo adicional sin limitación, pueden usarse interruptores separados que corresponden a al menos cuatro direcciones (por ejemplo, delante, atrás, derecha e izquierda) que emiten señales respectivas cuando se presionan por un jugador.
Los botones (o teclas) 302b a 302g se proporcionan por detrás del interruptor 302a en cruz en la superficie superior de la carcasa 301. Los botones 302b a 302g son dispositivos operativos que emiten señales respectivas cuando un jugador los presiona. Por ejemplo, los botones 302b a 302d son respectivamente un botón “X”, un botón “Y” y un botón “B” y los botones 302e a 302g son respectivamente un interruptor de selección, un interruptor de menú y un interruptor de inicio, por ejemplo. Generalmente, a los botones 302b a 302g se asignan diversas funciones según la aplicación que se ejecuta por la consola 100 de juegos. En una disposición a modo de ejemplo mostrada en la figura 3A, los botones 302b a 302d están dispuestos linealmente a lo largo de una línea central de delante hacia atrás de la superficie superior de la carcasa 301. Los botones 302e a 302g están dispuestos linealmente a lo largo de una línea de izquierda a derecha entre los botones 302b y 302d. El botón 302f puede estar rebajado con respecto a una superficie superior de la carcasa 701 para reducir la posibilidad de que un jugador que agarra el controlador 107 lo presione involuntariamente.
El botón 302h está previsto por delante del interruptor 302a en cruz en la superficie superior de la carcasa 301. El botón 302h es un interruptor de encendido para un encendido-apagado remoto de la alimentación a la consola 100 de juegos. El botón 302h también puede estar rebajado con respecto a una superficie superior de la carcasa 301 para reducir la posibilidad de que un jugador lo presione involuntariamente.
Una pluralidad (por ejemplo, cuatro) de LED 304 están previstos por detrás del botón 302c en la superficie superior de la carcasa 301. Al controlador 107 está asignado un tipo (número) de controlador para poder distinguirse de otros controladores usados con la consola 100 de juegos y los LED 304 pueden usarse para proporcionar a un jugador una indicación visual de este número asignado al controlador. Por ejemplo, cuando el controlador 107 transmite señales al módulo 240 de controlador inalámbrico, se enciende uno de la pluralidad de LED correspondiente al tipo de controlador.
Con referencia a la figura 3B, una parte 308 rebajada está formada en una superficie inferior de la carcasa 301. La parte 308 rebajada está situada para recibir un dedo índice o dedo corazón de un jugador que sostiene el controlador 107. Un botón 302i está previsto en una superficie 308a inclinada, trasera de la parte rebajada. El botón 302i funciona, por ejemplo, como un botón “A” que puede usarse, a modo de ilustración, como interruptor de disparo en un juego de disparo.
Tal como se muestra en la figura 4, un elemento 305a de formación de imágenes está previsto en una superficie frontal de la carcasa 301 de controlador. El elemento 305a de formación de imágenes forma parte de la sección de cálculo de información de formación de imágenes del controlador 107 que analiza datos de imágenes recibidos desde los marcadores 108a y 108b. La sección 305 de cálculo de información de formación de imágenes tiene un periodo de muestreo máximo de, por ejemplo, aproximadamente 200 fotogramas/s, y por tanto puede seguir y analizar un movimiento incluso relativamente rápido del controlador 107. Detalles adicionales de la operación de esta sección pueden hallarse en las solicitudes n.os 60/716.937, titulada “VIDEO GAME SYSTEM WITH WIRELESS MODULAR HANDHELD CONTROLLER”, presentada el 15 de septiembre de 2005 (que corresponde a la publicación de patente estadounidense n.º 2007-0066394 A1); 60/732.648, titulada “INFORMATION PROCESSING PROGRAM”, presentada el 3 de noviembre de 2005 (que corresponde a la publicación de patente estadounidense n.º 2007-0072674 A1); y la solicitud número 60/732.649, titulada “INFORMATION PROCESSING SYSTEM AND PROGRAM THEREFOR” presentada el 3 de noviembre de 2005 (que corresponde a la publicación de patente estadounidense n.º 2007-0060228 A1).
El conector 303 está previsto en una superficie trasera de la carcasa 301 de controlador. Se usa el conector 303 para conectar dispositivos al controlador 107. Por ejemplo, un segundo controlador de configuración similar o diferente puede estar conectado al controlador 107 a través del conector 303 con el fin de permitir que un jugador juegue a juegos usando entradas de control de juego desde ambas manos. Otros dispositivos que incluyen controladores de juego para otras consolas de juegos, dispositivos de entrada tales como teclados, teclados numéricos y almohadillas táctiles y dispositivos de salida tales como altavoces y pantallas pueden conectarse al controlador 107 usando el conector 303.
Para facilitar la explicación a continuación, se definirá un sistema de coordenadas para el controlador 107. Tal como se muestra en las figuras 3 y 4, se ha definido un sistema de coordenadas X, Y, Z a la izquierda para el controlador
107. Naturalmente, este sistema de coordenadas se describe a modo de ejemplo sin limitación y los sistemas y métodos descritos en el presente documento pueden aplicarse de la misma manera cuando se usan otros sistemas de coordenadas.
Tal como se muestra en el diagrama de bloques de la figura 5A, el controlador 107 incluye un sensor 507 de aceleración lineal, de tres ejes que detecta una aceleración lineal en tres direcciones, es decir, la dirección arriba/abajo (el eje Z mostrado en las figuras 3 y 4), la dirección izquierda/derecha (el eje X mostrado en las figuras 3 y 4) y la dirección hacia delante/hacia atrás (el eje Y mostrado en las figuras 3 y 4). Alternativamente, puede usarse un acelerómetro lineal de dos ejes que sólo detecta una aceleración lineal a lo largo de cada uno de los ejes Y y Z, por ejemplo, o puede usarse un acelerómetro lineal de un eje que sólo detecta una aceleración lineal a lo largo del eje Z, por ejemplo. En general, la disposición de acelerómetro (por ejemplo, de tres ejes o de dos ejes) dependerá del tipo de señales de control deseado. Como ejemplo no limitativo, el acelerómetro lineal de tres ejes o de dos ejes puede ser del tipo disponible de Analog Devices, Inc. o STMicroelectronics N.V. Preferiblemente, el sensor 507 de aceleración es un tipo de capacitancia electrostática o de acoplamiento de capacitancia que se basa en tecnología de MEMS micromecanizados de silicio (sistemas microelectromecánicos). Sin embargo, puede usarse cualquier otra tecnología de acelerómetro adecuada (por ejemplo, de tipo piezoeléctrico o de tipo piezorresistente) existente actualmente o que se desarrolle en el futuro para proporcionar un sensor 507 de aceleración lineal de dos ejes o tres ejes.
Como entenderá un experto en la técnica, los acelerómetros lineales, tal como se usan en el sensor 507 de aceleración, sólo pueden detectar la aceleración a lo largo de una línea recta que corresponde a cada eje del sensor de aceleración. En otras palabras, la salida directa del sensor 507 de aceleración se limita a señales indicativas de aceleración lineal (estática o dinámica) a lo largo de cada uno de los dos o tres ejes del mismo. Como resultado, el sensor 507 de aceleración no puede detectar directamente el movimiento a lo largo de un trayecto no lineal (por ejemplo arqueado), rotación, movimiento rotacional, desplazamiento angular, inclinación, posición, actitud o cualquier otra característica física.
Sin embargo, a través de un procesamiento adicional de las señales de aceleración lineal emitidas desde el sensor 507 de aceleración, puede inferirse o calcularse (es decir, determinarse) información adicional en relación con el controlador 107, como un experto en la técnica entenderá fácilmente a partir de la descripción en el presente documento. Por ejemplo, detectando una aceleración lineal, estática (es decir, la gravedad), puede usarse la salida de aceleración lineal del sensor 507 de aceleración para determinar la inclinación del objeto en relación con el vector de gravedad correlacionando ángulos de inclinación con una aceleración lineal detectada. De esta manera, puede usarse el sensor 507 de aceleración en combinación con un microordenador 502 del controlador 107 (u otro procesador) para determinar la inclinación, actitud o posición del controlador 107. De manera similar, pueden calcularse diversos movimientos y/o posiciones del controlador 107 a través de un procesamiento de las señales de aceleración lineal generadas por el sensor 507 de aceleración cuando el controlador 107 que contiene el sensor 507 de aceleración se somete a aceleraciones dinámicas, por ejemplo, por la mano de un usuario.
En otra realización, el sensor 507 de aceleración puede incluir un procesador de señales integrado u otro tipo de procesador dedicado para realizar cualquier procesamiento deseado de las señales de aceleración emitidas desde los acelerómetros en el mismo antes de emitir señales al microordenador 502. Por ejemplo, el procesador integrado
o dedicado podría convertir la señal de aceleración detectada a un ángulo de inclinación correspondiente (u otro parámetro deseado) cuando se pretende que el sensor de aceleración detecte una aceleración estática (es decir, la gravedad).
Pueden usarse otros tipos de dispositivos disponibles para detectar o determinar el movimiento y/u orientación tales como giroscopios además de o como alternativa a los sensores de aceleración. A modo de ejemplo y sin limitación, puede usarse un giroscopio para perfeccionar o corregir las mediciones o lecturas desde un acelerómetro.
Volviendo a la figura 5A, la sección 505 de cálculo de información de formación de imágenes del controlador 107 incluye un filtro 528 de infrarrojos, una lente 529, un elemento 305a de formación de imágenes y un circuito 530 de procesamiento de imágenes. El filtro 528 de infrarrojos permite que a través del mismo sólo pase luz infrarroja a partir de la luz que incide sobre la superficie frontal del controlador 107. La lente 529 acumula y centra la luz infrarroja desde el filtro 528 de infrarrojos en el elemento 305a de formación de imágenes. El elemento 305a de formación de imágenes es un dispositivo de formación de imágenes de estado sólido tal como, por ejemplo, un sensor de CMOS o un CCD. El elemento 305a de formación de imágenes captura imágenes de la luz infrarroja desde los marcadores 108a y 108b que acumula la lente 529. Por consiguiente, el elemento 305a de formación de imágenes captura imágenes sólo de la luz infrarroja que ha pasado a través del filtro 528 de infrarrojos y genera datos de imágenes basándose en esto. Estos datos de imágenes se procesan por el circuito 530 de procesamiento de imágenes que detecta un área de los mismos que tiene un alto brillo y, basándose en esta detección, emite datos de resultado de procesamiento que representan la posición de coordenada detectada y el tamaño del área a la sección 506 de comunicación. A partir de esta información, puede determinarse la dirección en la está apuntando el controlador 107 y la distancia del controlador 107 con respecto a la pantalla 101.
La figura 5B muestra unos sensores 108a, 108b situados por debajo de la pantalla 101 de visualización de la televisión 102. Tal como se muestra en la figura 5B, cuando el controlador 107 está apuntando hacia los sensores, en realidad no está apuntando al centro de la pantalla 101 de visualización. Sin embargo, la aplicación o el programa de juegos ejecutado por la máquina 100 de juegos puede tratar esta situación como una en la que el controlador 107 está apuntando al centro de la pantalla. En este caso, las coordenadas reales y las coordenadas del programa diferirán, pero cuando el usuario está lo suficientemente lejos de la televisión, su cerebro corrige automáticamente la diferencia entre las coordenadas vistas por el ojo y las coordenadas para el movimiento de la mano.
Volviendo de nuevo a la figura 5A, el circuito 512 de vibración también puede estar incluido en el controlador 107. El circuito 512 de vibración puede ser, por ejemplo, un motor de vibración o un solenoide. El controlador 107 se hace vibrar mediante el accionamiento del circuito 512 de vibración (por ejemplo, en respuesta a señales desde la consola 100 de juegos), y la vibración se transporta a la mano del jugador que agarra el controlador 107. Por tanto, puede realizarse un denominado juego sensible a la vibración.
Tal como se describió anteriormente, el sensor 507 de aceleración detecta y emite la aceleración en forma de componentes de tres direcciones axiales del controlador 107, es decir, las componentes de la dirección arriba-abajo (dirección de eje Z), la dirección izquierda-derecha (dirección de eje X) y la dirección delante-atrás (la dirección de eje Y) del controlador 107. Los datos que representan la aceleración como las componentes de las tres direcciones axiales detectadas por el sensor 507 de aceleración se emiten a la sección 506 de comunicación. Basándose en los datos de aceleración que se emiten desde el sensor 507 de aceleración, puede determinarse un movimiento del controlador 107.
La sección 506 de comunicación incluye un microordenador 502, una memoria 503, un módulo 504 inalámbrico y una antena 505. El microordenador 502 controla un módulo 504 inalámbrico para transmitir y recibir datos mientras se usa una memoria 503 como área de almacenamiento durante el procesamiento. Al microordenador 502 se suministran datos que incluyen señales de operación (por ejemplo, datos de interruptor en cruz, botón o tecla) desde la sección 302 de operación, las señales de aceleración en las tres direcciones axiales (datos de aceleración de dirección de eje X, eje Y y eje Z) desde el sensor 507 de aceleración, y datos de resultado de procesamiento desde la sección 505 de cálculo de información de formación de imágenes. El microordenador 502 almacena temporalmente los datos suministrados al mismo en la memoria 503 como datos de transmisión para su transmisión a la consola 100 de juegos. La transmisión inalámbrica desde la sección 506 de comunicación a la consola 100 de juegos se realiza a intervalos de tiempo predeterminados. Puesto que el procesamiento de juegos se realiza generalmente a un ciclo de 1/60 s (16,7 ms), la transmisión inalámbrica se realiza preferiblemente a un ciclo de un periodo de tiempo más corto. Por ejemplo, una sección de comunicación estructurada que usa tecnología Bluetooth (marca comercial registrada) puede tener un ciclo de 5 ms. En el momento de transmisión, el microordenador 502 emite los datos de transmisión almacenados en la memoria 503 como serie de información de operación al módulo 504 inalámbrico. El módulo 504 inalámbrico usa, por ejemplo, tecnología Bluetooth (marca comercial registrada) para enviar la información de operación desde la antena 505 como señal de onda portadora que tiene una frecuencia especificada. Por tanto, los datos de señal de operación desde la sección 302 de operación, los datos de aceleración de dirección de eje X, eje Y y eje Z desde el sensor 507 de aceleración, y los datos de resultado de procesamiento desde la sección 505 de cálculo de información de formación de imágenes se transmiten desde el controlador 107. La consola 100 de juegos recibe la señal de onda portadora y demodula o decodifica la señal de onda portadora para obtener la información de operación (por ejemplo, los datos de señal de operación, los datos de aceleración de dirección de eje X, eje Y y eje Z y los datos de resultado de procesamiento). Basándose en estos datos recibidos y la aplicación que se ejecuta actualmente, la CPU 204 de la consola 100 de juegos realiza un procesamiento de aplicación. Si la sección 506 de comunicación se estructura usando tecnología Bluetooth (marca comercial registrada), el controlador 107 también puede recibir datos transmitidos de manera inalámbrica a la misma desde dispositivos que incluyen la consola 100 de juegos.
En una realización de ejemplo, la normalización de las salidas del acelerómetro se realiza para considerar, entre otras cosas, diferencias en la sensibilidad que pueden existir entre acelerómetros en controladores diferentes y diferencias en la sensibilidad que pueden existir entre los ejes diferentes del mismo acelerómetro.
Los sistemas y métodos descritos en el presente documento implican generar un factor de normalización para normalizar las salidas del acelerómetro. Al o cerca del comienzo de un juego, por ejemplo, se monitorizan los vectores de aceleración para cada eje del acelerómetro durante un periodo de tiempo especificado (por ejemplo, 20 fotogramas o aproximadamente 0,3 segundos). Si, para este periodo de tiempo, la diferencia más grande en los vectores de aceleración para cada eje está dentro de algún límite especificado, se computa el promedio de los vectores de aceleración para cada eje durante el periodo de tiempo. Se calcula la inversa de la magnitud del vector promedio para cada eje y se usa como constante de normalización para ese eje. Las lecturas posteriores para los vectores de aceleración se multiplican por esta constante de normalización. Por tanto, por ejemplo, si un eje de acelerómetro alineado con la gravedad obtiene una lectura promedio de 0,8 g, la inversa de este promedio (es decir 1,25) sería la constante de normalización y se multiplicarían las lecturas de acelerómetro para este eje por 1,25.
En el método de normalización anterior, se considera sólo la magnitud del vector de aceleración promedio, no la dirección. Además, se calcula un factor de escala para cada acelerómetro del dispositivo de controlador, por tanto hay uno, por ejemplo, para el acelerómetro del controlador 107 y uno para cualquier acelerómetro contenido en cualquier otro controlador conectado (o bien de manera inalámbrica o bien por cable) al controlador 107. Puesto que las señales desde el controlador 107 y cualquier controlador conectado al mismo están contenidas en campos de datos diferentes de comunicaciones a la consola 100 de juegos, la consola puede determinar qué aceleraciones normalizadas proceden del controlador 107 y cuáles proceden de cualquier controlador conectado al controlador
107.
En una realización a modo de ejemplo, el factor de normalización para el acelerómetro se calcula al inicio del juego, cuando el jugador está preparándose para jugar. Sin embargo, la realización no se limita a esta elección de dimensión de tiempo, y el cálculo puede producirse en cualquier periodo de tiempo, como ocurre durante la recalibración, descrita a continuación en el presente documento.
La normalización se produce sin que el usuario lo sepa. Esto elimina varias pantallas tediosas que el usuario puede tener que procesar, y también elimina la posibilidad de error de usuario si fuera necesario que el usuario realizara la normalización.
Todavía en otra realización a modo de ejemplo, incluso si el factor de normalización se calcula antes de que la reproducción del juego comience en realidad durante una configuración inicial, puede ser necesaria una (re)calibración puesto que el factor de escala puede cambiar durante una sesión de juego. Aunque en teoría el factor de escala no debería cambiar con respecto a un controlador 107 en una sesión de usuario dada, la orientación del controlador 107 puede afectar a las lecturas. Más específicamente, el eje X puede ser un poco más sensible que el eje Y, por ejemplo, entonces si el controlador 107 tuviera que rotar en un sentido u otro, el sistema conseguiría valores de sensibilidad ligeramente diferentes basándose en esto. Esto podría producirse, por ejemplo, durante una sesión de juego por un jugador particular, cuando el jugador cambia ligeramente la manera en la que juega. Si, por ejemplo, rota el controlador de modo que la gravedad actúe sobre un eje diferente del acelerómetro, este eje puede tener en realidad valores de sensibilidad ligeramente diferentes a los otros ejes, lo que produciría también un factor de escala ligeramente diferente. Por tanto, el valor de calibración puede cambiar en el transcurso del juego, y el proceso de normalización se repite en periodos de tiempo predeterminados.
El método de normalización descrito anteriormente consulta un periodo de tiempo de descanso relativo para el controlador. Sin embargo, si el jugador sacude incontroladamente el controlador durante todo el tiempo, entonces se usa un valor de normalización por defecto de, por ejemplo, 1,0.
La figura 6 muestra un diagrama de flujo de un proceso no limitativo ilustrativo a modo de ejemplo realizado por la consola 100 de videojuegos que calibra las lecturas de un acelerómetro del controlador 107 durante una sesión de juego. En el ejemplo mostrado, en la etapa 302, se produce una inicialización del controlador 107 y se establece un valor de normalización por defecto, por ejemplo, 1,0, donde la consola 100 de juegos pide al usuario que apunte el controlador 107 al centro de la pantalla 101 de visualización para establecer el punto central entre los marcadores 108a y 108b. Posteriormente, en la etapa 304, la consola 100 determina si se ha producido la normalización del acelerómetro. Si la respuesta es negativa, entonces se realiza el proceso de normalización A (mostrado en la figura 7). Por otro lado, si la respuesta es positiva, entonces el juego continúa en la etapa 306.
En la etapa 308, la consola 100 de juegos determina si ha transcurrido una determinada cantidad de tiempo en el transcurso del juego. Esta cantidad de tiempo se refiere a la recalibración periódica realizada para el/los acelerómetro(s) del/de los controlador(es). Si la cantidad de tiempo predeterminada no ha transcurrido, entonces el proceso vuelve a la etapa 306. Sin embargo, si la respuesta en la etapa 308 es positiva, entonces el sistema realiza la normalización A en la etapa 310. Finalmente, en la etapa 312, el sistema determina si el juego ha terminado. Si no, entonces el proceso vuelve a la etapa 306 y el juego continúa. Sin embargo, si el juego ha terminado, entonces el proceso termina.
La figura 7 muestra un diagrama de flujo de un proceso de normalización A no limitativo ilustrativo a modo de ejemplo. En la etapa 402, se considera un periodo de tiempo predeterminado, por ejemplo, 0,3 s. Posteriormente, en la etapa 404, la consola 100 de juegos consulta los valores de los vectores de aceleración en cada eje para el sensor de acelerómetro para un número predeterminado de fotogramas (por ejemplo, 20 fotogramas) en la cantidad de tiempo predeterminada. Entonces, la consola 100 de juegos determina si la diferencia más grande para los vectores de aceleraciones para cada eje para cada fotograma está dentro de un valor pequeño predeterminado (etapa 406). Esto indicaría que el controlador se sostiene de manera relativamente inactiva. Si la respuesta en la etapa 406 es negativa, entonces se usa el valor por defecto, por ejemplo, de 1,0, como factor de normalización, y la normalización continúa a la etapa 416.
Si la respuesta en la etapa 406 es positiva, entonces se calcula el promedio de todos los vectores de aceleración durante el periodo de tiempo en la etapa 410, seguido por el cálculo de la magnitud del vector de aceleración promedio para cada eje en la etapa 412. El proceso de normalización continúa calculando la inversa de la magnitud del vector promedio hallado en la etapa 412 para dar el factor de normalización (etapa 414). Finalmente, la consola 100 de juegos normaliza cada lectura para los vectores de aceleración multiplicando por el factor de normalización hallado en la etapa 414 (etapa 416).
En otra implementación de ejemplo, la consola 100 de juegos puede inducir a que un usuario sostenga el controlador 107 de modo que un eje de acelerómetro particular se alinee con la gravedad. El vector de aceleración promedio para ese eje particular durante un periodo de tiempo predeterminado puede calcularse para proporcionar el factor de normalización. En otra implementación de ejemplo, la consola 100 de juegos puede inducir a que un usuario sostenga el controlador 107 de modo que cada eje de acelerómetro se alinee secuencialmente con la gravedad. El vector de aceleración promedio para cada eje durante un periodo de tiempo predeterminado puede calcularse para proporcionar los factores de normalización respectivos.
Los sistemas y métodos descritos en el presente documento pueden implementarse en hardware, firmware, software y combinaciones de los mismos. El software o firmware puede ejecutarse mediante un dispositivo informático de uso general o de uso específico que incluye un sistema de procesamiento tal como un microprocesador y un microcontrolador. El software puede almacenarse, por ejemplo, en un medio de almacenamiento (óptico, magnético, semiconductor o combinaciones de los mismos) y cargarse en una RAM para su ejecución mediante el sistema de procesamiento. Los sistemas y métodos descritos en el presente documento también pueden implementarse en parte o en su totalidad por un hardware tal como circuitos integrados de aplicación específica (ASIC), disposiciones de puertas programables en campo (FPGA), circuitos lógicos y similares.
Aunque los sistemas y métodos se han descrito en conexión con lo que se considera actualmente para realizaciones prácticas y preferidas, debe entenderse que estos sistemas y métodos no se limitan a las realizaciones dadas a conocer, sino que por el contrario, se pretende que cubran diversas modificaciones y disposiciones equivalentes incluidas dentro del alcance de las reivindicaciones adjuntas.

Claims (8)

  1. REIVINDICACIONES
    1. Método para calibrar la operación del sensor de aceleración de un controlador remoto usado junto con una consola de videojuegos de modo que produzca lecturas consistentes, que comprende:
    considerar un periodo de tiempo predeterminado después de la inicialización del controlador;
    considerar los valores de los vectores de aceleración del sensor de aceleración a lo largo de cada uno de una pluralidad de ejes ortogonales, para un número predeterminado de fotogramas de vídeo durante el periodo de tiempo predeterminado;
    determinar si la diferencia más grande en los vectores de aceleración para cada fotograma durante el periodo de tiempo predeterminado es menor que un límite predeterminado;
    establecer un factor de normalización basándose en dicha determinación;
    multiplicar cada vector de aceleración para cada eje del sensor de aceleración por dicho factor de normalización.
  2. 2.
    Método según la reivindicación 1, en el que si el resultado de dicha determinación es positivo, entonces el factor de normalización es igual a la inversa de la magnitud del vector de aceleración promedio durante dicho periodo de tiempo predeterminado para cada eje.
  3. 3.
    Método según la reivindicación 1, en el que si el resultado de dicha determinación es negativo, entonces el factor de normalización es igual a un valor predeterminado.
  4. 4.
    Método según la reivindicación 1, en el que dicho método se repite periódicamente durante la duración de una sesión de juego de la consola de videojuegos.
  5. 5.
    Sistema para calibrar las lecturas del sensor de acelerómetro de un controlador remoto usado junto con una consola de videojuegos de modo que produzca lecturas consistentes, que comprende
    un controlador remoto que envía y recibe datos desde la consola de videojuegos, en el que dicho controlador remoto comprende un sensor de acelerómetro que produce valores para los vectores de aceleración a lo largo de cada uno de una pluralidad de ejes ortogonales;
    un conjunto de circuitos lógico programado para la consideración de periodos de tiempo en dicha consola de videojuegos, para considerar un periodo de tiempo predeterminado después de la inicialización de dicho controlador remoto;
    un conjunto de circuitos lógico programado para la consideración de valores de aceleración para considerar los valores de los vectores de aceleración del sensor de aceleración a lo largo de cada eje, para un número predeterminado de fotogramas de vídeo durante dicho periodo de tiempo predeterminado;
    un conjunto de circuitos lógico programado para la determinación de umbral para determinar si la diferencia más grande en los vectores de aceleración para cada fotograma durante el periodo de tiempo predeterminado es menor que un límite predeterminado;
    un conjunto de circuitos lógico programado para el establecimiento para establecer un factor de normalización basándose en el resultado de dicho conjunto de circuitos lógico programado para la determinación de umbral; y
    un conjunto de circuitos lógico programado para la normalización para multiplicar cada vector de aceleración para cada eje del sensor de aceleración por dicho factor de normalización.
  6. 6.
    Sistema según la reivindicación 5, en el que
    si el resultado de dicho conjunto de circuitos lógico programado para la determinación de umbral es positivo, entonces el factor de normalización es igual a la inversa de la magnitud del vector de aceleración promedio durante dicho periodo de tiempo predeterminado para cada eje.
  7. 7.
    Sistema según la reivindicación 5, en el que
  8. 8.
    Sistema según la reivindicación 5, en el que
    si el resultado de dicho conjunto de circuitos lógico programado para la determinación de umbral es negativo, entonces el factor de normalización es igual a un valor predeterminado.
    la calibración de las lecturas del sensor de acelerómetro del controlador remoto se repite periódicamente durante la duración de una sesión de juego de la consola de videojuegos.
ES10772378.5T 2009-05-04 2010-05-04 Calibración de un acelerómetro de un controlador remoto Active ES2450144T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17508109P 2009-05-04 2009-05-04
US175081P 2009-05-04
PCT/US2010/001324 WO2010129045A2 (en) 2009-05-04 2010-05-04 Calibration of the accelerometer sensor of a remote controller

Publications (1)

Publication Number Publication Date
ES2450144T3 true ES2450144T3 (es) 2014-03-24

Family

ID=43031047

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10772378.5T Active ES2450144T3 (es) 2009-05-04 2010-05-04 Calibración de un acelerómetro de un controlador remoto

Country Status (5)

Country Link
US (1) US8725445B2 (es)
EP (1) EP2411104B1 (es)
JP (1) JP5756796B2 (es)
ES (1) ES2450144T3 (es)
WO (1) WO2010129045A2 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092299B2 (en) * 2012-05-08 2015-07-28 Schlage Lock Company Llc Remote management of electronic products
KR102305093B1 (ko) * 2015-02-26 2021-09-28 삼성전자주식회사 전자 장치 및 전자 장치의 자이로 센서 칼리브레이션 방법
US10940384B2 (en) * 2017-06-06 2021-03-09 Invensense, Inc. Inciting user action for motion sensor calibration

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5611731A (en) * 1995-09-08 1997-03-18 Thrustmaster, Inc. Video pinball machine controller having an optical accelerometer for detecting slide and tilt
JP4595215B2 (ja) * 2001-03-01 2010-12-08 ソニー株式会社 位置情報検出装置、加速度センサーの出力の補正方法及び加速度センサーの出力を補正するプログラム
WO2006016671A1 (ja) * 2004-08-12 2006-02-16 Asahi Kasei Emd Corporation 加速度計測装置
US7927216B2 (en) * 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
WO2007077859A1 (ja) * 2006-01-05 2007-07-12 Asahi Kasei Emd Corporation 加速度計速装置
US7988558B2 (en) * 2006-04-27 2011-08-02 Nintendo Co., Ltd. Game apparatus and storage medium storing game program
JP2007295989A (ja) 2006-04-27 2007-11-15 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP4916762B2 (ja) 2006-05-02 2012-04-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP5089079B2 (ja) * 2006-05-08 2012-12-05 任天堂株式会社 プログラム、情報記憶媒体及び画像生成システム
JP2007306070A (ja) * 2006-05-08 2007-11-22 Sony Computer Entertainment Inc 遠隔制御システム及び遠隔制御方法
JP5506129B2 (ja) * 2006-05-08 2014-05-28 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
JP5041728B2 (ja) * 2006-05-08 2012-10-03 任天堂株式会社 ゲームプログラムおよびゲームシステム
JP4582116B2 (ja) * 2007-06-06 2010-11-17 ソニー株式会社 入力装置、制御装置、制御システム、制御方法及びそのプログラム
JP5183987B2 (ja) 2007-07-09 2013-04-17 株式会社ソニー・コンピュータエンタテインメント ゲーム装置およびゲームシステム

Also Published As

Publication number Publication date
EP2411104A4 (en) 2012-09-05
JP5756796B2 (ja) 2015-07-29
EP2411104B1 (en) 2014-01-15
US20100280783A1 (en) 2010-11-04
JP2012525864A (ja) 2012-10-25
US8725445B2 (en) 2014-05-13
WO2010129045A3 (en) 2011-03-17
WO2010129045A2 (en) 2010-11-11
EP2411104A2 (en) 2012-02-01

Similar Documents

Publication Publication Date Title
US8100769B2 (en) System and method for using accelerometer outputs to control an object rotating on a display
ES2527047T3 (es) Controlador de videojuegos y sistema de videojuegos
ES2378892T3 (es) Dispositivo de accionamiento de juegos
JP5430246B2 (ja) ゲーム装置およびゲームプログラム
JP5273763B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP5550433B2 (ja) 操作装置および情報処理システム
ES2390484T3 (es) Dispositivo de accionamiento de juegos
JP5780755B2 (ja) ゲームシステム、ゲーム装置、ゲームプログラム、およびゲーム処理方法
US20080291160A1 (en) System and method for recognizing multi-axis gestures based on handheld controller accelerometer outputs
JP5869236B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2012108722A (ja) 入力システム、情報処理装置、情報処理プログラム、および指示位置算出方法
US8764564B2 (en) Game system, game processing method, recording medium storing game program, and game device
JP5358168B2 (ja) ゲーム装置およびゲームプログラム
JP5719147B2 (ja) ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
ES2450144T3 (es) Calibración de un acelerómetro de un controlador remoto
JP2013078634A (ja) ゲームシステムおよびゲームプログラム
JP5259965B2 (ja) 情報処理プログラム、および、情報処理装置
EP2524721B1 (en) Information processing program, information processing apparatus, information processing system and information processing method
US9146703B2 (en) Storage medium, information processing apparatus, information processing system and information processing method
JP5875169B2 (ja) ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法