Sexta-feira, 2 de Março de 2012
#entrega02 | p2 | viabilidade técnica

Para facilitar o estudo da viabilidade técnica, decidimos dividir as várias tecnologias de acordo com a componente do sistema em que poderão servir de suporte. Assim, temos três categorias: interação com o desenho, interação com o telemóvel e interação com o website.

 

1) Interação com o desenho

Neste ponto procuramos analisar as tecnologias necessárias à recolha dos movimentos corporais do utilizador, de forma a poder executar ações sobre o desenho.

 

a) Dispositivo móvel com acelerómetro e giroscópio embutidos

A generalização dos smartphones com sensores de movimento levou a uma revolução no modo como interagimos com estes dispositivos. Atualmente, os dispositivos mais avançados estão dotados de acelerómetro, mede a aceleração linear do dispositivo; giroscópio, deteta a orientação no espaço; pedómetro, bússola, termómetro, barómetros e leitores de impressões digitais.

Para o nosso projeto, a interação com a projeção poderia ser feita através do telemóvel, como se de uma lata de tinta se tratasse. Para isso, seria necessário detetar não apenas a orientação do dispositivo face ao seu eixo, mas também a sua localização relativa a um ponto fixo, ponto de calibragem inicial ou algum sensor da instalação. Assim, seria necessário combinar os dados recolhidos pelo acelerómetro e do giroscópio, de modo a detetar a aceleração ocorrida e orientação, calcular a velocidade atual do movimento e a posição relativa ao início da deslocação. Esta técnica de navegação denomina-se “Sistema de Navegação Inercial” e é utilizado, por exemplo, em mísseis, aeronaves e navios.

No entanto, a utilização deste sistema depende muito do rigor dos sensores e dos cálculos efetuados, tornando-a numa alternativa difícil de implementar, o que poderá resultar numa experiência para o utilizador mais frustrante. Por outro lado, a presença do giroscópio é ainda limitada a telemóveis mais avançados, tendência que se prevê melhorar nos próximos anos.


Links úteis:
3-axis Gyroscope, the new killer product for cell phones
Mobile accelerometers and gyroscopes explained
How iPhone 4's Gyroscope Sets New Standard For Mobile Motion
Robotics - Measuring Distance with an Accelerometer
Inertial navigation system
Verificar quais os dispositivos com giroscópio

Vantagens Desvantagens
- Familiaridade dos utilizadores com o dispositivo é maior;
- O dispositivo não necessita de ser disponibilizado pela instalação.
- Compatibilidades de SO;
- Acesso aos mercados de aplicações pode ser demorado e necessitar de uma ligação à internet;
- A presença do giroscópio é atualmente reservada a dispositivos mais avançados (dispendiosos).

 


 

b) Microsoft Kinect

Em 2010, a Microsoft lança a câmara que promete revolucionar o modo como interagimos como a tecnologia. Inicialmente apelidado de “Project Natal”, o Kinect começou por ser disponibilizado como acessório para a consola XBOX 360. Atualmente existe já uma versão dedicada ao PC, permitindo que a comunidade de utilizadores e produtores de conteúdos para a plataforma se desenvolva.

A programação de conteúdos para a plataforma poderá ser desenvolvida diretamente numa linguagem de programação, C++ ou C#, ou através das diversas frameworks desenvolvidas pela Microsoft e comunidade, permitindo outras linguagens como ActionScript 3.0 e Java, por exemplo.

O dispositivo incorpora uma câmara RGB, sensores de profundidade por infravermelhos e um array de microfones, de modo a distinguir a voz dos utilizadores dos ruídos de fundo. A combinação destes sensores permite a captura 3D do movimento corporal do utilizador, reconhecimento facial e de voz.


Links úteis:
Kinect Effect
Recursos para o desenvolvimento para Kinect

Vantagens Desvantagens
- Boa relação qualidade/preço;
- Abertura da plataforma ao desenvolvimento pela comunidade;
- Reconhecimento do posicionamento 3D das várias partes do corpo (não se limita a reconhecer movimento);
- Reconhecimento facial e de comandos de voz;
- Não necessita de dispositivos extras para interação com a plataforma;
- Multi-utilizador;
- Permite combinar vários dispositivos.
- É necessário posicionar o dispositivo corretamente (distância mínima de 40cm).

 


 

