34
Plataforma de apoio à terapia de reabilitação e manutenção de doentes de Parkinson Relatório Final Preparação da Dissertação Filipe Daniel Magalhães Vieira 060503243 Mestrado Integrado em Engenharia Eletrónica e de Computadores: Telecomunicações, Eletrónica e Computadores Orientador Interno: Prof. Miguel Velhote Correia Orientador na Empresa: Eng. João Correia

Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

Embed Size (px)

Citation preview

Page 1: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

Plataforma de apoio à terapia de reabilitação e manutenção de doentes de Parkinson

Relatório Final

Preparação da Dissertação

Filipe Daniel Magalhães Vieira

060503243

Mestrado Integrado em Engenharia Eletrónica e de Computadores: Telecomunicações,

Eletrónica e Computadores

Orientador Interno: Prof. Miguel Velhote Correia

Orientador na Empresa: Eng. João Correia

Page 2: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

Para os meus Pais e irmã

© Filipe Vieira, 2012

Page 3: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação
Page 4: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

Plataforma de apoio à terapia de reabilitação

e manutenção de doentes de Parkinson

Trabalho de Preparação da Dissertação realizada no âmbito do

Mestrado Integrado em Engenharia Eletrotécnica e de Computadores

Ramo Telecomunicações, Eletrónica e Computadores

Orientador Interno: Prof. Miguel Velhote Correia

Orientador na Empresa: Eng. João Correia

FEUP - Faculdade de Engenharia da Universidade do Porto

Porto 2012

Page 5: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

i

Resumo

Esta proposta de dissertação surge na sequência de uma solicitação da empresa

INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

e manutenção de doentes de Parkinson através de um ambiente virtual com interação

utilizando o Kinect, para computadores pessoais.

Graças ao avanço tecnológico na área de captura de movimento (MOCAP), surgiram no

mercado novos equipamentos de captura de movimentos para o uso doméstico, mais

concretamente para interação com jogos de vídeo. Assim, obter um destes equipamentos

tornou-se algo acessível e pouco dispendioso. Neste sentido, a INOVA+ decidiu criar uma

aplicação que possa não só ser usada nas sessões de fisioterapia de paciente com doença de

Parkinson mas também pelos familiares e amigos de pessoas que sofram desta doença.

A aplicação é um sistema complexo com várias opções de uso, entre as quais existirá

uma opção de jogos lúdicos que proporcionem ao paciente a prática de atividade física. É

neste contexto que se focará a minha dissertação. Assim, o objetivo principal do projeto

consiste em criar um ou mais jogos lúdicos que permitam ao utilizador, pessoa que sofra da

doença de Parkinson, jogar através de movimentos do seu corpo.

Palavras-chave: Eletrotécnica, computadores, MOCAP, Kinect, jogos didáticos,

tecnologia, fisioterapia e doença de Parkinson

Page 6: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

ii

Page 7: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

iii

Abstract

This proposal is in response to a request from the INOVA+ Company whose objective is

to create a platform to support rehabilitation and maintenance therapy of Parkinson patients

through a virtual environment with interaction using the Kinect from Microsoft, for personal

computers.

Due to technological advances in the motion capture (MOCAP) area, several new

motion capture equipment to domestic use appeared on the market, specifically for

interacting with videogames. To buy one of these devices has become affordable and

inexpensive. Considering this, INOVA+ decided to create an application that can be used not

only in physical therapy sessions but also in the home with help of the family members and

friends of people that have that disease.

The application will include multiple options of use, among which there will be a choice

of didactic games that provides entertainment and physical activity to the patient. That will be

the focus of dissertation. The main objective of this project is to create one or more didactic

games that allow the patient to play through his/her body movements.

Keywords: Electrical engineering, computers, MOCAP, Kinect, didactic games, technology,

physical therapy and Parkinson’s disease

Page 8: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

iv

Page 9: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

v

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 à INOVA+ e especialmente ao Eng. João Correia

por me terem concedido a oportunidade de realizar esta dissertação.

Ao meu orientador Prof. Miguel Velhote Correia pela sua disponibilidade e orientação,

pelas suas sugestões, criticas e todo o apoio prestado.

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.

