Plataforma de Apoio à Terapia de Reabilitação e Manutenção de Doentes de Parkinson
Full text
Faculdade de Engenharia da Universidade do Porto Plataforma de Apoio à Terapia de Reabilitação e Manutenção de Doentes de Parkinson Filipe Daniel Magalhães Vieira Dissertação realizada no âmbito do Mestrado Integrado em Engenharia Electrotécnica e de Computadores Major Telecomunicações Orientador: Prof. Dr. Miguel Velhote Correia Co-orientador: Eng.º João Correia Janeiro 2013
ii © Filipe Vieira, 2013
iii Resumo A Doença de Parkinson é uma doença degenerativa e lentamente progressiva do sistema nervoso central, que afeta o sistema motor responsável pelos movimentos corporais e manifesta-se principalmente através de rigidez muscular, tremores, diminuição de mobilidade e instabilidade postural. Afeta tipicamente pessoas idosas e ocorre devido à degradação progressiva das células nervosas, responsáveis pelo controlo dos movimentos musculares, prejudicando a qualidade de vida diária do doente. Atualmente não há cura para a Doença de Parkinson, contudo existe uma ampla variedade de tratamentos clínicos que permitem controlar os sintomas e retardar a sua progressão. Quer seja por tratamento medicamentoso ou cirúrgico, para que se obtenha o efeito desejado eles devem ser acompanhados por um tratamento de fisioterapia. A fisioterapia é um complemento fundamental na preservação das funções motoras dos pacientes. Não só promove o exercício físico como mantem ativos os músculos e preserva a mobilidade, essenciais para uma melhoria muscular, de coordenação motora e do equilíbrio Mas nem sempre é possível aos fisioterapeutas incentivar e motivar a prática de exercício físico fora das sessões de fisioterapia. Como resposta a este problema, surge esta tese cujo objetivo foi desenvolver uma plataforma de jogos que promovam a prática de exercício físico através da captura de movimentos do Kinect, adaptado a um ambiente gráfico simples e intuitivo e que permita aos fisioterapeutas acompanhar e avaliar o seu progresso. Essa plataforma divide-se em dois programas de conceitos diferentes. Um é um jogo em que o objetivo é o utilizador usar movimentos livres e sem restrições e o outro consiste na cópia de movimentos gravados pelo fisioterapeuta, com exercícios de fisioterapia específicos. Os resultados alcançados permitiram concluir que houve uma adaptação positiva dos pacientes à tecnologia usada e que o conceito de usar a captura de movimentos é um meio adequado para o incentivo à prática de exercício físico como complemento à fisioterapia. Palavras-chave Captura de movimentos, doença de Parkinson, fisioterapia, jogos e Kinect
iv
v Abstract Parkinson’s disease is a degenerative disorder of the central nervous system. Progressively slows the motor system responsible for body movements and manifests itself mainly through muscle rigidity, tremors, decreased mobility and postural instability. Parkinson’s disease typically affects older people and occurs due to the progressive degradation of the nerve cells responsible for controlling muscle movements, diminishing daily life’s quality of the patient. Currently there is no cure for Parkinson’s Disease, however there is a wide variety of clinical treatments that slow its progression and control its symptoms. Whether by means of medical or surgical treatment, it must be accompanied by physiotherapy treatment. Physiotherapy is an essential complement to the preservation of patient’s motor functions. By promoting physical exercise it keeps the muscles active and preserves mobility, essentially by improving muscular activity, motor coordination and balance. However, it is not always possible to the physiotherapists to encourage and control the exercises outside of the therapy sessions. This thesis aims to address this issue by developing a game platform that promotes physical exercise through the capture of movements, adapting the Kinect movement capture ability to a simple and intuitive graphical environment which allows physiotherapists to keep up with and evaluate patients progress. This platform is divided in two different programs with distinct concepts. The first is a game whose objective is to use unrestricted movements and the latter enables patients to perform specific physiotherapy exercises through the copy of exercises recorded by the physiotherapists. The results achieved have concluded that there has been a positive adaption of patients to the used technology and that the concept of capturing movements is a suitable mean to encourage the practice of physical exercise as a complement to physiotherapy when treating degenerative diseases, such as Parkinson disease.
vi Keywords Games, Kinect, motion capture, Parkinson’s disease and physical therapy
vii
viii Agradecimentos Este espaço é dedicado àqueles que muito contribuíram e apoiaram para que este trabalho fosse realizado. A todos eles deixo o meu agradecimento sincero. Quero agradecer em primeiro lugar à Inovamais e especialmente ao Eng. João Correia por me terem concedido a oportunidade de realizar esta dissertação e por todo o apoio prestado ao longo do trabalho. Ao meu orientador Prof. Miguel Velhote Correia pela sua disponibilidade e orientação, pelas suas sugestões, criticas e toda a ajuda prestada. Agradeço à minha família todo o apoio incondicional em todas as decisões da minha vida e pela sua enorme paciência. Agradeço-lhes com todo o meu amor e carinho pela educação que me deram e sobretudo pelo seu esforço para que meus objetivos fossem atingidos. É graças a eles que me tornei na pessoa que sou hoje. À Alexandra, à Carla e à Tatiana um agradecimento especial pela vossa amizade e pelos bons momentos partilhados. Por último, agradeço a todos os meus amigos que fazem parte da minha vida. A todos o meu muito obrigado, Filipe Vieira
ix
Capítulo 1 Introdução Neste capítulo apresentam-se os objetivos do trabalho proposto, a motivação e interesse que justificam a realização deste projeto, as principais contribuições esperadas e o plano de trabalho e organização do documento. O trabalho realizado foi desenvolvido na empresa Inovamais – Serviços de Consultadoria em Inovação Tecnológica, Lda. Enquadra-se num protocolo estabelecido entre a empresa e a Faculdade de Engenharia da Universidade do Porto, com início no mês de Setembro de 2012. 1.1 - Enquadramento A Doença de Parkinson (DP) é uma das doenças neurológicas mais comuns dos dias de hoje, atingindo principalmente pessoas idosas. Trata-se de uma doença crónica que afeta progressivamente o sistema motor, responsável pelos movimentos corporais, levando a tremores, rigidez, lentidão dos movimentos e instabilidade postural [1], dificultando as atividades da vida diária. Daí a DP ser classificada como a “doença do movimento”. As suas características são próprias de cada doente e por vezes o doente não apresenta um conjunto de sintomas típico. Por isso, muitos outros sintomas estão associados a esta doença mesmo que não diretamente. Trata-se de uma doença não reversível, que se prolonga por toda a vida. Não existe uma cura conhecida, mas existem diversos tratamentos disponíveis, farmacológicos e não farmacológicos, que ajudam significativamente a atrasar a progressão da doença e a melhorar substancialmente a qualidade de vida do doente. Dentro desse leque de tratamentos, destaca-se a fisioterapia como complemento ao tratamento medicamentoso, possibilitando maximizar e conservar as capacidades funcionais do doente, evitando ou reduzindo o aparecimento de complicações secundárias. De facto, os principais sintomas desta patologia relacionados aos movimentos motores tendem a não responder tão bem à medicação e com o progredir da doença os efeitos da medicação tornam-se cada vez menos satisfatórios [2]. Deste modo, a fisioterapia na DP torna-se um aliado importante no desacelerar do ritmo de
2 progressão da doença e na conservação da autonomia do utente durante mais tempo, melhorando a sua qualidade de vida. O trabalho proposto teve como objetivo a criação de uma plataforma de jogos de apoio aos fisioterapeutas que possibilita a prática de exercício físico dos seus pacientes. Esta plataforma foi incorporada na aplicação principal, o PRK-Treatment 1 e inclui diferentes níveis de dificuldade controlada, adaptada à situação de cada utilizador. 1.2 - O problema Para um profissional que acompanhe as sessões de fisioterapia dos seus pacientes nem sempre é fácil controlar a evolução destes e muitas das vezes é muito complicado promover e incentivar a prática de exercício físico fora das suas sessões. A atividade física é essencial e deve estar presente na vida dos pacientes, mas a falta de incentivo e motivação pode levar o paciente a desinteressar-se e a tornar-se sedentário, o que certamente será um contratempo no progresso da terapia de reabilitação. Assim, surgiu como proposta de trabalho, desenvolver uma plataforma de jogos capaz de promover o exercício físico através da captura de movimentos, adaptado a um ambiente gráfico simples e intuitivo e que permita aos fisioterapeutas acompanhar e avaliar o seu progresso. Esta plataforma é portável e pode ser executada no computador pessoal do paciente, para que este possa utilizá-la fora das sessões de fisioterapia. 1.3 - Motivação e Objetivos O tratamento fisioterapêutico na Doença de Parkinson tem como objetivo minimizar os problemas motores, ajudando o paciente a manter ou aumentar a independência funcional nas atividades diárias e a melhorar a sua qualidade de vida. Neste sentido, é muito importante que a fisioterapia seja uma atividade constante na vida dos pacientes. Com o melhoramento das tecnologias ligadas à área da captura de movimento (MoCap), surgiram novos conceitos na sua utilização para além do entretenimento, e a ideia de integrar estes sistemas no apoio à fisioterapia de doentes de Parkinson pode ser um desafio bastante desafiante e motivador, mas ao mesmo tempo compensador pelo facto de servir como um meio de ajuda ao combate a esta doença específica. A proposta de trabalho surge na sequência do desenvolvimento de uma plataforma de apoio à terapia de reabilitação e manutenção de doentes de Parkinson cujo principal objetivo é melhorar o atendimento e tratamento dos pacientes. Para isso, serão 1 PRK-TREATMENT – Plataforma web que permite aos pacientes a prática de exercícios de diferentes categorias relacionadas com o tratamento de Parkinson, como fisioterapia, exercícios cognitivos, de escrita, psicologia e terapia da fala
3 monitorizados exercícios por profissionais (psicólogos, fisioterapeutas e/ou terapeutas da fala) a fim de controlarem a evolução do paciente. No desenvolvimento final da plataforma prevê-se a implementação dos seguintes objetivos: Criação de um jogo lúdico com avatar integrado com o sistema Kinect da Microsoft como dispositivo de interação natural que incentive a prática de atividade física por parte do utilizador; Desenvolvimento de um programa que permita a gravação de movimentos e voz por parte do fisioterapeuta para posterior reprodução como exercício; Desenvolvimento de um programa que permita a cópia de movimentos gravados pelo fisioterapeuta. Deve ainda ter um avatar que replique os movimentos do paciente através da captura de movimentos; Integração bidirecional de dados dos pacientes entre a plataforma PRKTREATMENT e ambas as plataformas anteriores. Como resultado final do projeto, pretende-se implementar dois tipos diferentes de jogos integrados na plataforma principal PRK-TREATMENT que apoie o fisioterapeuta na terapia de reabilitação e manutenção de doentes de Parkinson. Pretende-se assim obter um jogo lúdico e intuitivo de livre execução, com gravação de dados de atividade e objetivos completados, e um segundo jogo onde o fisioterapeuta tem maior controlo sobre os exercícios a realizar pelo paciente. Estes dois jogos devem ser portáveis e de fácil reprodução para possibilitar que os pacientes possam jogar noutro local fora das sessões de fisioterapia. 1.4 - Principais Contribuições Existem no mercado diversos jogos e aplicações que utilizam o Kinect como meio de interação natural nas mais diversas áreas. Em muitos centros de fisioterapia esses jogos são usados para promover e incentivar o exercício físico nos idosos. Contudo, um dos principais problemas destes jogos é o facto de não serem dirigidos para a sua idade nem com o prepósito de apoiar a fisioterapia. Apresentam demasiada informação no ecrã e os gráficos tendem a ser complexos, com diversas cores e muitos objetos em movimento, tornando-se bastante difíceis e complexos para a faixa etária em questão. Com esta tese pretende-se superar esses problemas contribuindo com a criação de jogos adaptados à situação de fisioterapia em doentes de Parkinson, permitindo aos terapeutas participarem no controlo dos exercícios. Assim, estes jogos estarão integrados numa plataforma web desenvolvida pela empresa, o PRK-Treatment, permitindo troca de informação online entre paciente e terapeuta. Outro importante fator deve-se ao facto de estes jogos serem desenvolvidos sobre uma plataforma portável que tenha como requisito apenas um computador pessoal e uma câmara Kinect.
4 1.5 - Plano de trabalho e Organização do documento A estratégia de abordagem ao problema encontra-se representada no diagrama seguinte. Figura 1 – Fases de desenvolvimento da dissertação O projeto iniciou-se com um estudo relativo à Doença de Parkinson e às principais limitações físicas provocadas nos doentes. Este estudo foi realizado através de pesquisa em websites apropriados e destinados à divulgação e tratamento da doença, e de leitura de artigos científicos mais recentes. Compreendida melhor a doença de Parkinson, deu-se introdução ao estudo aprofundado das tecnologias a utilizar, nomeadamente linguagens de programação, software a utilizar e familiarização com o Kinect. Após estas duas fases de inicialização e compreensão do problema, que eram no fundo mais teóricas, aplicaram-se os conhecimentos adquiridos e desenvolveu-se um jogo protótipo com recurso ao Kinect para interagir com um ambiente gráfico usando o motor de jogos (Game Engine) XNA, da Microsoft. Posteriormente foram estudados novas alternativas a esta plataforma, surgindo assim a opção da utilização de um novo motor de jogos, o Unity 3D. Seguiu-se a fase de desenvolvimento onde se desenvolveu um jogo intuitivo que, através da captura de movimentos, permite controlar um avatar para interagir com o ambiente virtual e assim incentivar a prática de movimentos. O próximo passo consistiu na implementação de uma plataforma onde é possível gravar
5 movimentos e som por parte do fisioterapeuta e posterior reprodução para que o paciente possa replicar esses movimentos. Este documento encontra-se dividido em 6 capítulos, que refletem a metodologia descrita anteriormente. Este primeiro capítulo serve de introdução para que o leitor se enquadre no contexto e objetivos desta tese. No capítulo 2 é apresentada a revisão bibliográfica sobre a Doença de Parkinson, captura de movimentos e exergames. São ainda apresentados projetos similares. No capítulo 3 apresentam-se as principais tecnologias disponíveis que satisfaçam os requisitos do objetivo proposto, as escolhas e respetivas justificações para o seu uso. O capítulo 4 apresenta a abordagem seguida para a solução do problema e os detalhes da sua implementação. O quinto capítulo apresenta os testes e discussão dos resultados obtidos. No sexto e último capítulo apresentam-se as conclusões do trabalho desenvolvido e são apontadas perspetivas para futuros desenvolvimentos.
Capítulo 2 Revisão Bibliográfica e Estado da Arte Este capítulo apresenta a revisão bibliográfica e o estado de arte relativo à Doença de Parkinson e à importância que tem a fisioterapia na sua reabilitação. São também introduzidas e descritas as principais formas de captura de movimento (MoCap) e o que são exergames. Por último é feita uma abordagem a projetos similares existentes. 2.1 - Doença de Parkinson Descrita pela primeira vez em 1817 por James Parkinson [3] a Doença de Parkinson (DP) caracteriza-se por ser uma perturbação degenerativa e progressiva do sistema nervoso que apresenta várias características particulares, como o tremor em repouso, a lentidão na iniciação de movimentos e a rigidez muscular [4]. Existem outros sintomas não relacionados com o movimento associados à DP, como a dor, distúrbios de sono, humor e depressão [5]. Estes sintomas resultam da disfunção e morte celular dos neurónios produtores de dopamina 2 nos gânglios da base, que controlam e ajustam a transmissão dos comandos conscientes vindos do córtex cerebral para os músculos do corpo humano [3]. O porquê da morte celular de células produtoras de dopamina ainda é desconhecido, mas vários fatores apontam para o envelhecimento, fatores genéticos, ambientais e vírus. A DP é mais frequente depois dos 50 anos, contudo em cerca de 5% dos doentes a doença tem início precoce, surgindo antes dos 40 anos. Esta doença é ligeiramente mais frequente nos homens do que nas mulheres [6]. 2 Dopamina - Substância química responsável por inúmeras funções como o movimento, memória, humor, aprendizagem, etc.
7 Figura 2 - Figura ilustrativa da localização do córtex cerebral, gânglios da base e vias de dopamina 2.1.1 - Principais sintomas Frequentemente a DP inicia-se de forma insidiosa e avança de forma gradual. Os sintomas tendem a aparecer apenas de um lado do corpo em primeiro lugar, embora ambos os lados sejam afetados com o avanço da doença. Geralmente caracteriza-se por um tremor ligeiro numa mão, braço ou perna quando em repouso mas, que pode aumentar em momentos de tensão. Tipicamente, o tremor melhora quando o paciente move voluntariamente a extremidade afetada e pode, mesmo, desaparecer durante o sono [6]. No entanto os sintomas podem variar em termos de gravidade e velocidade de progressão de pessoa para pessoa. A perda de olfato é curiosamente um dos primeiros sintomas da doença. A nível motor, os principais sintomas da DP são o tremor, a rigidez muscular e a bradicinesia. O tremor é o sintoma mais facilmente identificável pois o seu ritmo é lento e regular com oscilações curtas. É um movimento involuntário quase sempre assimétrico e está frequentemente localizado nos membros superiores. Aumenta sob o efeito de uma emoção, concentração, fadiga ou frio e tem tendência a desaparecer durante a atividade física voluntária. A rigidez muscular por outro lado é uma dificuldade de relaxação dos músculos quando estes não participam em nenhum movimento. Pode atingir qualquer grupo muscular do tronco ou dos membros. Começa muitas vezes num só membro, pode variar ao longo do dia, pode ser influenciada pelo humor, pelo stress e por medicamentos. A rigidez é responsável por tensões musculares cuja repartição varia consoante os doentes. Ela centra-se sobretudo ao nível da coluna vertebral e da raiz dos membros. É considerada responsável pela tendência das pessoas afetadas pela doença manterem uma postura fletida, um pouco inclinadas para a frente ou para o lado,
8 quando estão em pé ou quando caminham. Com a progressão da doença, a rigidez tipicamente afeta todo o corpo e reduz a capacidade de se mover. Quanto à bradicinesia está associada às dificuldades ao longo de todo o processo do movimento, desde o planeamento inicial à execução final. Afeta também os músculos faciais, levando a que o doente se babe, perturba o normal piscar dos olhos e interfere com a mímica facial levando por vezes, à falta de expressão que se confunde com uma depressão, embora muitas pessoas com a doença de Parkinson se tornem efetivamente depressivas. [7][8][9] 2.1.2 - Tratamentos Atualmente não existe uma cura para a Doença de Parkinson. No entanto é usada uma ampla variedade de medicamentos para controlar os seus sintomas e retardar a sua progressão. Esses medicamentos dividem-se em diferentes categorias e a sua aplicação varia com a fase da doença, sendo que podem produzir diversos efeitos secundários [4][6]. Outro tipo de tratamento é a cirurgia. Nos últimos anos, tem havido muitos avanços em técnicas cirúrgicas, neuroimagem 3 e informática, tornando a cirurgia um meio mais viável. Tem como função substituir e/ou restaurar as células que produzem dopamina. Apesar de algumas técnicas cirúrgicas poderem fornecer um melhor controlo dos sintomas, a cirurgia não é adequada para todos pois não é uma cura para o Parkinson e não retarda sua progressão. A maioria das pessoas continua a tomar a medicação de Parkinson após a cirurgia, embora, por vezes, a dosagem possa ser reduzida [9]. Embora a terapia farmacológica seja a base do tratamento, a fisioterapia também é muito importante. Ela é responsável por envolver os pacientes no seu próprio tratamento, promove o exercício, mantém ativos os músculos e preserva a mobilidade. Esta abordagem é particularmente benéfica, porque muitos pacientes tendem a permanecer sentados e inativos. Esta área é abordada no tópico seguinte deste capítulo. 2.2 – Fisioterapia no tratamento da DP A fisioterapia é uma área da saúde que procura promover, reduzir e/ou manter o movimento corporal com o objetivo de minimizar os problemas motores, ajudando o paciente a manter ou aumentar a independência para realizar as suas atividades diárias, melhorando assim a sua qualidade de vida. Complementa o tratamento medicamentoso na DP, possibilitando maximizar e conservar as capacidades funcionais do doente, evitando ou 3 Neuroimagem - Imagem obtida a partir de estruturas neurais, por meio de técnicas radiológicas.
9 reduzindo o aparecimento de complicações secundárias e desacelerando o ritmo de progressão da doença. [10] Para os doentes de Parkinson a fisioterapia é um complemento muito importante à terapia farmacológica. Ela promove o exercício físico, mantém ativos os músculos e preserva a mobilidade, o que a torna benéfica com a progressão da doença que tende a provocar sedentarismo e inatividade nos doentes. Com o exercício, o aumento da mobilidade pode de facto modificar a progressão da doença e impedir contraturas, além de ajudar a retardar a demência. Como a Doença de Parkinson é progressiva, a prática de fisioterapia deve ser de longo prazo, deve mesmo tornar-se parte do estilo de vida diário. A sua intervenção deve começar tão cedo quanto o estabelecimento do diagnóstico de modo a prevenir a atrofia muscular, a fraqueza e a capacidade de exercício reduzida. A prática de exercícios repetidos numa fase inicial da doença permite um controlo motor mais próximo do fisiológico e adequado quando houver maior deterioração na evolução da doença. [11] Existem atividades motoras de diferentes graus de dificuldade de execução que deverão ser levadas em conta e que se consideram importantes para a conceção do jogo. Por exemplo, é mais fácil subir escadas ou andar de bicicleta do que caminhar em terreno plano. Alguns gestos são particularmente difíceis, como é o caso de vestir um casaco, sair de um automóvel, virar na cama, assim como efetuar gestos rotativos ou alternados (por exemplo, mexer uma colher numa tigela, lavar os dentes, limpar os pés em cima de uma esteira, etc.). Outra grande dificuldade é a atividade simultânea, como transportar objetos e caminhar, mesmo sendo objetos de pequenas dimensões, ou falar e caminhar. O doente deve por isso concentrar-se em cada tarefa individualmente e evitar fazer mais que uma ação ao mesmo tempo. [12] Mas nem só o sistema motor pode criar dificuldades ao doente. O humor tem um papel importante na atividade física e na capacidade de execução de movimentos. Em casos de depressão os sintomas motores da doença podem aumentar entre 20% a 30%. [5] Outro fator particularmente importante e que pode ser aproveitado no conceito do jogo é a motivação. A motivação influencia os desempenhos motores, por isso é importante estabelecer objetivos e criar um ambiente apelativo e agradável para que a tarefa seja do agrado do paciente. 2.3 – MoCap: Motion Capture Motion Capture, ou simplesmente MoCap, é um termo usado para descrever o processo de gravação de movimentos humanos ou de objetos e transpô-los num modelo digital 2D ou 3D. A captura de movimentos é uma técnica cada vez mais usada nas mais diversas áreas e que tem evoluído bastante nos últimos anos. Devido à sua reprodução realista de movimentos e à sua, cada vez maior, precisão tem-se verificado uma grande
16 No entanto existem algumas limitações relativas aos sensores de profundidade. Essas limitações têm sobretudo a ver com as distâncias relativamente ao Kinect. A figura 6 mostra as distâncias que a câmara de profundidade suporta para os seus dois diferentes modos de execução. Figura 6 - Distâncias suportadas pelo sensor de profundidade Quando os objetos estão muito próximos dos sensores, os pontos criados pelo projetor de infravermelhos ficam demasiado juntos e o Kinect não consegue medir essas distâncias. Isto também ocorre porque os sensores estão em duas posições diferentes. O mesmo acontece se os objetos estiverem demasiado longe, pois esses pontos terão um maior espaçamento entre si e menor será a precisão dos sensores. Além disto, a resolução é de 320x240 pixéis. O Kinect contém também uma câmara de vídeo que fornece imagens de alta resolução até 1280x1024 pixéis. Contém ainda quatro microfones colocados estrategicamente no dispositivo e um motor que controla a inclinação entre -27 e +27 graus, como se pode observar na figura 7. [24][25] Figura 7 - Microfones e Motor Tilt do Kinect
17 3.2 – Kinect SDK A Microsoft lançou em Junho de 2011 [26] a primeira versão do SDK para Kinect e os respetivos drivers e desde então tem lançado novas atualizações com melhorias significativas que o tornam na melhor opção para o efeito. O SDK fornece as ferramentas e APIs necessárias para desenvolver aplicações com suporte a recursos do Kinect, incluindo imagens a cores, imagens de profundidade, entrada de áudio e dados do esqueleto do mundo real, compatíveis com sistemas operativos da Microsoft. A figura 8 mostra como o Kinect e as suas bibliotecas interagem com a aplicação a desenvolver. Figura 8 - Interação de hardware e software com a aplicação A arquitetura do Kinect SDK é apresentada na figura 9, no entanto esta figura apresenta componentes da Microsoft que não são parte do SDK, que é o caso do número 5 que pertence ao sistema operativo Windows. O hardware (figura 9, número 1) é a camada mais baixa e refere-se ao Kinect e ao USB através do qual o sensor está ligado ao computador. Os drivers do Kinect (número 2) permitem aceder a funcionalidades de vídeo (cor, profundidade, esqueleto, etc.), áudio, motor, propriedades do dispositivo e a possibilidade de usar múltiplos dispositivos Kinect. A NUI (Natural User Interface) API (número 3) está relacionada com as capacidades de interação natural fornecidas pelo SDK, que os programadores podem usar nos seus projetos. Por fim temos o DirectX Media Object (DMO) (número 4) que é o codec que permite a filtragem e localização da fonte áudio e no número 5 as APIs padrão do Windows. [27]
18 Figura 9 - Arquitetura do Kinect SDK. 1 - Hardware Kinect; 2 - Drivers Kinect; 3 - Natural User Interface (NUI); 4 - Audio codec; 5 - API Windows O SDK é capaz de detetar até 20 diferentes pontos ou articulações (joints) do corpo humano, como se pode observar na figura 10. Faz rastreamento (tracking) até 6 pessoas, duas em detalhe e as restantes apenas por posição. Figura 10 - Os 20 pontos do corpo humano detetáveis pelo Kinect SDK A posição do esqueleto é representada em metros e usa um sistema de coordenadas destra, ou seja, o eixo Y positivo fica para cima e o eixo X positivo fica para a esquerda, como mostra a figura 11. [28] No Anexo A encontra-se os esquemas e respetivas descrições das classes principais do Kinect.
19 Figura 11 - Sistemas de eixos usado no Kinect 3.3 – Motor de Jogo (Game Engine) Game engine, traduzido para português como motor de jogo, é o nome dado a um programa de computador projetado para a criação e desenvolvimento de jogos de vídeo. Geralmente apresentam um ambiente de desenvolvimento integrado com um conjunto de ferramentas que facilitam e simplificam o desenvolvimento de jogos. A funcionalidade tipicamente fornecida por um game engine inclui um motor gráfico para suportar gráficos 2D e/ou 3D, um motor de física e de deteção de colisões, animação, sons, inteligência artificial, comunicação em rede, gestão de memória, gestão de arquivos, gestão de linha de execução e suporte a uma ou mais linguagens de programação. Durante a preparação do projeto foram testados dois game engines diferentes de modo a obter-se a melhor solução para o problema. Esses game engines são o XNA Game Studio da Microsoft e o Unity 3D da Unity Technologies. Mais adiante, na secção 3.4, serão expostas as diferenças entre eles e a justificação da escolha. 3.3.1 – XNA Game Studio XNA Game Studio tem como componente principal a framework XNA desenvolvida pela Microsoft especialmente direcionada para a criação de jogos compatíveis com o sistema operativo Windows, a consola de jogos Xbox 360 e o sistema operativo móvel Windows Phone 7. Esta framework está atualmente na versão 4.0 e suporta a linguagem de programação C#. O XNA tem como classe principal a classe Game e a sua estrutura já inclui quatro métodos de raiz: Initialize, LoadContent, Update, UnloadContent e Draw. A figura 12
20 representa um excerto do código inicial da classe principal do XNA e a figura 13 ilustra o funcionamento desses métodos. Figura 12 - Excerto do código em XNA Figura 13 - Esquema do funcionamento de uma aplicação em XNA Cada um destes métodos tem uma função específica à qual se deve dar atenção no momento de estruturação do código da aplicação a desenvolver. De seguida resume-se cada um dos métodos. O primeiro, Initialize, é onde ficam todas as operações de inicialização do jogo, como por exemplo variáveis e outros objetos. O LoadContent é chamado após a execução do método Initialize ou em qualquer outro momento que seja necessário recarregar objetos gráficos. Neste método deverão ser carregadas imagens, modelos 3D, sons, etc. O Update é um método que fica em repetição durante a execução do jogo. É o local ideal para colocar toda a lógica do jogo, como por exemplo, mover objetos. O método Draw tem o objetivo de
21 fazer a apresentação gráfica no ecrã. Por fim temos o UnloadContent que tem como objetivo “destruir” o conteúdo carregado anteriormente e que já não seja necessário. Por ser uma plataforma de desenvolvimento, é formada por diferentes componentes e funciona sobre a plataforma Microsoft .NET Framework. Este é um componente integral do Windows que inclui um sistema de execução virtual chamado Common Language Runtime (CLR) e um conjunto unificado de bibliotecas de classes que inclui ADO.NET, ASP.NET, Windows Forms e Windows Presentation Foundation (WPF). [29][30] Esta plataforma baseia-se num dos princípios utilizados em Java (Just In Time Compiler – JIT), onde os programas desenvolvidos são duplamente compilados, isto é, uma primeira compilação na distribuição, gerando um código conhecido como bytecodes, e outra na execução da aplicação. Para o caso em estudo, pretende-se que a aplicação a ser criada seja um executável, na primeira compilação obtém-se um arquivo em Assembly de baixo nível com extensão EXE. [31] Quando o programa é executado, o arquivo em Assembly é carregado para o CLR que pode tomar várias opções com base nas informações nele contido. Se os requisitos de segurança forem aprovados, o CLR executa a compilação JIT para converter o código em instruções de máquina. A figura 14 ilustra de uma forma resumida as relações entre o tempo de compilação e execução do código fonte C#, bibliotecas do Framework .NET e o CLR. [32] Figura 14 - Arquitetura do Framework .NET 3.3.2 – Unity 3D Unity 3D, ou simplesmente Unity, é um game engine desenvolvido para a criação de jogos em ambiente 2D e 3D, compatível com os principais sistemas operativos, dispositivos
22 móveis, sistemas web e consolas. O Unity suporta três tipos de linguagem de programação orientado a objetos: Boo, JavaScript e C#. De salientar que a escolha da linguagem cabe ao programador, uma vez que o desempenho não é afetado. Tal como o XNA, também suporta bibliotecas do Framework .NET. A sua principal característica é o seu editor gráfico que torna possível a prévisualização do jogo durante o seu desenvolvimento, além do controlo total do ambiente gráfico. Por exemplo, é possível inserir conteúdo diretamente no editor e usar as diferentes ferramentas para manipular esses objetos, ou ainda controlar a posição da câmara de jogo, definir ações, inserir diretamente texto, etc. Objetos referem-se a tudo que faz parte do jogo, desde imagens, texto, gráficos ou som. A eles são associados ficheiros chamados scripts. São estes scripts que contêm o código, numa das linguagens de programação permitidas. É possível usar qualquer combinação das três línguagens num único projeto, embora haja certas restrições nos casos em que um script incorpora classes definidas noutro script. É ainda possível testar o jogo diretamente no editor sem compilar a versão definitiva. Como já referido, o Unity possibilita a escolha de três linguagens de programação que além da sintaxe apresentam algumas diferenças na escrita entre elas. Todos os scripts devem herdar, direta ou indiretamente, da classe base MonoBehaviour. Isto acontece automaticamente no Javascript (JS), ou seja, não precisa de ser referenciado no código mas deve ser feito explicitamente no caso de C# e Boo. Isto é fundamental na programação orientada a objetos porque fornece recursos especiais tais como os métodos Awake(), Start(), Update() entre muitos outros, fundamentais para o funcionamento do projeto. Outra diferença está a inicialização de variáveis ou funções que no caso de C# e Boo devem ser colocadas dentro dos métodos Awake() ou Start(), ao contrário do JavaScript em que podem ficar fora delas, uma vez que o JS não está restrito a uma formatação base. Nos exemplos a seguir pretende-se salientar essas diferenças.
23 Figura 15 - Código exemplo nas diferentes linguagens: C#, Boo e JavaScript De modo a integrar o SDK da Microsoft e assim permitir o uso do Kinect com o Unity, é necessário recorrer a bibliotecas para esse efeito. Estas bibliotecas importam a API do Kinect SDK e já estão preparadas para receber dados do Kinect, tais como imagens a cores e de profundidade ou dados do esqueleto do utilizador. As bibliotecas disponíveis para o Unity são o Zigfu e o Kinect Wrapper Package. Ambos são um conjunto de scripts em C# que permitem o controlo de avatares ou outros objetos através da captura de movimentos feita pelo Kinect. O Kinect Wrapper Package é disponibilizado pelo Unity e é open-source. O zigfu é pago, no entanto disponibiliza uma versão gratuita mas limitada. 3.4 – Justificação das opções de projeto Para o projeto foi estabelecido que a ferramenta de captura de movimentos a usar seria o Kinect da Microsoft e o seu SDK oficial. Posto isto, a primeira decisão a tomar sobre as tecnologias foi a escolha do motor de jogo que permitisse o controlo de um avatar integrado com a câmara Kinect como dispositivo de interação natural. Durante a fase de preparação da dissertação, foi feito um jogo como modelo de testes nas duas plataformas, XNA e Unity, que incluía o uso de um avatar controlado através do Kinect. Em ambos o motores de jogo isso foi possível, no entanto verificou-se que no caso do XNA era mais lento a correr o jogo, mesmo numa fase em que não havia muitos objetos de interação ou outro tipo de dados a ser processados como se pode verificar pela figura 16. Esse fator pesou na decisão, uma vez que os terapeutas tinham referido que os computadores disponíveis tipicamente são de fraco processamento. Quanto ao jogo feito no Unity, além da maior rapidez na sua criação, não se notou a mesma lentidão de execução. Esse jogo pode ser visto na figura 17. Como se pode ver pelas figuras, há uma diferença notável no ambiente gráfico dos jogos, sendo o jogo feito em Unity muito mais apelativo. Isto não quer dizer que não seja possível fazer o mesmo no XNA, apenas levaria mais tempo e seria mais complicado. No caso do XNA (figura 16) o jogo consistia na deteção das articulações (joints) do corpo do utilizador e no desenho de uma reta entre elas de modo a formar um avatar. O objetivo era tocar com as mãos nas flores que apareciam da parte superior do ecrã em direção à parte inferior fazendo a contagem do número total de flores capturadas. No jogo feito no Unity 3D, figura 17, foi possível usar um avatar tridimensional controlado pelo Kinect e o objetivo era recolher as maçãs penduradas na árvore, sendo que cada maça recolhida era contabilizada no cesto. O XNA é uma plataforma flexível e provavelmente mais intuitiva para os programadores, mas trata-se apenas de uma biblioteca e não disponibiliza um conjunto de
24 ferramentas que facilitem a criação de jogos e apenas é compatível com o sistema operativo Windows, ao contrário do Unity 3D que é muito mais completo em recursos e ferramentas além de ser compatível com diversos sistemas operativos. Verificado isto, o Unity 3D foi a escolha como motor de jogos para este projeto. Figura 16 - Jogo feito sobre a plataforma XNA Figura 17 - Jogo feito sobre a plataforma Unity 3D
25 Capítulo 4 Implementação Este capítulo apresenta a abordagem seguida para a solução do problema e os detalhes da sua implementação. São referidos os requisitos para os jogos sejam adequados ao público-alvo. É apresentado o jogo fisioterapêutico com um conceito de jogabilidade típico dos exergames e a plataforma de gravação e execução de exercícios de fisioterapia. São também apresentadas as suas arquiteturas e como é feita a integração com o PRK-Treatment. 4.1 – Requisitos Como o objetivo é direcionar os jogos para uma população com diversas limitações físicas e cognitivas, deve-se ter em consideração alguns aspetos importantes na conceção dos jogos. Começando pelo grafismo, este deve ser o mais simples possível e intuitivo, evitandose demasiada informação e demasiados acontecimentos a ocorrer em simultâneo. Deve-se ter em consideração o tamanho dos objetos que constituem o jogo e a simplicidade e organização da interface do utilizador (IU). É importante que a IU tenha botões grandes e simples, com letras bem visíbeis, e deve-se evitar ao máximo a necessidade de interações necessárias, por exemplo com o rato, para chegar ao menu ou opção pretendida. Assim é importante colocar a informação e as opções mais importantes no menu principal, evitando o uso de vários menus. Sempre que possível o jogo deve estar programado para executar um conjunto de tarefas automaticamente, não sendo necessário obrigar o utilizador a fazê-las. Por exemplo, usar gravação, carregamento e envio de dados através da web de forma automática. Outro aspeto importante é o facto de os doentes de Parkinson, dependendo do estado da doença, apresentarem grandes dificuldades na execução de movimentos. Por este motivo a velocidade de movimentação do jogo deve ser adaptada ao grau da doença, apresentando
32 Figura 24 – Patient: Plataforma para os pacientes Neste caso o ambiente gráfico e a interface do utilizador são simples e minimalistas para uma melhor visualização e interpretação da realidade virtual apresentada e não contém muitos fatores distrativos, conforme referido pela Associação Portuguesa de Doentes de Parkinson (APDPk) e pela Associação de Parkinson de Madrid (Asociación Parkinson Madrid), que possam causar dificuldade na concentração das tarefas a executar. As opções da interface foram reduzidas ao mínimo, sendo que é possível optar pela escolha de um ou dois jogadores, conforme apresentado na figura 25. Esta opção pode ser útil para que haja mais um paciente a fazer o mesmo exercício e neste caso ambos podem motivar-se mutuamente ou para que um responsável, fisioterapeuta ou um familiar, possam também eles acompanhar a execução dos movimentos e assim apoiar e motivar o doente. As outras opções disponíveis são a ativação ou não do som que acompanha o exercício e um botão para sair da plataforma. Figura 25 - Patient: Dois jogadores ativos
33 4.3.2.1 - Arquitetura A figura seguinte mostra como a plataforma está integrada com a aplicação web PRKTreatment. Figura 26 - Arquitetura da plataforma Patient A partir da aplicação web PRK-Treatment os fisioterapeutas associam à conta do paciente um conjunto de exercício gravados através da aplicação Physiotherapist, cada um com indicação do tempo de execução e se deve ou não ser jogado por dois jogadores. Essa informação é guardada num ficheiro XML, que pode ser visto no Anexo C. De modo a facilitar todo o processo de execução da aplicação Patient e a reprodução dos respetivos ficheiros, o utilizador a partir da plataforma web seleciona o exercício pretendido e esta lança a aplicação Patient com os dados necessários, isto é, o XML e os ficheiros de movimento e som. O ficheiro XML indica qual o nome do ficheiro a executar (ficheiro binário e ficheiro de som têm o mesmo nome, só muda a extensão), o número de jogadores e o tempo de execução. Este processo de execução automática diminui o número de interações necessárias ao paciente para chegar ao objetivo final. De modo a obter dados para análise sobre os movimentos efetuados pelo paciente, as tentativas de execução dos exercícios pelo paciente são gravadas e enviadas para a plataforma web, permitindo aos fisioterapeutas reproduzirem e analisarem os movimentos.
34 No Anexo D pode ser vista a arquitetura final da Plataforma de Fisioterapia para Doentes de Parkinson.
35 Capítulo 5 Testes e Resultados Neste capítulo apresentam-se os testes efetuados e os resultados obtidos. A plataforma foi testada utilizando exercícios de fisioterapia para doentes de Parkinson como referência e registou-se quais as limitações encontradas no Kinect. São apresentados os resultados dos inquéritos feitos em diferentes situações, destacando-se a importância da opinião dos pacientes e fisioterapeutas. Por último é feita uma discussão dos resultados obtidos. 5.1 – Exercícios propostos pelos fisioterapeutas A APDPk e a Associação de Parkinson de Madrid discutiram e selecionaram em conformidade um conjunto de exercícios que consideram importantes na fisioterapia de doentes de Parkinson. Esses exercícios encontram-se ilustrados e descritos no Anexo E e foram testados na plataforma de fisioterapia para doentes de Parkinson, descrita em 4.3. Verificou-se que nem todos os exercícios são possíveis de gravar através do Kinect, devido a interferências com os objetos usados. Como a maioria dos exercícios requer equilíbrio, é aconselhado o uso de objetos fixos como apoio, por exemplo uma cadeira. O uso de uma cadeira pode causar interferências com a leitura do corpo do utilizador por parte do Kinect e causar deformação no avatar, o que pode dificultar a visualização correta dos movimentos. 5.2 – Limitações registadas do Kinect Como referido pela Microsoft no manual do utilizador e verificado em 5.1, o Kinect apresenta algumas limitações que dificultam a captura correta de certos movimentos. De seguida apresenta-se por tópicos essas limitações. O Kinect necessita de detetar a totalidade do corpo. Deve-se por isso estar a uma distância entre os valores normais apresentados na figura 6, capítulo 3;
36 Não deve haver nenhum obstáculo entre o jogador e o sensor. Ou seja, devese usar o Kinect num espaço sem objetos que possam interferir e com boa iluminação; Pessoas que não façam parte do jogo devem sair da frente do campo de visão do Kinect para não causar interferências; Rotações completas do corpo não são possíveis. O Kinect está preparado para reconhecer utilizadores de frente para ele. Poses laterais ou de costas causam maior dificuldade na deteção das articulações do corpo. Figura 27Exemplo do limite máximo de rotação da cabeça que o Kinect reconhece Devido a estas limitações do Kinect, alguns exercícios não podem ser gravados com a eficácia pretendida. No entanto é possível gravar de forma muito satisfatória todo o tipo de exercícios que não estejam dentro das limitações apresentadas. 5.3 – Inquéritos efetuados De modo a recolher um feedback de pessoas exteriores à empresa, foi possível apresentar as plataformas do projeto e recolher informação sob a forma de inquérito em dois eventos distintos, que são de seguida descritos e analisados. 5.3.1 – Evento Portugal Maior Este evento ocorreu em Lisboa, em Dezembro de 2012 na FIL, e tinha como objetivo promover tecnologia orientada à população sénior. Houve a oportunidade de apresentar o projeto e recolher informação ao mais variado nível de público, principalmente pessoas ligadas à área da saúde com experiência no tratamento de idosos com diversas doenças, inclusive Doença de Parkinson. Foi efetuado um inquérito a 18 indivíduos, dos quais 8 eram do sexo masculino e 10 do sexo feminino, com uma média de idades de 41 anos.
37 De seguida apresentam-se os gráficos dos resultados obtidos às perguntas sobre o Jogo Fisioterapêutico, 4.2. Foi usada uma escala com valores entre 1 (muito mau) e 5 (muito bom). Figura 29 - O aspeto gráfico do jogo. Fundo, cores, avatar, etc. Figura 30 - Facilidade de aprendizagem do objetivo do jogo, do modo como se deve executar movimentos, etc. Figura 28 - Facilidade de interação com o ambiente virtual e Kinect
38 Figura 31 - Tipo de movimentos necessários para jogar, posição relativa ao Kinect, distância ao monitor, etc. Figura 32 - Opinião geral sobre o conceito do jogo e sua finalidade De seguida apresentam-se duas questões, de resposta sim ou não, colocadas aos inqueridos e os seus respetivos gráficos das respostas dadas. Figura 33 - Já tinha experimentado jogos que promovem o exercício físico? Figura 34 - Utilizaria uma aplicação deste tipo como auxilio ao tratamento de uma limitação física?
39 Uma vez que os indivíduos que preencheu os inquéritos estão direta ou indiretamente relacionados à área da saúde na terceira idade, considera-se os resultados obtidos bastante satisfatórios e úteis para uma melhoria futura. Como se pode verificar, apesar de um grande número de pessoas nunca ter experimentado exergames, jogos de exercicio, a maioria respondeu que utilizaria um jogo como apoio à fisioterapia. De salientar a opinião geral em relação a estes jogos e como consideraram simples a jogabilidade e a facilidade de aprendizagem e adaptação ao jogo. Quando feita esta demonstração, a plataforma de fisioterapia para doentes de Parkinson, 4.3, ainda se encontrava em desenvolvimento, mas foi possivel demonstrar o protótipo disponível e obter um feedback das pessoas, o que foi tomado em conta em desenvolvimento posterior. No Anexo F encontram-se as opiniões e sugestões recolhidas das pessoas que responderam ao inquérito. 5.3.2 – Instalação e testes na APDPk Em Janeiro de 2013, durante a instalação e testes do PRK-Treatment juntamente com a Associação de Doentes de Parkinson de Portugal, foi possível apresentar e testar com fisioterapeutas e pacientes com doença de Parkinson as plataformas desenvolvidas neste projeto. Foi possível recolher informação mais especifica por parte de pessoas que lidam diariamente com esta situação e para os quais a aplicação foi desenvolvida. Foram questionados uma fisioterapeuta e dois pacientes sobre o jogo e a plataforma desenvolvidas para efeitos de fisioterapia (descritas em 4.2 e 4.3). De seguida apresenta-se as perguntas feitas aos envolvidos e as respetivas respostas obtidas. 5.3.2.1 – Resultados do inquérito feito à fisioterapeuta O questionário seguinte é feito através da avaliação com valores entre 1 (muito mau) e 5 (muito bom) das duas plataformas desenvolvidas e descritas neste projeto. Jogo Fisioterapêutico Plataforma de Fisioterapia Conceito/ideia 5 4 Facilidade de interação 5 3
40 Interface do utilizador 4 3 Aspeto gráfico 4 4 Opinião geral 5 4 Tabela 1 - Resultado ao questionário sobre as plataformas de fisioterapia desenvolvidas Jogo Plataforma Acredita que estas aplicações podem ser úteis no apoio à fisioterapia para doentes de Parkinson? Sim Sim Tabela 2 - Pergunta sobre a utilidade das plataformas Sugestões e críticas Jogo “Acrescentar diferentes objetos e outros graus de dificuldade. Porém, aquilo que foi feito foi claramente melhor do que o existente” Plataforma “Correção de falhas na gravação (objetivo é que os movimentos gravados sejam bem percetíveis para imitar). Os erros de gravação podem confundir o paciente. Seria interessante que fosse possível gravar os exercícios numa cadeira ou na posição lateral” Na opinião da fisioterapeuta da APDPk, o conceito do Jogo Fisioterapêutico é o mais adequado e interessante para os pacientes, pois não impõe movimentos repetitivos e regras de execução de movimentos, apesar de acharem que ambas as plataformas são um complemento útil à fisioterapia de reabilitação e manutenção de doentes de Parkinson. Como se pode concluir pelas respostas dadas ao inquérito, a fisioterapeuta ficou particularmente agradada com o jogo e a sua facilidade de interação através do Kinect. De referir que o aspeto gráfico e o ambiente virtual do jogo receberam uma crítica positiva por ser simples e bem percetível. Quanto ao programa de gravação de exercícios, como verificado em 5.1, nem todos os exercícios são possíveis de gravar. Foi esta limitação do Kinect que a fisioterapeuta referiu como ponto de atenção a melhoramentos, para se obter uma execução quase perfeita da gravação dos exercícios. 5.3.2.1 – Resultados dos inquéritos feitos aos pacientes Os testes seguintes e informação recolhida foram feitos a dois pacientes com doença de Parkinson, durante as suas sessões de fisioterapia, que experimentaram ambas as plataformas.
41 Idade Sexo Paciente 1 63 Masculino Paciente 2 60 Feminino Tabela 3 - Idade e sexo dos pacientes que experimentaram as plataformas Jogo Fisioterapêutico Perguntas colocadas Paciente 1 Paciente 2 Gostou de fazer exercício enquanto jogava? Sim Sim Achou difícil de jogar? Não Não Gostou do jogo? Sim Sim Tabela 4 - Respostas dos pacientes referentes ao jogo Plataforma de Fisioterapia Perguntas colocadas Paciente 1 Paciente 2 Gostou de fazer exercícios de fisioterapia através desta plataforma? Sim Sim Acha que conseguiria fazer sozinho(a) em casa? Sim Sim Tabela 5 - Respostas dos pacientes referentes à plataforma de gravação de exercícios Sugestões e críticas Paciente 1 Jogo Achou muito interessante, gostou do cenário, avatar e conceito das frutas. Disse que gostava de poder jogar em casa. Plataforma Disse que gostaria de fazer exercícios para o corpo todo. Gostou mais do jogo. Paciente 2 Jogo Gostou do jogo e achou simples de jogar. Plataforma Achou mais difícil que o jogo, mas depois de entender a ideia da jogabilidade achou que seria mais fácil fazer os exercícios propostos. Tabela 6 - Sugestões e críticas dos pacientes
48 Anexo A SkeletonFrame O método SkeletonFrameReadyEventArgs é chamado quando um esqueleto é detetado pelo sensor Kinect, enviando um SkeletonFrame como parâmetro contendo informação sobre os esqueleto (SkeletonData). O SkeletonData é uma coleção de articulações (joints), cada um com um ID (nome do joint), vetor posição que indica a distância e altura do joint ao Kinect e um TrackingState que identifica três estdados: Tracked – mapeamento normal; Inferred – quando o Kinect não deteta um joint por ter outro joint à frente. Neste caso o Kinect tem um algoritmo que identifica a posição do joint tapado baseado na posicao dos restantes joints; Not Tracked – Não mapeado por possiveis erros. Figura 35 - Arquitetura das classes do SkeletonFrame ImageFrame e DepthFrame Contêm campos com informação relativa a cor ou a profundidade da imagem recebida pelo sensor Kinect. Ambos recebem um buffer de bytes por frame. No caso do ImageFrame
49 recebe campos com informação sobre imagem a cores e no caso do DepthFrame os campos são relativos às distâncias entre pixeis (em milimetros) para calcular a profundidade. Figura 36 - Arquitetura das classes do ImageFrame Figura 37 - Arquitetura das classes do DepthFrame
50 Anexo B SaveGame.xml <?xml version="1.0" encoding="utf-8"?> <ArrayOfFieldData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <FieldData> <Id>Name</Id> <Value>Filipe Vieira</Value> </FieldData> <FieldData> <Id>Language</Id> <Value>EN</Value> </FieldData> <FieldData> <Id>Game</Id> <Value>Jogo1</Value> </FieldData> <FieldData> <Id>Level</Id> <Value>2</Value> </FieldData> <FieldData> <Id>Score</Id> <Value>10</Value> </FieldData> <FieldData> <Id>Difficulty</Id> <Value>1</Value> </FieldData> <FieldData> <Id>SeatedMode</Id> <Value>False</Value> </FieldData> </ArrayOfFieldData>
51 Anexo C Save.xml <?xml version="1.0" encoding="utf-8"?> <ArrayOfFieldData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <FieldData> <Id>Filename</Id> <Value>MaoDireita</Value> </FieldData> <FieldData> <Id>Players</Id> <Value>one</Value> </FieldData> < FieldData> <Id>TimetoPlay</Id> <Value>15</Value> </FieldData> </ArrayOfFieldData>
52 Anexo D Arquitetura da plataforma de fisioterapia para doentes de Parkinson Figura 38 - Arquitetura global da plataforma de fisioterapia
53 Anexo E Conjunto de exercícios propostos pelos fisioterapeutas Descrição do exercício Ilustração do exercício Resultados Posição de pé: extensão da anca, mantendo o joelho estendido e o pé no ar. Alternativamente usar uma cadeira. Possível de fazer sem cadeira. Alguma interferência quando usada a cadeira. Posição sentado: flexão dos braços 180º. Alternativamente, fazer o mesmo exercício de pé. É possível de fazer, no entanto, quando sentado, há interferência com a cadeira. No entanto como se pretende exercitar a parte superior do corpo, não há problema, visto que as pernas se mantêm em baixo. Posição de pé: abdução da anca mantendo o joelho dobrado. Alternativamente pode ser efetuado sem cadeira, mas requer maior equilíbrio. Funciona bem sem cadeira. Com cadeira pode haver interferência com a perna junto a esta. Posição sentado: extensão do joelho. Alguma interferência com a cadeira. Com uma cadeira simples de metal foi possível efetuar o exercício.
54 Posição sentado ou de pé: rotação da cabeça. Rotações com a cabeça não são possíveis de efetuar com o Kinect. Ver figura 27. Sentar e levantar. Várias repetições. Ouve interferências na deteção correta do corpo do utilizador devido à cadeira. Flexão das ancas e joelhos contra a parede. Não funcionou muito bem. Posição de pé: dar um passo à frente e fletir joelho. Voltar à posição anterior. Não funcionou muito bem. Deslocação na horizontal. Foi possível, mas deve-se ter atenção para não sair do campo de visão do Kinect. Tabela 7 - Conjunto de exercícios propostos pelos fisioterapeutas
55 Anexo F Sugestões e críticas recolhidas no evento Portugal Maior “Simplificar plataforma do lado do paciente. Por exemplo, menos botões”, sobre a plataforma de fisioterapia de dP “Adicionar mais itens ou frutas ao jogo”, sobre o jogo fisioterapêutico para dP “Considera importante uma aplicação vocacionada para seniores e o incentivo para a continuação ao desenvolvimento de aplicações para este público”, ambas as plataformas “Muito importante o feedback que o utilizador recebe quando faz o exercício de modo a fazer a avaliação da sua resposta”, sobre a plataforma de fisioterapia de dP “Aplicar não só ao tratamento da Doença de Parkinson. A atividade ‘soft’ e alguma atividade cognitiva são validas para tosos os seniores que tenham interesse nestas atividades”, ambas as plataformas “Muito interessante e motivador”, sobre o jogo fisioterapêutico para dP