c) Playstation Eye + Playstation Move

O pacote Plastation Eye com os comandos Playstation Move permite detetar os movimentos de até quatro utilizadores.

O comando é dotado de uma esfera luminosa no topo, adaptando a sua cor ao ambiente da sala onde é utilizado. Desta forma, a esfera toma uma cor única, não se misturando com o fundo (efeito chroma key), que será captada pela câmara, Playstation Eye.


Links úteis:
PlayStation®Move Motion Controller
E3 2009 - PS3 Motion Controller

Vantagens Desvantagens
- Multi-jogador (4 comandos/utilizadores);
- Feedback luminoso e por vibração;
- Permite localização 3D no espaço.
- Plataforma mais fechada;
- Necessita de um comando por utilizador;
- Necessita de um segundo comando para detetar o movimento de ambas as mãos;
- O comando terá de ser responsabilidade da instalação;
- Custo final acrescido pela necessidade de vários comandos;
- Autonomia dos comandos (bateria).

 


 

d) Nintendo Wii Remote

O comando apresentado pela Nintendo foi pioneiro na deteção de movimentos por acelerómetro em videojogos.

Combinando os dados recolhidos pelo acelerómetro de 3 eixos e com os dados do detetor de infravermelhos, é possível calcular a orientação do comando e o local para onde este aponta. O recetor infravermelhos presente no topo do comando calcula a posição da mira no ecrã através da posição do emissor de infravermelhos que se encontra fixo (geralmente sobre a TV).

 

A introdução do Wii Motion Plus vem adicionar um giroscópio ao sistema, permitindo-nos melhor detalhe na captura do movimento e orientação do comando, e até o desenvolvimento de um sistema de navegação por inércia.


Links úteis:
How the Wii Remote Works
How to build your own Wii in 10 minutes
Projetos com Wii Remote de Johnny Chung Lee

Vantagens Desvantagens
- Multi-jogador (4 comandos/utilizadores);
- Feedback sonoro no comando e vibração;
- Comando com acelerómetro e giroscópio;
- Comando com capacidade de armazenamento (16KB);
- Maior número de botões e botões direcionais;
- Sensor ótico por infravermelhos.
- Plataforma mais fechada;
- Necessita de um comando por utilizador;
- Necessita de um segundo comando para detetar o movimento de ambas as mãos;
- Nunchuk com sensor menos preciso;
- Giroscópio necessita do Wii Motion Plus;
- O comando terá de ser responsabilidade da instalação;
- Custo final acrescido pela necessidade de vários comandos;
- Distância reduzida do sensor de infravermelhos e pouco
- Autonomia dos comandos (pilhas ou bateria comprada à parte).

 


 

e) Ultrasons

A utilização de ultrassons para reconhecimento espacial é uma tecnologia com alguma maturação, sendo utilizada na navegação marítima, exploração do fundo marítimo e do subsolo, medicina, entre outras áreas. A sua utilização é também observada na natureza, nomeadamente nos sistemas de navegação dos morcegos e golfinhos.

Dotando um dispositivo de um emissor de ultrassons, ou um conjunto destes, é possível receber os sons emitidos por diversos microfones e, calculando do desfasamento entre os tempos registados em cada ponto, calcular a posição no espaço dos dispositivos.

No entanto, esta tecnologia ainda não está muito presente no mercado doméstico, podendo tornar o seu desenvolvimento numa tarefa mais árdua e dispendiosa.


Links úteis:
IGS-190 Hybrid Motion Capture System
3D motion controller from ITRI

Vantagens Desvantagens
- A luminosidade e as cores ambiente não afetam o funcionamento. - Pouca documentação;
- Tecnologia mais dispendiosa;
- Possibilidade de interferências.

 

 

Analisando as várias tecnologias que poderiam ser utilizadas, o Kinect destaca-se como a tecnologia mais propícia a ser utilizada. Ao contrário de outras opções, não necessita de dispositivos individuais para cada utilizador e permite a captura dos movimentos a três dimensões, tornando-a numa excelente opção e a um preço mais acessível. Por outro lado, o facto de terem sido disponibilizadas ferramentas de desenvolvimento pela Microsoft e de já existir uma versão dedicada para PC, refletem-se numa maior comunidade de produtores de conteúdos, maior documentação e mais ferramentas. Contrariamente à maioria das opções, através de algumas frameworks, permite o desenvolvimento em linguagens de programação já conhecidas do grupo, nomeadamente o AS3.