Por último, mas não menos importantes, agradeço a todos os meus amigos que fazem

parte da minha vida.

Muito obrigado,

Filipe Vieira

Page 10: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

vi

Í ndice

Resumo ........................................................................................................................................... i

Abstract ........................................................................................................................................ iii

Lista de Figuras ............................................................................................................................ viii

Lista de Tabelas ............................................................................................................................. ix

Abreviaturas e Símbolos................................................................................................................ x

Capítulo 1 ...................................................................................................................................... 1

Introdução ..................................................................................................................................... 1

1.1 Contexto ........................................................................................................................ 1

1.2 Objetivos ....................................................................................................................... 2

1.3 Motivação ...................................................................................................................... 2

1.4 Estrutura do documento ............................................................................................... 2

Capítulo 2 ...................................................................................................................................... 3

Revisão Bibliográfica e Estado da Arte .......................................................................................... 3

2.1 MOCAP – Captura de Movimentos ............................................................................... 3

2.2 Fisioterapia na Doença de Parkinson ............................................................................ 4

2.3 Projetos Similares .......................................................................................................... 5

Capítulo 3 ...................................................................................................................................... 6

O Projeto ....................................................................................................................................... 6

3.1 O problema.................................................................................................................... 6

3.2 Solução proposta ........................................................................................................... 6

3.3 Arquitetura do sistema ................................................................................................. 7

Capítulo 4 ...................................................................................................................................... 8

Meios e Métodos .......................................................................................................................... 8

4.1 Tecnologias e ferramentas ............................................................................................ 8

4.1.1 Kinect ..................................................................................................................... 8

4.1.2 Linguagens de programação ............................................................................... 11

4.1.3 Ambientes de desenvolvimento ......................................................................... 11

4.1.4 Formatos ............................................................................................................. 14

Capítulo 5 .................................................................................................................................... 15

Experiências e Resultados ........................................................................................................... 15

Page 11: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

vii

Capítulo 6 .................................................................................................................................... 16

Conclusões e Trabalho Futuro ..................................................................................................... 16

6.1 Plano de Trabalho ....................................................................................................... 16

6.1.1 Preparação da Dissertação, 2º Semestre 2011/2012: ........................................ 16

6.1.2 Dissertação, 1º Semestre 2012/2013: ................................................................. 16

6.2 Conclusão .................................................................................................................... 17

Referências .................................................................................................................................. 18

Page 12: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

viii

Lista de Figuras

Figura 1 - Arquitetura do sistema ................................................................................................. 7

Figura 2 - Visão geral do sensor Kinect para Windows ................................................................. 8

Figura 3 - Sensores de profundidade 3D [3D Depth Sensors] ....................................................... 9

Figura 4 - Distâncias suportadas pelo sensor de profundidade .................................................... 9

Figura 5 - Microfones e Motor Tilt do Kinect ............................................................................. 10

Figura 6 - Esquema do funcionamento de uma aplicação em XNA ............................................ 12

Figura 7 - Arquitetura do .NET framework ................................................................................. 13

Figura 8 - Fluxograma do jogo protótipo .................................................................................... 15

Figura 9 - Metodologia a adotar.................................................................................................. 17

Page 13: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

ix

Lista de Tabelas

Tabela 1: Formatos suportados pelo XNA ................................................................................... 14

Page 14: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

x

Abreviaturas e Sí mbolos

Lista de abreviaturas

API Application Programming Interface CLR Common Language Runtime

FEUP Faculdade de Engenharia da Universidade do Porto IDE Integrated Development Environment IV Infravermelhos JIT Just In Time Compiler

MIEEC Mestrado Integrado em Engenharia Eletrotécnica e de Computadores MOCAP Motion capture – Captura de movimentos

UML Unified Modeling Language WPF Windows Presentation Foundation XML Extensible Markup Language

Page 15: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

xi

Page 16: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

1

Capítulo 1

Íntroduça o

Este capítulo apresenta os objetivos do trabalho proposto, a motivação e interesse que

justificam a realização deste projeto e a estrutura e organização do documento.

O trabalho realizado foi desenvolvido na empresa Inovamais – Serviços de

Consultadoria em Inovação Tecnológica, Lda, em parceria com a Faculdade de Engenharia da

