BR102013007952B1 - método para gerar uma imagem virtual de um ambiente virtual e sistema de realidade virtual - Google Patents
método para gerar uma imagem virtual de um ambiente virtual e sistema de realidade virtual Download PDFInfo
- Publication number
- BR102013007952B1 BR102013007952B1 BR102013007952-9A BR102013007952A BR102013007952B1 BR 102013007952 B1 BR102013007952 B1 BR 102013007952B1 BR 102013007952 A BR102013007952 A BR 102013007952A BR 102013007952 B1 BR102013007952 B1 BR 102013007952B1
- Authority
- BR
- Brazil
- Prior art keywords
- virtual
- data
- position data
- hand
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0382—Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0384—Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
Abstract
SISTEMA E MÉTODO PARA ENGENHARIA VIRTUAL. A presente invenção refere-se a um método e um sistema para gerar uma imagem virtual (140) de um ambiente virtual (102). Um gerenciador de realidade virtual (106) recebe dados de posição de mão (133) para pelo menos uma mão de um usuário (104) de um sistema de mão (131). O gerenciador de realidade virtual (106) recebe dados de posição de cabeça (120) para uma cabeça (112) do usuário (104) de um sistema montado em cabeça (108). O gerenciador de realidade virtual (106) identifica dados de posição baseados em imagem (328) e um quadro de referência atual (330) para um tempo atual (314) com o uso de uma imagem alvo correspondente ao tempo atual (314). O gerenciador de realidade virtual (106) gera dados de controle de imagem virtual (135) para o tempo atual (314) com o uso dos dados de posição de mão (133), dos dados de posição de cabeça (120), dos dados de posição baseados em imagem (328) e do quadro de referência atual (330). Os dados de controle de imagem virtual (135) são configurados para uso por um aplicativo de imagem virtual (137).
Description
[001] A presente invenção refere-se geralmente à realidade virtual e, em particular, à interação de usuário com um ambiente virtual. Ainda mais particularmente, a presente revelação se refere a um método e sistema para aumentar um nível de coordenação mão-olho quando um usuário interage com um ambiente virtual.
[002] A realidade virtual (VR) é uma tecnologia que pode ser usada para simular um ambiente real ou um ambiente imaginário sob a forma de um ambiente virtual. Um ambiente virtual é um ambiente simulado por computador que pode simular presença física em um ambiente real ou um ambiente imaginário. Tipicamente, um ambiente virtual é visualmente apresentado para um usuário como um ambiente bidimensional ou um ambiente tridimensional. Em alguns casos, a informação sensorial, tal como som, pode ser apresentada para o usuário além da apresentação visual do ambiente virtual.
[003] Diferentes tipos de sistemas de realidade virtual podem fornecer diferentes níveis de imersão para um usuário. Conforme usado na presente invenção, o nível de "imersão" fornecido por um sistema de realidade virtual é a extensão na qual um usuário se sente presente no ambiente virtual criado pelo sistema de realidade virtual. Um usuário pode ser completamente imerso em um ambiente virtual quando o usuário experimenta tanto imersão perceptiva quanto imersão cognitiva.
[004] Um usuário pode experimentar imersão perceptiva quando o usuário tem uma sensação de estar fisicamente presente no ambiente virtual. Por exemplo, o usuário pode sentir que suas mãos estão presentes no ambiente virtual. Um usuário pode experimentar imersão cognitiva quando o usuário tem uma sensação de que o que está acontecendo no ambiente virtual está realmente acontecendo. Em ou- tras palavras, a mente do usuário pode ser imersa no ambiente virtual.
[005] Adicionalmente, quando um usuário é cognitivamente imerso em um ambiente virtual, as ações do usuário podem ter efeitos no ambiente virtual, e os eventos no ambiente virtual podem afetar as sensações do usuário. Quando o usuário é cognitivamente imerso no ambiente virtual, o usuário pode aceitar que os efeitos no ambiente virtual e os efeitos nas sensações do usuário estão ocorrendo real-mente.
[006] Alguns sistemas de realidade virtual atualmente disponíveis podem ser incapazes de fornecer um nível de imersão desejado. Por exemplo, alguns sistemas de realidade virtual atualmente disponíveis podem ser incapazes de simular mobilidade humana dentro de um ambiente virtual com um nível de precisão desejado. Em particular, esses sistemas de realidade virtual podem ser incapazes para simular a rotação de componentes esqueléticos humanos sobre juntas articuladas com um nível de precisão desejado sem aumentar o tamanho e/ou peso dos sistemas de realidade virtual mais que o desejado.
[007] Por exemplo, um giroscópio pode ser capaz de medir a rotação de um componente esquelético humano em torno de uma junta articulada. Entretanto, a configuração para o giroscópio necessária para medir esse tipo de rotação pode ser maior e/ou mais pesada que o desejado. Adicionalmente, essa configuração para o giroscópio pode exercer forças indesejadas na parte do corpo humano à qual o giroscópio é fixado. Por exemplo, um giroscópio fixado a uma mão pode exercer forças indesejadas na mão quando se mede o movimento da mão. Essas forças indesejadas podem fazer com que a mão se mova de uma maneira indesejada.
[008] Alguns sistemas de realidade virtual atualmente disponíveis podem usar técnicas de estimação de deslocamento para rastrear o movimento, por exemplo, dos dedos de um usuário. Entretanto, essas técnicas de estimação de deslocamento podem rastrear o movimento dos dedos do usuário com uma precisão menor que a desejada.
[009] Dessa maneira, alguns dos sistemas de realidade virtual atualmente disponíveis podem ser incapazes de simular o movimento do corpo humano e/ou partes do corpo humano com um nível de precisão desejado. Consequentemente, esses sistemas de realidade virtual atualmente disponíveis podem ser incapazes de fornecer a um usuário o nível de coordenação mão-olho necessário para permitir que o usuário sinta um nível desejado de imersão dentro do ambiente vir-tual.
[0010] Sem o nível de coordenação mão-olho necessário para fornecer o nível desejado de imersão dentro do ambiente virtual, um usuário pode ser incapaz de executar certas tarefas dentro do ambiente virtual tão rápida quanto eficientemente conforme desejado. Portanto, seria desejável ter um sistema e um método que considera pelo menos algumas das questões discutidas acima, bem como outras questões possíveis.
[0011] Em uma modalidade ilustrativa, é fornecido um método para gerar uma imagem virtual de um ambiente virtual. Um gerenciador de realidade virtual recebe dados de posição de mão para pelo menos uma mão de um usuário de um sistema de mão. O gerenciador de realidade virtual recebe dados de posição de cabeça para a cabeça do usuário de um sistema montado em cabeça. O gerenciador de realidade virtual identifica os dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo correspondente ao tempo atual. O gerenciador de realidade virtual gera dados de controle de imagem virtual para o tempo atual com o uso dos dados de posição de mão, dos dados de posição de cabeça, dos dados de posição baseados em imagem e do quadro de referência atual. Os dados de controle de imagem virtual são configurados para uso por um aplicativo de imagem virtual.
[0012] Em uma outra modalidade ilustrativa, um sistema de realidade virtual compreende um sistema montado em cabeça e um geren- ciador de realidade virtual. O sistema montado em cabeça é configurado para ser vestido em relação à cabeça de um usuário. O gerenciador de realidade virtual é associado ao sistema montado em cabeça. O gerenciador de realidade virtual é configurado para receber dados de posição de mão para pelo menos uma mão do usuário de um sistema de mão. O gerenciador de realidade virtual é configurado para receber dados de posição de cabeça para a cabeça do usuário de um sistema de sensor no sistema montado em cabeça. O gerenciador de realidade virtual é configurado para identificar dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo correspondente ao tempo atual. O gerenciador de realidade virtual é configurado para gerar dados de controle de imagem virtual para o tempo atual com o uso dos dados de posição de mão, dos dados de posição de cabeça, dos dados de posição baseados em imagem e do quadro de referência atual. Os dados de controle de imagem virtual são configurados para uso por um aplicativo de imagem virtual.
[0013] Ainda em uma outra modalidade ilustrativa, um computador compreende um barramento, um dispositivo de armazenamento não transitório conectado ao barramento e uma unidade de processador conectada ao barramento. O dispositivo de armazenamento não transitório inclui código de programa. A unidade de processador é configurada para executar o código de programa para receber dados de posição de mão para pelo menos uma mão de um usuário de um sistema de mão, receber dados de posição de cabeça para a cabeça do usuário de um sistema montado em cabeça, identificar dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo correspondente ao tempo atual, e gerar dados de controle de imagem virtual para o tempo atual com o uso dos dados de posição de mão, dos dados de posição de cabeça, dos dados de posição baseados em imagem e do quadro de referência atual. Os dados de controle de imagem virtual são configurados para uso por um aplicativo de imagem virtual.
[0014] Os recursos e funções podem ser alcançados independentemente em várias modalidades da presente revelação ou podem ser combinados ainda em outras modalidades em que detalhes adicionais podem ser vistos em referência à seguinte descrição e desenhos.
[0015] Os recursos e características inovadores das modalidades ilustrativas são apresentados nas reivindicações anexas. As modalidades ilustrativas, entretanto, bem como um modo preferencial de uso, objetivos adicionais e recursos das mesmas serão mais bem compreendidos em referência à seguinte descrição detalhada de uma modalidade ilustrativa da presente revelação quando lida em conjunto com os desenhos anexos, em que:
[0016] A Figura 1 é uma ilustração de um sistema de realidade virtual sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa;
[0017] A Figura 2 é uma ilustração de um sistema de mão sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa;
[0018] A Figura 3 é uma ilustração de um sistema montado em cabeça sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa;
[0019] A Figura 4 é uma ilustração de um coordenador de dados sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa;
[0020] A Figura 5 é uma ilustração de modos de operação para um sistema de realidade virtual sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa;
[0021] A Figura 6 é uma ilustração de um usuário com o uso de um sistema de realidade virtual de acordo com uma modalidade ilustrativa;
[0022] A Figura 7 é uma ilustração de um processo para interação com um ambiente de engenharia virtual sob a forma de um fluxograma de acordo com uma modalidade ilustrativa;
[0023] A Figura 8 é uma ilustração de um processo para interação com um ambiente de engenharia virtual sob a forma de um fluxograma de acordo com uma modalidade ilustrativa; e
[0024] A Figura 9 é uma ilustração de um sistema de processamento de dados de acordo com uma modalidade ilustrativa.
[0025] As diferentes modalidades ilustrativas reconhecem e consideram diferentes considerações. Por exemplo, as diferentes modalidades ilustrativas reconhecem e consideram que um ambiente virtual pode ser útil para executar diferentes tipos de tarefas de engenharia.
[0026] Essas tarefas de engenharia podem incluir, por exemplo, sem limitação, projetar um veículo, gerenciar dados para um projeto de produto, testar uma estrutura para uso em uma aeronave, testar a operação de uma configuração para um sistema de antena, inspecionar um sistema, executar manutenção em uma estrutura, controlar operações de um veículo, controlar equipamentos de fabricação em uma instalação de fabricação, controlar uma estrutura em espaço externo e outros tipos adequados de tarefas de engenharia. Outros tipos de tarefas de engenharia incluem, por exemplo, sem limitação, interagir com um programa de computador, operar um dispositivo eletromecânico localizado em um ambiente inacessível, operar uma plataforma móvel em condições climáticas e/ou condições de temperatura, extremas e ainda outros tipos adequados de tarefas de engenharia.
[0027] Como um exemplo ilustrativo, um ambiente virtual que simula um ambiente de teste que tem condições de teste selecionadas pode ser usado para testar a operação de uma configuração particular para um componente para um veículo naquelas condições selecionadas. Nesse exemplo ilustrativo, um modelo da configuração particular para o componente é introduzido no ambiente virtual.
[0028] O teste da operação da configuração particular para o com- ponente que usa o modelo no ambiente virtual pode ser menos dispendioso, menos demorado e/ou mais eficiente que o teste do componente real em um ambiente de teste real. Adicionalmente, esse tipo de teste virtual do componente pode requerer menos recursos e/ou funcionários em comparação ao teste físico do componente.
[0029] Entretanto, as diferentes modalidades ilustrativas reconhecem e consideram que um usuário pode ser incapaz de usar o ambiente virtual criado por um sistema de realidade virtual para executar certos tipos de tarefas de engenharia se o sistema de realidade virtual não fornecer um nível desejado de coordenação mão-olho. Conforme usado na presente invenção, "coordenação mão-olho"é o controle coordenado de movimento de olho e movimento de mão. A coordenação mão-olho é o uso de entrada visual para guiar o movimento das mãos e o uso de propriocepção das mãos para guiar o movimento dos olhos.
[0030] Certos tipos de tarefas de engenharia podem requerer um nível superior de coordenação mão-olho em comparação aos tipos de tarefas de engenharia. Como um exemplo ilustrativo, a operação de uma aeronave virtual que compreende diferentes tipos de controles, chaves, botões e interfaces de usuário pode requerer um nível superior de coordenação mão-olho em comparação a empurrar uma porta aberta em um ambiente virtual.
[0031] As diferentes modalidades ilustrativas reconhecem e consideram que o fornecimento de um nível desejado de coordenação mão- olho pode requerer identificar as posições das mãos do usuário e da cabeça do usuário em relação a um quadro de referência para o ambiente virtual com um nível de precisão desejado. Adicionalmente, as diferentes modalidades ilustrativas reconhecem e consideram que o fornecimento do nível desejado de coordenação mão-olho pode requerer simular o movimento das mãos e dedos do usuário dentro do ambiente virtual com um nível de precisão desejado substancialmente em tempo real. Conforme usado na presente invenção, "substancialmente em tempo real" significa sem atrasos de tempo percebíveis pelo usuá- rio.
[0032] Dessa forma, as diferentes modalidades ilustrativas fornecem um método e um sistema para aumentar um nível de coordenação mão-olho para um usuário quando o usuário interage com um ambiente virtual. Em particular, as diferentes modalidades ilustrativas fornecem um sistema de realidade virtual configurado para coordenar dados de posição de mão e dados de posição de cabeça para o usuário e sincronizar esses dados em relação a tempo para fornecer o usuário com um nível desejado de coordenação mão-olho dentro de um ambiente virtual.
[0033] Em referência agora à Figura 1, é revelada uma ilustração de um sistema de realidade virtual sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa. Nesses exemplos ilustrativos, o sistema de realidade virtual 100 é configurado para apresentar visualmente o ambiente virtual 102 ao usuário 104. Adicionalmente, o usuário 104 pode interagir com o ambiente virtual 102 com o uso do sistema de realidade virtual 100.
[0034] Nesses exemplos ilustrativos, o ambiente virtual 102 é uma simulação de ambiente 101. O ambiente 101 pode ser um ambiente real ou um ambiente imaginário. Por exemplo, o ambiente 101 pode ser um ambiente físico ou um ambiente abstrato.
[0035] Em um exemplo ilustrativo, o ambiente 101 adota a forma de ambiente de engenharia 103. O ambiente de engenharia 103 pode ser selecionado a partir de um dentre, por exemplo, sem limitação, ambiente de projeto, ambiente de fabricação, ambiente de computador, ambiente de teste, ambiente de gerenciamento de dados, ambiente de inspeção, ambiente de operações ou algum outro tipo adequado de ambiente de engenharia.
[0036] Quando o ambiente virtual 102 é uma simulação de ambiente de engenharia 103, o usuário 104 pode usar o sistema de realidade virtual 100 para interagir com o ambiente virtual 102 para executar uma ou mais tarefas de engenharia. Por exemplo, o usuário 104 pode usar o sistema de realidade virtual 100 para projetar um objeto, tal como uma aeronave ou uma peça de uma aeronave, dentro do ambiente virtual 102.
[0037] Em um outro exemplo ilustrativo, o usuário 104 pode usar o sistema de realidade virtual 100 para executar tarefas relacionadas a controle de tráfego aéreo. Por exemplo, o ambiente virtual 102 pode ser uma simulação de uma região de espaço aéreo. O usuário 104 pode usar o sistema de realidade virtual 100 para controlar a operação de e/ou trocar informação com uma aeronave nessa região de espaço aéreo com o uso de um modelo da aeronave no ambiente virtual 102.
[0038] Adicionalmente, ainda em um outro exemplo ilustrativo, o ambiente virtual 102 pode ser uma simulação de uma interface de usuário para um programa de computador. O usuário 104 pode usar o sistema de realidade virtual 100 para interagir com uma interface de usuário virtual para interagir com o programa de computador. Por exemplo, o programa de computador pode ser um programa de gerenciamento de banco de dados. O usuário 104 pode usar o sistema de realidade virtual 100 para interagir com uma interface de usuário virtual para esse aplicativo de gerenciamento de dados.
[0039] Conforme revelado, o sistema de realidade virtual 100 compreende o gerenciador de realidade virtual 106, o sistema montado em cabeça 108, e inúmeros sistemas periféricos 110. Nesses exemplos ilustrativos, o gerenciador de realidade virtual 106 pode ser implantado com o uso de hardware, software ou uma combinação dos dois. Por exemplo, o gerenciador de realidade virtual 106 pode ser implantado no sistema de processamento de dados 105.
[0040] Nesses exemplos ilustrativos, o sistema de processamento de dados 105 é associado ao sistema montado em cabeça 108. Quando um componente é "associado" a um outro componente, essa associação é uma associação física nesses exemplos.
[0041] Por exemplo, um primeiro componente, tal como o sistema de processamento de dados 105, pode ser considerado associado a um segundo componente, tal como o sistema montado em cabeça 108, que é preso ao segundo componente, colado ao segundo componente, montado no segundo componente, soldado no segundo componente, fixado no segundo componente, eletricamente conectado ao segundo componente e/ou conectado do segundo componente de alguma outra maneira adequada. O primeiro componente também pode ser conectado ao segundo componente com o uso de um terceiro componente. O primeiro componente também pode ser considerado como associado ao segundo componente sendo formado como parte de e/ou como uma extensão do segundo componente.
[0042] Nesses exemplos ilustrativos, o sistema de processamento de dados 105 é considerado parte do sistema montado em cabeça 108. Obviamente, em outros exemplos ilustrativos, o gerenciador de realidade virtual 106 pode ser implantado em uma unidade de processador separada do sistema montado em cabeça 108, mas configurado para se comunicar com o sistema montado em cabeça 108 sem fio.
[0043] O sistema montado em cabeça 108 é configurado para ser vestido em relação à cabeça 112 do usuário 104. Por exemplo, o sistema montado em cabeça 108 pode ser vestido sobre e/ou na cabeça 112 do usuário 104. O sistema montado em cabeça 108 pode adotar inúmeras formas diferentes. Por exemplo, o sistema montado em cabeça 108 pode adotar a forma de um capacete, um visor, um chapéu, óculos, óculos de proteção ou algum outro tipo adequado de dispositi-vo configurado para ser vestido sobre e/ou na cabeça 112 do usuário 104. Em um exemplo ilustrativo, o sistema montado em cabeça 108 adota a forma de óculos 114.
[0044] Inúmeros diferentes componentes podem ser associados ao sistema montado em cabeça 108. Por exemplo, o dispositivo de exibição 116 e o sistema de sensor 118 podem ser associados ao sistema montado em cabeça 108. Quando o sistema montado em cabeça 108 adota a forma de óculos 114, o dispositivo de exibição 116 e o sistema de sensor 118 podem ser fixados a, partes de e/ou de outro mo- do associados aos óculos 114.
[0045] O gerenciador de realidade virtual 106 é configurado para apresentar visualmente o ambiente virtual 102 ao usuário 104 no dispositivo de exibição 116. Em um exemplo ilustrativo, o dispositivo de exibição 116 pode ser as lentes nos óculos 114. O gerenciador de realidade virtual 106 pode apresentar visualmente o ambiente virtual 102 nessas lentes de tal modo que o ambiente virtual 102 seja visualmente apresentado na frente dos olhos do usuário 104 quando o usuário 104 está usando os óculos 114. Dessa maneira, o usuário 104 pode sentir- se presente no ambiente virtual 102.
[0046] Obviamente, em outros exemplos ilustrativos, o dispositivo de exibição 116 pode adotar alguma outra forma. Por exemplo, o dispositivo de exibição 116 pode compreender uma ou duas lentes de contato configuradas para serem usadas pelo usuário 104.
[0047] O sistema de sensor 118 pode incluir um ou mais sensores. Os sensores no sistema de sensor 118 podem incluir, por exemplo, sem limitação, inúmeros sensores microeletromecânicos (MEMS), sensores nanoeletromecãnicos (GEMS), sensores de movimento, sensores de ângulo, sensores de velocidade, sensores de aceleração, sensores de posição, câmeras, câmeras de vídeo, sensores de ima-gem e/ou outros tipos adequados de sensores. O sistema montado em cabeça 108 é configurado para gerar dados de posição de cabeça 120 com o uso do sistema de sensor 118.
[0048] Nesses exemplos ilustrativos, cada sistema periférico em inúmeros sistemas periféricos 110 no sistema de realidade virtual 100 pode ser configurado para gerar e enviar dados para o gerenciador de realidade virtual 106. Conforme usado na presente invenção, um "sistema periférico", tal como um de inúmeros sistemas periféricos 110, é um sistema que é configurado para se comunicar com o sistema montado em cabeça 108, mas que não é considerado parte do sistema montado em cabeça 108. Adicionalmente, conforme usado na presente invenção, “inúmeros” itens significa um ou mais itens. Por exemplo, os inúmeros sistemas periféricos 110 podem ser um ou mais sistemas periféricos.
[0049] Nesses exemplos ilustrativos, cada sistema periférico em inúmeros sistemas periféricos 110 pode ser configurado para gerar dados sobre uma parte de corpo particular do usuário 104. Por exemplo, um sistema periférico em inúmeros sistemas periféricos 110 pode ser configurado para gerar dados sobre uma mão, um pé, um braço, uma perna, um torso, um dedo, um dedo do pé ou uma outra parte de corpo do usuário 104.
[0050] Em um exemplo ilustrativo, os inúmeros sistemas periféricos 110 incluem o sistema de mão 131. O sistema de mão 131 é configurado para gerar dados de posição de mão 133. Os dados de posição de mão 133 podem formar pelo menos uma porção de dados de posição periférica 132 gerados por inúmeros sistemas periféricos 110. Conforme usado na presente invenção, “pelo menos uma porção" significa alguma ou todas. Os dados de posição periférica 132 podem incluir dados sobre a posição de inúmeras partes de corpo para o usuário 104 ao longo do tempo.
[0051] Os dados de posição de mão 133 podem incluir dados sobre pelo menos um dentre mão esquerda 124 e mão direita 126 do usuário 104. Por exemplo, o sistema de mão 131 pode compreender pelo menos um dentre sistema de mão esquerda 121 e sistema de mão direita 122. O sistema de mão esquerda 121 pode gerar dados sobre a mão esquerda 124 do usuário 104, enquanto o sistema de mão direita 122 pode gerar dados sobre a mão direita 126 do usuário 104.
[0052] Nesses exemplos ilustrativos, o sistema de mão esquerda 121 pode adotar a forma de luva esquerda 128 configurada para uso com a mão esquerda 124 do usuário 104, enquanto o sistema de mão direita 122 pode adotar a forma de luva direita 130 configurada para uso com a mão direita 126 do usuário 104. A luva esquerda 128 e a luva direita 130 podem ser luvas configuradas para gerar dados sobre a posição da mão esquerda 124 e da mão direita 126, respectivamente, ao longo do tempo.
[0053] Em particular, a luva esquerda 128 gera dados de posição de mão esquerda 134 para a mão esquerda 124, enquanto a luva direita 130 gera dados de posição de mão direita 136 para a mão direita 126 quando o usuário 104 está usando a luva esquerda 128 e a luva direita 130, respectivamente. Os dados de posição de mão esquerda 134 e os dados de posição de mão direita 136 podem incluir dados sobre a posição da mão esquerda 124 e da mão direita 126, respecti-vamente, ao longo do tempo, bem como dados sobre as posições dos pulsos e dedos correspondentes às mãos ao longo do tempo.
[0054] O gerenciador de realidade virtual 106 é configurado para receber dados de posição periférica 132 de inúmeros sistemas periféricos 110 e dados de posição de cabeça 120 do sistema de sensor 118 no sistema montado em cabeça 108. Em particular, o gerenciador de realidade virtual 106 recebe dados de posição de mão 133 e dados de posição de cabeça 120 substancialmente em tempo real. Em outras palavras, o gerenciador de realidade virtual 106 recebe os dados de posição conforme os dados de posição são gerados sem atrasos percebíveis.
[0055] Nesses exemplos ilustrativos, o gerenciador de realidade virtual 106 pode usar dados de posição de mão 133 e dados de posição de cabeça 120 para gerar dados de controle de imagem virtual 135. Os dados de controle de imagem virtual 135 podem ser dados configurados para uso pelo aplicativo de imagem virtual 137 para controlar uma imagem virtual do ambiente virtual 102.
[0056] Por exemplo, o aplicativo de imagem virtual 137 é software de computador configurado para criar imagens virtuais do ambiente virtual 102. Conforme usado na presente invenção, uma "imagem virtual" de um ambiente virtual, tal como o ambiente virtual 102, é uma imagem de pelo menos uma porção do ambiente virtual. Em alguns casos, o aplicativo de imagem virtual 137 pode ser configurado para criar ambiente virtual 102. Em outros casos, o aplicativo de imagem virtual 137 pode ser configurado para usar o ambiente virtual 102 criado por um outro aplicativo.
[0057] O gerenciador de realidade virtual 106 pode ser configurado para se comunicar com o aplicativo de imagem virtual 137 com o uso, por exemplo, sem limitação, da nuvem 139. A nuvem 139 pode ser uma rede compreendida de aplicativos, programas de computador, dispositivos, servidores, computadores de cliente e/ou outros componentes de computação conectados um ao outro. O gerenciador de realidade virtual 106 pode ser configurado para acessar a nuvem 139 e, por meio disso, o aplicativo de imagem virtual 137, com o uso, por exemplo, sem limitação, da Internet.
[0058] Nesses exemplos ilustrativos, o aplicativo de imagem virtual 137 é configurado para gerar sequência de imagens virtuais 138 de ambiente virtual 102. Conforme usado na presente invenção, uma "sequência de imagens", tal como a sequência de imagens virtuais 138, é uma ou mais imagens ordenadas em relação ao tempo. Dessa maneira, cada imagem virtual na sequência de imagens virtuais 138 corresponde a um tempo particular. Em alguns exemplos ilustrativos, a sequência de imagens virtuais 138 também pode ser chamada de sequência de quadros virtuais.
[0059] O aplicativo de imagem virtual 137 gera cada imagem virtual na sequência de imagens virtuais 138 com o uso de dados de controle de imagem virtual 135 gerados pelo gerenciador de realidade virtual 106. Por exemplo, o aplicativo de imagem virtual 137 pode usar dados de controle de imagem virtual 135 para atualizar uma imagem virtual gerada anteriormente do ambiente virtual 102. Essa imagem virtual atualizada pode ser enviada de volta para o gerenciador de rea-lidade virtual 106. O gerenciador de realidade virtual 106 pode, então, exibir essa imagem virtual atualizada no dispositivo de exibição 116.
[0060] Dessa maneira, o gerenciador de realidade virtual 106 pode exibir as imagens virtuais na sequência de imagens virtuais 138 gera- da pelo aplicativo de imagem virtual 137 no dispositivo de exibição 116 conforme as imagens virtuais são recebidas do aplicativo de imagem virtual 137. O gerenciador de realidade virtual 106 exibe sequência de imagens virtuais 138 no dispositivo de exibição 116 para apresentar visualmente o ambiente virtual 102 para o usuário 104 no dispositivo de exibição 116.
[0061] A imagem virtual 140 é um exemplo de uma imagem virtual na sequência de imagens virtuais 138. A imagem virtual 140 pode ser uma imagem bidimensional ou uma imagem tridimensional, dependendo da implementação. A imagem virtual 140 corresponde ao tempo 141. A imagem virtual 140 é gerada com o uso da porção de dados de posição de mão 133 e da porção de dados de posição de cabeça 120 geradas dentro do tempo 141. O tempo 141 pode ser, por exemplo, um instante no tempo ou um período de tempo.
[0062] Em particular, a porção de dados de posição de mão 133 e a porção de dados de posição de cabeça 120 gerados dentro do tempo 141 são usadas para formar dados de controle de imagem virtual 135 correspondentes ao tempo 141. Os dados de controle de imagem virtual 135 correspondentes ao tempo 141 podem ser usados pelo aplicativo de imagem virtual 137 para formar a imagem virtual 140.
[0063] Adicionalmente, o gerenciador de realidade virtual 106 pode usar dados de posição de cabeça 120 e/ou outros dados gerados pelo sistema de sensor 118 para identificar o quadro de referência 146 para a imagem virtual 140. O quadro de referência 146 é um sistema de coordenada para a imagem virtual 140 em relação ao ambiente virtual 102. Em particular, o quadro de referência 146 é a porção do ambiente virtual 102 capturada dentro da imagem virtual 140. O quadro de refe-rência 146 é identificado com base na posição da cabeça 112 do usuário 104. Em outras palavras, o quadro de referência 146 é identificado com base na direção em que a cabeça 112 do usuário 104 está apontando.
[0064] Nesses exemplos ilustrativos, o gerenciador de realidade virtual 106 é configurado para gerar dados de controle de imagem virtual 135 com o uso do quadro de referência 146 e pela coordenação dos dados de posição de mão 133 e dos dados de posição de cabeça 120. O gerenciador de realidade virtual 106 pode coordenar os dados de posição de mão 133 e os dados de posição de cabeça 120 através da sincronização dos dados de posição de mão 133 e dos dados de posição de cabeça 120 em relação ao tempo. Esse tipo de sincronização pode aumentar um nível de coordenação mão-olho fornecido para o usuário 104.
[0065] Por exemplo, a sincronização de dados de posição de mão 133 e dados de posição de cabeça 120 em relação ao tempo 141 pode resultar em dados de controle de imagem virtual 135 que têm um nível de precisão desejado. Quando os dados de controle de imagem virtual 135 têm o nível de precisão desejado, a sequência de imagens virtuais 138 do ambiente virtual 102 gerada pelo aplicativo de imagem virtual 137 pode representar uma simulação substancialmente em tempo real do movimento e da presença do usuário 104 dentro do ambiente virtual 102.
[0066] Adicionalmente, o gerenciador de realidade virtual 106 pode ser configurado para exibir a sequência de imagens virtuais 138 substancialmente em tempo real. Através da permissão de que o movimento do usuário 104 e a presença do usuário 104 dentro ambiente virtual 102 sejam simulados no ambiente virtual 102 substancialmente em tempo real, o gerenciador de realidade virtual 106 podem permitir que o usuário 104 execute uma ou mais tarefas dentro do ambiente virtual 102 com um nível de precisão, velocidade e eficiência desejado.
[0067] Nesses exemplos ilustrativos, a imagem virtual 140 inclui pelo menos uma dentre mão esquerda virtual 142 e mão direita virtual 144. A mão esquerda virtual 142 pode ser uma imagem que representa a mão esquerda 124 do usuário 104 na imagem virtual 140. A mão direita virtual 144 pode ser u uma imagem que representa mão direita 126 do usuário 104 na imagem virtual 140. O aplicativo de imagem vir- tual 137 pode determinar as posições para a mão esquerda virtual 142 e a mão direita virtual 144 dentro da imagem virtual 140 com o uso dos dados de controle de imagem virtual 135.
[0068] Adicionalmente, nesses exemplos ilustrativos, os dados de controle de imagem virtual 135 também podem ser gerados com o uso dos dados de usuário 145. Os dados de usuário 145 podem incluir dados sobre o usuário 104. Em particular, os dados de usuário 145 podem incluir dados sobre a geometria de uma ou mais partes de corpo do usuário 104.
[0069] Por exemplo, os dados de usuário 145 podem os incluir dados sobre pelo menos uma dentre a mão esquerda 124, a mão direita 126 e a cabeça 112 do usuário 104. Os dados sobre uma mão do usuário 104, tal como a mão esquerda 124 ou a mão direita 126, podem incluir, por exemplo, sem limitação, medições das dimensões da mão, medições do pulso correspondentes à mão, medições dos dedos na mão, medições de uma faixa de movimento para um ou mais dos dedos na mão, medições de uma distância entre os dedos na mão em repouso e/ou em movimento e/ou outros tipos adequados de dados.
[0070] Os dados de usuário 145 podem ser identificados com o uso de conjunto de imagens de usuário 150 gerados pelo sistema de imageamento 152. Conforme usado na presente invenção, um "conjunto de" itens significa um ou mais itens. Por exemplo, o conjunto de imagens de usuário 150 significa uma ou mais imagens de usuário.
[0071] O sistema de imageamento 152 não é parte do sistema de realidade virtual 100 nesses exemplos ilustrativos. Em um exemplo ilustrativo, o sistema de imageamento 152 pode ser um sistema de varredura a laser tridimensional. Nesse exemplo ilustrativo, o conjunto de imagens de usuário 150 é um conjunto de varreduras de laser tridimensionais do usuário 104 que captura a geometria da mão esquerda 124 e da mão direita 126 do usuário 104. Adicionalmente, esse conjunto de varreduras de laser tridimensionais pode também capturar a geometria dos pulsos e dedos do usuário 104.
[0072] Em um exemplo ilustrativo, o gerenciador de realidade virtual 106 pode ser configurado para receber o conjunto de imagens de usuário 150 e identificar os dados de usuário 145 com o uso do conjunto de imagens de usuário 150. Em um outro exemplo ilustrativo, os dados de usuário 145 podem ser transferidos por upload diretamente para o gerenciador de realidade virtual 106. Ainda em um outro exemplo ilustrativo, os dados de usuário 145 podem ser o conjunto de ima-gens de usuário 150.
[0073] Quando a imagem virtual 140 é exibida no dispositivo de exibição 116 para o usuário 104, o usuário 104 vê a mão esquerda virtual 142 e a mão direita virtual 144. Em particular, o usuário 104 vê a mão esquerda virtual 142 e a mão direita virtual 144 na imagem virtual 140 em posições que correspondem às posições reais da mão esquerda 124 e da mão direita 126, respectivamente. Dessa maneira, o usuário 104 pode sentir-se presente no ambiente virtual 102.
[0074] Em alguns exemplos ilustrativos, inúmeros sistemas periféricos 110 e/ou sistema de sensor 118 no sistema montado em cabeça 108 podem gerar dados adicionais 154 além dos dados de posição. Os dados adicionais 154 podem ser usados para gerar os dados de controle de imagem virtual 135. Por exemplo, os dados adicionais 154 podem ser usados para gerar dados que podem ser usados pelo aplicativo de imagem virtual 137 para controlar um ou mais controles interati-vos no ambiente virtual 102.
[0075] Em um exemplo ilustrativo, os dados adicionais 154 podem incluir dados de pressão para os dedos na mão esquerda 124 e na mão direita 126. Em outros exemplos ilustrativos, os dados adicionais 154 podem incluir dados de imagem. Obviamente, ainda em outros exemplos ilustrativos, os dados adicionais 154 podem incluir outros tipos de dados de sensor.
[0076] Em alguns exemplos ilustrativos, o gerenciador de realidade virtual. 106 também pode ser configurado para se comunicar com o grupo de sistemas de realidade virtual 156 que usa a nuvem 139. Ca da sistema de realidade virtual no grupo de sistemas de realidade virtual 156 pode compreender um gerenciador de realidade virtual que pode ser implantado de uma maneira similar ao gerenciador de realidade virtual 106. A nuvem 139 pode permitir que diferentes gerenciadores de realidade virtual interajam com o aplicativo de imagem virtual 137 ao mesmo tempo. Em alguns casos, a nuvem 139 pode permitir que diferentes usuários interajam um com o outro dentro do ambiente virtual 102.
[0077] Em referência agora à Figura 2, é revelada uma ilustração de um sistema de mão esquerda sob a forma de um diagrama de bloco de acordo com uma modalidade ilustrativa. Na Figura 2, um exemplo de uma implementação para o sistema de mão esquerda 121 da Figura 1 é revelado. A configuração revelada para o sistema de mão esquerda 121 também pode ser usada para implementar o sistema de mão direita 122 na Figura 1.
[0078] Conforme revelado, o sistema de mão esquerda 121 adota a forma de luva esquerda 128. A luva esquerda 128 é configurada para se conformar substancialmente a uma mão esquerda 124 do usuário 104 na Figura 1. Como um exemplo ilustrativo, a luva esquerda 128 pode ser fabricada com base em um conjunto de imagens de usuário, tal como, por exemplo, conjunto de imagens de usuário 150 na Figura 1, e/ou dados de usuário, tal como dados de usuário 145 na Figura 1. O conjunto de imagens de usuário 150 pode ser usado para fabricar uma luva que se conforma substancialmente á mão esquerda 124 do usuário 104. Por exemplo, a luva esquerda 128 pode ser fabricada com o uso de um material configurado para se conformar substancialmente a uma mão esquerda 124 do usuário 104.
[0079] Adicionalmente, a luva esquerda 128 pode ser fabricada com dimensões que correspondem substancialmente à geometria da mão esquerda 124.
[0080] Nesse exemplo ilustrativo, a luva esquerda 128 compreende sistema de sensor 202, gerenciador de dados 204 e unidade de comunicações 206. Sistema de sensor 202 compreende inúmeros sensores selecionado a partir de um grupo que compreende sensores microeletromecânicos, sensores nanoeletromecânicos, sensores de movimento, sensores de ângulo, sensores de posição, sensores de velocidade, sensores de aceleração, câmeras, câmeras de vídeo, sensores de imagem, sensores de pressão, sensores táteis e/ou outros tipos adequados de sensores.
[0081] O sistema de sensor 202 pode ser integrado no material usado para fabricar a luva esquerda 128 em alguns exemplos ilustrativos. Por exemplo, um ou mais sensores no sistema de sensor 202 podem ser integrados no material usado para fabricar a luva esquerda 128 de uma maneira que esses sensores possam não ser visíveis para o usuário 104. A posição de cada sensor no sistema de sensor 202 em relação à luva esquerda 128 pode ser determinada com o uso, por exemplo, sem limitação, do conjunto de imagens de usuário 150 e/ou dados de usuário 145 na Figura 1.
[0082] Conforme revelado, o sistema de sensor 202 é configurado para gerar dados de posição de mão brutos 210 para a mão esquerda 124 do usuário 104. Os dados de posição de mão brutos 210 podem compreender, por exemplo, sem limitação, um conjunto de variáveis dinâmicas de estado de sistema (DSSV).
[0083] Em alguns exemplos ilustrativos, o sistema de sensor 202 pode ser calibrado com o uso do conjunto de imagens de usuário 150 e/ou dados de usuário 145. Como um exemplo ilustrativo, essas imagens podem ser usadas para impor restrições sobre dados de posição de mão brutos 210 gerados pelo sistema de sensor 202.
[0084] O gerenciador de dados 204 pode compreender hardware, software ou uma combinação dos dois. Por exemplo, o gerenciador de dados 204 pode ser implantado dentro do sistema de processamento de dados 205. Em alguns exemplos ilustrativos, o sistema de processamento de dados 205 pode ser implantado dentro do sistema de sensor 202. Em outros exemplos ilustrativos, o sistema de processamento de dados 205 pode ser implantado dentro da luva esquerda 128 separado do sistema de sensor 202.
[0085] Ainda em outros exemplos ilustrativos, o sistema de processamento de dados 205 pode ser associado à luva esquerda 128 de alguma outra maneira adequada. Por exemplo, sem limitação, o sistema de processamento de dados 205 pode ser um dispositivo do tipo relógio de pulso associado à luva esquerda 128.
[0086] O gerenciador de dados 204 é configurado para modificar dados de posição de mão brutos 210 para formar os dados de posição de mão esquerda 134. O gerenciador de dados 204 pode modificar os dados de posição de mão brutos 210 com o uso do conjunto de filtros 212. O conjunto de filtros 212 pode incluir, por exemplo, sem limitação, inúmeros filtros de suavização de movimento, filtros de instabilidade, filtros Kalman e/ou outros tipos adequados de filtros. Adicionalmente, o gerenciador de dados 204 pode também modificar os dados de posição de mão brutos 210 com base em restrições identificadas para o movimento da mão esquerda 124 do usuário 104 com base no conjunto de imagens de usuário 150 na Figura 1.
[0087] Dessa maneira, os dados de posição de mão esquerda 134 podem compensar o movimento indesejado de um ou mais sensores no sistema de sensor 202 enquanto os dados de posição de mão brutos 210 estão sendo gerados. Esse movimento indesejado pode incluir, por exemplo, agitação, vibrações, instabilidade, e/ou outros tipos adequados de movimento indesejado.
[0088] Em alguns casos, os dados de posição de mão esquerda 134 também podem compensar os gestos imprecisos e o movimento indesejado da mão esquerda 124 do usuário 104. Por exemplo, os dados de posição de mão esquerda 134 podem compensar picos indese- jados no movimento de mão esquerda 124 em resposta a um tipo de sacudidela de movimento de mão esquerda 124. Nesses exemplos ilustrativos, a modificação dos dados de posição de mão brutos 210 para formar os dados de posição de mão esquerda 134 pode ser cha- mada de estabilização de dados de posição de mão brutos 210.
[0089] O gerenciador de dados 204 envia dados de posição de mão esquerda 134 para o gerenciador de realidade virtual 106 na Figura 1 com o uso de unidade de comunicações 206. A unidade de comunicações 206 é usada para formar um ou mais enlace de comunicações sem fios entre a luva esquerda 128 e outro sistema periféricos e/ou sistema montado em cabeça 108. Como um exemplo ilustrativo, a unidade de comunicações 206 forma o enlace de comunicações sem fio 214 com o sistema montado em cabeça 108. A unidade de comunicações 206 pode transmitir os dados de posição de mão esquerda 134 para o sistema montado em cabeça 108 na Figura 1 pelo enlace de comunicações sem fio 214 com o uso, por exemplo, sem limitação, de sinais de frequência de rádio (RF).
[0090] Em alguns exemplos ilustrativos, o gerenciador de dados 204 também pode ser usado para calibrar o sistema de sensor 202. Em outros exemplos ilustrativos, o gerenciador de dados 204 pode ser configurado para modificar os dados de posição de mão brutos 210 para compensar eletronicamente para questões de montagem com o sistema de sensor 202.
[0091] Voltando-se agora à Figura 3, uma ilustração de um sistema montado em cabeça sob a forma de um diagrama de bloco é revelado de acordo com uma modalidade ilustrativa. Na Figura 3, um exemplo de uma implementação para sistema montado em cabeça 108 da Figura 1 é revelado.
[0092] Nesse exemplo ilustrativo, o sistema montado em cabeça 108 adota a forma de óculos 114. Conforme revelado, o gerenciador de realidade virtual 106, o dispositivo de exibição 116, o sistema de sensor 118, o gerenciador de dados 302 e a unidade de comunicações 300 são associados aos óculos 114. Em particular, o gerenciador de realidade virtual 106, o dispositivo de exibição 116, o sistema de sensor 118, o gerenciador de dados 302 e a unidade de comunicações 300 são partes dos óculos 114 nesse exemplo.
[0093] A unidade de comunicações 300 é configurada para formar inúmeros enlaces de comunicações sem fio para permitir as comunicações entre o sistema montado em cabeça 108 e inúmeros outros sistemas, tais como, por exemplo, inúmeros sistemas periféricos 110 na Figura 1. Por exemplo, o sistema montado em cabeça 108 pode receber dados de posição periférica 132 de inúmeros sistemas periféricos 110 na Figura 1 com o uso da unidade de comunicações 300.
[0094] Em particular, o gerenciador de realidade virtual 106 recebe os dados de posição de mão esquerda 134 do sistema de mão esquerda 121 na Figura 1 e os dados de posição de mão direita 136 do sistema de mão direita 122 na Figura 1 com o uso da unidade de comunicações 300. Por exemplo, a unidade de comunicações 300 pode receber os dados de posição de mão esquerda 134 da luva esquerda 128 com o uso do enlace de comunicações sem fio 214 estabelecido entre a unidade de comunicações 300 e a unidade de comunicações 206 da luva esquerda 128 na Figura 2.
[0095] Conforme revelado, o sistema de sensor 118 é configurado para gerar dados de posição de cabeça brutos 304. Os dados de posição de cabeça brutos 304 podem compreender, por exemplo, sem limitação, um conjunto de variáveis dinâmicas de estado de sistema (DSSV). Em alguns exemplos ilustrativos, o sistema de sensor 118 pode ser calibrado com o uso do conjunto de imagens de usuário 150 na Figura 1.
[0096] Nesses exemplos ilustrativos, o gerenciador de dados 302 pode ser implantado com o uso de hardware, software ou uma combinação dos dois. Em um exemplo ilustrativo, o gerenciador de dados 302 pode ser implantado dentro do sistema de processamento de dados 305. Em alguns casos, o sistema de processamento de dados 305 pode ser associado ao sistema de processamento de dados 105 na Figura 1. Em outros casos, o sistema de processamento de dados 305 pode ser associado a um sistema de sensor 118. Em alguns exemplos ilustrativos, o gerenciador de dados 302 pode ser implantado dentro do sistema de processamento de dados 105 na Figura 1 em vez do sistema de processamento de dados 305.
[0097] O gerenciador de dados 302 é configurado para modificar os dados de posição de cabeça brutos 304 para formar dados de posição de cabeça 120 na Figura 1. O gerenciador de dados 302 pode modificar os dados de posição de cabeça brutos 304 com o uso de conjunto de filtros 308. O conjunto de filtros 308 pode incluir, por exemplo, sem limitação, inúmeros filtros de suavização de movimento, filtros de instabilidade, filtros Kalman e/ou outros tipos adequados de filtros. Adicionalmente, o gerenciador de dados 302 também pode modificar os dados de posição de cabeça brutos 304 com base em restrições identificadas para o movimento de cabeça 112 do usuário 104 com o uso do conjunto de imagens de usuário 150 na Figura 1.
[0098] Dessa maneira, os dados de posição de cabeça 120 podem ser usados para compensar o movimento indesejado de um ou mais sensores no sistema de sensor 118 enquanto os dados de posição de cabeça brutos 304 estão sendo gerados. Esse movimento indesejado pode incluir, por exemplo, agitação, vibrações, instabilidade, e/ou outros tipos adequados de movimento indesejado.
[0099] Adicionalmente, em alguns casos, os dados de posição de cabeça 120 também podem ser usados para compensar o movimento indesejado de cabeça 112 do usuário 104. Por exemplo, os dados de posição de cabeça 120 podem compensar picos indesejados no movimento de cabeça 112 em resposta a um tipo de sacudidela indeseja- da de movimento de cabeça 112. Nesses exemplos ilustrativos, a modificação dos dados de posição de cabeça brutos 304 para formar dados de posição de cabeça 120 pode ser chamada de estabilização de dados de posição de cabeça brutos 304. O gerenciador de dados 302 envia os dados de posição de cabeça 120 para o gerenciador de realidade virtual 106.
[00100] Em alguns exemplos ilustrativos, o gerenciador de dados 302 também pode ser usado para calibrar o sistema de sensor 118. Em outros exemplos ilustrativos, o gerenciador de dados 302 pode ser configurado para modificar os dados de posição de cabeça brutos 304 para compensar eletronicamente as questões de montagem com o sistema de sensor 118.
[00101] Adicionalmente, o sistema de sensor 118 inclui o sistema de imageamento 322 nesse exemplo ilustrativo. O sistema de image- amento 322 compreende uma ou mais câmeras configuradas para apontar em uma direção substancialmente igual em que a cabeça 112 do usuário 104 está apontada. O sistema de imageamento 322 é configurado para ter um campo de visão que é amplo o suficiente e profundo o suficiente para capturar inúmeros alvos visuais em inúmeros sistemas periféricos 110. Esses alvos visuais podem incluir, por exem-plo, marcadores visuais, rótulos, botões, contornos, formatos e/ou outros tipos adequados de alvos visuais.
[00102] Como um exemplo ilustrativo, inúmeros marcadores visuais podem estar presentes em cada uma dentre a luva esquerda 128 e a luva direita 130 na Figura 1. O sistema de imageamento 322 é configurado para ter um campo de visão amplo o suficiente e profundo o suficiente para capturar esses marcadores visuais em uma imagem alvo gerada pelo sistema de imageamento 322.
[00103] Nesse exemplo ilustrativo, a imagem alvo 324 é um exemplo de uma da sequência de imagens alvo 320. A imagem alvo 324 é gerada pelo sistema de imageamento 322 no tempo atual 314. O processador de imagem 326 no gerenciador de realidade virtual 106 é configurado para gerar dados de posição baseados em imagem 328 com o uso de imagem alvo 324. Os dados de posição baseados em imagem 328 identificam as posições da luva esquerda 128 e da luva direita 130 dentro da imagem alvo 324 no tempo atual 314. Essas posições são identificadas com o uso dos alvos visuais na luva esquerda 128 e na luva direita 130.
[00104] Adicionalmente, o processador de imagem 326 também é configurado para usar imagem alvo 324 para identificar o quadro de referência atual 330 para a imagem virtual atual 310. O quadro de referência atual 330 pode ser, por exemplo, a porção do ambiente virtual 102 que corresponde à imagem alvo 324. Por exemplo, uma primeira imagem alvo que captura uma área à esquerda de uma área capturada em uma segunda imagem alvo corresponde a uma porção do ambiente virtual 102 que está à esquerda da porção do ambiente virtual 102 correspondente à segunda imagem alvo.
[00105] O processador de imagem 326 é configurado para enviar o quadro de referência atual 330 e os dados de posição baseados em imagem 328 para o coordenador de dados 336. O coordenador de dados 336 usa o quadro de referência atual 330, os dados de posição baseados em imagem 328, os dados de posição de cabeça 120, os dados de posição de mão esquerda 134 e os dados de posição de mão direita 136 para gerar dados de controle de imagem virtual 135 para o tempo atual 314. Em particular, o coordenador de dados 336 usa os dados de posição de cabeça 120, os dados de posição de mão esquerda 134 e os dados de posição de mão direita 136 gerados no tempo atual 314 para formar os dados de controle de imagem virtual 135 para o tempo atual 314.
[00106] Os dados de controle de imagem virtual 135 podem incluir, por exemplo, uma posição para a luva esquerda 128 e a luva direita 130 na Figura 1 em relação ao quadro de referência atual 330 que pode ser usado para controlar, por exemplo, uma posição de uma mão esquerda virtual e uma mão direita virtual dentro de uma imagem virtual do ambiente virtual 102. Nos exemplos ilustrativos, o coordenador de dados 336 envia os dados de controle de imagem virtual 135 para o aplicativo de imagem virtual 137 para processamento.
[00107] O aplicativo de imagem virtual 137 pode incluir o gerador de imagem 338. O gerador de imagem 338 usa os dados de controle de imagem virtual 135 para formar a imagem virtual atual 310 do ambiente virtual 102 para o tempo atual 314. A imagem virtual atual 310 é baseada no quadro de referência atual 330. A imagem virtual atual 310 pode ser a imagem virtual que é formada para exibição no dispositivo de exibição 116. Em outras palavras, a imagem virtual atual 310 que ainda não foi exibida no dispositivo de exibição 116 nesse exemplo.
[00108] Nesse exemplo, a imagem virtual atual 310 pode ser uma versão atualizada da imagem virtual anterior 312 que é atualmente exibida no dispositivo de exibição 116. A imagem virtual anterior 312 pode ter sido gerada pelo aplicativo de imagem virtual 137 para o tempo anterior 332. O quadro de referência atual 330 usado para formar a imagem virtual atual 310 pode ser o mesmo ou diferente do quadro de referência anterior 334 usado para gerar a imagem virtual anterior 312.
[00109] Conforme revelado, a imagem virtual atual 310 inclui mão esquerda virtual atual 316 e mão direita virtual atual 318.
[00110] As posições para a mão esquerda virtual atual 316 e a mão direita virtual atual 318 podem ser baseadas nas posições identificadas para a luva esquerda 128 e a luva direita 130 nos dados de controle de imagem virtual 135.
[00111] Uma vez que a imagem virtual atual 310 foi gerada pelo gerador de imagem 338, o aplicativo de imagem virtual 137 envia a imagem virtual atual 310 para o coordenador de dados 336. O coordenador de dados 336 envia a imagem virtual atual 310 para o dispositivo de exibição 116 de tal modo que a imagem virtual atual 310 possa ser exibida no dispositivo de exibição 116 no lugar da imagem virtual anterior 312.
[00112] Dessa maneira, o gerenciador de realidade virtual 106 e o aplicativo de imagem virtual 137 podem se comunicar entre si te para formar a sequência de imagens virtuais 138 na Figura 1 para uma pluralidade de tempos que decorrem por um período particular de tempo. As imagens virtuais na sequência de imagens virtuais 138 podem ser exibidas no dispositivo de exibição 116 conforme as imagens são geradas substancialmente em tempo real de tal modo que as diferentes posições para a mão esquerda virtual e a mão direita virtual nas ima-gens virtuais pelo período particular de tempo simulem o movimento da mão esquerda 124 e da mão direita 126, respectivamente, do usuário 104 na Figura 1.
[00113] Em alguns exemplos ilustrativos, o sistema montado em cabeça 108 também pode incluir microfone 340 e/ou sistema de alto- falante 342. O usuário 104 pode usar o microfone 340 para gerar dados de áudio para uso pelo gerenciador de realidade virtual 106. Adicionalmente, o gerenciador de realidade virtual 106 pode ser configurado para gerar sons com o uso do sistema de alto-falante 342. Esses sons podem permitir que o usuário 104 seja adicionalmente imerso no ambiente virtual 102. O sistema de alto-falante 342 pode adotar a forma de, por exemplo, fones de cabeça 344.
[00114] Em referência agora à Figura 4, uma ilustração de um coordenador de dados sob a forma de um diagrama de bloco é revelada de acordo com uma modalidade ilustrativa. Na Figura 4, um exemplo de uma implementação para o coordenador de dados 336 da Figura 3 é revelado.
[00115] Nesse exemplo ilustrativo, o coordenador de dados 336 é configurado para receber entrada 402 para uso na formação de imagem virtual atual 310 para o tempo atual 314. Em resposta à recepção da entrada 402, o coordenador de dados 336 gera a saída 404. A entrada 402 pode incluir, por exemplo, sem limitação, dados de usuário 145, dados de posição baseados em imagem 328, dados de posição de mão 133, dados de posição de cabeça 120, quadro de referência atual 330 e/ou outros dados adequados. Os dados de posição baseados em imagem 328, os dados de posição de mão 133, os dados de posição de cabeça 120 e o quadro de referência atual 330 podem ser dados correspondentes ao tempo atual 314. A saída 404 pode ser a imagem virtual atual 310.
[00116] Conforme ilustrado nessa Figura, o coordenador de dados 336 inclui o identificador de restrição 406, o modulador de dados 408, o controlador de retroalimentação 410, o analisador de imagem virtual 411, o gerador de dados de controle 412 e o visualizador de imagem 414. Nesse exemplo ilustrativo, o identificador de restrição 406 identifica o conjunto de restrições 416 para formar dados de controle de imagem virtual 135 com base, por exemplo, sem limitação, nos dados de usuário 145. O conjunto de restrições 416 pode incluir, por exemplo, restrições sobre as posições e/ou movimento de mão esquerda 124, mão direita 126 e/ou cabeça 112 do usuário 104 na Figura 1. O identificador de restrição 406 envia o conjunto de restrições 416 para o controlador de retroalimentação 410.
[00117] Conforme revelado, o modulador de dados 408 inclui modu- lador de dados de mão 418 e modulador de dados de cabeça 420. Modulador de dados de mão 418 é configurado para usar tantos os dados de posição baseados em imagem 328 quanto os dados de posição de mão 133 para formar os dados de posição de mão modificados 422. Os dados de posição de mão modificados 422 podem ser formados através da aplicação de pesos aos dados de posição baseados em imagem 328 e aos dados de posição de mão 133. Esses pesos podem ser baseados, por exemplo, em uma velocidade de movimento da mão esquerda 124 e/ou da mão direita 126 do usuário 104.
[00118] Nesse exemplo ilustrativo, os dados de posição baseados em imagem 328 podem fornecer uma posição mais precisa para uma mão do usuário 104 que os dados de posição de mão 133 gerados com o uso de um sistema de sensor em uma luva para a mão ao longo do tempo. Em particular, os dados de posição baseados em imagem 328 podem fornecer dados mais precisos que os dados de posição de mão 133 quando a mão está se movendo lentamente. Os dados de posição de mão 133 podem fornecer dados mais precisos que os dados de posição baseados em imagem 328 quando a mão está se movendo rapidamente.
[00119] Consequentemente, quando uma mão do usuário 104 está se movendo rápido o bastante, o modulador de dados de mão 418 aplica pesos aos dados de posição de mão correspondentes nos dados de posição de mão 133 que são maiores que os pesos aplicados aos dados de posição baseados em imagem 328. Por outro lado, quando uma mão do usuário 104 está se movendo lento o bastante, o modulador de dados de mão 418 aplica pesos aos dados de posição de mão correspondentes nos dados de posição de mão 133 que são menores que os pesos aplicados aos dados de posição baseados em imagem 328. A velocidade na qual os pesos são aplicados pode variar, dependendo da implementação particular.
[00120] Adicionalmente, o modulador de dados de cabeça 420 é configurado para usar tanto os dados de posição de cabeça 120 quanto o quadro de referência atual 330 para formar os dados de posição de cabeça modificados 424. O modulador de dados de cabeça 420 pode combinar os dados de posição de cabeça 120 e o quadro de referência atual 330 e peso desses dois tipos de dados para formar os dados de posição de cabeça modificados 424. O quadro de referência atual 330 pode ser ter um peso maior que os dados de posição de ca-beça 120 quando a cabeça 112 do usuário 104 está se movendo lentamente. Os dados de posição de cabeça 120 podem ter um peso maior que o quadro de referência atual 330 quando a cabeça 112 do usuário 104 está se movendo rapidamente.
[00121] O modulador de dados 408 envia os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424 para o controlador de retroalimentação 410. Adicionalmente, o modulador de dados 408 envia os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424 para o gerador de dados de controle 412. O gerador de dados de controle 412 é configurado para usar os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424 para formar dados de controle de imagem virtual 135.
[00122] Por exemplo, o gerador de dados de controle 412 pode usar o conjunto de filtros 425 para formar dados de controle de imagem virtual 135. O conjunto de filtros 425 pode ser configurado para suavizar os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424, remover descontinuidades inde- sejadas nos dados de posição de mão modificados 422 e nos dados de posição de cabeça modificados 424, e sincronizar os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424 em relação ao tempo. O gerador de dados de controle 412 envia os dados de controle de imagem virtual 135 para o aplicativo de imagem virtual 137.
[00123] O gerador de imagem 338 no aplicativo de imagem virtual 137 é configurado para gerar imagem virtual atual 310 com o uso de dados de controle de imagem virtual 135. Em particular, o gerador de imagem 338 atualiza a imagem virtual anterior 312 para formar a imagem virtual atual 310 do ambiente virtual 102 na Figura 1. O gerador de imagem 338 envia a imagem virtual atual 310 para o analisador de imagem virtual 411 e o visualizador de imagem 414.
[00124] Nesse exemplo ilustrativo, o analisador de imagem virtual 411 é configurado para analisar a imagem virtual atual 310 para gerar dados reais 427 com base na imagem virtual atual 310. Por exemplo, o analisador de imagem virtual 411 pode decompor a imagem virtual atual 310 para gerar dados reais 427 que identificam a posição real para a cabeça 112 do usuário 104, a posição real para a mão esquerda 124 do usuário 104 e/ou a posição real para a mão direita 126 do usuário 104 na Figura 1 com base na imagem virtual atual 310. O ana-lisador de imagem virtual 411 envia os dados reais 427 para o controlador de retroalimentação 410.
[00125] O controlador de retroalimentação 410 é configurado para usar os dados reais 427, o conjunto de restrições 416, os dados de posição de mão modificados 422 e os dados de posição de cabeça modificados 424 para formar o erro de posição de dedo 426, o erro de posição de mão relativo 428 e o erro de posição de cabeça 430. O erro de posição de dedo 426 pode ser a diferença entre as posições dos dedos do usuário 104 identificadas nos dados de posição de mão modificados 422 e as posições dos dedos do usuário 104 simulados na imagem virtual atual 310.
[00126] Adicionalmente, o erro de posição de mão relativo 428 pode ser a diferença entre as posições das mãos do usuário 104 identificadas nos dados de posição de mão modificados 422 e as posições das mãos virtuais na imagem virtual atual 310 em relação à posição da cabeça 112 do usuário 104 e/ou do quadro de referência atual 330. O erro de posição de cabeça 430 pode ser a diferença entre a posição da cabeça 112 do usuário 104 identificada nos dados de posição de cabeça modificados 424 e a posição de cabeça 112 do usuário 104 indicada com base na imagem virtual atual 310.
[00127] Em alguns exemplos ilustrativos, o controlador de retroalimentação 410 pode enviar o erro de posição de dedo 426, o erro de posição de mão relativo 428 e o erro de posição de cabeça 430 para o gerador de dados de controle 412 para ajustar os dados de controle de imagem virtual 135. Obviamente, em alguns exemplos ilustrativos, o processo de envio de dados de controle de imagem virtual 135 para o gerador de imagem 338 e o controlador de retroalimentação 410 com o uso da imagem virtual atual 310 para ajustar os dados de controle de imagem virtual 135 pode ser repetido até que os dados de controle de imagem virtual 135 tenham um nível de precisão desejado. Em outras palavras, esse processo pode recorrer até que o erro de posição de dedo 426, o erro de posição de mão relativo 428 e o erro de posição de cabeça 430 estejam dentro das tolerâncias selecionadas.
[00128] Os dados de controle de imagem virtual 135 que foram ajustados para ter o nível de precisão desejado podem, então, ser usados pelo visualizador de imagem 414 para ajustar a imagem virtual atual 310. O visualizador de imagem 414 pode, então, emitir a imagem virtual atual 310 que foi ajustada.
[00129] Dessa maneira, os dados de controle de imagem virtual 135 gerada ao longo do tempo com o nível de precisão desejado pode ser usado para gerar sequência de imagens virtuais 138 na Figura 1. Quando os dados de controle de imagem virtual 135 são gerados com o nível de precisão desejado, a sequência de imagens virtuais 138 pode fornecer ao usuário 104 um nível desejado de coordenação mão- olho. Em outras palavras, as posições das mãos esquerdas virtuais e das mãos direitas virtuais nessas imagens virtuais podem ter um nível de precisão desejado. Adicionalmente, o movimento de cabeça 112, da mão esquerda 124 e/ou da mão direita 126 do usuário 104 pode ser simulado dentro da sequência de imagens virtuais 138 com um nível de precisão desejado.
[00130] Em referência agora à Figura 5, uma ilustração de modos de operação para um sistema de realidade virtual é revelada de acordo com uma modalidade ilustrativa. Nesse exemplo de ilustração, os modos 500 podem ser modos de operações para o sistema de realidade virtual 100 na Figura 1. Conforme revelado, os modos 500 podem incluir pelo menos um dentre modo de aprendizagem e calibração 502, modo estático 504, modo dinâmico 506 e modo transparente 508. Obviamente, em outros exemplos ilustrativos, os modos 500 podem incluir um ou mais outro modos além de ou no lugar desses modos.
[00131] No modo de aprendizagem e calibração 502, o usuário 104 na Figura 1 pode executar uma tarefa real enquanto usa pelo menos um dentre o sistema de mão 131 e sistema montado em cabeça 108 na Figura 1. Essa tarefa real pode ser, por exemplo, uma tarefa não virtual que é executada em realidade e não em realidade virtual. Essa tarefa não virtual pode ser, por exemplo, sem limitação, digitação em um teclado, toque de um piano, toque de uma guitarra, uso de diferentes tipos de equipamentos, execução de um procedimento médico, execução de uma tarefa física ou algum outro tipo adequado de tarefa não virtual.
[00132] No modo de aprendizagem e calibração 502, o gerenciador de realidade virtual 106 usa pelo menos um dentre os dados de posição de mão 133 gerados pelo sistema de mão 131 e os dados de posição de cabeça 120 para calibrar o sistema de realidade virtual 100 na Figura 1. Por exemplo, o gerenciador de realidade virtual 106 pode usar os dados coletados enquanto o usuário 104 está executando a tarefa não virtual para corrigir inconsistências nos dados gerados quando o usuário 104 executa uma tarefa virtual correspondente com o uso do sistema de realidade virtual 100.
[00133] No modo estático 504, o usuário 104 pode usar o sistema de realidade virtual 100 para executar uma tarefa virtual em que apenas as mãos do usuário 104 podem ser usadas. Por exemplo, o usuário 104 pode usar a mão esquerda 124 e/ou a mão direita 126 na Figura 1 para executar a tarefa virtual. No modo estático 504, todas as imagens virtuais na sequência de imagens virtuais 138 exibidas para o usuário 104 podem permanecer estacionárias apesar de qualquer movimento de cabeça 112 do usuário 104 na Figura 1.
[00134] Por exemplo, o quadro de referência 146 na Figura 1 para todas as imagens virtuais na sequência de imagens virtuais 138 pode permanecer fixo e apontado em direção ao dispositivo virtual que está sendo controlado pelo sistema de mão 131. As posições da mão esquerda virtual 142, da mão direita virtual 144 e/ou outros componentes virtuais podem trocar entre as diferentes imagens virtuais na sequência de imagens virtuais 138 na Figura 1, enquanto o quadro de referência 146 permanece estacionário. Em um exemplo ilustrativo, o gerenciador de realidade virtual 106 pode ser configurado para filtrar quaisquer dados de posição de cabeça 120 gerados pelo sistema de sensor 118 no sistema montado em cabeça 108 na Figura 1, enquanto o usuário 104 executa a tarefa virtual.
[00135] No modo dinâmico 506, tanto os dados de posição de mão 133 quanto os dados de posição de cabeça 120 são usados pelo gerenciador de realidade virtual 106 para controlar a sequência de imagens virtuais 138 exibida para o usuário 104. O quadro de referência 146 para cada imagem na sequência de imagens virtuais 138 pode trocar com base no movimento da cabeça 112 do usuário 104.
[00136] No modo transparente 508, nenhuma imagem virtual é exibida no dispositivo de exibição 116 na Figura 1. Em vez disso, o usuá rio 104 pode ser permitido a ver através dos óculos 114 na Figura 1. Em outras palavras, no modo transparente 508, as lentes dos óculos 114 podem se feitas transparentes.
[00137] As ilustrações do sistema de realidade virtual 100 na Figura 1, do sistema de mão esquerda 121 na Figura 2, do sistema montado em cabeça 108 na Figura 3, do coordenador de dados 336 na Figura 4 e dos modos 500 na Figura 5 não se destina a implicar limitações físicas ou arquiteturais para a maneira em que uma modalidade ilustrativa pode ser implantada. Outros componentes além de ou no lugar dos ilustrados podem ser usados. Alguns componentes podem ser desne-cessários. Ademais, os blocos são apresentados para ilustrar alguns componentes funcionais. Um ou mais desses blocos podem ser combinados, divididos ou combinados e divididos em diferentes blocos quando implantados em uma modalidade ilustrativa.
[00138] Em alguns exemplos ilustrativos, o aplicativo de imagem virtual 137 pode ser implantado dentro do sistema de realidade virtual 100 na Figura 1. Por exemplo, o aplicativo de imagem virtual 137 pode ser implantado dentro do sistema de processamento de dados 105. Em outros exemplos ilustrativos, o gerenciador de dados 204 pode ser implantado separadamente do sistema de sensor 202 na Figura 2.
[00139] Em alguns casos, outros modos podem ser incluídos nos modos 500 de operação para o sistema de realidade virtual 100 além de e/ou no lugar dos descritos na Figura 5. Em um exemplo ilustrativo, o modo de aprendizagem e calibração 502 pode ser separados em um modo de aprendizagem e um modo de calibração.
[00140] Em referência agora à Figura 6, uma ilustração de um usuário que usa um sistema de realidade virtual é revelada de acordo com uma modalidade ilustrativa. Nesse exemplo ilustrativo, o usuário 600 está usando o sistema de realidade virtual 601. O usuário 600 é um exemplo do usuário 104 na Figura 1. Adicionalmente, o sistema de realidade virtual 601 é um exemplo de uma implementação para o sistema de realidade virtual 100 na Figura 1.
[00141] Conforme revelado, o sistema de realidade virtual 601 inclui o sistema montado em cabeça 602, a luva esquerda 604 e a luva direita 606. O sistema montado em cabeça 602 é um exemplo de uma implementação parta o sistema montado em cabeça 108 nas Figuras 1 e 3. Conforme revelado, o sistema montado em cabeça 602 inclui óculos 608. Os óculos 608 são um exemplo de uma implementação para os óculos 114 nas Figuras 1 e 3. Adicionalmente, a luva esquerda 604 e a luva direita 606 são exemplos de implementações para a luva esquerda 128 e a luva direita 130, respectivamente, na Figura 1.
[00142] Nesse exemplo ilustrativo, um gerenciador de realidade virtual, tal como o gerenciador de realidade virtual 106 na Figura 1, pode apresentar visualmente imagem virtual 610 nos óculos 608 na frente dos olhos do usuário 600. A imagem virtual 610 pode ser um exemplo de uma implementação para a imagem virtual 140 na Figura 1. Adicionalmente, a imagem virtual 610 é uma imagem de um ambiente virtual. O gerenciador de realidade virtual é configurado para usar dados gerados pela luva esquerda 604, pela luva direita 606 e pelo sistema montado em cabeça 602 em resposta a um movimento do usuário 600 para permitir que o usuário 600 controle e interaja com esse ambiente virtual.
[00143] Em referência agora à Figura 7, uma ilustração de um processo para interação com um ambiente de engenharia virtual sob a forma de um fluxograma é revelada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 7 pode ser implantado com o uso do sistema de realidade virtual 100 na Figura 1. Em particular, esse processo pode ser implantado com o uso do gerenciador de realidade virtual 106 em comunicação com o aplicativo de imagem virtual 137 nas Figuras 1 e 3.
[00144] O processo pode começar a receber os dados de posição de mão para pelo menos uma mão de um usuário de um sistema de mão (operação 700). Os dados de posição de mão podem incluir dados de posição para uma mão esquerda e/ou uma mão direita de um usuário. O sistema de mão pode compreender uma luva esquerda para a mão esquerda do usuário e/ou uma luva direita para a mão direita do usuário. O sistema de mão pode ser, por exemplo, o sistema de mão 131 na Figura 1.
[00145] O processo pode, então, receber os dados de posição de cabeça para a cabeça do usuário de um sistema montado em cabeça (operação 702). O sistema montado em cabeça pode ser, por exemplo, o sistema montado em cabeça 108 nas Figuras 1 e 3. Em um exemplo ilustrativo, o sistema montado em cabeça pode adotar a forma de óculos 114 nas Figuras 1 e 3.
[00146] Posteriormente, o processo identifica os dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo para o tempo atual (operação 704). A operação 704 pode ser executada com o uso, por exemplo, do processador de imagem 326 na Figura 3. A imagem alvo pode ser, por exemplo, a imagem alvo 324 gerada com o uso do sistema de imageamento 322 no sistema de sensor 118 associado a um sistema montado em cabeça 108 na Figura 3. A imagem alvo 324 permite que uma posição para a luva esquerda 128 e a luva direita 130 na imagem alvo 324 sejam identificada.
[00147] O processo, então, coordena os dados de posição de mão e os dados de posição de cabeça com os dados de posição baseados em imagem e o quadro de referência atual para formar dados de controle de imagem virtual (operação 706). A operação 706 pode ser executada com o uso, por exemplo, do coordenador de dados 336 nas Figuras 3 e 4. Então, o processo gera uma imagem virtual atual de um ambiente virtual com o uso dos dados de controle de imagem virtual (operação 708), com o processo terminando posteriormente.
[00148] Em referência agora à Figura 8, uma ilustração de um processo para interação com um ambiente de engenharia virtual sob a forma de um fluxograma é revelada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 8 pode ser implantado com o uso do sistema de realidade virtual 100 na Figura 1. Adicionalmente, esse processo é um processo mais detalhado do processo descrito na Figura 7.
[00149] O processo começa através do recebimento dos dados de posição de mão esquerda e dados de posição de mão direita de uma luva esquerda e uma luva direita, respectivamente (operação 800). Os dados de posição de mão esquerda identificam as posições para uma mão esquerda de um usuário ao longo do tempo. Os dados de posição de mão direita identificam posições para uma mão direita do usuário ao longo do tempo.
[00150] Adicionalmente, o processo recebe dados de posição de cabeça de um sistema de sensor em um sistema montado em cabeça (operação 802). Os dados de posição de cabeça identificam as posições para a cabeça do usuário ao longo do tempo.
[00151] O processo, então, recebe uma sequência de imagens alvo de um sistema de imageamento no sistema de sensor do sistema montado em cabeça (operação 804). Posteriormente, o processo identifica os dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo na sequência de imagens alvo correspondentes ao tempo atual (operação 806).
[00152] A seguir, o processo sincroniza os dados de posição de mão esquerda, os dados de posição de mão direita e os dados de posição de cabeça em relação ao tempo (operação 808). O processo, então, coordena os dados de posição de mão esquerda, os dados de posição de mão direita e os dados de posição de cabeça sincronizados com os dados de posição baseados em imagem e o quadro de referência atual para formar dados de controle de imagem virtual (operação 810).
[00153] O processo envia os dados de controle de imagem virtual para um aplicativo de imagem virtual com o uso de uma nuvem (operação 812). O aplicativo de imagem virtual é configurado para usar os dados de controle de imagem virtual para gerar uma imagem virtual atual de um ambiente virtual para o tempo atual. A seguir, o processo recebe a imagem virtual atual gerada pelo aplicativo de imagem virtual (operação 814).
[00154] O processo exibe a imagem virtual atual em um dispositivo de exibição associado ao sistema montado em cabeça (operação 816), com o processo retornando para a operação 800. Na operação 800, a imagem virtual atual substitui uma imagem virtual gerada anteriormente exibida no dispositivo de exibição. O usuário vê a imagem virtual atual e pode se sentir presente no ambiente virtual.
[00155] Quando o processo retorna para a operação 800 após a execução da operação 816 e repete as operações 802, 804 e 806, o tempo atual usado na operação 806 é um tempo após o tempo atual para a imagem virtual atual na operação 816. Em outras palavras, o processo descrito na Figura 8 pode ser repetido para formar uma próxima imagem virtual. Dessa maneira, uma sequência de imagens virtuais ordenadas em relação ao tempo pode ser gerada e exibida no dispositivo de exibição.
[00156] Os fluxogramas e diagramas de bloco nas diferentes modalidades reveladas ilustram a arquitetura, funcionalidade e operação de algumas implementações possíveis de aparelhos e métodos em uma modalidade ilustrativa. A esse respeito, cada bloco nos fluxogramas ou diagramas de bloco pode representar um módulo, segmento, função e/ou uma porção de uma operação ou etapa. Por exemplo, um ou mais dos blocos podem ser implantados como código de programa, em hardware ou uma combinação do código de programa e hardware. Quando implantado em hardware, o hardware pode, por exemplo, ado-tar a forma de circuitos integrados que são fabricados ou configurados para executar uma ou mais operações nos fluxogramas ou diagramas de bloco.
[00157] Em algumas implementações alternativas de uma modalidade ilustrativa, a função ou funções observadas nos blocos podem ocorrer fora da ordem mencionada nas Figuras. Por exemplo, em alguns casos, dois blocos mostrados em sucessão podem ser executados substancial e concomitantemente, ou os blocos podem algumas vezes ser executados na ordem inversa, dependendo da funcionalidade envolvida. Ademais, outros blocos podem ser adicionados além dos blocos ilustrados em um fluxograma ou diagrama de bloco.
[00158] Voltando-se agora à Figura 9, uma ilustração de um sistema de processamento de dados é revelada de acordo com uma modalidade ilustrativa. Nesse exemplo ilustrativo, o sistema de processamento de dados 900 pode ser usado para implementar o sistema de processamento de dados 105 na Figura 1. Nesse exemplo ilustrativo, o sistema de processamento de dados 900 inclui estrutura de comunicações 902, que fornece comunicações entre a unidade de processador 904, a memória 906, o armazenamento persistente 908, a unidade de comunicações 910, a unidade de entrada/saída (I/O) 912 e o visor 914.
[00159] A unidade de processador 904 serve para executar instruções para software que podem ser carregadas na memória 906. A unidade de processador 904 pode ser inúmeros processadores, um núcleo de multiprocessador ou algum outro tipo de processador, dependendo da implementação particular. Inúmeros, conforme usado na presente invenção em referência a um item, significa um ou mais itens. Adicionalmente, a unidade de processador 904 pode ser implantada com o uso de inúmeros processadores heterogêneos em que um processador principal está presente com os processadores secundários em um único chip. Como um outro exemplo ilustrativo, a unidade de processador 904 pode ser um sistema multiprocessador simétrico que contém múltiplos processadores do mesmo tipo.
[00160] A memória 906 e o armazenamento persistente 908 são exemplos de dispositivos de armazenamento 916. Um dispositivo de armazenamento é qualquer parte de hardware que é capaz de armazenar informação, tal como, por exemplo, sem limitação, dados, código de programa em forma funcional e/ou outra informação adequada em uma base temporária e/ou uma base permanente. Os dispositivos de armazenamento 916 também podem ser chamados de dispositivos de armazenamento legíveis por computador nesses exemplos. A memória 906, nesses exemplos, pode ser, por exemplo, uma memória de acesso aleatório ou qualquer outro dispositivo de armazenamento volátil ou não volátil adequado. O armazenamento persistente 908 pode adotar várias formas, dependendo da implementação particular.
[00161] Por exemplo, o armazenamento persistente 908 pode conter um ou mais componentes ou dispositivos. Por exemplo, o armazenamento persistente 908 pode ser um disco rígido, uma memória flash, um disco óptico regravável, uma fita magnética regravável ou alguma combinação dos supracitados. Os meios usados pelo armazenamento persistente 908 também podem ser removíveis. Por exemplo, um disco rígido removível pode ser usado para armazenamento persistente 908.
[00162] A unidade de comunicações 910, nesses exemplos, fornece comunicações com outros sistemas de processamento de dados ou dispositivos. Nesses exemplos, a unidade de comunicações 910 é um cartão de interface de rede. A unidade de comunicações 910 pode fornecer comunicações através do uso de enlaces de comunicações sem fio ou físicos.
[00163] A unidade de entrada/saída 912 permite a entrada e a saída de dados com outros dispositivos que podem ser conectados a um sistema de processamento de dados 900. Por exemplo, a unidade de entrada/saída 912 pode fornecer uma conexão para a entrada de usuário através de um teclado, um mouse e/ou algum outro dispositivo de entrada adequado. Adicionalmente, a unidade de entrada/saída 912 pode enviar saída para uma impressora. O visor 914 fornece um mecanismo para exibir informação para um usuário.
[00164] As instruções para o sistema operacional, aplicativos e/ou programas podem ser localizadas nos dispositivos de armazenamento 916, que estão em comunicação com a unidade de processador 904 através da estrutura de comunicações 902. Nesses exemplos ilustrati vos, as instruções estão em uma forma funcional no armazenamento persistente 908. Essas instruções podem ser carregadas na memória 906 para execução pela unidade de processador 904. Os processos das diferentes modalidades podem ser executados pela unidade de processador 904 com o uso das instruções implantadas por computador, que podem ser localizadas em uma memória, tal como a memória 906.
[00165] Essas instruções são chamadas de código de programa, código de programa utilizável em computador ou código de programa legível em computador que pode ser lido e executado por um processador na unidade de processador 904. O código de programa nas diferentes modalidades pode ser incorporado em diferentes meios de armazenamento físicos ou legíveis por computador, tal como a memória 906 ou o armazenamento persistente 908.
[00166] O código de programa 918 é localizado em uma forma funcional nos meios legíveis por computador 920 que é seletivamente e pode ser carregado em ou transferido para o sistema de processamento de dados 900 para execução pela unidade de processador 904. O código de programa 918 e os meios legíveis por computador 920 formam produto de programa de computador 922 nesses exemplos. Em um exemplo, os meios legíveis por computador 920 podem ser meios de armazenamento legíveis por computador 924 ou meios de sinal legíveis por computador 926.
[00167] Os meios de armazenamento legíveis por computador 924 podem incluir, por exemplo, um disco óptico ou disco magnético que é inserido ou colocado em uma unidade ou outro dispositivo que é parte do armazenamento persistente 908 para transferência em um dispositivo de armazenamento, tal como um disco rígido, que é parte do armazenamento persistente 908. Os meios de armazenamento legíveis por computador 924 também podem adotar a forma de um armazenamento persistente, tal como um disco rígido, uma unidade de memória ou uma memória flash, que é conectado a um sistema de processa- mento de dados 900. Em alguns casos, os meios de armazenamento legíveis por computador 924 podem não ser removíveis do sistema de processamento de dados 900.
[00168] Nesses exemplos, os meios de armazenamento legíveis por computador 924 são um dispositivo de armazenamento tangível ou físico usado para armazenar código de programa 918 em vez de um meio que propaga ou transmite o código de programa 918. Os meios de armazenamento legíveis por computador 924 também são chamados de um dispositivo de armazenamento tangível legível por computador por ou um computador dispositivo de armazenamento físico legí-vel por computador. Em outras palavras, os meios de armazenamento legíveis por computador 924 são meios que podem ser tocados por uma pessoa.
[00169] Alternativamente, o código de programa 918 pode ser transferido para o sistema de processamento de dados 900 com o uso dos meios de sinal legíveis por computador 926. Os meios de sinal legíveis por computador 926 podem ser, por exemplo, um sinal de dados propagado que contém o código de programa 918. Por exemplo, os meios de sinal legíveis por computador 926 podem ser um sinal eletromagnético, um sinal óptico e/ou qualquer outro tipo de sinal adequado. Esses sinais podem ser transmitidos por enlaces de comunicações, tais como os enlaces de comunicações sem fio, cabo de fibra óptica, cabo coaxial, um fio, e/ou qualquer outro tipo adequado de enlace de comunicações. Em outras palavras, o enlace de comunicações e/ou a conexão pode ser física ou sem fio nos exemplos ilustrativos.
[00170] Em algumas modalidades ilustrativas, o código de programa 918 pode ser transferido por download por uma rede para o armazenamento persistente 908 de um outro dispositivo ou sistema de processamento de dados através dos meios de sinal legíveis por computador 926 para uso dentro do sistema de processamento de dados 900. Por exemplo, o código de programa armazenado em um meio de armazenamento legível por computador em um sistema de processa mento de dados de servidor pode ser transferido por download por uma rede do servidor para o sistema de processamento de dados 900. O sistema de processamento de dados que fornece o código de programa 918 pode ser um computador de servidor, um computador de cliente ou algum outro dispositivo capaz de armazenar e transmitir o código de programa 918.
[00171] Os diferentes componentes ilustrados para o sistema de processamento de dados 900 não são destinados a fornecer limitações arquiteturais para a maneira em que diferentes modalidades podem ser implantadas. As diferentes modalidades ilustrativas podem ser implantadas em um sistema de processamento de dados que inclui componentes além de ou no lugar daqueles ilustrados para o sistema de processamento de dados 900. Outros componentes mostrados na Figura 9 podem ser variados dos exemplos ilustrativos mostrados. As diferentes modalidades podem ser implantadas com o uso de qualquer dispositivo hardware ou sistema capaz de operar código de programa. Como um exemplo, o sistema de processamento de dados pode incluir componentes orgânicos integrados aos componentes inorgânicos e/ou pode ser compreendido inteiramente de componentes orgânicos excluindo um ser humano. Por exemplo, um dispositivo de armazenamento pode ser compreendido de um semicondutor orgânico.
[00172] Em um outro exemplo ilustrativo, a unidade de processador 904 pode adotar a forma de uma unidade de hardware que tem circuitos que são fabricados ou configurados para um uso particular. Esse tipo de hardware pode executar operações sem precisar que o código de programa a ser carregado em uma memória de um dispositivo de armazenamento seja configurado para executar as operações.
[00173] Por exemplo, quando a unidade de processador 904 adota a forma de uma unidade de hardware, a unidade de processador 904 pode ser um sistema de circuito, um circuito integrado específico de aplicativo (ASIC), um dispositivo lógico programável ou algum outro tipo adequado de hardware configurado para executar inúmeras ope rações. Com um dispositivo lógico programável, o dispositivo é configurado para executar inúmeras operações. O dispositivo pode ser reconfigurado em um tempo posterior ou pode ser permanentemente configurado para executar inúmeras operações. Os exemplos de dispositivos lógicos programáveis incluem, por exemplo, um arranjo lógico programável, um arranjo lógico programável em campo, um arranjo de porta programável em campo e outros dispositivos de hardware adequados. Com esse tipo de implementação, o código de programa 918 pode ser omitido, devido ao fato de que os processos para as diferentes modalidades são implantados em uma unidade de hardware.
[00174] Ainda em um outro ilustrativo, a unidade de processador 904 pode ser implantada com o uso de uma combinação de processadores encontrados em computadores e unidades de hardware. A unidade de processador 904 pode ter inúmeras unidades de hardware e inúmeros processadores que são configurados para operar o código de programa 918. Com esse exemplo revelado, alguns dos processos podem ser implantados em inúmeras unidades de hardware, enquanto outros processos podem ser implantados no número de processadores.
[00175] Em um outro exemplo, um sistema de barramento pode ser usado para implementar a estrutura de comunicações 902 e pode ser compreendido de um ou mais barramentos, tal como um barramento de sistema ou um barramento de entrada/saída. Obviamente, o sistema de barramento pode ser implantado com o uso de qualquer tipo adequados de arquitetura que forneça uma transferência dos dados entre diferentes componentes ou dispositivos fixados ao sistema de barramento.
[00176] Adicionalmente, uma unidade de comunicações pode incluir inúmeros dispositivos que transmitem dados, recebem dados ou transmitem e recebem dados. Uma unidade de comunicações pode ser, por exemplo, um modem ou um adaptador de rede, dois adaptadores de rede ou alguma combinação dos mesmos. Adicionalmente, uma memória pode ser, por exemplo, a memória 906 ou um cache, tal como encontrado em uma interface e um hub de controlador de memória que pode estar presente na estrutura de comunicações 902.
[00177] Dessa forma, as diferentes modalidades ilustrativas fornecem um método e um aparelho para gerar imagens virtuais de um ambiente virtual. Em uma modalidade ilustrativa, um método para gerar uma imagem virtual de um ambiente virtual é fornecido. Um gerenciador de realidade virtual recebe os dados de posição de mão para pelo menos uma mão de um usuário de um sistema de mão. O gerenciador de realidade virtual recebe os dados de posição de cabeça para a cabeça do usuário de um sistema montado em cabeça. O gerenciador de realidade virtual identifica os dados de posição baseados em imagem e um quadro de referência atual para um tempo atual com o uso de uma imagem alvo correspondente ao tempo atual. O gerenciador de realidade virtual gera os dados de controle de imagem virtual para o tempo atual com o uso dos dados de posição de mão, dos dados de posição de cabeça, dos dados de posição baseados em imagem e do quadro de referência atual. Os dados de controle de imagem virtual são configurados para uso por um aplicativo de imagem virtual.
[00178] As diferentes modalidades ilustrativas fornecem um método e um sistema para permitir que um usuário interaja com um ambiente virtual. Em particular, o sistema de realidade virtual 100 na Figura 1 permite que um usuário, tal como o usuário 104 na Figura 1, interaja com um aplicativo de imagem virtual, tal como o aplicativo de imagem virtual 137 na Figura 1. O usuário pode interagir com o aplicativo de imagem virtual de uma maneira que afete o ambiente virtual gerenciado com o uso do aplicativo de imagem virtual.
[00179] O sistema de realidade virtual 100 pode ser usado para executar engenharia virtual. Por exemplo, um usuário pode usar o sistema de realidade virtual 100 para interagir com um ambiente de engenharia virtual. O sistema de realidade virtual 100 é configurado para fornecer um nível desejado de coordenação mão-olho de tal modo que o usuário possa experimentar um nível desejado de imersão dentro do ambiente de engenharia virtual.
[00180] Nas Figuras e no texto, em um aspecto, é revelado um método para gerar uma imagem virtual 140 de um ambiente virtual 102, o método inclui: receber, em um gerenciador de realidade virtual 106, dados de posição de mão para pelo menos uma mão de um usuário 104 de um sistema de mão 131; receber, no gerenciador de realidade virtual 106, dados de posição de cabeça 120 para uma cabeça 112 do usuário 104 de um sistema montado em cabeça 108; identificar, pelo gerenciador de realidade virtual 106, dados de posição baseados em imagem 32S e um quadro de referência atual 330 para um tempo atual 314 com o uso de uma imagem alvo correspondente ao tempo atual 314; e gerar, pelo gerenciador de realidade virtual 106, dados de controle de imagem virtual para o tempo atual 314 com o uso dos dados de posição de mão 133, dos dados de posição de cabeça 120, dos dados de posição baseados em imagem 328 e do quadro de referência atual 330, em que os dados de controle de imagem virtual 135 são configurados para uso por um aplicativo de imagem virtual 137.
[00181] Em uma variante, o método inclui adicionalmente: enviar, pelo gerenciador de realidade virtual 106, os dados de controle de imagem virtual 135 para o aplicativo de imagem virtual 137; e gerar, pelo aplicativo de imagem virtual 137, uma imagem virtual atual 310 do ambiente virtual 102 para o tempo atual 314 com o uso dos dados de controle de imagem virtual 135 para o tempo atual 314.
[00182] Em uma outra variante, o método que inclui a etapa de gerar a imagem virtual atual 310 do ambiente virtual 102 para o tempo atual 314 usa os dados de controle de imagem virtual 135 para o tempo atual 314 inclui:
[00183] posicionar uma mão esquerda virtual 142 e uma mão direita virtual 144 na imagem virtual atual 130 com base nos dados de controle de imagem virtual 135, em que a mão esquerda virtual 142 é uma imagem que representa uma mão esquerda 124 do usuário 104 e a mão direita virtual 144 é uma imagem que representa uma mão direita 126 do usuário 104.
[00184] Ainda em uma outra variante, o método inclui adicionalmente: exibir, pelo gerenciador de realidade virtual 106, a imagem virtual atual 310 do ambiente virtual 102 para o usuário 104 em um dispositivo de exibição 116 associado ao sistema montado em cabeça 108, em que a imagem virtual atual 310 substitui uma imagem virtual anterior 312 exibida no dispositivo de exibição 116. Em um exemplo, o método inclui em que a etapa de gerar os dados de controle de imagem virtual 135 para o tempo atual 314 usa os dados de posição de mão 133, os dados de posição de cabeça 120, os dados de posição baseados em imagem 328 e o quadro de referência atual 330 inclui: sincronizar, pelo gerenciador de realidade virtual 106, os dados de posição de mão 133 e os dados de posição de cabeça 120 em relação ao tempo.
[00185] Ainda em uma outra variante, o método adicionalmente inclui: gerar dados de posição de mão esquerda 134 com o uso de uma luva esquerda 128 configurada para se conformar substancialmente a uma mão esquerda 124 do usuário 104; e gerar dados de posição de mão direita 136 com o uso de uma luva direita 130 configurada para se conformar substancialmente a uma mão direita 126 do usuário 104, em que os dados de posição de mão esquerda 134 e os dados de posição de mão direita 136 formam os dados de posição de mão 133.
[00186] Em um caso, o método inclui em que a etapa de gerar os dados de controle de imagem virtual 135 para o tempo atual 314 inclui: identificar dados de posição de mão modificados 422 com o uso dos dados de posição de mão esquerda 134 nos dados de posição de mão 133, dos dados de posição de mão direita 136 nos dados de posição de mão direita e dos dados de posição baseados em ima- gem 328; identificar os dados de posição de cabeça modificados 120 com o uso dos dados de posição de cabeça 120 e do quadro de referência atual 330; e gerar os dados de controle de imagem virtual 135 com o uso dos dados de posição de mão modificados 422, dos dados de posição de cabeça modificados 120 e de um conjunto de restrições 416. Em um outro caso, o método que inclui a etapa de gerar os dados de controle de imagem virtual 135 para o tempo atual 314 inclui adicionalmente identificar o conjunto de restrições 416 com o uso dos dados de usuário 145, em que os dados de usuário 145 são baseados em um conjunto de imagens de usuário 150.
[00187] Ainda em outro caso, o método que inclui a etapa de gerar os dados de controle de imagem virtual 135 com o uso dos dados de posição de mão modificados 422, dos dados de posição de cabeça modificados 120 e do conjunto de restrições 416 inclui: identificar a um erro de posição de dedo 426, um erro de posição de mão relativo 428 e um erro de posição de cabeça 430 com o uso de um controlador de retroalimentação 410, dados de posição de mão modificados, dados de posição de cabeça modificados 422 e conjunto de restrições 416; e gerar os dados de controle de imagem virtual 135 com um nível de precisão desejado com o uso do controlador de retroalimentação 410, do erro de posição de dedo 426, do erro de posição de mão relativo 428 e do erro de posição de cabeça 430.
[00188] Em um exemplo, o método que inclui o ambiente virtual 102 é uma simulação de um ambiente de engenharia selecionado a partir de um dentre um ambiente de projeto, um ambiente de fabricação, um ambiente de computador, um ambiente de teste, um ambiente de gerenciamento de dados, um ambiente de inspeção e um ambiente de operações.
[00189] Em um aspecto, um sistema de realidade virtual é revelado incluindo: um sistema montado em cabeça 108 configurado para ser vestido em relação a uma cabeça 112 de um usuário 104; e um gerenciador de realidade virtual 106 associado ao sistema montado em cabeça 108, em que o gerenciador de realidade virtual 106 é configurado para: receber dados de posição de mão 133 para pelo menos uma mão do usuário 104 de um sistema de mão 131; receber dados de posição de cabeça 120 para a cabeça 112 do usuário 104 de um sistema de sensor 118 no sistema montado em cabeça 108; identificar dados de posição baseados em imagem 328 e um quadro de referência atual 330 para um tempo atual 314 com o uso de uma imagem alvo correspondente ao tempo atual 314; e gerar dados de controle de imagem virtual 135 para o tempo atual 314 com o uso dos dados de posição de mão 133, dos dados de posição de cabeça 133, dos dados de posição baseados em imagem 328 e do quadro de referência atual 330, em que os dados de controle de imagem virtual 135 são configurados para uso por um aplicativo de imagem virtual 137.
[00190] Em uma variante, o sistema de realidade virtual que inclui o gerenciador de realidade virtual 106 é configurado para enviar os dados de controle de imagem virtual 135 ao aplicativo de imagem virtual 137 e receber uma imagem virtual atual 310 de um ambiente virtual 102 para o tempo atual 314 do aplicativo de imagem virtual 137. Em uma outra variante, o sistema de realidade virtual adicionalmente inclui: um dispositivo de exibição 116 associado ao sistema montado em cabeça 108, em que o gerenciador de realidade virtual 106 é adicionalmente configurado para exibir a imagem virtual atual 310 do ambiente virtual 102 para o usuário 104 no dispositivo de exibição 116. Ainda em uma outra variante, o sistema de realidade virtual que inclui a imagem virtual atual 310 inclui uma mão esquerda virtual 142 e uma mão direita virtual 144 em que a mão esquerda virtual 142 é uma imagem que representa uma mão esquerda 124 do usuário 104 e a mão direita virtual 14 é uma imagem que representa uma mão direita 126 do usuário 104.
[00191] Ainda em uma outra variante, o sistema de realidade virtual que inclui o gerenciador de realidade virtual 106 compreende: um coordenador de dados 336 configurado para sincronizar os dados de posição de mão 133 e os dados de posição de cabeça 120 em relação ao tempo, em que o coordenador de dados 336 inclui: um modulador de dados de mão 418 configurado para identificar dados de posição de mão modificados 422 com o uso dos dados de posição de mão esquerda 134 nos dados de posição de mão 133, dos dados de posição de mão direita 136 nos dados de posição de mão 133 e dos dados de posição baseados em imagem 328; um modulador de dados de cabeça 420 configurado para identificar dados de posição de cabeça modificados 120 com o uso dos dados de posição de cabeça 120 e do quadro de referência atual 330; um gerador de dados de controle 412 configurado para gerar os dados de controle de imagem virtual 135 com o uso dos dados de posição de mão modificados 422, dos dados de posição de cabeça modificados 120 e de um conjunto de restrições 416; e um identificador de restrição 406 configurado para identificar o conjunto de restrições 416 com o uso dos dados de usuário 145, em que os dados de usuário 145 são baseados em um conjunto de imagens de usuário 150.
[00192] Em um caso, o sistema de realidade virtual que inclui o coordenador de dados 336 adicionalmente inclui: um controlador de retroalimentação 410 configurado para identificar um erro de posição de dedo 426, um erro de posição de mão relativo 428 e um erro de posição de cabeça 430 com o uso dos dados de posição de mão modificados 422, dos dados de posição de cabeça modificados 120 e do conjunto de restrições 416, em que o gerador de dados de controle 412 é configurado para usar o erro de posição de dedo 428, o erro de posição de mão relativo 430 e o erro de posição de cabeça 430 para gerar os dados de controle de imagem virtual 135. Ainda em um outro caso, o sistema de realidade virtual que inclui o sistema de realidade virtual adicionalmente inclui:
[00193] o sistema de mão 131, em que o sistema de mão 131 inclui: uma luva esquerda 128 configurada para gerar dados de posição de mão esquerda 134, em que a luva esquerda 128 é configurada para se conformar substancialmente a uma mão esquerda 124 do usuário 104; e uma luva direita 130 configurada para gerar dados de posição de mão direita 136, em que a luva direita 130 é configurada para se conformar substancialmente a uma mão direita 126 do usuário 104.
[00194] Ainda em um outro caso, o sistema de realidade virtual que inclui os dados de controle de imagem virtual 135 é usado para controlar uma imagem virtual 140 de um ambiente virtual 102 em que o ambiente virtual 102 é uma simulação de um ambiente de engenharia 103 selecionado a partir de um de um ambiente de projeto, um ambiente de fabricação, um ambiente de computador, um ambiente de teste, um ambiente de gerenciamento de dados, um ambiente de inspeção e um ambiente de operações.
[00195] Em um aspecto, é revelado um computador que inclui: um barramento; um dispositivo de armazenamento não transitório conectado ao barramento, em que o dispositivo de armazenamento não transitório inclui código de programa; e uma unidade de processador 904 conectada ao barramento, em que a unidade de processador 904 é configurada para executar o código de programa para receber dados de posição de mão 133 para pelo menos uma mão de um usuário 104 de um sistema de mão 131; receber dados de posição de cabeça 120 para uma cabeça 112 do usuário 104 de um sistema montado em cabeça 108; identificar dados de posição baseados em imagem 328 e um quadro de referência atual 330 para um tempo atual 134 com o uso de uma imagem alvo correspondente ao tempo atual 134; e gerar dados de controle de imagem virtual 135 para o tempo atual 314 com o uso dos dados de posição de mão 133, dos dados de posição de cabeça 120, dos dados de posição baseados em imagem 328 e do quadro de referência atual 330, em que os dados de controle de imagem virtual 135 são configurados para uso por um aplicativo de imagem virtual 137.
[00196] Em uma variante, o computador que inclui a unidade de processador 904 é adicionalmente configurado para executar o código de programa para exibir uma imagem virtual atual 310 para o tempo atual 314, recebida do aplicativo de imagem virtual 137, em um dispositivo de exibição 116 associado ao sistema montado em cabeça 108.
[00197] A descrição das diferentes modalidades ilustrativas foi apresentada para propósitos de ilustração e a descrição não é destinada a ser aprofundada ou limitada às modalidades na forma revelada. Muitas modificações e variações serão evidentes para aqueles elementos de conhecimento comum na técnica. Adicionalmente, diferentes modalidades ilustrativas podem fornecer diferentes recursos em comparação a outras modalidades ilustrativas. A modalidade ou modalidades selecionadas são escolhidas e descritas a fim de explicar melhor os princípios das modalidades, da aplicação prática e para permitir que outros elementos de conhecimento comum na técnica compreendam a revelação para várias modalidades com várias modificações conforme adequado para o uso particular contemplado.
Claims (8)
1. Método para gerar uma imagem virtual (140) de um ambiente virtual (102), o método caracterizado pelo fato de que compreende: receber, em um gerenciador de realidade virtual (106), dados de posição de mão para pelo menos uma mão de um usuário (104) de um sistema de mão (131); receber, no gerenciador de realidade virtual (106), dados de posição de cabeça (120) para uma cabeça (112) do usuário (104) de um sistema montado em cabeça (108); fornecer uma imagem alvo por um sistema de imageamento (322) identificar, pelo gerenciador de realidade virtual (106), dados de posição baseados em imagem (328) e um quadro de referência atual (330) para um tempo atual (314) usando a imagem alvo correspondente ao tempo atual (314); e gerar, pelo gerenciador de realidade virtual (106), dados de controle de imagem virtual para o tempo atual (314) usando dados de posição de mão (133), os dados de posição de cabeça (120), os dados de posição baseados em imagem (328) e o quadro de referência atual (330), em que os dados de controle de imagem virtual (135) são configurados para uso por um aplicativo de imagem virtual (137), e em que o método ainda compreende: ajustar, repetidamente, através de um controlador de retroalimentação, os dados de controle de imagem virtual (135) até que tenham o nível desejado de precisão usando um erro de posição de dedo, um erro de posição de mão relativo e um erro de posição de cabeça, os dados de controle de imagem virtual (135) tendo o nível desejado de precisão, quando uma sequência de imagens virtuais do ambi-ente virtual gerado pelo aplicativo de imagem virtual representa uma simulação substancialmente em tempo real do movimento e presença do usuário dentro do ambiente virtual; em que o erro de posição de dedo é uma diferença entre posições de dedos identificados em dados de posição de mão modificados e posições dos dedos simulados em uma imagem virtual atual, em que o erro de posição de mão relativo é uma diferença entre posições das mãos identificadas em dados de posição de mãos modificados e posições das mãos virtuais na imagem virtual atual, em que o erro de posição de cabeça é uma diferença entre a posição da cabeça identificada em dados de posição de cabeça modificados e posição da cabeça na imagem virtual atual; e em que a etapa de gerar os dados de controle de imagem virtual (135) para o tempo atual (314) compreende: identificar os dados de posição de mão modificados (422) usando dados de posição de mão esquerda (134) nos dados de posição de mão (133), dados de posição de mão direita (136) nos dados de posição de mão direita, e dados de posição baseados em imagem (328); identificar os dados de posição de cabeça modificados (120) usando os dados de posição de cabeça (120) e o quadro de referência atual (330); gerar os dados de controle de imagem virtual (135) usando os dados de posição de mão modificados (422), os dados de posição de cabeça modificados (120) e um conjunto de restrições (416); e identificar o conjunto de restrições (416) usando dados de usuário (145), em que os dados de usuário (145) é baseado em um conjunto de imagens de usuário (150).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: enviar, pelo gerenciador de realidade virtual (106), os dados de controle de imagem virtual (135) para o aplicativo de imagem virtual (137); e gerar, pelo aplicativo de imagem virtual (137), uma imagem virtual atual (310) do ambiente virtual (102) para o tempo atual (314) com o uso dos dados de controle de imagem virtual (135) para o tempo atual (314); em que a etapa de gerar a imagem virtual atual (310) do ambiente virtual (102) para o tempo atual (314) usando os dados de controle de imagem virtual (135) para o tempo atual (314) inclui: posicionar uma mão esquerda virtual (142) e uma mão direita virtual (144) na imagem virtual atual (130) com base nos dados de controle de imagem virtual (135), em que a mão esquerda virtual (142) é uma imagem que representa uma mão esquerda (124) do usuário (104) e a mão direita virtual (144) é uma imagem que representa uma mão direita (126) do usuário (104).
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que ainda compreende: exibir, pelo gerenciador de realidade virtual (106), a imagem virtual atual (310) do ambiente virtual (102) para o usuário (104) em um dispositivo de exibição (116) associado ao sistema montado em cabeça (108), em que a imagem virtual atual (310) substitui uma imagem virtual anterior (312) exibida no dispositivo de exibição (116); e gerar dados de posição de mão esquerda (134) com o uso uma luva esquerda (128) configurada para se conformar substancialmente a uma mão esquerda (124) do usuário (104); e gerar dados de posição de mão direita (136) com o uso de uma luva direita (130) configurada para se conformar substancialmente a uma mão direita (126) do usuário (104), em que os dados de posição de mão esquerda (134) e os dados de posição de mão direita (136) formam os dados de posição de mão (133), em que a etapa de gerar os dados de controle de imagem virtual (135) para o tempo atual (314) usando os dados de posição de mão (133), os dados de posição de cabeça (120), os dados de posição baseados em imagem (328) e o quadro de referência atual (330) compreende: sincronizar, pelo gerenciador de realidade virtual (106), os dados de posição de mão (133) e os dados de posição de cabeça (120) em relação ao tempo.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de gerar os dados de controle de imagem virtual (135) usando dados de posição de mão modificados (422), os dados de posição de cabeça modificados (120) e o conjunto de restrições (416) compreende: identificar um erro de posição de dedo (426), um erro de posição de mão relativo (428) e um erro de posição de cabeça (430) usando um controlador de retroalimentação (410), os dados de posição de mão modificados, os dados de posição de cabeça modificados (422) e o conjunto de restrições (416); e gerar os dados de controle de imagem virtual (135) com nível de precisão desejado usando o controlador de retroalimentação (410), o erro de posição de dedo (426), o erro de posição de mão relativo (428) e o erro de posição de cabeça (430); em que o ambiente virtual (102) é uma simulação de um ambiente de engenharia selecionado a partir de um de um ambiente de projeto, ambiente de fabricação, ambiente de computador, ambiente de teste, ambiente de gerenciamento de dados, ambiente de inspeção e ambiente de operações.
5. Sistema de realidade virtual caracterizado pelo fato de que compreende: um sistema montado em cabeça (108) configurado para ser vestido em relação a uma cabeça (112) de um usuário (104); um sistema de imageamento (322) configurado para fornecer uma imagem alvo; e um gerenciador de realidade virtual (106) associado ao sistema montado em cabeça (108), em que o gerenciador de realidade virtual (106) é configurado para: receber dados de posição de mão (133) para pelo menos uma mão do usuário (104) de um sistema de mão (131); receber dados de posição de cabeça (120) para a cabeça (112) do usuário (104) de um sistema de sensor (118) no sistema montado em cabeça (108); identificar dados de posição baseados em imagem (328) e um quadro de referência atual (330) para um tempo atual (314) usando uma imagem alvo correspondente ao tempo atual (314); gerar dados de controle de imagem virtual (135) para o tempo atual (314) usando os dados de posição de mão (133), os dados de posição de cabeça (133), os dados de posição baseados em imagem (328), e o quadro de referência atual (330), em que os dados de controle de imagem virtual (135) são configurados para uso por um aplicativo de imagem virtual (137); em que o gerenciador de realidade virtual é ainda configurado para: em que o método ainda compreende: ajustar, repetidamente, através de um controlador de retroalimentação, os dados de controle de imagem virtual até que tenham o nível desejado de precisão usando um erro de posição de dedo, um erro de posição de mão relativo e um erro de posição de cabeça, os dados de controle de imagem virtual (135) tendo o nível desejado de precisão, quando uma sequência de imagens virtuais do ambiente virtual gerado pelo aplicativo de imagem virtual representa uma simulação substancialmente em tempo real do movimento e presença do usuário dentro do ambiente virtual; em que o erro de posição de dedo é uma diferença entre posições de dedos identificados em dados de posição de mão modificados e posições dos dedos simulados em uma imagem virtual atual, em que o erro de posição de mão relativo é uma diferença entre posições das mãos identificadas em dados de posição de mãos modificados e posições das mãos virtuais na imagem virtual atual, e em que o erro de posição de cabeça é uma diferença entre a posição da cabeça identificada em dados de posição de cabeça modificados e posição da cabeça na imagem virtual atual; e em que gerar os dados de controle de imagem virtual (135) para o tempo atual (314) compreende: identificar os dados de posição de mão modificados (422) usando dados de posição de mão esquerda (134) nos dados de posição de mão (133), dados de posição de mão direita (136) nos dados de posição de mão direita, e dados de posição baseados em imagem (328); identificar os dados de posição de cabeça modificados (120) usando os dados de posição de cabeça (120) e o quadro de referência atual (330); gerar os dados de controle de imagem virtual (135) usando os dados de posição de mão modificados (422), os dados de posição de cabeça modificados (120) e um conjunto de restrições (416); e identificar o conjunto de restrições (416) usando dados de usuário (145), em que os dados de usuário (145) é baseado em um conjunto de imagens de usuário (150).
6. Sistema de realidade virtual, de acordo com a reivindicação 5, caracterizado pelo fato de que ainda compreende: um dispositivo de exibição (116) associado ao sistema montado em cabeça (108), em que o gerenciador de realidade virtual (106) é adicionalmente configurado para exibir uma imagem virtual atual (310) do ambiente virtual (102) para o usuário (104) no dispositivo de exibição (116); em que o gerenciador de realidade virtual (106) é configurado para enviar os dados de controle de imagem virtual (135) para o aplicativo de imagem virtual (137) e receber a imagem virtual atual (310) do ambiente virtual (102) para o tempo atual (314) do aplicativo de imagem virtual (137); em que a imagem virtual atual (310) inclui uma mão esquerda virtual (142) e uma mão direita virtual (144) em que a mão esquerda virtual (142) é uma imagem que representa a mão esquerda (124) do usuário (104) e a mão direita virtual (144) é uma imagem que representa a mão direita (126) do usuário (104).
7. Sistema de realidade virtual, de acordo com a reivindica- ção 5 ou 6, caracterizado pelo fato de que o gerenciador de realidade virtual (106) compreende: um coordenador de dados (336) configurado para sincronizar os dados de posição de mão (133) e os dados de posição de cabeça (120) em relação ao tempo, em que o coordenador de dados (336) compreende: um modulador de dados de mão (418) configurado para identificar dados de posição de mão modificados (422) usando dados de posição de mão esquerda (134) nos dados de posição de mão (133), dados de posição de mão direita (136) nos dados de posição de mão (133) e os dados de posição baseados em imagem (328); um modulador de dados de cabeça (420) configurado para identificar dados de posição de cabeça modificados (120) usando os dados de posição de cabeça (120) e o quadro de referência atual (330); um gerador de dados de controle (412) configurado para gerar os dados de controle de imagem virtual (135) usando os dados de posição de mão modificados (422), os dados de posição de cabeça modificados (120) e de um conjunto de restrições (416); e um identificador de restrição (406) configurado para identificar o conjunto de restrições (416) usando dados de usuário (145), em que os dados de usuário (145) são baseados em um conjunto de imagens de usuário (150); em que o coordenador de dados (336) ainda compreende: um controlador de retroalimentação (410) configurado para identificar um erro de posição de dedo (426), um erro de posição de mão relativo (428) e um erro de posição de cabeça (430) usando os dados de posição de mão modificados (422), os dados de posição de cabeça modificados (120) e o conjunto de restrições (416), em que o gerador de dados de controle (412) é configurado para usar o erro de posição de dedo (428), o erro de posição de mão relativo (430) e o erro de posição de cabeça (430) para gerar os dados de controle de imagem virtual (135).
8. Sistema de realidade virtual, de acordo com qualquer uma das reivindicações 5 a 7, caracterizado pelo fato de que o sistema de realidade virtual ainda compreende: o sistema de mão (131), em que o sistema de mão (131) compreende: uma luva esquerda (128) configurada para gerar dados de posição de mão esquerda (134), em que a luva esquerda (128) é configurada para se conformar substancialmente a uma mão esquerda (124) do usuário (104); e uma luva direita (130) configurada para gerar dados de posição de mão direita (136), em que a luva direita (130) é configurada para se conformar substancialmente a uma mão direita (126) do usuário (104); em que os dados de controle de imagem virtual (135) são usados para controlar uma imagem virtual (140) de um ambiente virtual (102) em que o ambiente virtual (102) é uma simulação de um ambiente de engenharia (103) selecionado a partir de um dentre ambiente de projeto, ambiente de fabricação, ambiente de computador, ambiente de teste, ambiente de gerenciamento de dados, ambiente de inspeção e ambiente de operações.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/438,692 | 2012-04-03 | ||
US13/438,692 US9170648B2 (en) | 2012-04-03 | 2012-04-03 | System and method for virtual engineering |
Publications (2)
Publication Number | Publication Date |
---|---|
BR102013007952A2 BR102013007952A2 (pt) | 2015-08-04 |
BR102013007952B1 true BR102013007952B1 (pt) | 2020-10-20 |
Family
ID=48143054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR102013007952-9A BR102013007952B1 (pt) | 2012-04-03 | 2013-04-02 | método para gerar uma imagem virtual de um ambiente virtual e sistema de realidade virtual |
Country Status (7)
Country | Link |
---|---|
US (1) | US9170648B2 (pt) |
EP (1) | EP2648073B1 (pt) |
JP (1) | JP6063749B2 (pt) |
KR (1) | KR101965454B1 (pt) |
CN (1) | CN103365416B (pt) |
AU (1) | AU2013200623B2 (pt) |
BR (1) | BR102013007952B1 (pt) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5993127B2 (ja) * | 2011-10-25 | 2016-09-14 | オリンパス株式会社 | 頭部装着型表示装置、情報端末、プログラム、情報記憶媒体、画像処理システム、頭部装着型表示装置の制御方法及び情報端末の制御方法 |
US20150185825A1 (en) * | 2013-12-30 | 2015-07-02 | Daqri, Llc | Assigning a virtual user interface to a physical object |
CN106664362B (zh) * | 2014-07-02 | 2019-08-27 | 索尼公司 | 图像处理装置、图像处理方法和计算机可读介质 |
US20160027220A1 (en) * | 2014-07-24 | 2016-01-28 | JRC Integrated Systems, Inc. | Low latency methodologies for a headset-mounted camera on virtual reality displays |
US10725297B2 (en) * | 2015-01-28 | 2020-07-28 | CCP hf. | Method and system for implementing a virtual representation of a physical environment using a virtual reality environment |
US9852546B2 (en) | 2015-01-28 | 2017-12-26 | CCP hf. | Method and system for receiving gesture input via virtual control objects |
US10726625B2 (en) | 2015-01-28 | 2020-07-28 | CCP hf. | Method and system for improving the transmission and processing of data regarding a multi-user virtual environment |
RU2601169C1 (ru) * | 2015-06-11 | 2016-10-27 | Виталий Витальевич Аверьянов | Способ и устройство для взаимодействия с виртуальными объектами |
CN105824411A (zh) * | 2016-03-07 | 2016-08-03 | 乐视致新电子科技(天津)有限公司 | 基于虚拟现实的交互控制方法及装置 |
CN105913715A (zh) * | 2016-06-23 | 2016-08-31 | 同济大学 | 适用于建筑环境工学研究的vr可共享实验系统及方法 |
CN107798704B (zh) * | 2016-08-30 | 2021-04-30 | 成都理想境界科技有限公司 | 一种用于增强现实的实时图像叠加方法及装置 |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
KR102464296B1 (ko) * | 2017-01-24 | 2022-11-04 | 론자 리미티드 | 가상 또는 증강 현실 디스플레이를 사용하여 산업적 메인터넌스를 수행하기 위한 방법들 및 시스템들 |
CN107515673B (zh) * | 2017-08-03 | 2020-05-08 | 合肥云内动力有限公司 | 互感手套及基于互感手套的汽车线路检测方法 |
ES2704373B2 (es) * | 2017-09-15 | 2020-05-29 | Seat Sa | Método y sistema para mostrar información de realidad virtual en un vehículo |
CN108196669B (zh) * | 2017-12-14 | 2021-04-02 | 网易(杭州)网络有限公司 | 游戏角色模型的修正方法、装置、处理器及头戴式显示设备 |
DE102018200011A1 (de) | 2018-01-02 | 2019-07-04 | Ford Global Technologies, Llc | Testsystem und Verfahren zum Testen einer Steuerung eines zumindest teilweise autonom fahrenden Fahrzeugs in einer virtuellen Umgebung |
CN108762489B (zh) * | 2018-05-07 | 2021-09-21 | 武汉灏存科技有限公司 | 基于数据手套的控制方法、数据手套、系统及存储介质 |
KR102200998B1 (ko) * | 2018-11-27 | 2021-01-11 | (주)투케이시스템 | 가상현실 기반 근골격 건강 상태 측정 시스템 |
CN113330390A (zh) * | 2018-11-30 | 2021-08-31 | 奇跃公司 | 用于化身运动的多模态手的位置和取向 |
CN113377028B (zh) * | 2021-06-15 | 2022-11-18 | 湖南汽车工程职业学院 | 一种基于vr及5d的动力蓄电池测试教学系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381158A (en) | 1991-07-12 | 1995-01-10 | Kabushiki Kaisha Toshiba | Information retrieval apparatus |
JP3311025B2 (ja) * | 1991-07-12 | 2002-08-05 | 株式会社東芝 | 情報検索装置 |
US5320538A (en) | 1992-09-23 | 1994-06-14 | Hughes Training, Inc. | Interactive aircraft training system and method |
US5495576A (en) * | 1993-01-11 | 1996-02-27 | Ritchey; Kurtis J. | Panoramic image based virtual reality/telepresence audio-visual system and method |
US5980256A (en) * | 1993-10-29 | 1999-11-09 | Carmein; David E. E. | Virtual reality system with enhanced sensory apparatus |
US5436638A (en) * | 1993-12-17 | 1995-07-25 | Fakespace, Inc. | Image display method and apparatus with means for yoking viewpoint orienting muscles of a user |
US6127990A (en) * | 1995-11-28 | 2000-10-03 | Vega Vista, Inc. | Wearable display and methods for controlling same |
US6184847B1 (en) * | 1998-09-22 | 2001-02-06 | Vega Vista, Inc. | Intuitive control of portable data displays |
US6012926A (en) | 1996-03-27 | 2000-01-11 | Emory University | Virtual reality system for treating patients with anxiety disorders |
JP2000102036A (ja) * | 1998-09-22 | 2000-04-07 | Mr System Kenkyusho:Kk | 複合現実感提示システム、複合現実感提示方法、マン・マシーンインタフェース装置、およびマン・マシーンインタフェース方法 |
JP3363837B2 (ja) * | 1999-06-11 | 2003-01-08 | キヤノン株式会社 | ユーザインタフェース装置および情報処理方法 |
US6771294B1 (en) | 1999-12-29 | 2004-08-03 | Petri Pulli | User interface |
US7190331B2 (en) * | 2002-06-06 | 2007-03-13 | Siemens Corporate Research, Inc. | System and method for measuring the registration accuracy of an augmented reality system |
WO2008091857A1 (en) | 2007-01-22 | 2008-07-31 | Bell Helicopter Textron, Inc. | System and method for controlling a virtual reality environment by an actor in the virtual reality environment |
US8615383B2 (en) * | 2008-01-18 | 2013-12-24 | Lockheed Martin Corporation | Immersive collaborative environment using motion capture, head mounted display, and cave |
JP4318056B1 (ja) * | 2008-06-03 | 2009-08-19 | 島根県 | 画像認識装置および操作判定方法 |
US8577084B2 (en) * | 2009-01-30 | 2013-11-05 | Microsoft Corporation | Visual target tracking |
US8267781B2 (en) | 2009-01-30 | 2012-09-18 | Microsoft Corporation | Visual target tracking |
JP5388909B2 (ja) | 2010-03-09 | 2014-01-15 | 株式会社日立製作所 | ハイパバイザ、計算機システム、及び、仮想プロセッサのスケジューリング方法 |
JP5960796B2 (ja) * | 2011-03-29 | 2016-08-02 | クアルコム,インコーポレイテッド | ローカルマルチユーザ共同作業のためのモジュール式のモバイル接続ピコプロジェクタ |
RU2017115669A (ru) * | 2011-10-28 | 2019-01-28 | Мэджик Лип, Инк. | Система и способ для дополненной и виртуальной реальности |
-
2012
- 2012-04-03 US US13/438,692 patent/US9170648B2/en active Active
-
2013
- 2013-01-09 KR KR1020130002537A patent/KR101965454B1/ko active IP Right Grant
- 2013-01-15 JP JP2013004169A patent/JP6063749B2/ja active Active
- 2013-02-04 AU AU2013200623A patent/AU2013200623B2/en active Active
- 2013-03-27 EP EP13161235.0A patent/EP2648073B1/en active Active
- 2013-04-02 BR BR102013007952-9A patent/BR102013007952B1/pt active IP Right Grant
- 2013-04-02 CN CN201310113098.7A patent/CN103365416B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR101965454B1 (ko) | 2019-04-03 |
JP2013214285A (ja) | 2013-10-17 |
EP2648073A3 (en) | 2015-03-18 |
EP2648073B1 (en) | 2020-01-08 |
US20130257904A1 (en) | 2013-10-03 |
JP6063749B2 (ja) | 2017-01-18 |
AU2013200623A1 (en) | 2013-10-17 |
AU2013200623B2 (en) | 2017-10-26 |
CN103365416A (zh) | 2013-10-23 |
CN103365416B (zh) | 2017-05-24 |
EP2648073A2 (en) | 2013-10-09 |
BR102013007952A2 (pt) | 2015-08-04 |
US9170648B2 (en) | 2015-10-27 |
KR20130112735A (ko) | 2013-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR102013007952B1 (pt) | método para gerar uma imagem virtual de um ambiente virtual e sistema de realidade virtual | |
Izard et al. | Virtual reality educational tool for human anatomy | |
US11557216B2 (en) | Adaptive visual overlay for anatomical simulation | |
Spanlang et al. | How to build an embodiment lab: achieving body representation illusions in virtual reality | |
CN106537261B (zh) | 全息键盘显示 | |
US20180165864A1 (en) | Virtual reality system using multiple force arrays for a solver | |
US9330502B2 (en) | Mixed reality simulation methods and systems | |
KR102212250B1 (ko) | 증강 현실 오브젝트의 신체 고정식 배치 | |
CN103443742B (zh) | 用于凝视和姿势接口的系统和方法 | |
BR102013027355A2 (pt) | Sistema de exibição de realidade virtual | |
US20200363867A1 (en) | Blink-based calibration of an optical see-through head-mounted display | |
CN106484115A (zh) | 用于增强和虚拟现实的系统和方法 | |
CN108369478A (zh) | 用于交互反馈的手部跟踪 | |
WO2018225187A1 (ja) | 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法 | |
US10846934B2 (en) | Camera-based object tracking and monitoring | |
JP2013214285A5 (pt) | ||
Leoncini et al. | Multiple NUI device approach to full body tracking for collaborative virtual environments | |
US20230054973A1 (en) | Information processing apparatus, information processing method, and information processing program | |
Sziebig et al. | Achieving Total Immersion: Technology Trends behind Augmented Reality- A Survey | |
Dontschewa et al. | Mixed reality smart glasses application for interactive working | |
CN109716395B (zh) | 在虚拟现实中保持对象稳定性 | |
US20240212302A1 (en) | Artificial Reality Weight Simulation for a Virtual Object | |
Boulanger | Applications of Augmented Reality-Current State of the Art: Current State of the Art | |
Cacciatore | Ragdoll Matching: a non-learned physics-based approach to Humanoid Animation applied to VR Avatars. | |
Novák-Marcinčin et al. | The options of motion tracking in the virtual reality systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of an application: publication of a patent application or of a certificate of addition of invention | ||
B06F | Objections, documents and/or translations needed after an examination request according art. 34 industrial property law | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure | ||
B09A | Decision: intention to grant | ||
B16A | Patent or certificate of addition of invention granted |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 02/04/2013, OBSERVADAS AS CONDICOES LEGAIS. |