Funcionamento do Kinect com PC

 

Os dados recolhidos pelos sensores são enviados para um socket server, utilizando o driver libfreenect para assegurar a comunicação. Este servidor irá analisar os dados do “Depth stream” recolhido e disponibiliza-los a pedido do AS3.

Embora já existam alguns projetos para desempenhar o papel deste servidor, apenas durante os primeiros contactos com o Kinnect é que poderemos identificar qual a plataforma indicada ao nosso trabalho. Por enquanto, ficam apenas registadas as ligações às frameworks.

 

 

 

 

2) Interação com o telemóvel

Neste ponto procuramos analisar as tecnologias necessárias à utilização de um dispositivo móvel para autenticar o utilizador e servir de palete de cores/ferramentas à aplicação.

 

Aplicações Nativas (desenvolvida na linguagem nativa do SO do dispositivo)
Java Vantagens
- O facto de o sistema operativo Android usar a linguagem Java nativamente permite uma melhor compatibilidade e desempenho da aplicação.
Desvantagens
- A necessidade de aprender uma linguagem nova pode atrasar o desenvolvimento do trabalho e resultar num produto abaixo das espectativas;
- Incompatibilidade com outros sistemas operativos;
- O download e instalação da aplicação seria um pouco desmotivador, já que, para além disto, o utilizador também necessita de cumprir outros requisitos para poder utilizar o LivePainting.
Objective-C Vantagens
- O facto de o sistema operativo iOS utilizar nativamente a linguagem Objective-C permite uma melhor compatibilidade e desempenho da aplicação.
Desvantagens
- A necessidade de aprender uma linguagem nova pode atrasar o desenvolvimento do trabalho e resultar num produto abaixo das espectativas;
- O download e instalação da aplicação seria um pouco desmotivador, já que, para além disto, o utilizador também necessita de cumprir outros requisitos para poder utilizar o LivePainting.
 
Aplicações Web (desenvolvida numa linguagem Web)
Phonegap Vantagens
- Compatibilidade com um maior número de dispositivos (trabalha com vários sistemas operativos). Isto deve-se ao facto de a programação de aplicações utilizando PhoneGap ser feita numa linguagem única, que depois será convertida nas diversas linguagens nativas. Isto permite o desenvolvimento multi-plataforma;
- Facilidade para o desenvolvimento da aplicação visto que o PhoneGap utiliza linguagens de programação que são familiares ao nosso grupo, tais como HTML, CSS e JavaScript;
- Possibilidade de acesso facilitado a componentes do telemóvel, tais como acelerómetro e a dados de geolocalização.
Desvantagens
- A necessidade de o utilizador ter de descarregar e instalar a aplicação.
Website online
(alojado na internet e/ou na instalação)
Vantagens
- Utilização de linguagens de programação que nos são familiares, o que vai agilizar e simplificar o processo de programação da web-app;
- A existência de um ponto de acesso wi-fi no local da instalação, vai permitir a todos os utilizadores com um dispositivo compatível conectarem-se à instalação do LivePainting;
- A maior rapidez, do ponto de vista do utilizador, que assim não necessita de descarregar uma aplicação e perder tempo na instalação da mesma.
Desvantagens
- Necessidade de uma ligação ao servidor;
- Necessidade de inserção do URL;
- Compatibilidade entre browsers.
Adobe AIR Vantagens
- Compatibilidade da plataforma com diferentes sistemas operativos;
- Utilização de Actionscript 3.0;
Desvantagens
- Compatibilidade da plataforma da Adobe limitada a certos dispositivos (o Samsung Gio do grupo, por exemplo, não é compatível.

 

Analisando as opções disponíveis, verifica-se uma grande vantagem das aplicações suportadas por linguagens Web face às implementadas na linguagem nativa dos dispositivos. O facto de serem multiplataforma e já dominadas pelo grupo, tornará o desenvolvimento mais rápido, podendo resultar num produto melhor acabado.

No entanto, qualquer aplicação web está dependente da interpretação do browser do cliente. Assim sendo, achamos necessário proceder a um breve estudo para conhecer o mercado do browsers nos dispositivos móveis.


Utilização dos diferentes browsers móveis em Portugal

 

Source: StatCounter Global Stats - Mobile Browser Market Share



Utilização dos diferentes browsers móveis no Mundo

 

Source: StatCounter Global Stats - Mobile Browser Market Share

 

Em Portugal, verificamos que a grande maioria dos inquiridos utiliza os browsers nativos dos dispositivos Android, iPhone e Nokia (70,93%), existindo ainda uma faixa de utilizadores considerável utilizando Opera (10,33%). No paradigma mundial, existe um grande equilíbrio entre os browsers móveis mais utilizados, verificando-se uma pequena vantagem para o Opera.

 

 

3) Website da plataforma