Universidade do Porto.

1.1 Contexto

A doença de Parkinson é uma das doenças neurológicas mais comuns dos dias de hoje,

atingindo principalmente pessoas idosas. As suas características são próprias de cada doente e

por vezes encontramos todos os graus de deterioração e o doente não apresenta um conjunto

de sintomas típico. Os principais sintomas verificam-se ao nível físico, provocando nos doentes

limitações nos movimentos. É, portanto, importante introduzir na rotina diária dos doentes de

Parkinson atividades físicas, incluindo acompanhamento com fisioterapia.

O trabalho desenvolvido pelos fisioterapeutas tem sido crucial para um melhoramento

nos movimentos dos pacientes, contudo nem sempre é possível aos fisioterapeutas aplicarem

os seus métodos fora das sessões de tratamento. A aplicação que se pretende desenvolver

tem esse objetivo, isto é, de auxiliar no trabalho dos fisioterapeutas, quer durante as sessões

de fisioterapia quer fora destas.

Com o surgimento de plataformas de interface natural como o Kinect, tornou-se claro

que esta plataforma ofereceria um ambiente de interação que proporcionaria a atividade

física, sem necessidade de utilizar outros acessórios, como um comando ou o teclado para

interagir.

Assim, pretende-se que a aplicação use o Kinect como meio de interação que permita

ao utilizador a prática de exercício físico de uma forma descontraída e apreciativa.

Page 17: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

2

1.2 Objetivos

O primeiro objetivo do trabalho é o estudo e análise da Doença de Parkinson e das

suas limitações, assim como os principais movimentos que auxiliem na fisioterapia. É

importante conhecer e entender como esta doença afeta as pessoas e como estas interagem

com o mundo real. Apesar da complexidade da doença e dos seus sintomas, esta compreensão

permitirá que se possa adaptar esse conhecimento ao mundo digital, adaptando a interação

entre o utilizador e o computador.

O passo seguinte consiste em estudar e conhecer todas as tecnologias a usar para que

se possa tirar o máximo partido destas.

A última etapa será o desenvolvimento de um ou mais jogos lúdicos que serão

introduzidos na plataforma de apoio à terapia de reabilitação e manutenção de doente de

Parkinson. Esta plataforma permitirá executar os jogos e usará um sistema de base de dados

em XML para gravar e/ou carregar dados do progresso de cada utilizador. Esta informação será

importante para determinar o nível de dificuldade dos jogos, assim como servirá para o

fisioterapeuta acompanhar a progressão e estatísticas da progressão dos pacientes.

1.3 Motivação

Na área da saúde tem sido forte a aposta nas novas tecnologias e com a contínua

melhoria da tecnologia surgem novos projetos e plataformas que ajudam nesse sentido. Usar o

Kinect – a mais recente novidade da Microsoft com imenso potencial, na área da saúde como a

fisioterapia, faz todo o sentido e o desafio não podia ser maior.

Colocar-se-ão assim em prática as capacidades adquiridas ao longo da formação

académica e principalmente fazendo parte de um projeto inovador e com enorme potencial

que servirá para ajudar a melhorar a vida de pessoas com limitações, como é o caso de

doentes de Parkinson.

1.4 Estrutura do documento

Este relatório encontra-se dividido em 4 capítulos. O capítulo 1, já introduzido

anteriormente, serve de introdução para que o leitor se enquadre no contexto do trabalho

realizado. No capítulo 2 é apresentada a revisão da literatura e o levantamento do estado da

arte. No capítulo 3 é caracterizado os problemas a tratar e as soluções propostas, assim como

a arquitetura do projeto. No capítulo 4 apresenta-se o plano de trabalho e as tecnologias e

ferramentas a usar.

Page 18: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

3

Capítulo 2

Revisa o Bibliogra fica e Estado da Arte

Este capítulo pretende apresentar o estado da arte que contém conceitos e ideias

fundamentais para uma melhor compreensão do assunto a tratar. Nesse sentido, é

documentado o estado atual das tecnologias neste campo, assim como toda a investigação

feita até ao momento na área.

2.1 MOCAP – Captura de Movimentos

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 utilização de

