Campo da Invenção
A presente invenção geralmente refere-se a dispositivos de controle portáteis e, mais especificamente, a dispositivos de controle portáteis que têm compensação de giro e usabilidade aperfeiçoada associada à mesma.
Antecedentes da Invenção
Esta seção é destinada a introduzir o leitor a diversos aspectos da técnica, que po-dem ser relacionados a diversos aspectos da presente invenção que são descritos e/ou rei-vindicados abaixo. Acredita-se que esta discussão seja útil para dotar o leitor de informações antecedentes que facilitam um melhor entendimento dos diversos aspectos da presente invenção. Consequentemente, deve-se entender que estas declarações devem ser lidas nesta luz, e não como admissões da técnica anterior. Os dispositivos de controle convencionais controlam os receptores, tais como, televisões, computadores e telas. As funções de controle típicas incluem a ativação e desativação dos receptores, a navegação através dos menus exibidos pelos receptores e o controle da tela de um elemento gráfico exibido pelo receptor. Geralmente, um usuário acessa estas funções de controle usando os botões do dispositivo de controle (por exemplo, botão de ativação, botões de navegação, botões de menu, etc.) ou o dispositivo de controle pode detectar o movimento simples (por exemplo, um mouse que usa um trackball ou disposição de LED para detectar o movimento ao longo de uma superfície). Estes dispositivos de controle convencionais sofrem com a desvantagem de não rastrear seu próprio movimento no espaço livre (isto é, dispositivos de controle convencionais pode rastrear apenas seu movimento ao longo de uma superfície). Recentemente, os dispositivos de controle mais novos foram introduzidos. Estes dispositivos mais novos podem rastrear seu movimento no espaço livre usando sensores de inércia, tais como, sensores de acelerômetro ou sensores de giroscópio. Entretanto, estes dispositivos de controle mais novos sofrem com a desvantagem de não proporcionar compensação de giro. Como um resultado, o rastreamento de espaço livre dos dispositivos de controle mais novos não é preciso. A presente descrição é direcionada à superação destas desvantagens.
Sumário da Invenção
As modalidades descritas da presente invenção são direcionadas a um método e aparelho para proporcionar compensação de giro em um dispositivo de controle, o método e aparelho incluem a aquisição de dados de rotação e dados lineares indicativos de movimento do dispositivo de controle, a aplicação de uma compensação de giro para os dados adqui- ridos e a remoção de um erro de compensação de giro a partir dos dados compensados por giro. Os sensores de inércia, tais como, sensores de giroscópio e sensores de acelerômetro podem ser usados para adquirir dados de rotação e lineares.
Breve Descrição dos Desenhos
Nos desenhos:
A Figura 1 é um diagrama de bloco de um sistema de controle que usa uma moda-lidade da presente descrição. A Figura 2 é um diagrama que ilustra adicionalmente o processador de captação de movimento da Figura 1. A Figura 3 é um diagrama de bloco que ilustra um processo de compensação de giro exemplificativo da presente descrição.
As características e vantagens da presente invenção podem se tornar mais aparentes a partir da seguinte descrição, determinada por meio de exemplo.
Descrição Detalhada
Uma ou mais modalidades específicas da presente invenção serão descritas abaixo. Em um esforço para proporcionar uma descrição concisa destas modalidades, nem todos os recursos de uma implementação real são descritos no relatório descritivo. Deve-se avaliar que no desenvolvimento de qualquer tal implementação, como em qualquer projeto de engenharia ou desenho, inúmeras decisões de implementação específica devem ser produzidas para atingir os objetivos específicos dos desenvolvedores, tal como, conformidade com restrições relacionadas ao sistema e relacionadas ao negócio, que pode variar de uma implementação para outra. Além disso, deve-se avaliar que tal esforço de desenvolvimento pode ser complexo e demorado, apesar de ser uma tarefa de rotina de projeto, fabricação e manufatura para aqueles versados na técnica que têm o beneficio desta descrição. A seguir, descreve-se um sistema para controlar uma tela que usa um dispositivo de controle que tem sensores de inércia, tais como, acelerômetros e giroscópios. Outros sistemas utilizados em dispositivos de controle diferentes de uma tela podem incluir estruturas muito similares. Aqueles versados na técnica irão avaliar que a modalidade do sistema e dos circuitos descritos no presente documento é meramente uma modalidade potencial. Como tal, nas modalidades alternativas, os componentes do sistema e dos circuitos podem ser rear- ranjados ou omitidos, ou componentes adicionais podem ser adicionados. Referindo-se agora aos desenhos e inicialmente à Figura 1, um diagrama de bloco de um sistema exemplifi- cativo que usa uma modalidade da presente descrição é mostrado. A Figura 1 ilustra uma aplicação, ambiente ou sistema potencial 100, em que o processo de compensação de giro da presente descrição pode ser utilizado. O sistema 100 inclui um dispositivo de controle 110 e um receptor 120. O dispositivo de controle 110 pode ser, porém, não se limita a, um controle remoto, um mouse, um controlador de jogos, um controlador de realidade virtual, um ponteiro, um dispositivo móvel (por exemplo, um computador laptop, PDA, telefone celu-lar, telefone sem fio, TV móvel ou similar), ou outros dispositivos de entrada de mídia digital. O dispositivo de controle 110 detecta, conforme discutido abaixo, quando o mesmo é movido (isto é, que o mesmo é movido de uma maneira linear ao longo do plano x, y ou z, quando o mesmo é girado (por exemplo, movimento de inclinação, guinada e giro), ou qualquer combinação destes) e, em resposta à detecção de dispositivo de controle de movimento 110 transmite sinais de controle para o receptor 120. O receptor 120 pode ser, porém, não se limita a, uma TV, uma tela, um decodificador de sinais, um console de jogos, console de realidade virtual ou similar. Além disso, deve-se notar que o receptor 120 e o dispositivo de controle 110 podem ser integrados sobre a mesma plataforma (por exemplo, um console de jogos portátil, PDA, telefone celular, telefone sem fio, TV móvel ou similar), de modo que os sinais de controle sejam gerados pelo dispositivo de controle quando a plataforma for movida. Em resposta ao receptor 120 que recebe os sinais de controle do dispositivo de controle 110, o receptor 120 pode fazer com que um elemento gráfico, tal como, porém, não limitado a, um cursor, caixa de realce, menu, caractere ou objeto de jogo, ou similar seja movido em uma tela. A precisão do movimento do elemento gráfico pode ser aperfeiçoada pelo processo de compensação de giro da presente descrição, conforme descrito em detalhes adicionais abaixo. Também, deve-se notar o receptor pode ser integrado em um dispositivo móvel (por exemplo, um carro, avião, navio de controle remoto, dispositivo eletromecânico ou similar), de modo que o movimento do dispositivo de controle 110 resulta no movimento do dispositivo móvel.
O dispositivo de controle 110 inclui um microprocessador 130, um transmissor 140, uma interface de usuário 150 e um processador de sensor de movimento 160 que utiliza o processo de compensação de giro da presente descrição. Em uma modalidade, o micropro-cessador recebe entradas a partir da interface de usuário 150 e do processador de captação de movimento 160 e com base nas entradas faz com que o transmissor 140 transmita os sinais de controle para o receptor 120. Em uma modalidade alternativa, por exemplo, quando o receptor 120 e o dispositivo de controle 110 são integrados na mesma plataforma, o microprocessador 130 pode controlar diretamente o movimento do elemento gráfico em uma tela ou pode controlar indiretamente tal movimento através do receptor 120, outros módulos ou circuitos intermediários ou qualquer combinação destes. A interface de usuário 150 pode incluir, porém, não se limita a, botões selecionáveis pelo usuário, comutadores, discos, rodas de rolagem ou de mouse, telas sensíveis ao toque, ou similares. Algumas funções exemplificativas controladas ou iniciadas pela interface de usuário 150 podem incluir, porém, não se limitam a, ativar e desativar o dispositivo de controle, selecionar um objeto realçado em uma tela, ajustar a atividade do processador de captação de movimento 160 (por exemplo, cujo processador de sensor de movimento 160 entra em um primeiro modo se o disposi- tivo de controle 110 estiver em uma superfície e cujo processador de sensor de movimento 160 entra em um segundo modo se o dispositivo de controle 100 for removido da superfície e movido o espaço livre), fazendo com que um menu seja exibido em uma tela, ou outras funções conhecidas por aqueles versados na técnica. O processador de sensor de movimento 160 adquire dados ou informações de movimento de diversos sensores de movimento, conforme discutido abaixo, e combina ou integra os dados de movimento para gerarem um sinal de movimento representativo do movimento do dispositivo de controle 110. O pro-cessador de sensor de movimento 160 passa o sinal de movimento para o microprocessador 130, de modo que o microprocessador 130, por exemplo, possa fazer com que um objeto gráfico seja movido em uma tela. Em uma modalidade preferida, o dispositivo de controle 110 inclui os seguintes recursos. O dispositivo de controle 110 tem cinco graus de liberdade (por exemplo, o movimento é rastreado ao longo de dois eixos de rotação por sensores de inércia, tais como, sensores de giroscópio e ao longo de três eixos lineares por sensores de inércia, tais côo, acelerômetros). O dispositivo de controle 110 tem 360 graus de compensação de giro, de modo que qualquer orientação girada produza movimento de X-Y verdadeiro. O dispositivo de controle 110 tem compensação de desvio dinâmica, de modo que, por exemplo, o acelerômetro facilite ou permita a compensação de desvio durante o movimento do dispositivo de controle 110. O dispositivo de controle 110 tem um tamanho pequeno, baixo consumo de energia, um rápido tempo de inicialização. Alguns parâmetros de operação exemplificativos do dispositivo de controle 110 incluem uma tensão de abastecimento de 2,7 a 3,3 Volts DC (VDC), uma Interface Periférica Serial (SPI) entre o microprocessador 130 e o processador de captação de movimento 130, uma detecção de corrente de movimento de 7 microampères, uma corrente de estado estacionário de 4,5 miliampères e uma taxa de amostragem máxima de 8 milissegundos.
Referindo-se agora à Figura 2, o processador de captação de movimento 160 da Figura 1 é ilustrado em maiores detalhes. O processador de sensor de movimento 160 inclui um controlador 200 que recebe sinais de movimento rotacionais ou angulares de sensores de inércia, tais como, sensores giroscópicos 230 e 240 através de conjunto de circuitos de condicionamento analógico 220 e um conversor analógico-digital (ADC) 210. O conjunto de circuitos de condicionamento analógico 220 filtra os sinais de movimento rotacional analógico recebidos a partir de sensores giroscópicos 230 e 240, de modo que os sinais de movimento rotacional analógico filtrados estejam na condição adequada para serem digitalizados pelo ADC 210. Uma variedade de filtros e técnicas de filtragem para condicionar os sinais analógicos é conhecida por aqueles versados na técnica e considerada dentro do escopo da presente descrição. O ADC 210 digitaliza os sinais de movimento rotacional e proporciona os sinais de movimento rotacional digitais para o controlador 200. O ADC 210 tem, de prefe-rência, 10-bits, resolução de ADC de 2 canais, embora outras resoluções de ADC sejam consideradas dentro do escopo da presente descrição.
O controlador 200 também recebe sinais de movimento lineares dos sensores de inércia, tais como, sensores de acelerômetro 250. Em uma modalidade exemplificativa, três acelerômetros 250 proporcionam sinais para o controlador 200. O primeiro acelerômetro para detectar o movimento ao longo do eixo geométrico X e proporcionar um sinal para o controlador 200 indicativo do movimento ao longo do eixo geométrico X, o segundo acele- rômetro para detectar o movimento ao longo do eixo geométrico Y e proporcionar um sinal para o controlador 200 indicativo do movimento ao longo do eixo geométrico Y, e o terceiro acelerômetro para detectar o movimento ao longo do eixo geométrico Z e proporcionar um sinal para o controlador 200 indicativo do movimento ao longo do eixo geométrico Z. Deve- se notar que os sinais ou dados analógicos ou digitais podem ser proporcionados pelos sensores de acelerômetro 250 e o processamento de cada uma pelo controlador 200 é considerado dentro do escopo da presente descrição. Em uma modalidade alternativa, um dispositivo de Sistema Microeletromecânico (MEMS), tal como, um sensor de aceleração de três eixos geométricos pode ser usado para detectar o movimento linear do dispositivo de controle ao longo dos eixos X, Y e Z.
O controlador 200 contém, de preferência, um módulo de software, por exemplo, no firmware que inclui o processo para proporcionar compensação de giro de acordo com a presente descrição, conforme discutido em detalhes adicionais abaixo. Deve-se notar que o módulo de software, nas modalidades alternativas, pode ser armazenado na memória interna do controlador 200 ou em uma memória externa (não mostrada). O processo de com-pensação de giro envolve a realização da compensação de giro diretamente nos dados de taxa rotacional recebidos sem converter um quadro de referência e envolve adicionalmente a remoção dos efeitos indesejáveis da compensação de giro sem calcular a aceleração cen-trifuga e linear do dispositivo de controle 110.
O controlador 200 pode ser fabricado como um circuito integrado que tem os se-guintes parâmetros de operação: que opera em uma faixa de tensão de abastecimento de 2,7 a 5,5 VDC, que opera em uma faixa de temperatura de -10 graus Celsius a +70 graus Celsius, que tem um consumo de real típico de 1,7 miliampères a 3,3 VDC e 25 graus Celsius, e que tem um consumo real de descanso de 10 microampères. De preferência, o controlador 200 permite o ajuste dinâmico de alguns parâmetros, tais como, porém não limitados a, ganho, limiares e controle de estado de energia. Deve-se notar que, embora o ADC 210, circuito de condicionamento analógico 22, sensores giroscópicos 230 e 240 e sensores de acelerômetro 250 sejam ilustrados como sendo separados do controlador 200 qualquer um ou todos estes elementos podem ser uma parte integral do controlador 200. A criação ou fabricação de tal controlador integrado é conhecida por aqueles versados na técnica e considerada dentro do escopo da presente descrição.
O controlador 200 recebe os sinais de movimento lineares e rotacionais gerados pelos sensores giroscópicos 230 e 240 e os sensores de acelerômetro 250, processam os sinais de movimento, entre outras coisas, para proporcionar toda a compensação de giro, de acordo com a presente descrição, e passam os sinais de movimento processados para o microprocessador 130 do dispositivo de controle 110. Deve-se notar que o controlador 200 pode passar cada um dos sinais de movimento rotacionais processados e sinais de movi-mento lineares separadamente para o microprocessador 130, podem passar um sinal inte-grado representativo dos sinais de movimento rotacionais processados e os sinais de movi-mento lineares para o microprocessador 130, ou podem passar seletivamente apenas alguns dos sinais de movimento rotacionais processados e sinais de movimento lineares para o microprocessador 130 dependendo, por exemplo, em qual modo de operação o dispositivo de controle está operando. Por exemplo, se o dispositivo de controle 110 está operando como mouse de computador de mesa, o controlador 200 pode passar apenas sinais indicativos dos movimentos lineares do dispositivo de controle nas direções X e Y. Alternativamente, se o dispositivo de controle 110 estiver operando no espaço livre, o controlador pode passar os sinais separados ou um sinal integrado indicativo de todos os movimentos lineares e rotaci- onais dos dispositivos de controle. Referindo-se agora à Figura 3, mostra-se um método ou processo 300 para proporcionar compensação de giro, de acordo com a presente descrição. Inicialmente, na etapa 310, o controlador 200 recebe ou adquire os dados ou sinais de mo-vimento rotacional a partir dos sensores giroscópicos 230 e 240 e os dados ou sinais de movimento linear dos acelerômetros 250, conforme descrito acima. A seguir, na etapa 320, o controlador 200 proporciona ou aplica compensação de giro nos dados de movimento data sem converter um quadro de referência. A etapa de compensação de giro 320 é adicional-mente discutida na descrição de módulo de software proporcionada abaixo. Subsequente-mente, na etapa 330, o controlador 200 remove os efeitos indesejados da aplicação da compensação de giro ou erro de compensação de giro, a partir dos dados de movimento sem calcular a aceleração centrífuga e linear do dispositivo de controle 110, conforme adici-onalmente discutido na descrição de módulo de software proporcionada abaixo.
O método para proporcionar compensação de giro, de acordo com a presente des-crição, é discutido no módulo de software proporcionado abaixo. O módulo de software é parte do firmware utilizado pelo controlador 200.
Módulo de software que implementa o recurso de compensação de giro no contro-lador 200: Inclusion of External Declaration Files
Embora a invenção possa ser suscetível a diversas modificações e formas alterna-tivas, as modalidades específicas foram mostradas por meio de exemplo nos desenhos e são descritas em detalhes no presente documento. Entretanto, deve-se entender que a invenção não é destinada a ser limitada às formas particulares descritas. De preferência, a invenção serve para cobrir todas as modificações, equivalentes e alternativas que se encontram dentro do espírito e escopo da invenção, conforme definido pelas seguintes reivindicações em anexo.