desenvolvimento em leap motion parte 1

Post on 16-Jul-2015

347 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Desenvolvimento em Leap Motion

Gabriel Toledo Peregrino Lilian Coutinho Alves Meiga

Eng. De Controle de Automação

O Aparelho

Calibrando o Dispositivo

• Abra a aplicação Leap Motion Settings

• Selecione a página Troubleshooting

• Clique em Recalibrate Device

• Siga as instruções na tela

Sistema de Coordenadas

Campo de Visão

• 120º de Profundidade

• 150º de Largura

Coleta de Dados

• Mãos – Ambas as mãos

• Dedos – Todos os dedos

• Ferramentas – Todas as ferramentas

• Gestos – Todos os gestos iniciados, terminados ou que sofreram alteração

Coleta de Dados

Utiliza-se as seguintes funções para o uso de objetos específicos:

• Frame.Hand() • Frame.Finger() • Frame.Tool() • Frame.Pointable() • Frame.Gesture()

Movimentos

Movimentos são derivados da comparação entre um frame anterior e o atual

Movimentos

Utiliza-se os seguintes atributos: • RotationAxis • RotationAngle • RotationMatrix • ScaleFactor • Translation

Estes são usados para manipular objetos sem a necessidade de

rastrear mãos e dedos durante múltiplos frames

Mãos

A API é capaz de fornecer uma série de informações sobre uma mão. Porém, nem sempre é possível determinar todos os atributos em um único frame

Mãos

O Leap não determina se a mão é a direita ou esquerda

É possível que mais de duas mãos apareçam no sensor, embora isso não seja recomendado para uma melhor qualidade do rastreamento dos gestos e movimentos

Mãos - Atributos

• PalmPosition – O centro da palma medido em milimetros a partir da origem do Leap

• PalmVelocity – Velocidade da palma, em mm/s

Mãos - Atributos

• PalmNormal – Um vetor perpendicular ao plano formado pela palma da mão

• Direction – Um vetor do centro da palma em direção aos dedos

Mãos - Atributos

• SphereCenter – O centro de uma esfera em função da curvatura da mão

• SphereRadius – O Raio de uma esfera um função da curvatura da mão

Dedos e Ferramentas

Pode-se acessar dedos e ferramentas associados a uma mão usando uma das três listas:

• Apontáveis – Ambos dedos e ferramentas como objetos apontáveis

• Dedos – Apenas dedos

• Ferramentas – Apenas ferramentas

Dedos e Ferramentas - Modelos

O Leap diferencia dedos de ferramentas de acordo com a forma. Uma ferramenta é mais longa, fina e reta que um dedo.

Dedos e Ferramentas - Modelos

As características físicas de “apontáveis” incluem:

• Length – Comprimento da porção visível do objeto

• Width – Largura média da porção visível do objeto

Dedos e Ferramentas - Modelos

• Direction – Vetor que aponta para a mesma direção que o objeto

• TipPosition – Posição, em milímetros, da ponta do objeto

• TipVelocity – Velocidade, em mm/s, da ponta do objeto

Gestos

O Leap Motion reconhece certos padrões de movimento, que podem indicar um comando do usuário

Gestos

Os seguintes movimentos são reconhecidos pelo dispositivo:

• Circle – Único dedo traçando um circulo

Gestos

• Swipe – Movimento linear da mão

Gestos

• Key Tap – Toque para baixo, semelhante ao apertar de uma tecla

Gestos

• Screen Tap – Toque para frente, semelhante ao pressionar de uma tela vertical

Arquitetura

A SDK do Leap Motion oferece duas opções de coleta de dados:

• Interface nativa – Biblioteca dinâmica que pode ser

usada para criar novas aplicações compatíveis com o Leap

• Interface WebSocket – Permite criar aplicações na

web

Interfaces

Interface Nativa

Serviço Leap Aplicativo de

Ajustes do Leap

Aplicação em Primeiro Plano

Aplicação em Segundo Plano

USB

1 2

3

4

Interface Nativa

1. O serviço Leap Motion recebe os dados do controlador pela porta USB, processa as informações e envia para as aplicações em execução. Por padrão, o serviço só envia os dados de rastreamento para as aplicações em primeiro plano

Serviço Leap 1

Interface Nativa

2. Executado separadamente do serviço, permite que o usuário configure a instalação do Leap Motion

Aplicativo de Ajustes do Leap

2

Interface Nativa

3. A aplicação conecta-se ao serviço usando a biblioteca nativa do Leap Motion

Aplicação em Primeiro Plano

3

Interface Nativa

4. Quando uma aplicação perde o foco no sistema operacional, o Leap pára de enviar dados a ela. Aplicações podem requerir permissão para receber dados enquanto no segundo plano

Aplicação em Segundo Plano

4

Interface WebSocket Serviço Leap

____________________ Servidor WebSocket Domínio: localhost

Porta: 6437 Aplicativo de

Ajustes do Leap

Biblioteca de cliente Leap.js

_________________________ Aplicação Web

Navegador

USB

Mensagens Formatadas JSON

1 2

3

4

Serviço Leap ____________________ Servidor WebSocket Domínio: localhost

Porta: 6437

Interface WebSocket

1

1. O serviço fornece um provedor WebSocket em

http://127.0.0.1:6437

Interface WebSocket

Aplicativo de Ajustes do Leap

2

2. O painel de controle permite que o usuário final ative ou

desative o servidor WebSocket

Interface WebSocket

Mensagens Formatadas JSON

3

3. O servidor envia os dados rastreados na forma de mensagem JSON. Uma

aplicação pode mandar mensagens de configuração para o servidor

Interface WebSocket

Biblioteca de cliente Leap.js

_________________________ Aplicação Web

Navegador

4

4. A biblioteca do cliente leap.js pode ser usada em aplicações da Web. A biblioteca estabelece

a conexão com o servidor

top related