técnicas de captura de movimento nas mais variadas áreas, tais como o entretenimento,

produções cinematográficas, aplicações médicas, militarismo, etc.

Existem diferentes tipos de sistemas de captura de movimento, que podem ser

divididos em três princípios físicos básicos: mecânico, ótico e eletromagnético.

No sistema mecânico, a pessoa que realiza os movimentos a ser capturados, utiliza um

equipamento com formato humano, constituído por peças metálicas, que acompanha os

movimentos dessa pessoa. Também podem ser utilizadas luvas, braços mecânicos ou modelos

articuláveis. As principais vantagens deste sistema são o grande intervalo de captura, o baixo

custo comparado a outro tipo de sistemas, o facto de não haver interferência da luz ou campos

magnéticos, captura em tempo real, portabilidade e incorporação de várias capturas em

simultâneo. No entanto torna-se um sistema complexo devido à quantidade de detalhes dos

equipamentos e à necessidade de os calibrar com frequência o que limita os movimentos de

captura.

Quanto ao sistema ótico, são colocados marcadores refletores na pessoa que executa

os movimentos. Os movimentos da pessoa são seguidos por várias câmaras e a informação é

obtida por triangulação entre elas. Estes marcadores são fontes de luz, geralmente LEDs. Este

sistema distingue-se pela sua elevada precisão, não existem cabos logo o utilizador pode

executar movimentos mais complexos e permite uma área de captura maior que outros

sistemas. Os seus pontos fracos são principalmente o seu elevado custo, está propenso a

interferência de luz e a captura tem de ser feita em ambiente controlado sem muitos

marcadores de reflexão para evitar interferência nos resultados.

O sistema eletromagnético utiliza campos magnéticos gerados por emissores

localizados nas junções do corpo. Esses campos são comparados ao campo magnético da Terra

Page 19: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

4

no local onde está a ser medido. Para isso, antes de começar a seção de captura tem-se

sempre que calibrar o equipamento. A informação é obtida em tempo real, é possível capturar

movimento de várias pessoas e é relativamente mais barato que o sistema ótico. No entanto

não é tão bom como o ótico pois tem menor área de captura, os movimentos estão limitados

por cabos e estão suscetíveis à interferência de campos magnéticos. [1],[2],[3]

2.2 Fisioterapia na Doença de Parkinson

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 a independência para realizar as atividades de vida diária, melhorando a sua

qualidade de vida.

Para os doentes de Parkinson a fisioterapia é um complemento muito importante à

terapia farmacológica. Ela promove o exercício físico, mantem 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. [4]

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 está no fazer duas coisas em simultâneo, 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. [5]

Mas nem só a atividade física 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%. Outro fator que

considero particularmente importante e que pode ser aproveitado no conceito do jogo é a

motivação. A motivação influência 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. [5]

Page 20: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

5

2.3 Projetos Similares

Com o aparecimento de tecnologias de captura de movimento mais acessíveis, como o

Kinect, e a disponibilização das suas API começaram a surgir diversas ideias e projetos em

diferentes áreas de aplicação. Apesar de haver algumas aplicações e jogos destinados ao

suporte na fisioterapia de reabilitação e promoção de atividade física, não existe nenhum

projeto publicado focado em auxiliar os doentes de Parkinson. Focar-se-á essencialmente na

área de aplicação de fisioterapia em geral através do uso do Kinect.

Na University of Southern California estão a desenvolver um projeto para reabilitação

de pacientes através de jogos. A aplicação faz uso da câmara da Microsoft, o Kinect, e tem o

objetivo de promover a atividade física em pessoas que tenham sofrido um acidente vascular

cerebral ou uma lesão cerebral. Tem uma interface apelativa e simples, através de gráficos 2D

e 3D. [6]

Outra aplicação surgiu no trabalho conjunto da Microsoft, Avanade e Accenture que

desenvolveram uma maneira de os pacientes interagirem com os seus médicos, em qualquer

lugar do mundo, sem necessidade de contacto físico. O objetivo é aumentar o número de

pacientes diários dos médicos e evitar deslocações que podem comprometer a qualidade de

vida dos pacientes. O paciente faz uso de uma câmara Kinect para que toda a informação