Neste ponto procuramos analisar as tecnologias necessárias ao desenvolvimento de um site de suporte à aplicação.

 

A par da instalação física que iremos concretizar, pretendemos desenvolver um site recorrendo a algumas linguagens de programação. Relativamente às linguagens front-end, queremos fazer uso especialmente das tecnologias html e css para formatar o aspeto do site. Para lhe conferir algum dinamismo, utilizaremos javascript e, caso haja necessidade, recorreremos a jquery.

Quanto à linguagem back-end, temos duas alternativas possíveis. Podemos optar por programar o site “manualmente”, utilizando PHP ou ASP ou, por ouro lado, utilizar sistemas de gestão de conteúdos, como é o caso do Drupall, Joomla ou Wordpress.

O PHP para além das vantagens de ser livre e muito versátil, ter-se tornado no standard do mercado e existir uma grande comunidade de suporte, foi a única aprendida pelo grupo.

O Drupall é uma plataforma mais indicada para projetos com prazos alargados, quando é necessária programação extensa e o design não é um elemento de grande relevância. Já o Joomla, requer menos tempo de aprendizagem, permitindo uma implementação mais rápida e com design mais apelativo. Quanto ao Wordpress, é especialmente indicado para sites de apresentação de conteúdo, e é, provavelmente, o mais simples de aprender e de utilizar.

Características das tecnologias Web

Perante as várias hipóteses e, tendo em conta que o site possui uma baixa complexidade, consideramos que a programação manual, utilizando PHP é a melhor opção. De um modo geral, pode concluir-se que esta linguagem envolve menos custos, visto ser de acesso livre e possibilita um melhor controlo do código inserido. Apresenta finalmente a grande vantagem do grupo já estar familiarizado com ela, optimizando assim o tempo que levaria a sua aprendizagem.

 

 

Resumo

Funcionamento da plataforma

 

A monitorização dos movimentos do utilizador é efectuada através do Kinect, ligado à aplicação central, desenvolvida em Actionscript 3.0, através do servidor de socket. Este servidor converte o Depth Stream em dados possíveis de ser utilizados pelo AS3.

A utilização do telemóvel será suportada por um servidor web local, que irá gerir os inputs do utilizador no telemóvel (escolha de ferramentas, cores, etc) através de uma liguagem server-side, provavelmente PHP. A autenticação deverá ser redirecionada para o servidor web público, assim como o upload de fotos para a galeria pública. A aplicação AS3 deverá consultar os dados necessários ao servidor local.

Após o processamento dos dados pela aplicação, o resultado final deverá ser exibido pela projeção.

A utilização do website por clientes é suportada pela ligação HTTP ao website.

A implementação de futuros requisitos poderá a arquitetura apresentada neste esquema, nomeadamente a disponibilização do streaming e da projeção de uma instalação.



publicado por hugonogueira às 22:47
editado por anacamila em 05/03/2012 às 12:29
link do post | comentar | adicionar aos favoritos

.mais sobre mim
.pesquisar neste blog
 
.Junho 2012
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2

3
4
5
6
7
8
9

10
11
12
13
14
15
16

17
18
19
20
21
22
23

24
25
26
27
28
29
30


.posts recentes

. entrega06testes

. entrega06

. #orientacao12

. #aula13

. #orientacao11

. #aula12

. #orientacao10

. #aula11

. Mosaiko - Lx Factory Open...

. #entrega06pre

.arquivos

. Junho 2012

. Maio 2012

. Abril 2012

. Março 2012

. Fevereiro 2012

.tags

. todas as tags

.as minhas fotos
blogs SAPO
.subscrever feeds