relevante possa ser enviada para os médicos que podem assim visualizar e analisar sintomas

de forma interativa e tridimensional. Os dados dos pacientes são armazenados de forma

segura para futura referência. [7]

A Virtualware em colaboração com a Fundação Esclerose Múltipla de Biscaia, Espanha,

desenvolveu o produto VirtualRehab, um sistema de reabilitação que combina ambientes

virtuais 3D e a câmara Kinect para doentes de esclerose múltipla. Esta aplicação contém um

sistema de análise e registo para elaboração de relatórios que permite ao fisioterapeuta

observar e controlar o progresso de cada paciente. [8]

Além destas aplicações existem outros projetos com ideias e propósitos semelhantes

mas que estão apenas em desenvolvimento em projetos e trabalhos universitários.

Page 21: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

6

Capítulo 3

O Projeto

3.1 O problema

A doença de Parkinson é atualmente uma das doenças neurológicas mais comuns, que

se caracteriza principalmente por limitação de movimentos e rigidez muscular. Para pessoas

que sofram desta doença, o seu dia-a-dia é uma luta constante. Qualquer atividade diária por

mais básica que possa parecer – como andar, levantar da cama ou de uma cadeira, falar, vestir,

escrever, beber água, etc. – pode tornar-se um grave problema para estas pessoas. Por essa

razão é indispensável juntar a fisioterapia como apoio ao tratamento farmacológico da doença

de Parkinson.

Através da fisioterapia o doente torna-se mais ativo e independente, o que diminui os

riscos de complicações, como as quedas, oferecendo uma melhor qualidade de vida. No

entanto, por diversos motivos, nem todos os doentes de Parkinson podem participar nestas

sessões ou participar tantas vezes como gostariam. É neste sentido que a INOVA+ propõe a

criação e desenvolvimento de uma aplicação que suporte os fisioterapeutas neste processo

mas que também permita que qualquer pessoa com um computador pessoal possa ajudar os

seus familiares e/ou amigos que sofram de doença de Parkinson.

3.2 Solução proposta

Pretende-se com esta dissertação a criação de jogos lúdicos, para computadores

pessoais com sistema operativo Windows, que proporcionem e influenciem a atividade física

aos seus utilizadores, através da interação natural que o Kinect oferece. Estes jogos deverão

ser integrados na plataforma de apoio à terapia de reabilitação e manutenção de doentes de

Parkinson, que está a ser desenvolvida pela empresa INOVA+, com diferentes níveis de

dificuldade e que permitam guardar informação relativa ao progresso de cada

paciente/utilizador.

Page 22: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

7

3.3 Arquitetura do sistema

Como já referido anteriormente, estes jogos deverão ser lançados a partir da aplicação

de apoio à terapia de reabilitação e manutenção de doentes de Parkinson. A figura seguinte

apresenta a arquitetura do sistema a ser desenvolvido.

Figura 1: Arquitetura do sistema

Como se pode verificar na figura 1, o jogo é lançado através da interface da aplicação

de apoio à terapia de reabilitação e manutenção de doentes de Parkinson. Esta aplicação além

de lançar o jogo pretendido, também terá a capacidade de configurar o grau de dificuldade do

mesmo ou até ver dados guardados de sessões de fisioterapia anteriores e evolução do

paciente. Para isso, acede a um ficheiro XML, que por sua vez é alterado pelo jogo conforme o

paciente vá jogando e progredindo. O paciente interage com o jogo através do Kinect, no

entanto a pessoa responsável, neste caso representada como fisioterapeuta, tem controlo

sobre a aplicação através de um teclado e rato.

Page 23: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

8

Capítulo 4

Meios e Me todos

4.1 Tecnologias e ferramentas

Esta dissertação tem como característica principal o uso do Kinect da Microsoft e

portanto será desenvolvido sobre algumas das principais plataformas de desenvolvimento de

jogos da Microsoft. Nesta secção são apresentadas essas tecnologias, assim como linguagens

de programação, principais formatos a usar e software complementar com diferentes

objetivos no trabalho.

4.1.1 Kinect

O Kinect é um dispositivo para a consola Microsoft Xbox 360 e para o sistema

operativo Windows que permite interagir com o ambiente gráfico usando a movimentação do

corpo ou por comandos de voz sem a necessidade de usar teclado, rato, comando ou outro

tipo de controlo tradicional. Assemelha-se a uma WebCam com um formato em barra

horizontal. Contém uma câmara de vídeo RGB de alta resolução, um conjunto de microfones,

dois sensores infravermelhos de profundidade e um motor tilt que controla o angulo de

inclinação do Kinect.

Figura 2: Visão geral do sensor Kinect para Windows

Page 24: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

9

Recentemente a Microsoft lançou o Kinect para Windows que apesar de ser baseado

na mesma tecnologia que o anterior (Kinect para Xbox 360), a sua firmware foi ajustada para

que o seu sensor de profundidade fosse mais abrangente. Este sensor é responsável pela

deteção do corpo esqueletal dos utilizadores, permitindo assim não só a captura de

movimentos como a distinção entre vários utilizadores.

Como se pode verificar na figura 4, o Kinect contém dois sensores de profundidade 3D,

ou 3D Depth Sensors. O projetor de infravermelhos, ou IR Projector, que projeta um campo de

pontos para o cenário capturado e a câmara de infravermelhos, ou IR Camera, que vê esses

pontos no cenário. O Kinect usa a informação desses pontos para elaborar um “mapa de

profundidade” de uma imagem para definir a distância de cada elemento dessa imagem.

Figura 1: Sensores de profundidade 3D [3D Depth Sensors]

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 5 mostra as

distâncias que a câmara de profundidade suporta para os seus dois diferentes modos de

execução.

Figura 2: Distâncias suportadas pelo sensor de profundidade

Page 25: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

10

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 6. [9][10]

Figura 3: Microfones e Motor Tilt do Kinect

Page 26: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

11

4.1.2 Linguagens de programação

C#

C Sharp, ou simplesmente C#, é uma linguagem de programação da Microsoft

orientada a objetos e com tipagem segura, criada para o desenvolvimento de aplicações que

executam sobre a arquitetura .NET Framework.

Mais à frente neste documento encontra-se explicado e representado como o .NET

Framework se relaciona com o C#.

XML

O XML, Extensible Markup Language, é uma linguagem de marcação que define um

conjunto de regras para a codificação de documentos num formato legível por máquinas e

humanos. A sua principal característica é a criação de uma infraestrutura única para diversas

linguagens. O XML é um formato que permite a definição de tags ou delimitadores que

caracterizam os dados e a sua formatação, não depende das plataformas de hardware ou

software e cria documentos de forma hierárquica.

O objetivo de usar o XML neste projeto será de criar uma base de dados para que seja

possível guardar informação do progresso e evolução dos pacientes/utilizadores.

4.1.3 Ambientes de desenvolvimento

Visual Studio 2010

É um IDE (Integrated Development Environment) da Microsoft ideal para desenvolver

aplicações para Windows, especialmente dedicadas ao .NET framework e à linguagem C#. É o

programa onde será escrito, compilado e testado a aplicação.

Kinect SDK v1.5

Fornece ferramentas que permitem desenvolver aplicações com reconhecimento de

gestos e voz, através do sensor Kinect e um computador com Windows 7 ou superior. A sua

mais recente versão oferece uma melhoria substancial na deteção do esqueleto,

reconhecimento de voz melhorada, nova API (Application Programming Interface) e a

capacidade de suportar até quatro sensores Kinect conectados a um computador. [11]

XNA

XNA é um framework desenvolvido pela Microsoft direcionado para a criação de jogos,

quer para Windows, Xbox 360 e Windows Phone 7. Está atualmente na versão 4.0 e suporta a

linguagem C#.

Tem como classe principal a classe Game e a sua estrutura já inclui quatro métodos de

raiz: Initialize, LoadContent, Update, UnloadContent e Draw. O esquema seguinte mostra o

funcionamento desses métodos.

Page 27: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

12

Figura 4: Esquema do funcionamento de uma aplicação em XNA

Cada um destes métodos tem uma função específica à qual se deve ter em 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, verificar o estado do teclado, mover objetos, etc. O método Draw é

semelhante ao Update, mas com o objetivo de 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.

.NET Framework 4.0

É 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).

[12][13] A versão a ser utilizada será a mais recente, ou seja, a versão 4.0.

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. [14] 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

Page 28: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

13

instruções de máquina. A figura 8 ilustra de uma forma resumida as relações entre o tempo de

compilação e execução do código fonte C#, bibliotecas do .NET Framework e o CLR. [15]

Figura 5: Arquitetura do .NET framework

Blender

Também conhecido por blender3d, é um programa computacional que permite a

criação de uma gama diversificada de conteúdo 2D e 3D. O Blender oferece um amplo espetro

de modelagem, animação, texturização, composição e edição de vídeo.

Esta aplicação será usada essencialmente para a criação de objetos tridimensionais a

incluir no jogo.

Page 29: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

14

4.1.4 Formatos

Uma vez que a base do projeto será desenvolvida sobre o XNA, os formatos a utilizador

serão os suportados por esta plataforma. A tabela seguinte mostra os tipos de arquivos

suportados para os diferentes conteúdos.

Tipo de conteúdo Tipo de arquivo (formato)

Modelos 3D .x, .fbx

Textura / imagens .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga

Áudio .xap, .wma, .mp3, .wav

Fontes (texto) .spritefont

Efeitos .fx

Tabela 1: Formatos suportados pelo XNA

Page 30: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

15

Capítulo 5

Experie ncias e Resultados

Durante o período de preparação da dissertação foi possível criar um protótipo de um

jogo em XNA com interação através do Kinect, que foi importante para aprendizagem e

aprofundamento do conhecimento sobre as tecnologias e ferramentas a utilizar.

O jogo tem como objetivo incentivar o utilizador a mover as mãos de forma a interagir

com os objetos. Esses objetos são flores que caem do topo do ecrã e o jogador deve “tocar”

nelas de forma a recolher o máximo de flores possível antes que saiam fora do limite do ecrã. É

contabilizado o número de flores que o utilizador recolhe, isto é, “toca”. De modo a que seja

percetível ao jogador saber a posição das suas mãos é feita uma representação com duas

imagens da mão direita e esquerda nas respetivas posições. Quando ocorrem colisões são

reproduzidos diferentes sons conforme ocorra com a mão esquerda ou direita.

Está implementado um método de reconhecimento do estado do Kinect, isto é, se está

ligado ou não e consequente aviso gráfico no ecrã.

O seguinte fluxograma descreve o funcionamento do jogo.

Figura 6: Fluxograma do jogo protótipo

Page 31: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

16

Capítulo 6

Concluso es e Trabalho Futuro

6.1 Plano de Trabalho

De modo a garantir o cumprimento dos principais objetivos do projeto, apresenta-se

de seguida o planeamento dos trabalhos divididos em duas fases: a primeira fase a decorrer ao

longo do 2º semestre de 2012 na unidade curricular de Preparação da Dissertação e a segunda

fase a decorrer inteiramente inserida na Dissertação no ano letivo seguinte, 2012/2013.

6.1.1 Preparação da Dissertação, 2º Semestre 2011/2012:

Primeiros contatos com a empresa e com ambos os orientadores de modo

a analisar e planificar o projeto

Criação do website para a tese

Estudo da Doença de Parkinson e principais limitações físicas provocadas

pela doença

Estudo da linguagem C#

Introdução e estudo do Kinect

Introdução ao XNA

Revisão da literatura e estado da arte

6.1.2 Dissertação, 1º Semestre 2012/2013:

Início de trabalhos na empresa e ambientação ao novo ambiente de

trabalho

Introdução ao ambiente gráfico 3D

Continuação ao desenvolvimento da plataforma

Implementação dos jogos na aplicação

Testes finais da aplicação

Desenvolvimento do documento final da dissertação

Page 32: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

17

6.2 Conclusão

Foi feito 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. Compreendida melhor a doença de Parkinson, deu-se introdução ao estudo

aprofundado das tecnologias a utilizar, nomeadamente linguagens de programação, software

e familiarização com o próprio Kinect. Após estas duas fases de inicialização e compreensão do

problema, aplicaram-se os conhecimentos adquiridos e desenvolveu-se um jogo protótipo que

utiliza o Kinect para interagir com um ambiente gráfico a 2D, para assim compreender melhor

as ferramentas a utilizar. Após esta fase, abordou-se a tecnologia 3D, a sua modelação e

aplicação em XNA. O desafio seguinte consiste em movimentar um avatar, figura

tridimensional, através da interação natural do Kinect.

Posteriormente pretende-se produzir um jogo lúdico com gráficos tridimensionais que

proporcionem aos utilizadores uma experiência física, influenciando de forma positiva a sua

fisioterapia.

A estratégia de abordagem ao problema está representada na figura seguinte:

Figura 7: Metodologia a adotar

Page 33: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

18

Refere ncias

[1] Maureen Furniss, MIT Communications Forum. Motion Capture. Disponível em:

http://web.mit.edu/comm-forum/papers/furniss.html, acedido a última vez em 7 de Maio de

2012.

[2] João Victor Boechat Gomide, David Lunardi Flam, Daniel Pacheco , Arnaldo de Albuquerque

Araújo (2009). Captura de Movimento e Animação de Personagens em Jogos. Faculdade de

Ciências Empresariais, Universidade FUMEC, Belo Horizonte, Brasil.

[3] Wikipedia, Motion capture (2012). Disponível em:

http://en.wikipedia.org/wiki/Motion_capture, acedido a última vez em 7 de Maio de 2012.

[4] Medeiros, R. (2011). O Tratamento Fisioterapêutico na Doença de Parkinson. Trabalho

realizado no Laboratório de Fisiologia do Exercício do Centro Universitário Metodista – IPA,

Porto Alegre, Brasil.

[5] Associação Portuguesa de Doentes de Parkinson, ed. lit.; Sociedade Portuguesa de

Neurologia, ed. lit.; Levy, Alice, trad.; Ferreira, Joaquim, trad. (2005). Manual do Doente de

Parkinson. Lisboa.

[6] USC - Institute for Creative Technologies, Microsoft Kinect/Primesense Sensing Systems for

Virtual Rehabilitation. Disponível em: http://ict.usc.edu/events/belinda-lange-skip-rizzo-tamar-

weiss-microsoft-kinectprimesense-sensing-systems-for-virtual-rehabilitation/, acedido a última

vez em 15 de Maio de 2012.

[7] Accenture, Accenture and Avanade Solutions Showcase at Microsoft. Disponível em:

http://www.showcase.avanade.com/TopicDetail.aspx?TopicID=6ecbc380-18e0-47d8-87a8-

3f3c6631a446, acedido a última vez em 20 de Maio de 2012.

[8] VirtualRehab, Patient Rehabilitation Using Kinect Technology. Disponível em:

http://virtualrehab.info/en/product/, acedido a última vez em 20 de Maio de 2012.

[9] Miles, R. (2012). Using Kinect for Windows with XNA, Edition 1.1.

[10] Pires, B. (2012). Kinect Hack, Programar. 33: 6-7.

[11] Microsoft, Kinect for Windows. Disponível em:

http://www.microsoft.com/en-us/kinectforwindows/develop/new.aspx, acedido a última

vez em 22 de Junho de 2012.

[12] MSDN, Microsoft Developer Network, .NET Framework 4. Disponível em:

http://msdn.microsoft.com/en-us/library/w0x726c2.aspx, acedido a última vez em 26 de

Junho de 2012.

[13] MSDN, Microsoft Developer Network, .NET Framework Conceptual Overview. Disponível

em: http://msdn.microsoft.com/pt-br/library/zw4w595w, acedido a última vez em 26 de

Junho de 2012.

Page 34: Relatório Final - paginas.fe.up.ptee06243/documentos/pdi/RelatorioFinal.pdf · INOVA+ que tem como objetivo a criação de uma plataforma de apoio à terapia de reabilitação

19

[14] Wikipedia, Microsoft .NET. Disponível em: http://pt.wikipedia.org/wiki/Microsoft_.NET,

acedido a última vez em 26 de Junho de 2012.

[15] MSDN, Microsoft Developer Network, Introduction to the C# Language and the .NET

Framework. Disponível em: http://msdn.microsoft.com/library/z1zx9t92, acedido a última

vez em 12 de Junho de 2012.