Vous êtes sur la page 1sur 90

Aplicao de agentes inteligentes capazes de desempenhar o papel de membros na execuo de trabalhos em equipa, em ambiente virtual 3D OpenSimulator

! !!

Andreas Carocha Vilela

Orientadores: Rui Prada Leonel Morgado

Dissertao submetida UNIVERSIDADE DE TRS-OS-MONTES E ALTO DOURO para obteno do grau de MESTRE em Informtica, de acordo com o disposto no DR 1 srieA, Decreto-Lei n. 74/2006 de 24 de Maro e no Regulamento de Estudos Ps-Graduados da UTAD DR, 2. srie Deliberao n. 2391/2007

Aplicao de agentes inteligentes capazes de desempenhar o papel de membros na execuo de trabalhos em equipa, em ambiente virtual 3D OpenSimulator

Andreas Carocha Vilela

Orientadores: Rui Prada Leonel Morgado

Orientao Cientfica: Rui Prada Professor Auxiliar Departamento de Engenharia Informtica Instituto Superior Tcnico Universidade Tcnica de Lisboa

Leonel Caseiro Morgado Professor Auxiliar Departamento de Engenharias Escola de Cincias e Tecnologia - ECT Universidade de Trs-os-Montes e Alto Douro

Resumo
A possibilidade de treino de uma tarefa efectuada em equipa exige a disponibilidade de horrio e alguma homogeneidade de preparao dos membros do processo de treino, o que limita as possibilidades de treino individual de uma tarefa. A generalizao do uso de novas tecnologias na sociedade, proporciona a criao de um ambiente de treino totalmente simulado. Por sua vez, a aplicao de agentes inteligentes a estes cenrios, em substituio de alguns dos elementos humanos da equipa, permite ultrapassar limitaes relacionadas com o treino individual de um processo de equipa, fazendo com que este decorra mesmo que s parte dos membros humanos esteja disponvel ou preparada. Este trabalho apresenta uma proposta que visa contribuir para a resoluo deste problema, aplicando este estudo ao caso prtico de formao de mecnicos da Fora Area Portuguesa em operaes de manuteno de motores de aeronaves F-16, partilhando um mesmo espao virtual 3D em OpenSimulator. Desta forma, esta dissertao descreve e analisa os vrios elementos seguidos para atingir essa integrao, conseguindo assim aplicar agentes inteligentes ao caso de estudo em questo, combatendo as limitaes de treino individual de uma tarefa executada em equipa.

Palavras-chave: Agentes inteligentes, formao, tarefas em equipa, mundos virtuais 3D, F-16, OpenSimulator.

ii

Abstract
The possibility of training a task carried out in a team requires the availability of time and somewhat homogeneous preparation of all members of the training process, which limits the possibilities of individual training of a task. The increasing use of new technologies in general provides the opportunity for creation of a simulated training environment. Simultaneously, applying intelligent agents to these scenarios, in replacement of the human team elements, can help overcome the limitations related to the individual training task, by allowing the training to take place even if only some of the human team members are available or prepared. This work presents a proposal that aims to help solve this problem, by applying this study to the practical case of training of Portuguese Air Force mechanics involved in the maintenance of F-16 aircraft engines, sharing a virtual 3D space in OpenSimulator. Thus, this dissertation describes and analyzes the procedures followed to achieve this integration, applying intelligent agents to the case study, fighting the limitations of individual training of a task intended for a team.

Keywords: Intelligent agents, training, team tasks, 3D virtual worlds, F-16, OpenSimulator.

iii

iv

Agradecimentos
Agradeo, em primeiro lugar, aos meus pais pelo apoio que sempre me proporcionaram ao longo de toda a minha vida... Pela dedicao, educao, valores e princpios que sempre me incutiram e que eu tanto valorizo... O meu agradecimento ao Professor Doutor Leonel Caseiro Morgado e ao Professor Doutor Rui Prada, orientadores deste trabalho, pelas suas ideias, sugestes e orientaes que permitiram a sua realizao. Aos meus irmos pelo apoio, disponibilidade e ajuda que me ofereceram na elaborao desta dissertao. minha namorada, por ser como , demonstrando ao longo deste percurso apoio, fora, confiana e compreenso mesmo nos momentos mais difceis. E a todos aqueles que, directa ou indirectamente, contriburam para a execuo desta dissertao.

vi

ndice
!!
1"#"INTRODUO".............................................................................................................................................."1! 1.1! !CONTEXTUALIZAO!............................................................................................................................................!1! 1.2! !OBJECTIVOS!............................................................................................................................................................!2! 1.3! !METODOLOGIA!ADOPTADA!.................................................................................................................................!2! 1.4! !ESTRUTURA!DA!DISSERTAO!............................................................................................................................!3! 2! "INSTALAO"DE"MOTOR"EM"AERONAVE"F#16"............................................................................"5! 2.1! !DESCRIO!DO!CASO!DE!ESTUDO!.......................................................................................................................!5! 2.2!!PROCESSO!DE!FORMAO!NA!FORA!AREA!PORTUGUESA!..............................................................................!6! 2.3!!ANLISE!DE!TAREFAS!...............................................................................................................................................!6! 2.4!!REQUISITOS!DO!SISTEMA!.........................................................................................................................................!7! 3! "MUNDOS"VIRTUAIS".............................................................................................................................."9! 3.1! !PANORAMA!GERAL!................................................................................................................................................!9! 3.1.1$$Second$Life$........................................................................................................................................................$11! 3.1.2$$Project$Wonderland$......................................................................................................................................$12! 3.1.3$$Active$Worlds$...................................................................................................................................................$14! 3.1.4$$Open$Cobalt$......................................................................................................................................................$15! 3.2! !OPENSIMULATOR!...............................................................................................................................................!16! 3.3! !UTILIZAO!DE!AGENTES!INTELIGENTES!E!SEU!IMPACTO!..........................................................................!18! 4! "ABORDAGENS"DE"INTELIGNCIA"ARTIFICIAL"..........................................................................." 1! 2 4.1! !ALGORITMOS!DE!PLANEAMENTO!....................................................................................................................!21! 4.2! !PARTIAL!ORDER!PLANNING!.............................................................................................................................!24! 5! "ARQUITECTURA"E"MODELO"DE"INTEGRAO".........................................................................." 5! . 2 5.1! !DEFINIO!DA!ARQUITECTURA!.......................................................................................................................!25! 5.2!!ESPAO!3D!..............................................................................................................................................................!26! 5.3!!ANLISE!DE!TAREFAS!DO!CASO!DE!ESTUDO!.......................................................................................................!28! 5.4!!CONVERSO!DE!ACES!PARA!AMBIENTE!3D!...................................................................................................!32! 6! "SISTEMA"DESENVOLVIDO"................................................................................................................" 5! 3 6.1!!FUNCIONAMENTO!DO!SISTEMA!............................................................................................................................!35! 6.1.1$$Avatares$automatizados$.............................................................................................................................$35! 6.1.2$$Objectos$3D$.......................................................................................................................................................$36! 6.1.3$$Web$Services$....................................................................................................................................................$36! 6.1.4$$Base$de$dados$..................................................................................................................................................$37! 6.2!!TESTES!E!VALIDAO!............................................................................................................................................!40! . 6.2.1$Possibilidade$de$uma$equipa,$em$simultneo,$treinar$o$processo$de$instalao$do$motor$ Pratt$&$Whitney$F100$numa$aeronave$FQ16$....................................................................................................$40! 6.2.2$Possibilidade$de$uma$equipa$composta$por$utilizadores$e$avatares$automticos,$em$ simultneo,$treinar$o$processo$de$instalao$do$motor$Pratt$&$Whitney$F100$numa$aeronave$FQ 16$.........................................................................................................................................................................................$40! 6.2.3$Os$avatares$automatizados$devem$agir$de$forma$correcta$e$de$acordo$com$o$processo$de$ manuteno$mecnica$...............................................................................................................................................$42! 6.2.4$Os$avatares$devem$tomar$iniciativas$sem$a$necessidade$de$um$comando$do$utilizador$..$43! . 6.2.5$Permitir$que$o$comportamento$dos$mecnicos$virtuais$seja$razoavelmente$semelhante$ao$ comportamento$dos$mecnicos$reais$..................................................................................................................$44!
vii

6.2.6$O$tempo$de$resposta$dos$mecnicos$virtuais$deve$assegurar$que$a$simulao$se$mantenha$ credvel$aos$utilizadores$humanos$........................................................................................................................$45! 7! CONCLUSES"E"PROPOSTAS"DE"TRABALHO"FUTURO"............................................................" 7! 4 7.1! !CONCLUSES!.......................................................................................................................................................!47! 7.2!!TRABALHO!FUTURO!...............................................................................................................................................!47! 8! REFERNCIAS"...................................................................................................................................." 8! 4 9! ANEXOS"................................................................................................................................................." 0! 5

viii

ndice de figuras
" FIGURA!1!!Imagem!referente!!descrio!de!uma!tarefa!(TO)!.......................................................................!5! FIGURA!2!!Exemplo!de!aula/sesso!no!Second!Life!.........................................................................................!12! FIGURA!3!!Campo!de!andebol,!para!treino!de!movimentaes!no!Second!Life!...................................!12! FIGURA!4!!MPK20!...........................................................................................................................................................!13!! FIGURA!5!!Plataforma!Active!Worlds!.....................................................................................................................!14! FIGURA!6!!Exemplo!de!utilizao!da!plataforma!Open!Cobalt!....................................................................!15! FIGURA!7!!Agente!pedaggico:!Steve!.....................................................................................................................!19! FIGURA!8!!Agente!pedaggico:!Adele!.....................................................................................................................!19!! FIGURA!9!!Agente!pedaggico:!Herman!the!bug!...............................................................................................!20! FIGURA!10!!The!monkey!wants!the!bananas!that!hanging!from!the!ceiling!in!the!location!B!..!22! FIGURA!11!!Planos!de!ordem!parcial!e!total!.......................................................................................................!23! FIGURA!12!!Arquitectura!do!sistema!.....................................................................................................................!25!! FIGURA!13!!Hangar!para!formao!de!mecnicos!............................................................................................!26!! FIGURA!14!!Avio!Fr16!disponvel!para!formao!...........................................................................................!27!! FIGURA!15!!Motor!Pratt!&!Whitney!F100!pronto!para!formao!..............................................................!27!! FIGURA!16!!Mapa!de!localizao!de!cada!mecnico!........................................................................................!28!! FIGURA!17!!Aco!genrica!de!remover!um!parafuso!....................................................................................!29!! FIGURA!18!!Remover!quatro!parafusos!da!fuselagem!do!avio!.............................................................!29!! FIGURA!19!!Aco!genrica!para!instalar!um!apoio!no!motor!....................................................................!30!! FIGURA!20!!Instalao!de!trs!apoios!no!motor!............................................................................................!30!! FIGURA!21!!Aco!chegar!junto!da!fuselagem!do!avio!.............................................................................!32!! . FIGURA!22!!Aco!fazer!take!do!objecto!parafuso!........................................................................................!33!! FIGURA!23!!Aco!deslocarrse!para!junto!da!mesa!de!ferramentas!.....................................................!33!! FIGURA!24!!Aco!fazer!rez!do!parafuso!em!cima!da!mesa!......................................................................!34!! FIGURA!25!!Diagrama!ErR!da!base!de!dados!implementada!.......................................................................!38!! FIGURA!26!!Dicionrio!de!dados!da!base!de!dados!desenvolvida!.............................................................!39!! FIGURA!27!!Software!criado!para!gerir!o!avatar!no!ambiente!3D!.............................................................!40!! FIGURA!28!!AlgoritmoInstalacaoMotor.exe!!.......................................................................................................!41!! FIGURA!29!!Exemplo!de!um!momento!de!actuao!dos!avatares!automatizados!..............................!42!! FIGURA!30!!Exemplo!de!movimentao!efectuado!por!um!avatar!(teletransporte)!.........................!44!

! ! !
ix

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

1 - Introduo
1.1 Contextualizao
A execuo de determinadas tarefas pode levar necessidade das mesmas serem realizadas em grupo. No entanto, a homogeneidade de preparao e disponibilidade de horrio por parte de todos os membros de um processo de treino so aspectos-chave, o que limita assim a possibilidade de treino individual do mesmo. Por sua vez, a tecnologia veio revolucionar os sistemas de ensino, no entanto, estes treinos em equipa enfrentam ainda algumas necessidades e limitaes a nvel do treino individual. O captulo 3 desta dissertao d uma perspectiva do panorama actual das tecnologias disponveis a este nvel. A evoluo das tecnologias, proporcionou o aparecimento de diversas possibilidades tcnicas para a criao de sistemas multi-utilizador 3D. Desta forma, destaca-se a utilizao de game engines (ex: Unreal Engine1, Unity 3D2, etc) e de mundos virtuais 3D. Assim, o crescente uso de tecnologias como os mundos virtuais 3D multi-utilizador proporcionam novas abordagens e oportunidades em diversas reas, nomeadamente no sistema educativo (Esteves et al., 2010). O uso destas tecnologias em prticas de formao tem vindo a ganhar relevo, tendo sido recentemente adoptada a expresso serious games como rea de trabalho frequentemente associada a este tema (embora os mundos virtuais sejam usados na educao de formas que frequentemente no tm quaisquer aspectos de jogo). Segundo Krause (2009), a simulao de actividades da vida real, em ambientes virtuais 3D, considerado um subconjunto de serious games. A tecnologia multi-utilizador 3D conta com milhes de utilizadores espalhados por todo o mundo (Woodcook, 2008) e imensos produtos comerciais disponveis (Leal, 2007). O conhecido Second Life3 ou o World of Warcraft4 so exemplos disso mesmo. So diversas as organizaes que exploram estes sistemas 3D com os mais variados objectivos, tais como: divulgao de novos produtos ou marcas, contacto com potenciais clientes, comrcio electrnico, comunicao com outros utilizadores, fins educativos (como j se referiu) ou mesmo como meio de expresso poltica e debate (Book, 2008). Existe ainda uma discrepncia entre o mundo da educao e a revoluo tecnolgica que est a decorrer nos mundos digitais. Mundos virtuais como o Second Life ou OpenSimulator5, utilizados como ambientes de ensino e aprendizagem, vm ao encontro do actual momento digital (Greis & Faria, 2007). Estes sistemas so ambientes de simulao nos quais no existem objectivos prvios a serem alcanados, existindo a possibilidade de construo de ambientes simulados em 3D e a capacidade de integrar estes mesmos ambientes com a Internet. Estas tecnologias permitem interligar utilizadores que se encontrem separados fisicamente, proporcionando comunicao entre eles ou mesmo a realizao de aces de forma colaborativa.

1 2 3 4 5

http://www.unrealengine.com/ http://unity3d.com/ http://secondlife.com/ - Mundo virtual 3D criado pela empresa Linden Lab, tambm abreviado por SL. http://eu.battle.net/wow/ http://opensimulator.org/

Assim, os mundos virtuais 3D tornam-se importantes pois permitem criar ambientes de treino simulados, proporcionando aos utilizadores a interaco com as diversas partes que constituem o sistema. Por sua vez, a utilizao de mundos virtuais 3D torna possvel a aplicao de agentes inteligentes nestes cenrios de treino, em substituio de alguns dos membros da equipa, permitindo deste modo que o treino decorra, mesmo que s parte dos membros humanos esteja disponvel ou igualmente preparada. Esta proposta permite resolver problemas associados ao treino individual na execuo de trabalhos em equipa. Pretendeu-se assim, atravs da utilizao de uma das tecnologias disponveis para a criao de sistemas multi-utilizador 3D, da aplicao de tcnicas de planeamento automatizado e da integrao de agentes inteligentes, apresentar e validar esta abordagem de forma a resolver problemas associados ao treino individual na execuo de trabalhos em equipa, proporcionando assim uma mais-valia ao que actualmente existe. Este presente trabalho foi aplicado num caso de estudo desenvolvido para a Fora Area Portuguesa. O mundo virtual 3D OpenSimulator foi a plataforma seleccionada para desenvolver este sistema. Esta escolha deve-se ao facto deste projecto se integrar num outro trabalho em curso que tem o intuito de criar, em ambiente virtual OpenSimulator, um simulador 3D prprio para a formao de mecnicos da Fora Area Portuguesa. Mais frente, nesta dissertao, sero apresentadas e explicadas as principais caractersticas desta tecnologia.

1.2 Objectivos
Este trabalho tem como intuito apresentar e validar abordagens que permitam resolver questes relacionadas com o treino individual, aquando aplicado em tarefas realizadas em equipa. Assim, o objectivo desta dissertao analisar e desenvolver agentes inteligentes capazes de desempenhar o papel de membros na execuo de tarefas em equipa, partilhando um mesmo espao virtual 3D em tecnologia OpenSimulator.

1.3 Metodologia adoptada


Para atingir o objectivo proposto estabeleceu-se um conjunto de etapas que enumeram as diversas metas de trabalho deste projecto. Estas etapas no foram necessariamente executadas de forma sequencial, pois algumas destas ocorreram de forma paralela em determinadas fases do projecto. Desta forma, so aqui descritas as vrias etapas que compem o processo que a concretiza: 1a Etapa: Escolha do caso de estudo e definio dos principais requisitos do sistema. 2a Etapa: Estudo das plataformas tecnolgicas para mundos virtuais 3D e anlise mais detalhada da opo selecionada.
2

3a Etapa: Estudo das vrias abordagens de inteligncia artificial e seleco da tcnica mais adequada. 4a Etapa: Desenvolvimento de um algoritmo para planeamento de aces. 5a Etapa: Anlise das tarefas do caso de estudo (Instalao de um motor Pratt & Whitney F100 numa aeronave F-16). 6a Etapa: Traduo das aces do processo, provenientes da anlise das tarefas, em interaces com a interface 3D. 7a Etapa: Desenvolvimento de componentes no mundo 3D, para integrao com o sistema de treino. 8a Etapa: Criao de agentes inteligentes capazes de desempenhar o papel de um elemento no processo de equipa, com base nos dados do plano de aces. 9a Etapa: Testes e validao do sistema implementado.

1.4 Estrutura da dissertao


A presente dissertao est dividida em sete captulos, sendo o primeiro capitulo esta introduo, que teve como foco identificar a proposta pretendida, assim como detalhar a metodologia adoptada que compe este processo. Foram tambm identificadas as razes e a importncia que levaram a desenvolver este trabalho. No capitulo 2, Instalao de motor em Aeronave F-16, apresentado o caso de estudo deste trabalho, o processo de formao da Fora Area Portuguesa e feita uma anlise dos requisitos do sistema. O capitulo 3, Mundos virtuais, encontra-se dividido em 3 seces, onde dada uma viso geral, do ponto de vista do programador, dos mundos virtuais, assim como so apresentadas as principais plataformas existentes. Para alm disso, este capitulo explica tambm, em mais detalhe, a plataforma utilizada para desenvolver este trabalho e analisa o impacto da utilizao de agentes inteligentes em sistemas de aprendizagem. O capitulo 4, Abordagens de Inteligncia Artificial, encontra-se dividido em 2 seces. Este capitulo apresenta algumas tcnicas de planeamento de aces, assim como os tipos de algoritmos de ordem parcial ou total. tambm detalhado o algoritmo que apresenta caractersticas mais adequadas. No capitulo 5, Arquitectura e modelo de integrao, encontra-se dividida em 4 seces. apresentada a arquitectura seguida neste trabalho e o espao virtual de treino 3D criado para o sistema. tambm feita uma anlise detalhada das tarefas do caso de estudo e mostra alguns exemplos de converses de aces para o mundo virtual 3D, etapa necessria para construir o processo de treino em ambiente 3D.
3

No capitulo 6, Sistema desenvolvido, apresentado o funcionamento do sistema e uma explicao das componentes que constituem o mesmo. So tambm identificados e apresentados os testes realizados ao sistema, bem como os seus resultados. Por fim, no capitulo 7, Concluses e propostas de trabalho futuro, apresentada uma reflexo sobre o resultado do trabalho desenvolvido e lanam-se algumas sugestes de trabalho de investigao e desenvolvimento.

2 Instalao de motor em Aeronave F-16


2.1 Descrio do caso de estudo
O treino prtico de algumas operaes na Fora Area Portuguesa6 (FAP) pode implicar o envolvimento de avies ou motores fazendo com que estes no possam estar disponveis durante esse processo, tornando-se assim momentos de formao particularmente dispendiosos. A adopo de um ambiente de formao virtual 3D pretende contribuir para aumentar a eficincia destes momentos de formao com componentes reais, permitindo aos formandos a possibilidade de praticar as tarefas de manuteno e os aspectos de coordenao entre membros da equipa de forma simulada, sem envolvimento de recursos fsicos com a ambio de aumentar a preparao prvia dos formandos para a posterior formao prtica com avies e motores reais. O processo de treino segue um conjunto de vrias tarefas de execuo, podendo estas serem ou no interdependentes. Na manuteno em mecnica aeronutica, estes processos so especificados pelos fabricantes atravs de documentos designados Technical Orders (TO), que descrevem as vrias fases das tarefas de execuo, em texto e diagramas (a Figura 1 apresenta um exemplo de aspecto grfico de uma TO).

Figura 1 Imagem referente a uma descrio de uma tarefa (TO). (Lockheed Martin Corp., 2009).

Por opo conjunta dos investigadores deste projecto e dos formadores de carcter prtico, definiu-se como objectivo inicial para o simulador, entre as vrias tarefas de manuteno mecnica possveis, o processo de instalao de um motor Pratt & Whitney F1007 numa aeronave F-16 8 . Assim, as TO associadas a este motor (Lockheed Martin Corp., 2009) apresentam todas as aces que completam um determinado processo no motor.

6 7 8

http://www.emfa.pt/www/index.php http://www.pratt-whitney.com/products/military/f100.asp http://www.emfa.pt/www/aeronavesdetalhe.php?lang=pt&cod=f16

2.2 Processo de formao na Fora Area Portuguesa


Na Fora Area Portuguesa, o processo de formao inicia-se logo aps a seleco da especialidade do militar. Esta formao-base efectuada no Centro de Formao Militar e Tcnica da Fora Area (CFMTFA9), na base da Ota10. Aps esta etapa, os militares so destacados para as bases areas existentes em Portugal, com base na sua classificao final e preferncia. Dentro de uma base area existem vrias seces e estas, de acordo com as suas necessidades, organizam o plano para os militares. o caso da Base Area N 5 (BA5), em Monte Real, Leiria, a partir da qual actuam as aeronaves F-16 da FAP. Aqui, os militares depois de destacados para a seco de operaes de linha da frente e manuteno de motores, tm uma formao simples sobre as componentes gerais da aeronave F-16, sendo que posteriormente a esta, iniciam o curso de formao nesta mesma rea denominado Curso do Motor F100-PW-220E Nvel O. Esta formao especfica, com a durao de aproximadamente 250 horas, integra no s fases tericas, mas tambm fases prticas que tm necessariamente de ser efectuadas sobre componentes mecnicos reais, inclusivamente para certificao das competncias de manuteno mecnica. nas fases de carcter prtico que a criao de um ambiente virtual 3D de treino, apoiado por avatares automticos, pode proporcionar vantagens Fora Area Portuguesa. Assim, este permite aumentar a eficincia dos momentos de formao, possibilitando aos formandos a prtica de tarefas em equipa, de forma simulada, sem a necessidade de envolvimento de recursos fsicos. O conjunto de informaes excludas e apresentadas nesta seco provem de uma entrevista realizada com o responsvel da componente de formao da BA5, Major Rui Carvalho. O relatrio completo proveniente desta entrevista encontra-se no anexo I desta dissertao.

2.3 Anlise de tarefas


Para facilitar a anlise informtica do processo de instalao em causa, enquanto processo multi-agente, os dados foram complementados com registos de vdeo e imagem dos processos reais e transformados num guio multi-agente (Teixeira & Pinto, 2010). Este desdobramento da TO de tarefas em guio multi-agente muito importante para se aplicar agentes inteligentes em substituio de seres humanos na execuo de tarefas em equipa. Por exemplo, sem a identificao clara de quais os papis a desempenhar por cada avatar numa aco a elaborar em grupo (mais que um mecnico simultaneamente) no teramos condies para definir um plano ordenado das aces necessrias a executar para concluir o processo, aspecto essencial para a generalidade das abordagens de desenvolvimento de agentes inteligentes. O capitulo 5 desta dissertao analisa, de forma mais detalhada, o conjunto de tarefas deste processo com o intuito de facilitar a interpretao informtica do mesmo.
9

10

http://www.emfa.pt/www/unidadedetalhe.php?lang=pt&cod=1F300 http://portugalfotografiaaerea.blogspot.com/2009/08/fotografia-aerea-base-aerea-da-ota.html

2.4 Requisitos do sistema


Depois de definido, como primeiro objectivo, o processo de instalao de um motor Pratt & Whitney F100 numa aeronave F-16 necessrio identificar os principais requisitos que o sistema ter que satisfazer. Para isso, indispensvel efectuar um processo de anlise ao caso de estudo em questo. Depois de algumas reunies e da entrevista previamente mencionada com os responsveis da FAP, conseguimos obter as informaes necessrias para caracterizar os utilizadores do sistema, o ambiente ou contexto em que estes esto inseridos e a forma de actuao dos mesmos no sistema. Os utilizadores do sistema so mecnicos da Fora Area que pretendem receber a formao nesta vertente. Estes, em ambiente de treino, tm a responsabilidade de desempenhar o papel de um mecnico num processo elaborado em equipa. Relativamente ao ambiente ou contexto, este decorre, normalmente, dentro de um hangar, local onde se encontram diversos avies e motores em testes ou manuteno. Este espao caracterizado como sendo um local de treino, com a disponibilidade de vrias ferramentas para a execuo do trabalho. A nvel de actuao dos utilizadores, estes devem efectuar as aces a que so propostos, com base no processo de treino em questo. No entanto, estes podem movimentar-se de forma livre no hangar. Por sua vez, o sistema deve, de forma remota, possibilitar o treino de mecnicos a qualquer momento. Este deve permitir ao utilizador treinar o processo de instalao juntamente com outros utilizadores, desempenhando assim cada um o respectivo papel atribudo. No entanto, o sistema necessita de estar preparado para permitir o treino mesmo que no esteja completo o nmero de mecnicos intervenientes, proporcionando deste modo a aplicao de agentes automticos capazes de desempenhar o papel de um membro do processo. Para alm destes aspectos, o ambiente deste sistema ter que ser um ambiente imersivo 3D, o mais prximo possvel do contexto real de formao. Existe um outro trabalho em curso na UTAD, em paralelo deste e na qual este se vai integrar, desenvolvido por outros colegas, que permite criar, em ambiente virtual OpenSimulator, um simulador 3D prprio para a formao de mecnicos da Fora Area Portuguesa. De realar que a sua modelao foi baseada no ambiente de treino real destes formandos. Assim, este trabalho aqui apresentado deve-se integrar nesse mesmo trabalho em curso. Com base nos dados resultantes da anlise efectuada podem-se extrair os principais requisitos de integrao e funcionais que este sistema ter que cumprir. Desta forma, os requisitos de integrao so: Utilizao da plataforma OpenSimulator Cada aco do processo de treino apenas pode ser executada pelo mecnico ou mecnicos que a si so atribudos Sistema de deciso deve ser externo em relao plataforma

O primeiro requisito de integrao trata-se de uma necessidade de software. Esta justificase pois, como foi mencionado est em desenvolvimento um ambiente simulado em 3D para este sistema, desenvolvido por outros alunos. Esta plataforma de cdigo fonte aberto apresenta
7

tambm vantagens em comparao com outras tecnologias, como se poder ver no capitulo 3 desta dissertao. Por sua vez, o segundo requisito de integrao, tambm referente ao trabalho desenvolvido no mbito do outro projecto, exige que cada aco do processo de treino possa ser executada, unicamente, pelo mecnico ou mecnicos a si associados. O outro requisito de integrao exige que o sistema de deciso seja externo plataforma, pois na arquitectura seguida pelo outro trabalho em desenvolvimento, no qual este se vai integrar, definiu-se este principio. Desta forma, esta componente poder ser acedida no futuro por outros sistemas sem qualquer problema. Por sua vez, os requisitos funcionais so: Possibilidade de uma equipa, em simultneo, treinar o processo de instalao de um motor Pratt & Whitney F100 numa aeronave F-16 Possibilidade de uma equipa composta por utilizadores e avatares automticos, em simultneo, treinar o processo de instalao de um motor Pratt & Whitney F100 numa aeronave F-16 Os avatares automatizados devem agir de forma correcta e de acordo com o processo de manuteno mecnica Os avatares devem tomar iniciativas sem a necessidade de um comando do utilizador Permitir que o comportamento dos mecnicos virtuais sejam razoavelmente semelhantes ao comportamento dos mecnicos reais O tempo de resposta dos mecnicos virtuais deve assegurar que a simulao se mantenha credvel aos utilizadores humanos

O primeiro requisito funcional aqui mencionado pertence tambm ao outro trabalho em desenvolvimento, sendo este requisito comum a ambos os trabalhos. Por sua vez, o segundo requisito funcional do sistema leva possibilidade de uma equipa, composta por utilizadores e avatares automticos, treinar o processo de instalao, de forma simultnea. O terceiro requisito exige que os avatares automatizados executem as devidas aces do processo de instalao, de forma correcta. No entanto, o quarto requisito requer que o mesmo tome a iniciativa na execuo de aces sem a necessidade de ordem por parte de outro utilizador. Os restantes requisitos exigem que o comportamento dos mecnicos virtuais e o seu tempo de resposta na execuo de tarefas permitam, respectivamente, tornar que estes sejam semelhantes aos utilizadores humanos e proporcionar uma simulao credvel aos utilizadores reais do sistema.

3 Mundos virtuais
3.1 Panorama geral
Apesar da plataforma de mundos virtuais estar definida, esta seco pretende dar um panorama geral das alternativas, para a melhor enquadrar tecnologicamente. Tem-se verificado, ao longo dos ltimos anos, um interesse crescente por mundos virtuais multi-utilizador, sendo estes j utilizados por milhes de utilizadores mundialmente (Woodcock, 2008). Estas plataformas possuem como caractersticas comuns a partilha de um espao, sincronismo, persistncia, interactividade entre os utilizadores, socializao e possibilidade de contedos grficos. Os universos virtuais j ultrapassaram a fronteira do jogo. Existem hoje espaos para os quais os utilizadores migraram... onde estudam, trabalham e vivem (Amaral, 2007). Estes sistemas tm-se tornado cada vez mais presentes no quotidiano dos utilizadores. Existem alguns estudos onde indicam que a utilizao mdia de cada utilizador ronda as 22 horas semanais e a idade mdia de utilizao de 25,5 anos. Estima-se que, no final de 2011, 80% dos utilizadores da Internet iro utilizar mundos virtuais (Correia & Eiras, 2010). Segundo Morgado (2009), um mundo virtual define-se como sendo plataformas informticas (jogos ou ambientes sociais), onde podem estar telepresentes imersivamente vrios jogadores ou utilizadores, que podem comunicar entre si. Ou seja, a participao desses utilizadores no mundo d-se atravs de uma personagem virtual (avatar) e aspecto fundamental atravs deste avatar que o utilizador interage com o mundo e por ele afectado. Os ltimos tempos tm proporcionado o nascimento de diversas tecnologias para desenvolvimento de mundos virtuais. De seguida apresentado, do ponto de vista do programador, a diviso de tecnologias: Motores de jogo; Mundos virtuais comerciais; Mundos virtuais com criao de contedo programado; Mundos virtuais open source;

Criar um mundo virtual ou jogo de raiz, com as caractersticas necessrias, torna-se um processo demasiado complexo e moroso. No entanto, consegue-se fazer um mundo virtual, ainda que simples, utilizando um motor de jogo existente no mercado (ex: Unity 3D, Unreal Engine, etc). Os motores disponibilizam uma srie de funcionalidades que podem ser utilizadas pelos programadores de jogos (Pozzer, 2007). Estes motores de jogo permitem ajudar e abstrair o programador no desenvolvimento, incluindo componentes muito teis, tais como: motor para renderizao de grficos, um motor para simulao de fsica ou deteco de colises, suporte a animaes, sons, gesto de memria, ou mesmo suporte a inteligncia artificial. Em contrapartida, a utilizao de um motor de jogo pode trazer algumas limitaes. Por exemplo, aspectos relacionados com a criao de contedo online e com a possibilidade de comunicar com os outros utilizadores do meio (ex: voz, chat) podem no satisfazer as
9

necessidades do sistema pretendido. Certas restries podem levar necessidade de alterao ou criao de novos mdulos, tornando-se assim um processo mais difcil para o programador. De um modo geral, os ltimos anos tm assistido ao nascimento de imensos mundos virtuais baseados na Internet, cada um deles com objectivos distintos (Leal, 2007). O exemplo mais notvel, na categoria de jogos comerciais, o jogo World of Warcraft, um MMORPG11 com 12 milhes de utilizadores (Correia & Eiras, 2010). Este grupo de mundos virtuais concentra-se na vertente de jogo e apresenta objectivos especficos ao utilizador tais como nveis, vidas ou pontos. Por outro lado, existem mundos virtuais com determinadas caractersticas que se diferenciam de outras tecnologias. Estes, para alm de fornecerem um ambiente colectivo e de comunicao, permitem a possibilidade de cada utilizador construir o seu prprio espao, onde pode desenvolver actividades, interagir com objectos e com outros habitantes. Por sua vez, estas tecnologias permitem que um sistema esteja isolado (tal como acontece em outros sistemas de formao) ou integrado num espao mais vasto (onde haja, por exemplo, interaco social de grupos diferentes de formandos que andem num ambiente virtual em tarefas distintas). Os mundos virtuais Second Life, OpenSimulator12, Project Wonderland13, Active Worlds14 e Open Cobalt15 so exemplos deste tipo de tecnologias. Estas tecnologias tm vindo a marcar presena em diversas reas, um exemplo disso, a sua utilizao como espao de debate poltico e agenda social. Existem diversas aces efectuadas, principalmente no ambiente Second Life. tambm de realar a presena da Presidncia da Repblica com um espao neste ambiente. No entanto, existem organizaes que se encontram representadas nestes ambientes com o intuito de negcio ou somente de presena. Destaca-se, essencialmente, o uso destas tecnologias referidas como ambientes virtuais de treino e aprendizagem, sendo este o tema que se vai abordar e que se baseia este projecto. Para alm das funcionalidades conhecidas destes mundos virtuais, as simulaes e roleplaying esto entre as potencialidades mais valiosas. Estas plataformas permitem que os utilizadores assumam diferentes papis e participem em diferentes simulaes, praticando habilidades da vida real no espao virtual e explorando situaes das quais eles no poderiam participar com a mesma segurana e facilidade no mundo real. Os mundos virtuais supra referidos permitem a programao de comportamentos para objectos e avatares do mundo virtual, bem como a sua interaco com sistemas externos. Assim, estes tipo de plataformas tornam-se as mais adequadas para o fim a que esta dissertao se destina: a aplicao de agentes inteligentes capazes de desempenhar o papel de um membro, na execuo de trabalhos em equipa. De seguida sero abordadas as plataformas mencionadas, de forma mais detalhada.

11 12 13 14 15

Massively Multiplayer Online Role-Playing Games http://opensimulator.org/wiki/Main_Page http://java.net/projects/wonderland/ http://www.activeworlds.com/ http://www.opencobalt.org/

10

3.1.1 Second Life


O Second Life um mundo virtual 3D desenvolvido e criado pela empresa Linden Lab, em 2003. Este recorre ao protocolo Second Life Grid Open Grid Protocol 16 (SLGOGP). Posteriormente, o mesmo foi tornado pblico assim como o software cliente Second Life que veio proporcionar o aparecimento de uma nova plataforma alternativa designada OpenSimulator, anteriormente j referida e descrita com mais detalhe na prxima seco. Esta plataforma divide o espao virtual em regies, cada qual com 256x256 metros sendo que toda a informao referente enviada atravs de streaming implementado sobre UDP17, tolerando assim a falhas relacionadas com perda e chegada fora de ordem de pacotes (Fitzgerald, 2007). Ao conjunto de todas as regies organizadas numa grelha bidimensional d-se o nome de grid, sendo que o conjunto destas resulta num espao contnuo onde o contedo e todos os utilizadores se ligam ao mesmo mundo a partir de qualquer ponto da grid existindo a possibilidade de comunicao entre utilizadores em regies distintas. Cada regio pode conter avatares ou objectos, sendo que cada um destes pode conter vrios recursos (ex: outros objectos, bloco de notas, texturas, etc) nos seus inventrios. Entre os diversos tipos de recursos, de realar a existncia de scripts que so programas que se executam dentro do mundo virtual. Estes scripts so escritos na linguagem LSL18, baseados em eventos e permitem interagir, dar comportamentos a outros objectos e comunicar com sistemas exterior ao mundo virtual, via Internet. Cada regio ainda a responsvel por efectuar a gesto de todo o contedo local (objectos, texturas, programas, sons e animaes) que se encontre nessa regio, lida ainda com a comunicao entre avatares via chat (chat pblico) e determina as posies dos objectos e avatares que por l se encontram. O software que faz a gesto de cada regio conhecido como simulador ou sim, normalmente correndo um por CPU (Sequeira, 2009). A nvel de custos de manuteno e alojamento ser mais simples alugar uma ou vrias ilhas privadas na grid do mundo virtual Second Life, no entanto, h que ter em conta que a criao de objectos (upload de certos elementos texturas, sons, animaes, etc) no gratuita, tornando-se uma opo dispendiosa a nvel monetrio quando se pretende a construo de muitos componentes externos. Para alm disso, o Second Life apresenta algumas desvantagens. O facto de estar alojado em servidores situados nas instalaes da empresa Linden Lab, torna-se dependente de uma nica empresa. um aspecto a ter em conta quando se pretende desenvolver um sistema prprio de mundo virtual, com disponibilidade total e confidencialidade de dados. Como j foi mencionado, de entre as vrias utilizaes do Second Life, destaca-se o seu uso em reas de ensino e aprendizagem. As figuras 2 e 3 mostram, respectivamente, dois ambientes distintos criados nesse mbito: exemplo de uma sesso 3D e um campo de andebol criado para treino de movimentaes no Second Life (Lopes et al., 2008).

16 17

http://wiki.secondlife.com/wiki/Open_Grid_Protocol

User Data Protocol protocolo que permite a comunicao entre diferentes computadores, sendo esta comunicao sem conexo, no garante a chegada dos pacotes em ordem particular. 18 Linden Scripting Language (http://wiki.secondlife.com/wiki/LSL_Portal)

11

Figura 2 Exemplo de aula/sesso no Second Life. [De: http://www.portaleducacao.com.br]

Figura 3 Campo de andebol, para treino de movimentaes no Second Life. (Lopes et al., 2008).

3.1.2 Project Wonderland


O Project Wonderland, actualmente designado por Open Wonderland, foi desenvolvido e financiado pela empresa Sun Microsystems (recentemente adquirida pela empresa Oracle). Actualmente, este no financiado pela Oracle e tornou-se um projecto apoiado por uma comunidade independente. uma plataforma de software de cdigo-fonte aberto em Java. Esta possibilita a construo de mundos virtuais 3D colaborativos, tendo como principal objectivo fornecer ferramentas de cdigo fonte aberto para a colaborao entre utilizadores e ferramentas de desenvolvimento. Estas ferramentas incluem visualizadores de PDF, HTML e vdeo, apresentao de slides, streaming de vdeo, som e partilha de ambientes de trabalho virtuais.

12

Esta tecnologia baseia-se na arquitectura cliente/servidor usando o servidor de jogos da Sun denominado Project Darkstar19, herdando assim as caractersticas de escalabilidade e de infraestrutura de software de persistncia do servidor. Alm deste servidor, esta tecnologia depende de outros projectos de cdigo fonte aberto, sendo eles: Java3D20, Project Looking Glass21 e jVoiceBridge22. A interface do Wonderland flexvel e eficiente, pois foi concebida para trabalhar com o Firefox, GIMP, MSN, AutoCAD ou qualquer outro aplicativo que possa ser executado no ambiente grfico X do Linux (Pereira et al., 2010). Um exemplo de aplicao baseada nesta plataforma era o espao virtual da Sun Microsystems, denominado MPK20 (Figura 4), sendo que este mundo virtual tinha o intuito de promover a interaco e colaborao entre os seus funcionrios.

Figura 4 MPK20 [De: http://labs.oracle.com/] Desta forma, os funcionrios da empresa (dos quais muitos se encontram em teletrabalho) poderiam-se encontrar, colaborar e trabalhar como o fariam num dia-a-dia normal, partilhando documentos, reunindo-se e comunicando por texto ou voz semelhante ao ambiente real.

19

Plataforma open-source middleware, criado pela Sun Microsystems para jogos online multiplayer. Este software de servidor gere as comunicaes, o estado e a persistncia do ambiente virtual. 20 http://java3d.java.net/ - uma API que consiste numa hierarquia de classes Java servindo como interface para o desenvolvimento de sistemas grficos tridimensionais. 21 http://java.sun.com/developer/technicalArticles/J2SE/Desktop/lookingglass/ - construdo em cima da API Java3D e trata da gesto de ambientes 3D. 22 http://java.net/projects/jvoicebridge/ - Fornece som espacial ao projecto Wonderland.

13

3.1.3 Active Worlds


uma plataforma para disponibilizao online de contedo 3D em tempo real, com aplicaes empresariais e pessoais. Esta tecnologia permite aos utilizadores conversarem entre si e construir contedo 3D. Para aceder a esta plataforma necessrio o uso de um software cliente prprio permitindo este que um utilizador se conecte, explore e comunique. Este software funciona de forma semelhante a um browser web 2D, pois este descarrega toda a informao de um mundo 3D, no momento de acesso ao mesmo. Esta plataforma dividida em mundos, contendo diversos ambientes para os utilizadores comunicarem e em determinadas reas, poderem construir o seu prprio espao. Estes mundos podem ser propriedade da empresa que desenvolveu a plataforma (Active Worlds) ou mesmo de utilizadores individuais, podendo estes ser comprados no prprio site da plataforma. Estes mundos so limitados ao tamanho, tamanho esse que s permite a criao de contedo dentro desse espao e onde os objectos no podem passar para fora dessa rea. Posteriormente, cada proprietrio, atribui permisses especificas aos utilizadores do seu espao. O universo Active Worlds oferece centenas de mundos para contruir e explorar, no entanto, o principal e mais conhecido mundo, denominado por Alpha World. A Figura 5 mostra um mundo virtual fornecido por esta plataforma. O estudo efectuado em Pereira et al. (2009) analisa a utilizao desta plataforma como mundo virtual 3D, aplicando este educao para crianas.

Figura 5 Plataforma Active Worlds. [De: http://wiki.activeworlds.com/]

14

3.1.4 Open Cobalt

Anteriormente definida como Open Croquet, esta uma plataforma de desenvolvimento em cdigo fonte aberto que permite criar mundos virtuais colaborativos e multi-utilizador, possibilitando a integrao de aplicaes tridimensionais e bidimensionais (Figura 6). Esta tecnologia usa tecnologia peer-to-peer23 que permite aliviar a carga dos servidores, existindo assim uma menor exigncia a nvel de largura de banda, o que tambm vantajoso para utilizadores de redes sem fios. Por sua vez, esta plataforma ainda no demonstrou encontrar-se preparada para um grande nmero de utilizadores em simultneo, uma vez que em caso de ocorrncia de erros obriga o reincio do servidores onde estes ocorrem (VanDrimmelen, 2007). Assim, esta permite a interligao de mundos virtuais distintos, construdos por cada utilizador, sendo executado em computadores pessoais ou servidores, isto , no existe um nico mundo virtual, mas sim vrios, que podero estar ou no interligados.

Figura 6 Exemplo de utilizao da plataforma Open Cobalt. [De: http://www.opencobalt.org/about/uses/]

23

uma arquitectura de sistemas distribudos caracterizada pela descentralizao das funes na rede, onde cada n pode realizar funes de servidor assim como de cliente.

15

3.2 OpenSimulator
A plataforma OpenSimulator foi a tecnologia seleccionada para desenvolver o objectivo desta dissertao, conforme se exps no capitulo de introduo desta dissertao. Para alm de algumas vantagens relativamente a outras tecnologias, que de seguida so abordadas, esta escolha deve-se tambm ao facto de existir um requisito de integrao deste projecto, que leva necessidade de desenvolver o mesmo na plataforma OpenSimulator. Esta tecnologia permite o desenvolvimento de um ambiente virtual standard para que qualquer aplicao o use como uma framework, possibilitando com facilidade a criao e personalizao de um mundo virtual prprio. uma plataforma desenvolvida em C#, correndo em sistemas Windows atravs da framework .NET e em sistemas baseados em Unix atravs da utilizao da framework Mono. Esta de cdigo-fonte aberto e permite utilizar a mesma tecnologia de software-cliente que o Second Life, embora nem todas as funcionalidades estejam ainda integradas nos servidores OpenSimulator. Em contrapartida, existem algumas funcionalidades que s funcionam com os servidores OpenSimulator. Esta tecnologia surgiu depois de tornado pblico o protocolo de comunicao entre servidores Second Life Grid e o software cliente Second Life. Este protocolo, denominado Second Life Grid Open Grid Protocol (SLGOGP), permite aos mundos virtuais construdos a partir das plataformas Second Life Grid ou OpenSimulator apresentarem imensas caractersticas em comum. O seu espao virtual dividido em pedaos ou regies que podem variar de tamanho, podendo ter regies com maiores propores que o Second Life, fornecendo meios de acesso e de privacidade em subdivises, permitindo assim que os utilizadores controlem o ponto de vista (cmara) independentemente do movimento do avatar. Tal como acontece no Second Life, ao conjunto de regies, organizadas numa grelha bidimensional, d-se o nome de grid, no entanto, um servidor pode alojar vrias regies e uma grid pode ser composta por regies alojadas no mesmo servidor ou estarem distribudas por vrios. A implementao de solues que recorram utilizao do protocolo facilitada pela existncia da biblioteca libopenmetaverse 24 , em cdigo-fonte aberto, que permite iniciar sesses de clientes em servidores e, de forma mais simplificada, aceder s vrias funcionalidades do protocolo. atravs da utilizao desta biblioteca que ser possvel integrar avatares automatizados nesta plataforma. As implementaes subjacentes das plataformas Second Life e OpenSimulator so diferentes, mas so habitualmente transparentes do ponto de vista do software-cliente (por exemplo, enquanto os servidores Second Life Grid armazenam alguma informao num servidor de ficheiros, o OpenSimulator utiliza uma base de dados para o mesmo efeito, sendo que esta situao transparente para o software-cliente) (Sequeira, 2009). Apesar de se estar a tornar mais estvel e perto de uma verso 1.0, o projecto OpenSimulator considerado ainda um produto em fase inicial (alfa), o que indica que existe um desenvolvimento contnuo atravs do cdigo-base e sem data de lanamento oficial. Existe um nmero considervel de colaboradores que trabalham nos vrios componentes, quer no desenvolvimento, quer na deteco e correco de erros (Pereira et al., 2010). Todos os recursos principais do Second Life Grid esto presentes no OpenSimulator, no entanto, realam-se os objectos 3D, inventrio e scripts que so os principais recursos
24

uma biblioteca cliente/servidor, anteriormente conhecida por libSecondLife, desenvolvida em .Net, que permite aceder e criar mundos virtuais 3D que implementem o protocolo Second Life (http://lib.openmetaverse.org/wiki/Main_Page)

16

utilizados para a elaborao do projecto. A criao de objectos, em ambientes OpenSimulator, semelhante que acontece no Second Life, com a possibilidade de criar objectos com maiores dimenses e construir at 45 mil objectos, ao contrrio dos 15 mil permitidos no Second Life. Existem ainda outras diferenas e limitaes entre estas duas plataformas que podem ser encontradas no estudo efectuado em Vilela et al. (2010). Existem duas abordagens possveis para permitir a comunicao com sistemas exteriores ao mundo virtual, via Internet. Uma delas, que j foi aqui mencionada, atravs da utilizao de scripts (escritos na linguagem LSL) que correm no servidor, baseados em eventos, permitindo assim aceder a sistemas externos e interagir com os vrios componentes do mundo virtual. A outra forma possvel, atravs do uso da biblioteca libopenmetaverse que permite a criao de clientes automatizados ou bots25, capazes de comunicar com diferentes sistemas e usufruir das diversas funcionalidades que o OpenSimulator proporciona. Ao nvel da execuo, o OpenSimulator utiliza ficheiros de configurao para definir os parmetros necessrios ao arranque e funcionamento deste. O ficheiro inicial o OpenSim.ini, que se encontra no directrio /bin, onde se encontra a configurao geral do sistema, das quais se incluem parmetros dos mdulos, da grid, entre outros. Este ficheiro suportado por outros ficheiros de configuraes das regies (baseados em XML), de servios de rede e de configurao da cache. A parte central do OpenSimulator definida por entidades, funes e servios que fornecem a base para um simulador de fsica, motor de script local e um gestor de utilizadores. Uma configurao completa do OpenSim consiste na componente das regies e nos servios necessrios a todo o seu funcionamento. Destes servios destacam-se o servio de utilizadores, servio de gesto de inventrio, servio de grid e servio de activos. A forma como os servios so executados pode ser feita em dois modos distintos: em standalone (forma independente) ou em gridmode (integrado numa grelha de servidores) (OpenSimulator, 2011). Um sistema implementado em modo standalone, executa o simulador de regies e todos os servios num nico processo, ou seja, num nico executvel: OpenSim.exe (OpenSimulator, 2011). Por sua vez, quando executado em modo gridmode, os vrios aspectos da simulao so separados e divididos em mltiplos processos, podendo estes ser executados em diferentes mquinas, proporcionando assim a criao de um sistema dimensionvel.

25

Avatar automatizado, controlado por uma aplicao externa.

17

3.3 Utilizao de agentes inteligentes e seu impacto


A utilizao de agentes inteligentes, em ambientes semelhantes ao que este projecto apresenta, pode proporcionar diversas funcionalidades e servios aos intervenientes do sistema. Os agentes podem desempenhar diferentes tipos de papis para tal efeito. Avanos significativos nas reas de tecnologia e comunicao tm proporcionado novas oportunidades de forma a facilitar a aprendizagem humana atravs de tecnologias como agentes inteligentes (Baylor, 1999). A aplicao de agentes inteligentes como personagens ou guias de navegao em ambientes de realidade virtual, bem como na sua interaco com outros utilizadores neste tipo de ambientes tm sido alvo de alguns trabalhos cientficos (Araujo et al., 2007). Agentes inteligentes, quando aplicados a sistemas de aprendizagem e treino, tm o papel de auxiliar e melhorar a qualidade do sistema educativo. Estes agentes pedaggicos devem possuir, pelos menos uma, das seguintes caractersticas: comunicar com outros alunos, cooperar em determinada tarefa, capacidade para discutir e interagir, ajudar e saber ensinar. A prioridade destes agentes passa por tentar estimular os alunos de forma a darem o melhor no processo de aprendizagem (Garrido et al., 2010). Um agente inteligente pedaggico pode agir de diferentes formas e com diferentes papis em determinada situao. Este pode actuar como professor, apoiar no processo de aprendizagem ou mesmo participar como um colega estudante em determinado ambiente colaborativo. Um agente inteligente pode tambm orientar um aluno no ambiente virtual, explicar contedos, efectuar perguntas, dar feedback e dar apoio no processo de aprendizagem, actuando em todos os momentos em conformidade com a necessidade ou objectivo do aluno. particularmente importante que o agente actue sempre de forma pedaggica (Soliman & Guetl, 2010). Alguns estudos concluem que se o agente se assemelhar e interagir como um ser humano, este ir reforar o processo de aprendizagem e aumentar a motivao dos alunos (Atkinson, 2002). Estes agentes inteligentes pedaggicos permitem assim aumentar o envolvimento dos alunos, proporcionar novos valores e formas de aprendizagem, melhorar as interaes entre o computador e o aluno bem como actuar como uma personagem integrante do sistema. Existem outros factores importantes que podem influenciar, dependendo do tipo de ambiente a que os mesmos se destinam, no processo de aprendizagem: comportamento dos agentes, modos de interaco e de comunicao (chat, voz ou gestos), papel social do agente (expert, motivador e orientador), entre outros. Na figura 7 mostrado o STEVE26, um dos agentes pedaggicos virtuais mais conhecidos, desenvolvido pelo USC Information Sciences Institutes Center for Advanced Research in Technology for Education27 (CARTE) (Johnson & Rickel, 1999). Este agente, aplicado ao treino de funes navais, tem o objectivo de interagir com os estudantes, efectuando a demonstrao de algumas tarefas e ajudar na execuo das mesmas. A figura 8, apresentada a Adele28, outro agente pedaggico criado pela mesma instituio. Este agente, corre no browser e foi desenhado para integrar materiais de ensino electrnicos. Este foi essencialmente usado para fins medicinais.
26 27 28

Soar Training Expert for Virtual Environments http://www.isi.edu/isd/carte/ Agent for Distance Learning: Light Edition.

18

Figura 7 Agente pedaggico: Steve. (Johnson & Rickel, 1999).

Figura 8 Agente pedaggico: Adele. (Johnson & Rickel, 1999).

Por sua vez, a figura 9 apresenta o agente pedaggico criado pela North Carolina State University29, Herman the Bug. Este agente, representado por um insecto, tinha o intuito de interagir com as crianas num sistema de aprendizagem no domnio da fisiologia e anatomia de plantas. Enquanto que as crianas interagiam com o sistema, o agente observava as suas aces, fornecendo explicaes em diversos momentos. Durante este processo, este efectuava diversas animaes (ex: andar, voar, nadar, pescar, teletransporte, saltos, etc).

29

http://www.ncsu.edu/

19

Figura 9 Agente pedaggico: Herman the Bug. (Johnson & Rickel, 1999).

No entanto, importante reflectir sobre a aplicao de agentes inteligentes em determinados ambientes virtuais 3D. Estes podem proporcionar algumas desvantagens; o uso de ambientes virtuais 3D ou agentes inteligentes podem distrair os alunos dos objectivos principais do curso; a aparncia e o comportamento do agente inteligente, por vezes, est longe da aparncia humana e pode afectar pela negativa o sistema de aprendizagem (Garrido et al., 2010).

20

4 Abordagens de Inteligncia Artificial


4.1 Algoritmos de Planeamento
A Inteligncia Artificial uma rea da cincia da computao, nascida em 1943, que estuda e compreende mtodos ou dispositivos que simulem a capacidade humana de raciocinar, perceber, tomar decises e resolver problemas (Ciriaco, 2008). Esta rea encontra-se presente em diversos tipos de sistemas do nosso dia-a-dia. De entre as tcnicas de Inteligncia Artificial, o planeamento automatizado que melhor se adequa s necessidades deste projecto tendo em conta os requisitos do mesmo. Este sistema necessita de gerar, de forma automtica, o plano de aces referente ao processo de manuteno mecnica em questo, possibilitando assim a aplicao de agentes inteligentes ao sistema. O problema do planeamento est entre as reas mais importantes da Inteligncia Artificial, pois inicialmente integrou duas das suas principais reas: a pesquisa e a prova de teoremas (Russel, 2004). No entanto, o planeamento automatizado est intimamente ligado ao raciocnio. Um programa com capacidade de planear capaz de fazer escolhas hipotticas, estabelecer compromissos e ordenar as suas escolhas segundo os critrios que melhor servem os seus objectivos. O planeador consegue ainda avaliar se os compromissos tomados at ento conduzem a um plano completo e coerente (Caeiro et al., 2001). O planeamento feito com o objectivo de atingir um estado final, baseando-se num conjunto de estados iniciais do sistema. Qualquer exerccio ou conjunto de tarefas de nvel prtico necessita de uma representao do seu conhecimento, de maneira a poder ser interpretada por tcnicas de planeamento. Essa representao deve ser composta por estados, objectivos e aces. Os estados so expresses bsicas que descrevem caractersticas iniciais do mundo analisado (ex: Livre(B) O objecto B encontra-se no estado Livre); os objectivos so expresses que, atravs de estados, representam o objectivo final pretendido; as aces so todas as operaes possveis de serem executadas no mundo analisado. Por sua vez, cada aco tem que ter associado um conjunto de pr-condies e ps-condies. A representao do conhecimento um dos pontos mais importantes no desenvolvimento de um bom planeamento, uma vez que define no s os tipos das pesquisas a serem executadas como at mesmo a viabilidade de se fazer uma pesquisa ou no (Amorim et al., 2009). Uma escolha fraca de estados, objectivos e aces pode tornar complexo todo o processamento. Foram desenvolvidas algumas linguagens com o intuito de serem capazes de expressar a maior quantidade possvel de problemas e ao mesmo tempo simples o suficiente para ser adaptvel em algoritmos. Destaca-se a linguagem STRIPS30, conhecida como a linguagem bsica de representao de planeadores clssicos. Com o desenvolvimento da rea de planeamento, apareceram problemas mais complexos e foi exigido que linguagens mais expressivas fossem criadas. Destas linguagens, destacam-se a ADL31 e a PDDL32. Contudo, a linguagem STRIPS que merece especial ateno pois foi aquela em que se baseou uma etapa do trabalho desta dissertao.
30 31 32

Stanford Research Institute Problem Solver Action Description Language Planning Domain Definition Language

21

Um sistema composto no formato da linguagem STRIPS formado, tal como j foi referido, por um estado inicial, um objectivo final a atingir e um conjunto de aces possveis, tendo cada uma delas uma denominao, pr e ps-condies associadas mesma. importante referir que um sistema, para alm do estado inicial e final, deve ser representado na forma mais simples possvel, isto , possuir aces bem especificadas. A figura 10 apresenta um exemplo de representao no formato da linguagem STRIPS.

Figura 10 The monkey wants the bananas that hanging from the ceiling in location B.

Depois de um sistema estar definido na linguagem STRIPS torna-se mais fcil a interpretao do mesmo por algoritmos ou outro tipo de estruturas. No entanto, a escolha do algoritmo adequado ter que ser com base numa anlise especfica a cada problema, pois cada algoritmo tem as suas caractersticas prprias. Existem diversos algoritmos, mas para a componente de ordens e planeamento de tarefas, iremos abordar dois tipos de algoritmos: partial-order planning e total-order planning. Os algoritmos baseados em partial-order planning so algoritmos que constroem um plano sem uma ordem exacta de execuo. So caracterizados como sendo algoritmos no determinsticos pois, existem diversas formas e caminhos para se conseguir atingir o objectivo final, no sendo obrigatrio haver um determinado caminho especfico. Um plano gerado por estes algoritmos composto por quatro componentes: um conjunto de aces, uma ordem parcial para as aces, um conjunto de relaes causais, um conjunto de condies em aberto, isto , aquelas condies que ainda no foram cumpridas por nenhuma aco do plano parcial. Estas quatro componentes so tratadas durante o processo de gerao do plano parcial, processo este que se inicia no estado inicial do sistema e termina quando no existem mais condies em aberto e o objectivo final foi atingido. Este tipo de algoritmos, em cada iterao, identificam
22

uma aco com pr-condio no satisfeita, introduz no plano a aco cuja ps-condio satisfaz a pr-condio no satisfeita, actualiza os links causais e verifica se existem lacunas no plano, corrigindo o mesmo em caso de problemas (Costa, 2010). Estes algoritmos so muito completos e geralmente produzem ptimas solues, contudo estes algoritmos podem encontrar dificuldades em gerar um planeamento correcto quando aplicados a sistemas muito complexos ou possurem uma representao do conhecimento fraca. Por sua vez, os algoritmos baseados em total-order planning so semelhantes aos anteriores, pois ambos tm a mesma estrutura e visam atingir uma determinada meta. No entanto, estes algoritmos geram um plano que consiste num conjunto de aces sequenciais, com uma determinada ordem especifica de execuo. A figura 11 mostra exemplos de planos gerados por algoritmos de ambos os tipos.

Figura 11 Planos de ordem parcial e total (Costa, 2010).

23

4.2 Partial Order Planning


A escolha do tipo de algoritmo um processo muito importante no desenvolvimento de um planeador. Esta escolha depende muito das caractersticas do sistema ao qual o mesmo se vai destinar. Desta forma, o sistema a ser aplicado trata-se de um processo executado em equipa, composto por diversas aces (com pr e ps-condies associadas), podendo cada uma delas ser efectuada por um actor especfico ou mesmo em equipa. De realar que, em determinado tempo do processo, no existe ordem especfica de execuo de tarefas. Assim sendo, com base nas caractersticas do sistema pretendido, um algoritmo baseado em partial-order planning o mais adequado. Para iniciar o desenvolvimento do algoritmo, foi preciso primeiramente elaborar a representao do conhecimento do sistema, em linguagem STRIPS. Esta etapa explicada com mais detalhe na seco Anlise de tarefas do caso de estudo, do prximo capitulo. Depois de elaborada a representao do conhecimento e de seleccionado o tipo de algoritmo adequado, passou-se ao desenvolvimento do algoritmo em si. Para alm de existirem diversas implementaes deste tipo de algoritmo, este foi criado praticamente de raiz. Foi desenvolvido na linguagem C# e, atravs dos parmetros de entrada do sistema, gera um plano parcial das aces para o sistema pretendido. importante mencionar que o algoritmo desenvolvido sofreu algumas adaptaes de forma a gerar um plano tendo em conta os actores a atribuir em cada aco. Estas alteraes levaram adio de um novo campo em cada aco do plano, identificando assim qual o mecnico ou mecnicos que desempenham determinada operao.

24

5 Arquitectura e modelo de integrao


5.1 Definio da arquitectura
No sentido de atingir o objectivo desta dissertao, foi necessria a elaborao de uma arquitectura que permitisse a aplicao de avatares automatizados, controlados pelo sistema de deciso, ao processo de treino 3D em mundo virtual OpenSimulator. O esquema seguinte (Figura 12) visa dar uma ideia geral da arquitectura implementada.

Figura 12 Arquitectura do sistema.

Este sistema, para dar resposta aos requisitos do mesmo, exige o funcionamento de vrias componentes associadas a si, que se encontram detalhas no prximo capitulo. Para tal, foi necessrio configurar um servidor de OpenSimulator, um servidor Web e criar uma base de dados para o sistema. Deste modo, a arquitectura permite tambm ao utilizador aceder ao mundo virtual.

25

5.2 Espao 3D
Esta seco apresenta, de uma forma geral, o espao virtual 3D criado no mbito do trabalho desenvolvido pelos outros colegas, para acolher e proporcionar exerccios de treino mecnico ao nvel do processo de instalao de um motor em aeronave F-16. Este espao tenta reproduzir um ambiente de treino similar ao que os mecnicos da FAP encontrariam em contexto real de formao. Neste ambiente de treino 3D podem-se encontrar diversos elementos caractersticos do diaa-dia de um qualquer profissional da Fora Area, nomeadamente, a presena de vrios avies F-16, de motores de avio, mesas de ferramentas e um hangar.

Figura 13 Hangar para formao de mecnicos.

dentro deste hangar (Figura 13) que se encontram todas as partes necessrias para a formao dos mecnicos. Podemos tambm encontrar um avio para ser usado no processo de treino (Figura 14) ou mesmo encontrar motores prontos a iniciar a sua utilizao (Figura 15). Outros tipos de itens, tais como peas necessrias no processo de formao ou parafusos esto ocultos, estando unicamente visveis quando o processo de treino estiver a decorrer.

26

Figura 14 Avio F-16 disponvel para formao.

Figura 15 Motor Pratt & Whitney F100 pronto para formao.

27

5.3 Anlise de tarefas do caso de estudo


Tal como foi referido no capitulo 2 desta dissertao, em conjunto com os responsveis da formao da Base Area N5, definiu-se como objectivo inicial o processo de instalao de um motor Pratt & Whitney F100 numa aeronave F-16. Esta seco vai analisar esse processo e apresentar as solues adoptadas de forma a facilitar a interpretao informtica do mesmo. O processo de anlise e representao muito importante para se desenvolver uma boa representao do sistema e consequentemente um bom planeamento. Desta forma, a anlise de tarefas do sistema pretendido uma etapa muito importante deste trabalho pois o seu resultado reflecte-se noutras etapas do mesmo. De realar que a descrio ou representao de tarefas de um sistema deve ser feita da forma mais simples possvel. Deste modo, possuir aces bem especificadas e com poucas alteraes associadas a si, permite futuramente, de uma maneira mais fcil, resolver questes relacionadas com erros no momento da sua execuo. Por exemplo, se uma aco estiver devidamente especificada, em caso de execuo incorrecta, conseguir-se- obter com mais preciso um nvel de erro, conseguindo saber assim mais informaes quanto ao problema encontrado, o que permite ajudar o aluno ou formando que errou. O processo de instalao referido, em contexto real, exige a presena de quatro mecnicos (Figura 16). Geralmente, trs mecnicos desempenham o papel normal na instalao do motor e um quarto mecnico que desempenha o papel de supervisor.

Figura 16 Mapa de localizao de cada mecnico.

A primeira tarefa do processo de treino (o esquema de aces e o protocolo completo do processo de instalao so apresentados no anexo II e anexo III, respectivamente) consiste em remover quatro parafusos da fuselagem do avio F-16, com a inteno de posteriormente se instalar as pads33 na fuselagem do avio. Esta uma tarefa elaborada em grupo, pelo que, os quatro mecnicos tm um determinado papel na mesma. Assim, esta tarefa constituda por quatro aces, tendo cada mecnico a responsabilidade de executar uma. Cada uma destas aces tem o objectivo de remover um parafuso; a execuo de cada uma ter associada uma alterao no estado do sistema.

33

So peas que se instalam no avio (uma de cada lado) com o intuito de auxiliar no processo de instalao do motor.

28

No entanto, esta tarefa deve ser representada por uma aco genrica de remoo de um parafuso (Figura 17), sendo esta posteriormente replicada 4 vezes para cada slot de parafuso necessrio, representando desta forma a tarefa de remoo dos quatro parafusos (Figura 18).

Figura 17 Aco genrica para remover um parafuso.

Figura 18 Remover quatro parafusos da fuselagem do avio.

A figura 17 mostra o formato da representao adequada, na forma de uma aco genrica. Neste caso, esta aco desempenhada por um determinado mecnico mec permite que um parafuso p passe do estado Apertado para Desapertado em determinado slot s, ou seja, a varivel do tipo parafuso sofreu alteraes ao nvel do seu estado passando de Apertado para Desapertado. Esta aco apresenta uma pr-condio e uma ps-condio, que definem as alteraes de estado do sistema antes e depois da execuo da mesma. Posteriormente, o algoritmo com base nos estados do sistema ir gerar um conjunto de aces para satisfazer as tarefas do processo. Desta forma, a figura 18 apresenta o resultado, aps o processamento do algoritmo, para definir a tarefa de remoo dos quatro parafusos no plano. Por exemplo, a aco de remover o parafuso 1 tem a pr-condio Apertado(s1, p1) e a ps-condio ~Apertado(s1, p1). Assim, depois desta aco ser executada correctamente, o parafuso p1 deixou de estar apertado no slot s1 da fuselagem do avio. Assim sendo, em caso de execuo incorrecta de uma aco por parte de um mecnico, as restantes aces associadas aos outros mecnicos no so afectadas, sendo possvel a sua distino. Desta forma, em caso de interveno incorrecta de um aluno/formando ou mesmo inaco, o sistema pode encontrar o ponto concreto em falha. Por sua vez, uma tarefa de grupo
29

s considerada concluda quando todas as aces forem executadas correctamente. Alm disso, s se prossegue para a tarefa seguinte quando se concluir uma tarefa de grupo por completo. Uma outra tarefa do processo consiste em instalar trs apoios no carro de instalao do motor na aeronave. Tal como a tarefa anterior, esta uma tarefa de grupo e deve ser executada pelos mecnicos intervenientes. Esta tem como objectivo instalar trs apoios de forma a elevar o motor para que possa posteriormente ser introduzido no avio. Neste caso, ao representar uma aco genrica para instalar um apoio no motor (Figura 19), posteriormente, replicando esta pelo nmero de apoios a instalar, permite definir a tarefa de instalao dos trs apoios (Figura 20).

!! ! ! ! ! ! Figura 19 - Aco genrica para instalar um apoio no motor. ! !

Figura 20 Instalao de trs apoios no motor.

A aco genrica de instalar um apoio (figura 19) apresenta o formato adequado de representao. Por sua vez, a figura 20 mostra aquilo que seria o resultado da definio da tarefa de instalao dos 3 apoios no motor, aps o processamento do algoritmo. Cada aco, quando executada, permite alterar o estado de um determinado apoio no sistema. Neste caso, um determinado mecnico mec executa a aco, permitindo assim que um apoio passe do estado ~InstaladoApoio(ap) para InstaladoApoio(ap), sendo a varivel ap um apoio do motor. Como se referiu anteriormente, o processo de instalao do motor na aeronave F-16 efectuado por quatro mecnicos. Nesta tarefa especfica, trs deles tm o papel de instalar os trs apoios (um por mecnico) e o quarto mecnico supervisiona a tarefa, verificando posteriormente se a instalao dos componentes foi executada correctamente. Esta tarefa de supervisionamento, efectuada pelo quarto mecnico, a seguinte aco do processo. Em suma, a anlise do processo para execuo por parte de agentes inteligentes consiste em representar o sistema em aces genricas de forma a poderem ser manipuladas pelo algoritmo, sendo estas posteriormente utilizadas no plano para satisfazer as condies do mesmo. Os
30

anexos II e III exibem o resultado da anlise do processo completo, sendo respectivamente, a representao das aces do sistema e o protocolo de instalao do motor na aeronave F-16. No entanto, importante referir que, apesar de ser efectuada uma anlise a todas as tarefas do caso de estudo, o prottipo implementado neste trabalho no se encontra totalmente finalizado, estando preparado para treino at tarefa de instalao dos trs apoios no motor, necessitando deste modo, num futuro prximo, de adaptao para as restantes aces do processo em falta. Desta forma, consegue-se implementar um sistema com agentes inteligentes capazes de desempenhar o papel do ser humano, proporcionando assim um ambiente de treino individual com ampla liberdade de aco que possa ser efectuado por uma equipa de formandos com menos pessoas do que as necessrias execuo da tarefa, por apenas uma pessoa, ou at mesmo sem qualquer pessoa, apenas para observao da tarefa em execuo automtica por avatares controlados.

31

5.4 Converso de aces para ambiente 3D


O plano de aces, suas ordens e respectivos actores, resultantes do processamento do algoritmo baseado em partial-order planning, sofreram modificaes de forma a adaptarem-se ao ambiente de treino 3D pretendido. Esta etapa do projecto converteu cada aco do plano em aces no mundo virtual 3D. Por exemplo, a aco de remover um determinado parafuso, traduziu-se em quatro aces no ambiente 3D: chegar junto da fuselagem do avio, fazer take34 do objecto parafuso, deslocarse para junto da mesa de ferramentas e fazer rez35 desse mesmo parafuso em cima da mesa. Estas quatro aces so ilustradas nas figuras 21, 22, 23 e 24, respectivamente. ! ! ! ! ! ! ! ! ! ! ! ! ! !

Figura 21 Aco chegar junto da fuselagem do avio. O processo de remoo de um parafuso inicia-se nesta primeira aco. Esta aco leva necessidade do mecnico, representado pelo avatar, deslocar-se at junto da fuselagem do avio, local onde grande parte do processo de treino se desenrola. Esta deslocao feita atravs dos comandos de movimentao disponveis, que se encontram no software cliente utilizado para aceder ao mundo virtual. No caso do avatar ser representado por um bot, este faz a movimentao atravs da utilizao de funes disponveis na biblioteca libopenmetaverse.
34 35

Aco de pegar um objecto, colocando-o no inventrio Largar um objecto no mundo 3D proveniente do inventrio

32

Figura 22 Aco fazer take do objecto parafuso. A segunda aco, que exige que o avatar se encontre junto fuselagem do avio, trata-se de seleccionar o parafuso e escolher a opo take. Aps esta aco, o parafuso foi desapertado e ficou no inventrio do respectivo avatar.

Figura 23 Aco deslocar-se para junto da mesa de ferramentas.


33

A terceira aco, que deve ser executada depois do parafuso estar desapertado, consiste na deslocao do mecnico desde a zona de trabalhos no avio at mesa de ferramentas.

Figura 24 Aco fazer rez do parafuso em cima da mesa. A quarta e ltima aco, resume-se necessidade do avatar colocar o parafuso anteriormente guardado, proveniente do seu inventrio, em cima da mesa de ferramentas. Este processo de converso para adaptao ao ambiente 3D foi repetido para todas as aces do plano, possibilitando assim a implementao de agentes inteligentes no ambiente de treino 3D. O documento anexo IV apresenta alguns exemplos de converso das aces para adaptao ao ambiente 3D.

34

6 Sistema desenvolvido
6.1 Funcionamento do sistema
O funcionamento do sistema, de um modo geral, tem incio quando so dadas ordens ao mesmo para iniciar o processo de treino. Aps esta ordem, o sistema gera um plano de aces resultante do processamento do algoritmo e guarda esses dados em base de dados de forma a poder consult-los durante o processo. Posteriormente, os objectos 3D comunicam via pedidos HTTP com um servidor web de forma a manter sincronismo e registo de estados entre si. Por sua vez, em caso de necessidade de mecnicos no inicio do treino, os avatares iniciam o respectivo papel que lhes atribudo. Consequentemente, a presena de mecnicos virtuais durante o processo de treino, leva necessidade do sistema calcular e atribuir o seu comportamento, de forma dinmica. A abordagem seguida em Lopes et al. (2008) assemelha-se abordagem utilizada neste trabalho. As prximas seces explicam, com mais detalhe, as componentes que permitem o completo funcionamento do sistema.

6.1.1 Avatares automatizados


Os avatares automatizados, controlados pela componente de deciso, so clientes capazes de interagir e comunicar atravs das diversas funcionalidades que o OpenSimulator proporciona. Tal como referido na seco anterior acerca do OpenSimulator, isto s possvel atravs da utilizao da biblioteca libopenmetaverse. Visto esta biblioteca ter sido desenvolvida em .Net, optou-se por criar os mecnicos virtuais atravs da linguagem C#. Esta biblioteca permite efectuar aces dentro do mundo virtual sem a necessidade de utilizar um software cliente para acesso ao mesmo, atravs desta consegue-se iniciar a sesso dos avatares e programar diversos comportamentos (aces, deslocaes, gestos) de forma a desempenharem as suas funes. Inicialmente, pensou-se em ter um plano de aces do processo de treino por cada avatar, no entanto, com a necessidade de sincronizao com o sistema e de ligao ao conjunto de aces convertidas para o mundo 3D, desistiu-se desta abordagem. Optou-se por guardar as informaes do processo de treino, o estado actual de execuo e o conjunto de tarefas para cada avatar executar em base de dados externa a cada um. importante referir que a inteligncia do avatar no mundo calculada dinamicamente por parte do sistema. Atravs do estado do processo de treino no ambiente 3D, o sistema gera o comportamento a tomar pelos avatares para atingir os objectivos. Pode-se assim concluir que o sistema de mecnicos automatizados constitudo por um agente (componente de deciso) e um conjunto de quatro avatares (componentes visuais) controlados por esse mesmo agente. Cada avatar pode representar o papel de um determinado mecnico. Para tal, foram criados quatro programas, sendo cada um destinado ao papel de cada mecnico no processo de treino. Estes, tm muitas caractersticas em comum, nomeadamente questes relacionadas com o login, movimentaes no mundo virtual, execuo de tarefas e logout do avatar no fim do treino. Estes programas foram implementados de forma a estar em permanente verificao de tarefas, ou seja, estes verificam de 5 em 5 segundos se existem novos comportamentos a serem
35

executados, com base no estado actual do processo de treino. Estes dados encontram-se guardados em tabelas da base de dados desenvolvidas para apoiar o sistema. No caso de existirem tarefas por efectuar, o cliente automatizado, atravs das funes disponveis na biblioteca libopenmetaverse, desempenha a tarefa no espao 3D. Aps a sua concluso, essa tarefa actualizada na base de dados, passando ao estado resolvido. No entanto, o avatar antes de executar um comportamento verifica se este pode ser executado e se adequado com base no estado do sistema, ou seja, atravs do estado das tarefas resolvidas e das relaes entre a lista de links e ordens parciais de aces provenientes do planeamento, o programa consegue assim sincronizar-se com o sistema, permitindo deste modo esperar pela realizao de tarefas por parte de outros mecnicos ou mesmo determinar o momento certo para avanar para o prximo passo. A adopo desta metodologia permite a existncia de sincronismo e conhecimento do estado do sistema por parte de qualquer interveniente no mesmo.

6.1.2 Objectos 3D
Os objectos 3D intervenientes no sistema necessitam de efectuar comunicao entre si ou comunicao com sistemas externos. Estes conseguem comunicar atravs da utilizao de scripts, escritos na linguagem LSL, baseados em eventos. Os scripts, para alm da troca de informaes com sistemas exteriores, permitem interagir e dar comportamentos a objectos. Assim, cada objecto interveniente no sistema, atravs do uso de scripts que correm do lado do servidor, comunicam com o servidor Web, sendo esta comunicao atravs de pedidos HTTP. Desta forma, um objecto 3D, quando necessita de registar ou obter informao executa a funo llHttpRequest que ir efectuar um pedido HTTP ao Web Service desenvolvido. No entanto, existem outros objectos que no fazem comunicao com outros sistemas. Estes trocam informaes com objectos atravs do uso de canais privados, dentro de uma regio (llRegionSay). Neste tipo de processo de troca de mensagem, o objecto remetente indica o canal que pretende transmitir informao no momento do envio e o objecto destinatrio necessitar de estar escuta nesse mesmo canal. Este tipo de comunicao via canais privados utilizado, por exemplo, quando se inicia o processo de treino permitindo deste modo reiniciar o estado de todos os objectos 3D participantes no sistema. O cdigo dos scripts criados, em linguagem LSL, para estes objectos 3D encontram-se no documento anexo V.

6.1.3 Web Services


Esta a componente que desempenha o papel de deciso no sistema, aqui que so atribudos os comportamentos a cada avatar, de forma dinmica. Atravs da anlise do estado do processo de treino no ambiente 3D, gera o comportamento ou tarefas que cada mecnico automatizado dever ter para atingir os objectivos e manda os mesmos executarem esse resultado, em determinados momentos do processo. Esta componente funciona tambm como uma ponte entre o mundo virtual 3D e a base de dados do sistema. So estes Web Services que permitem a obteno ou registo de dados no
36

sistema. Estes servios web so baseados em REST36 e permitem a comunicao HTTP atravs da utilizao de operaes GET 37 . A resposta destes servios encontra-se estruturada na linguagem XML. Os Web Services tm o objectivo de fornecer os mtodos adequados e necessrios para adaptar o espao 3D a um ambiente de treino. Desta forma, foram criados dois Web Services para satisfazer as necessidades do mesmo. O primeiro servio, denominado ProcessoInstalacao, apresenta os principais mtodos, como por exemplo: obter os dados da prxima aco a executar por determinado mecnico ou mesmo registar uma tarefa como concluda. Tambm o responsvel, no incio do processo, por aceitar o nmero de mecnicos reais fazendo posteriormente a gesto dos avatares automticos a participar no processo. tambm este servio que, em determinados momentos do processo, calcula o comportamento a executar por cada avatar. Por outro lado, o outro servio ElementoKey, trata questes relacionadas com as keys dos objectos 3D do mundo virtual, fornecendo mtodos de registo e acesso de dados. O cdigo dos Web Services encontram-se no documento anexo V desta dissertao.

6.1.4 Base de dados


A base de dados do sistema foi desenvolvida em ambiente Microsoft SQL Server38 que, como o Servidor Web, est sempre acessvel. O diagrama E-R (Figura 25) apresenta a estrutura definida para a base de dados do sistema. Tal como mostra a figura, foi necessria a criao de 6 tabelas de forma a satisfazerem os requisitos do sistema. Relativamente ao conjunto de informaes geradas pelo algoritmo, estas so guardadas nas tabelas PlanOperator, Links e PartialOrders. A primeira tabela trata as informaes relativamente ao plano de aces gerado (ex: nome da aco, pr e pos condies associadas e actor da mesma), enquando que as restantes tabelas so responsveis por guardar dados relativos a aces causais e ordens parciais entre aces. Estas trs tabelas so preenchidas quando mandado iniciar o processo de treino no ambiente 3D. Nesse mesmo momento, o sistema gera o plano do processo de treino e preenche as trs tabelas de forma a posteriormente poder consultar estes dados. Por outro lado, as tabelas KeysSystem e PlanOperatorToAction3D tratam dados relacionados com o ambiente 3D. A primeira tabela, a responsvel por guardar as keys39 dos objectos 3D participantes no sistema (ex: parafusos da fuselagem do avio) sendo estes dados preenchidos, geralmente, quando se inicia o processo de treino no ambiente virtual. Por sua vez, a tabela PlanOperatorToAction3D guarda o conjunto de aces no espao 3D referentes a cada aco do processo. Cada entrada desta tabela apresenta um nome, uma descrio e um estado de execuo que determina se a mesma foi realizada ou no no mundo virtual. Durante a execuo de tarefas no ambiente de treino virtual existem alguns componentes intervenientes no mesmo que, atravs de cdigo LSL, permitem verificar se existem alteraes de estado no
36 37 38 39

http://www.infoq.com/articles/rest-introduction Mtodo que permite enviar dados como parte de um URL, sob a forma de parmetros. http://www.microsoft.com/sqlserver/en/us/default.aspx

uma chave identificadora presente no ambiente SecondLife e OpenSimulator. Tambm tratada como UUID (Universally Unique Identifier).

37

sistema (ex: o mecnico 1 chegou junto da fuselagem do avio), proporcionando assim alteraes nesta tabela. De realar que esta tabela apresenta ainda um campo denominado descricao_ajuda_action que permite, em caso de necessidade, fornecer um texto de ajuda ao avatar. Por fim, a tabela SystemInteligentAgents_TasksPerAgent a tabela que guarda os comportamentos gerados pelo sistema, para cada avatar automtico, com o intuito de serem executados pelos mesmos. Esta tabela, para alm de identificar o mecnico a executar um determinado comportamento, apresenta um tipo de tarefa, dados necessrios referentes mesma e um estado de execuo. Esta tabela preenchida medida que o sistema gera comportamentos, de forma dinmica, a executar por parte de cada avatar. De seguida, mostrado um exemplo de dados desta mesma tabela: (id - 1; mecNumber - 3; typeTask - 4; dataTask p1;e3c35629-345f-4144-a9ee-1acd839d5e2f; stateTask - False).

Figura 25 Diagrama E-R da base de dados implementada. O seguinte dicionrio de dados (Figura 26) permite uma melhor percepo da base de dados implementada. Desta forma, a base de dados desenvolvida torna possvel obter o estado actual do sistema a qualquer momento.

38

Figura 26 Dicionrios de dados da base de dados desenvolvida.


39

6.2 Testes e validao


A validao do sistema feita atravs de testes e anlise dos resultados concluindo por fim, se o sistema funciona correctamente e de acordo com os requisitos. Assim, foi utilizado um ambiente de testes dividido em seis partes, nmero total de requisitos funcionais do sistema, sendo que para cada um deles foram elaboradas metodologias distintas de forma a testar o seu funcionamento.

6.2.1 Possibilidade de uma equipa, em simultneo, treinar o processo de instalao do motor Pratt & Whitney F100 numa aeronave F-16
Este requisito no necessita de testes associados a si para ser validado pois, ao adoptar a tecnologia OpenSimulator, este aspecto cumprido. Esta plataforma j permite a possibilidade de vrios utilizadores interagirem e treinarem o processo de instalao em questo, de forma simultnea. Assim, este sistema tambm permite a possibilidade de uma equipa, em simultneo, treinar o processo de instalao.

6.2.2 Possibilidade de uma equipa composta por utilizadores e avatares automticos, em simultneo, treinar o processo de instalao do motor Pratt & Whitney F100 numa aeronave F-16

Parte deste requisito satisfeito, tal como no requisito anterior, pela adopo da plataforma OpenSimulator, pois esta j possibilita vrios utilizadores interagirem e treinarem o processo de instalao em questo, de forma simultnea. No entanto, uma equipa pode ser composta por avatares automticos. Desta forma, necessrio validar o funcionamento dos mesmos e a possibilidade destes de desempenhar o papel de um mecnico no processo de treino em equipa.

6.2.2.1 Metodologia adoptada e condies do teste Os avatares automatizados, como anteriormente referido, foram desenvolvidos em linguagem C#, sendo criados sob a forma de um programa Console Application40. Estes programas, representados no ambiente virtual por avatares, comunicam com o mesmo atravs da biblioteca libopenmetaverse. A Figura 27 apresenta o software criado para gerir o avatar no mundo 3D.

40

uma aplicao para computador, desenhada para ser usada em interface de texto. O utilizador apenas interage com a aplicao com o teclado, ao contrrio de aplicaes mais completas.

40

Figura 27 Software criado para gerir o avatar no ambiente 3D.

O teste consistiu em executar os programas desenvolvidos e iniciar o processo de treino no ambiente virtual. Desta forma, consegue-se testar se os mesmos satisfazem a condio deste requisito. 6.2.2.2 Resultados e concluso Os avatares automatizados foram testados e pode-se concluir que estes so capazes de desempenhar o papel de um membro do processo de treino. Estes, juntamente com utilizadores, possibilitam o treino do processo de instalao do motor Pratt & Whitney F100 numa aeronave F-16, de forma simultnea. Assim, pode-se concluir que os mecnicos virtuais implementados vo ao encontro das necessidades do requisito em anlise.

41

6.2.3 Os avatares automatizados devem agir de forma correcta e de acordo com o processo de manuteno mecnica
Para validar a forma de agir dos avatares, assim como a sua execuo de acordo com o processo de manuteno mecnica, foram elaborados testes tanto ao plano gerado pelo processamento do algoritmo bem como s aces que os mecnicos virtuais executam posteriormente.

6.2.3.1 Metodologia adoptada e condies do teste Para testar o algoritmo desenvolvido, foi criada uma aplicao de linha de comandos para o efeito, de forma a proporcionar a verificao do resultado do mesmo. Este ter que gerar um plano de aces e, para alm disso, uma lista de ordens parciais e links para relacionar as mesmas. De realar que todas as aces do processo necessitam de estar includas no resultado do algoritmo. Por sua vez, o plano gerado deve atribuir o respectivo actor ou actores de cada aco. A Figura 28 mostra a aplicao que foi criada para testar as condies supra referidas, devendo estas serem satisfeitas para validar o funcionamento do mesmo. O teste ao algoritmo consistiu em executar o programa desenvolvido (AlgoritmoInstalacaoMotor.exe) e analisar assim o resultado gerado pelo mesmo.

Figura 28 AlgoritmoInstalacaoMotor.exe

Para verificar se as aces dos avatares automticos so executadas correctamente e de acordo com o plano, executaram-se os respectivos programas dos mesmos e verificou-se se os mesmos desempenhavam o seu respectivo papel atribudo e de acordo com as ordens de tarefas do plano. A Figura 29 apresenta um exemplo de um momento da aco dos vrios mecnicos automticos no processo de manuteno.
42

Figura 29 Exemplo de um momento de actuao dos avatares automatizados.

6.2.3.2 Resultados e concluso Aps a execuo do teste ao resultado do algoritmo, segundo o processo descrito acima, pode-se concluir que este se encontra correcto, de acordo com as condies que este tinha que satisfazer. O plano gerado pelo algoritmo encontra-se completo, incluindo a lista de ordens parciais e links relacionais entre as aces do mesmo. Para alm disso, este algoritmo atribui os respectivos actores para cada aco do plano. Por sua vez, os testes aos avatares controlados por programa permitem concluir que a sua forma de agir se encontra correcta e de acordo com o processo de manuteno mecnica em questo.

6.2.4 Os avatares devem tomar iniciativas sem a necessidade de um comando do utilizador


Este requisito no necessita de testes especficos associados a si pois encontra-se validado a partir dos testes realizados anteriormente. Os avatares automatizados, da forma como foram desenvolvidos, no necessitam de um comando do utilizador para tomar iniciativas. Estes verificam se existem comportamentos ou tarefas a fazer e iniciam a execuo dos mesmos sem qualquer tipo de ordem ou comando externo por parte do utilizador.

43

6.2.5 Permitir que o comportamento dos mecnicos virtuais seja razoavelmente semelhante ao comportamento dos mecnicos reais
Para verificar se o comportamento dos mecnicos automatizados razoavelmente semelhante ao comportamento dos mecnicos reais preciso testar os mesmos no ambiente virtual de treino. Para validar este requisito, necessrio que os mecnicos virtuais estejam preparados para reproduzir um comportamento, o mais idntico possvel, ao de um mecnico real. 6.2.5.1 Metodologia adoptada e condies do teste

Para validar o comportamento dos mecnicos virtuais, preciso testar os mesmos em ambiente virtual de treino normal. Desta forma, o teste consistiu em executar os programas referentes a cada mecnico virtual e iniciar o processo de treino no ambiente virtual. Sendo que a finalidade deste requisito analisar o comportamento dos avatares automticos, teve-se especial ateno sua movimentao, gestos e forma como estes interagem com os objectos do sistema.

6.2.5.2 Resultados e concluso Aps a verificao do comportamento dos avatares no processo de treino, pode-se concluir que um aspecto falhou nos testes. A deslocao do mesmo pelo espao virtual no feita atravs do acto de andar, tornando-se assim num defeito no comportamento do mecnico virtual. A plataforma OpenSimulator permite a deslocao normal do mesmo, no entanto nas verses combinadas entre libopenmetaverse e OpenSimulator utilizadas neste projecto, o movimento de andar no se encontra em perfeito funcionamento. ainda um defeito da biblioteca para algumas verses do OpenSimulator. De realar que a combinao de libopenmetaverse e Second Life no apresenta qualquer defeito a este nvel. Contudo, minorou-se o problema com a utilizao da funcionalidade de teletransporte de um local para o outro, permitindo assim que o processo de treino decorra normalmente. A Figura 30 exibe um exemplo de movimentao efectuado por um avatar automtico atravs da utilizao de teletransporte.

44

Figura 30 Exemplo de movimentao efectuado por um avatar (teletransporte).

6.2.6 O tempo de resposta dos mecnicos virtuais deve assegurar que a simulao se mantenha credvel aos utilizadores humanos
Para analisar o tempo de resposta dos mecnicos automatizados na execuo de aces, foram elaborados testes e efectuada uma anlise em algumas aces do processo de treino. O tempo de resposta destes no deve ser muito superior ao tempo de resposta de um utilizador humano.

6.2.6.1 Metodologia adoptada e condies do teste Para se conseguir obter um resultado do tempo de resposta do mecnico automtico na execuo de aces, necessrio testar este processo com mecnicos reais e mecnicos virtuais, conseguindo assim obter resultados e fazer uma comparao. Sendo assim, o teste consistiu em iniciar o processo de treino com utilizadores reais e mecnicos virtuais. importante referir que os utilizadores reais utilizados neste teste, so utilizadores com alguma experincia de utilizao destes ambientes. A tabela seguinte apresenta os valores obtidos (em segundos), nos testes realizados, durante a execuo de algumas aces no ambiente 3D. No entanto, os valores apresentados na tabela so valores mdios que surgiram aps a repetio de cada aco entre trs a cinco vezes.
45

Esta anlise ao tempo de resposta permite fazer uma comparao entre o mecnico real e o mecnico virtual.

Aco 3D Chegar junto da fuselagem do avio Fazer take do objecto parafuso Deslocar-se para junto da mesa de ferramentas Fazer rez do parafuso em cima da mesa Fazer take do objecto pad Apertar pad na fuselagem do avio

Mecnico real 2s 3s 4s 4s 3s 5s

Mecnico virtual 5s 6s 6s 7s 6s 7s

Tabela 1 Comparao entre o tempo de resposta de um mecnico real com mecnico virtual.

6.2.6.2 Resultados e concluso Depois de efectuada uma anlise aos tempos de resposta de cada tipo de utilizador, pode-se concluir que os utilizadores reais apresentam melhor tempo de execuo que os utilizadores virtuais. Este aspecto verifica-se devido ao facto de os mecnicos virtuais terem sido desenvolvidos de forma a estarem em constante verificao de tarefas (verificao de 5 em 5 segundos), proporcionando assim um pequeno atraso no tempo de resposta entre cada aco. No entanto, o tempo de resposta de utilizadores reais pode depender de outros factores externos, nomeadamente a experincia de utilizao do software cliente por parte dos mecnicos reais. Pode-se concluir que o tempo de resposta dos avatares automatizados, apesar de ser superior a um mecnico real, no afecta a simulao do processo de treino. O seu tempo de resposta aceitvel, o que proporciona uma normal simulao, permitindo assim que esta se torne credvel aos utilizadores humanos.

46

7 Concluses e propostas de trabalho futuro


7.1 Concluses
O objectivo principal deste trabalho era analisar e desenvolver agentes inteligentes capazes de desempenhar o papel de membros na execuo de tarefas em equipa, objectivo esse que foi testado e alcanado com sucesso. Independentemente do trabalho futuro que venha a ser desenvolvido, acredita-se que a aplicao de agentes inteligentes permite resolver questes relacionadas com limitaes de tarefas em equipa, constituindo uma mais-valia para a formao e ensino profissional. Existe, neste momento, um prottipo funcional deste sistema e pronto a ser testado por mecnicos reais pois s dessa forma que ser possvel uma optimizao de todo o sistema. No entanto, este prottipo ainda no se encontra totalmente finalizado, necessita de adaptao com as restantes aces do processo em falta. Contudo, este sistema pode ver apontadas algumas limitaes. A adopo da abordagem do plano de aces em base de dados e do calculo dinmico do comportamento do avatar do lado do sistema, em vez de ser no prprio avatar, poderia no ter sido o melhor caminho, pois deste modo torna impossvel recalcular dinamicamente o comportamento no mesmo, isto , o avatar no possui um sistema de deciso prprio, mas sim reage consoante o comportamento que a componente de deciso externa lhe atribui dinamicamente, com base no estado actual do sistema e com o intuito de atingir os objectivos. Por outro lado, nas verses utilizadas do OpenSimulator, a forma de movimentao no mundo virtual 3D por parte dos mecnicos virtuais limitada, sendo assim um aspecto a melhorar neste sistema futuramente. Alm disso, o nvel de detalhe de modelao de certos objectos 3D tambm pode ser melhorado de forma a proporcionar um sistema mais prximo do contexto real de formao. Desta forma, foi conseguido um sistema de treino 3D que proporciona vantagens formao tcnica da Fora Area Portuguesa, evitando assim o envolvimento de recursos fsicos.

7.2 Trabalho futuro


Actualmente, esto em desenvolvimento na UTAD outros trabalhos, em paralelo a este, que permitem antever algumas possibilidades de melhoria a este sistema, numa vertente de ajuda e auxlio ao formando no momento do treino. Num futuro prximo, expectvel que possa vir a haver trabalhos que dem continuidade a este. Com o objectivo de melhorar e adicionar funcionalidades a este sistema desenvolvido, tecem-se aqui algumas consideraes para apoio a trabalhos futuros. Como prioridade penso que ser de finalizar o prottipo desenvolvido, adaptando as restantes aces do processo em falta. Posteriormente, ser importante aumentar o nvel de detalhe de modelao de certos objectos no ambiente de treino 3D pois permite aproximar o aspecto visual do ambiente ao contexto real. tambm importante reformular a abordagem do plano de aces, possibilitando que cada avatar recalcule dinamicamente o seu plano de aces, em vez do sistema. Por fim, outra sugesto de melhoria acrescentar um sistema de apoio e ajuda mais completo aos utilizadores (ex: criar um agente virtual unicamente para acompanhar cada mecnico).
47

8 Referncias
- Amaral, I. (2007). A @migrao para o ciberespao a dimenso social dos mundos virtuais. - Amorim, A., Leal, L., & Freitas, M. (2009). Planejamento em Inteligncia Artificial. - Araujo, A., Carvalho, L., & Costa, R. (2007). Avaliao da influncia de Agentes Humanos Inteligentes sobre a navegao de usurios em Ambientes Virtuais. - Atkinson, R. K. (2002). Optimizing learning from examples using animated pedagogical agents. Journal of Educational Psychology. - Baylor, A. L. (1999). Intelligent agents as cognitive tools for education. Education Technology. - Book, B. (2004). Moving Beyong the Game: Social Virtual Worlds. Consultado a 27 de Julho de 2011 em http://www.virtualworldsreview.com/papers/BBook_SoP2.pdf. - Book, B. (2008). Consultado a 19 de Julho de 2011 em http://www.virtualworldsreview.com/info/whatis.shtml. - Caeiro, C., Serra, D., Jorge, J., & Anielo, M. (2001). Estudo sobre Inteligncia Artificial. Consultado a 23 de Agosto de 2011 em http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/ia.html - Ciriaco, D. (2008). Consultado a 17 de Agosto de 2011. O que a Inteligncia Artificial? http://www.tecmundo.com.br/1039-o-que-e-inteligencia-artificial-.htm - Correia, M., & Eiras, B. (2010). Mundos Virtuais: Que vida existe no Second Life?. - Costa, A. (2010). Exemplo de STRIPS e POP no mundo dos blocos. - Esteves, M., Fonseca, B., Morgado, L., & Martins, P. (2010). Improving teaching and learning of computer programming through the use of the Second Life virtual world. - Fitzgerald, M. (2007); How I Did It: Philip Rosedale, CEO, Linden Lab. Interview with Philip Rosedale. Inc. Electronic Magazine. Acedido a 11 de Setembro de 2011 em http://www.inc.com/magazine/20070201/hidi-rosedale.html - Garrido, P., Martinez, F., & Guetl, C. (2010). Enhancing Intelligent Pedagogical Agents in Virtual Worlds. - Greis, L., & Faria, E. (2007). Second Life: uma proposta de utilizao pedaggica. - Johnson, W. L., & Rickel, J. W. (1999). Animated pedagogical agentes: Face-to-face interaction in interactive learning environments. - Krause, D. (2009). Serious Game in Second Life: Kitchen fire simulation on swiss projects. Consultado a 9 de Setembro de 2011 em http://web3dblog.wordpress.com/2009/05/09/seriousgame-in-second-life-kitchen-fire-simulation-on-swiss-projects/ - Leal, D. (2007).Mundos Virtuais On-line: Um Mini-guia. Consultado 9 de Julho de 2011 em http://www.masternewmedia.org/pt/2007/04/10/mundos_virtuais_online_um_miniguia.htm - Lockheed Martin Corp. (2009). TO 1F-16AM-2-70JG-10-21 - Organizational Maintenance Engine Removal and Installation Model F100-PW-220/220E USAF/EPAF Series F-16a/B Mid-Life Update aircract, Technical Manual Job Guide. Bethesda, MD, EUA: Lockheed Martin Corporation. - Lopes, A., Pires, B., Cardoso, M., Santos, A., Peixinho, F., Sequeira, P., & Morgado, L. (2008). Sistema de criao de movimentos de Andebol em Second Life para Formao de Treinadores. Prisma.com 6, ISSN 1646-3153. 33-49.
48

- Madeira, A., Antunes, R., Morgado, L., & Pereira, A. (2008). Controlo de assiduidade em aulas efectuadas em mundos virtuais - Second Life. - Morgado, L. (2009). Os mundos virtuais e o ensino-aprendizagem de procedimentos. Educao & Cultura Contempornea, ISSN 1807-2194, 13 (6), 35-48 - Neto, J. (2008). O uso do Second Life como ambiente virtual de aprendizagem. Consultado a 11 de Agosto de 2011 em http://www.comunidadesvirtuais.pro.br/seminario4/trab/jamn.pdf - OpenSimulator (2011). Configuration. Consultado a 14 de Agosto de 2011 em http://opensimulator.org/wiki/Configuration#Standalone_vs._Grid - Pereira, A., Martins, P., Morgado, L., Fonseca, B. (2009). A virtual environment study in entrepreneurship education of young children, Journal of Virtual Worlds Research, 1(2). - Pereira, J., Morgado, L., & Silva, P. (2010). Implementao de OpenSimulator com funcionalidade de voz em ambiente empresarial. - Pozzer, C. (2007). Introduo ao desenvolvimento do motor do Jogo. - Russel, S. J. (2004). Inteligncia Artificial, 2a edio. - Sequeira, L. (2009). Mechanisms of three-dimensional content transfer between the OpenSimulator and Second Life Grid platforms. Master dissertation. Vila Real, Portugal: UTAD. - Soliman, M., & Guetl, C. (2010). Intelligent Pedagogical Agents in Immersive Virtual Learning Environments: A Review. - Teixeira, L., & Pinto, I. (2010). Guia de instalao de motor em aeronave F-16. Relatrio de projecto 2009-2010, Licenciatura em Tecnologias de Informao e Comunicao. Vila Real, Portugal: UTAD. - VanDrimmelen, J. (2007). 7 Ways Croquet is better than Second Life. Consultado a 27 de Julho de 2011 em http://edutechie.com/2007/07/7-ways-croquet-is-better-than-second-life/ - Vilela, A., Cardoso, M., Martins, D., Santos, A., Moreira, L., Paredes, H., Martins, P., & Morgado, L. (2010). Privacy challenges and methods for virtual classrooms in Second Life Grid and OpenSimulator. In "2010 Second International Conference on Games and Virtual Worlds for Serious Applications (VS-GAMES). - Woodcock, B. (2008). Charts An Analysis of MMOG Subscription Growth Version 23.0. Consultado a 28 de Julho de 2011 em http://www.mmogchart.com/Chart2.html.

49

9 Anexos
Anexo I Relatrio de entrevista com o responsvel da formao da Base Area N5. Anexo II Esquema de representao das aces do processo de instalao do motor. Anexo III Protocolo completo de instalao do motor na aeronave F-16. Anexo IV Resultado de algumas converses de aces para adaptao ao ambiente 3D. Anexo V Sistema completo implementado (OpenSimulator, cdigo de scripts em LSL dos objectos 3D, web services, avatares automatizados e backup da base de dados). Este anexo segue no DVD que acompanha a presente dissertao.

50

Anexo I Relatrio de entrevista com o responsvel da formao da Base Area N. 5

O processo de formao comea aps a seleco de especialidade por parte do militar, sendo este processo com base nas suas notas, testes psicotcnicos e consoante as suas capacidades e vantagens que poder proporcionar Fora Area Portuguesa. Posteriormente, o aluno apresenta-se e consoante a sua futura especialidade, este recebe formao no Centro de Formao Militar e Tcnica da Fora Area (CFMTFA), na Ota. Esta formao inicial varia em termos de durao (no mnimo 6 meses) consoante a especialidade do militar. Consoante a classificao do militar na formao inicial, este escolhe a Base Area preferencial, consoante as vagas que existirem e cada Base Area apresenta vrias seces. Desta forma, na BA5 (Monte Real), mais propriamente a seco de operaes de linha da frente ou manuteno, inicia o processo com uma formao bsica em Partes gerais da aeronave F16 que dura, aproximadamente, duas semanas. Depois, o aluno comea o curso especfico da rea, constitudo por partes tericas e prticas, denominado Curso do Motor F-100-PW-220E Nvel O. Este curso, que tem a durao total de cerca de 250 horas, apresenta uma componente de avaliao que obriga o militar a ter mais de 75% na componente terica para aprovao. No entanto, na parte prtica, o formador que avalia a execuo das tarefas, classificando-o como apto ou inapto. Caso o formando fique classificado como inapto, este volta a repetir o processo at ficar apto no processo. Esta formao tcnica vai do nvel 1 at ao nvel 5, sendo que cada formador tem que ter nvel mximo para poder exercer as suas funes.

51

Anexo II Esquema de representao das aces do processo de Esquema(de(aces(do(processo(de( instalao do motor.

instalao(de(motor(em(aeronave(F716(
Aco:'RemoverParafusoFuselagem(f,'s,'p,'mec)' ! Pr%condio:!! Fuselagem(f,'s,'p)' Apertado(s,p)' ! Ps%condio:!' Desapertado(s,p)'

Aco:'AlinharPads(a,'mec):' Pr%condio:'' ' ~PadsAlinhadas(a)' Desapertado(s1,p1)' Desapertado(s2,p2)' Desapertado(s3,'p3)' Desapertado(s4,'p4)' Ps%condio:' PadsAlinhadas(a)' '

Aco:'ApertarPads(a,'mec):' ! Ps%condio:! Pr%condio:'' ' PadsInstaladas(a)' ~PadsInstaladas(a)' Apertado(s1,'p1)' PadsAlinhadas(a)' Apertado(s2,'p2)' ' Apertado(s3,'p3)' Apertado(s4,'p4)'

Aco:'InstalarApoioMotor(c,'ap,'mec)' Pr%condio:'' ' ~InstaladoApoio(ap)' Ps%condio:! ! InstaladoApoio(ap)'

52

Aco:'SupervisorDarOrdem(c,'mec)' Pr%condio:'' ' ~SupervisorDeuOrdem(c)' InstaladoApoio(ap1)' InstaladoApoio(ap2)' InstaladoApoio(ap3)' Ps%condio:! ! SupervisorDeuOrdem(c)'

Aco:'ElevarMotor(c,'mec)' ! Pr%condio:'' ' ~MotorElevado(c)' SupervisorDeuOrdem(c)' Ps%condio:! ! MotorElevado(c)'

'

Aco:'InstalarApoioCalhaAviao(a,'mec)' Pr%condio:'' ' CalhaAviao(a,'ap)' ~InstaladoApoioCalha(a)' Ps%condio:! ! InstaladoApoioCalha(a)'

Aco:'AproximarCarroInstalacao(c,'mec)' ! Pr%condio:'' ' MotorElevado(c)' ~AproximadoAviao(c)' ! Ps%condio:! ' AproximadoAviao(c)'

Aco:'AjustarCarroInstalacao(c,'mec)' Pr%condio:'' ' AproximadoAviao(c)' ~Ajustado(c)' Ps%condio:! ' Ajustado(c)'

53

Aco:'BloquearRodas(c,'mec)' Pr%condio:'' ' Ajustado(c)' ~CarroBloqueado(c)' Ps%condio:! ' CarroBloqueado(c)'

Aco:'InstalarApoioCarroNaPad(c,'ap,'mec)' ! Pr%condio:'' ' ~InstaladoApoio(ap)' ! Ps%condio:! ' InstaladoApoio(ap)'

Aco:'RodarJackScrewFrente(c,'mec)' Pr%condio:'' ' InstaladoApoio(c,'apEsquerdo)' InstaladoApoio(c,'apDireito)' ~JackscrewFrenteRodado(c)' Ps%condio:! ' JackscrewFrenteRodado(c)'

Aco:'RemoverConjuntoSuporteFrente(c,'mec)' ! Pr%condio:'' ' InstaladoApoio(ap1)' ! Ps%condio:! ' ~InstaladoApoio(ap1)' '

Aco:'RodarManivelas(c,'mec)' Pr%condio:'' ' ~InstaladoApoio(ap1)' ~ManivelasRodadas(c)' ~MotorDeslocado(c,'a)' Ps%condio:! ' ManivelasRodadas(c)' MotorDeslocado(c,a)'

54

Aco:'SupervisaoAccao(c,'mec)' Pr%condio:'' ' ~SupervisionouAccao(c,'a)' ' Ps%condio:! ' SupervisionouAccao(c,'a)'

'

Aco:'AlinharLigacaoApoiosImpulso(c,'m,'ap,'mec)' Pr%condio:'' ' MotorDeslocado(c,'a)' ~AlinhadaLigacao(m,'ap)' Ps%condio:! ' AlinhadaLigacao(m,'ap);'

Aco:'IntroduzirApoiosImpulso(m,'a,'mec)' Pr%condio:'' ' Ps%condio:! AlinhadaLigacao'(m,'apEsq)' ' AlinhadaLigacao'(m,'apDir)' ~ColocadosApoiosImpulso(m,'a)' ColocadosApoiosImpulso(m,'a)' '

Aco:'InstalarMeiasLuas(m,'a,'lado,'mec)' Pr%condio:'' ' ColocadosApoiosImpulso(m,'a)' ~MeiasLuasInstaladas(m,'a,'lado)' Ps%condio:! ' MeiasLuasInstaladas(m,'a,'lado)'

Aco:'VerificarAlinhamentoSeal(m,'mec)' ! Pr%condio:'' Ps%condio:! ' ' ~SealVerificado(m,'a)' SealVerificado(m,'a)'

55

Aco:'DesligarCarroPadsFuselagem(c,'a,'mec)' Pr%condio:'' ' SealVerificado(m,'a)' ~DesligadaLigacaoPads(a)' Ps%condio:! ! DesligadaLigacaoPads(a)'

Aco:'RemoverCarroInstalacao(c,'a,'mec)' Pr%condio:'' ' DesligadaLigacaoPads(a)' ~RemovidoCarroInstalacao(a)' Ps%condio:! ' RemovidoCarroInstalacao(a)'

Aco:'LigarPowerTakeoffShaft(a,'mec)' Pr%condio:'' Ps%condio:! ' ~LigadoPowerTakeoffShaft(a)' ' LigadoPowerTakeoffShaft(a)'

Aco:'LigarFichaElectrica(a,'f,''ent,'mec)' Pr%condio:'' ' ~LigadaFichaElectrica(a,'f,'ent)' Ps%condio:! ' LigadaFichaElectrica(a,'f,'ent)'

Aco:'ApertarFichaP1ComBracadeira(a,'f,'ent,'mec)' Pr%condio:'' ' LigadaFichaElectrica(a,'P1,'J1)' ~ApertadaBracadeira(a,'P1,'J1)' Ps%condio:! ' ApertadaBracadeira(a,'P1,'J1)'

56

Aco:'Ligar7AndarCompressor(a,'mec)' Pr%condio:'' ' ~Ligado7AndarCompressor(a)' Ps%condio:! Ligado7AndarCompressor(a)' '

Aco:'LigarManeteGas(a,'mec)' Pr%condio:'' ' ~LigadaManeteGas(a)' Ps%condio:! LigadaManeteGas(a)'

Aco:'Ligar13AndarCompressor(a,'mec)' Pr%condio:'' ' ~Ligado13AndarCompressor(a)' Ps%condio:! Ligado13AndarCompressor(a)' '

Aco:'FrenarParafusosApoioImpulso(a,'mec)' Pr%condio:'' ' ~FrenadosParafusosApoioImpulso(a)' Ps%condio:! FrenadosParafusosApoioImpulso(a)'

Aco:'RemoverRetrateis(a,'mec)' Pr%condio:'' ' ~RemovidosRetrateis(a)' Ps%condio:! RemovidosRetrateis(a)'

57

Aco:'DesapertarPads(a,'mec):' ! Pr%condio:'' ' PadsInstaladas(a)' Apertado(s1,'p1)' Apertado(s2,'p2)' Apertado(s3,'p3)' Apertado(s4,'p4)'

Ps%condio:! ~PadsInstaladas(a)' Desapertado(s1,p1)' Desapertado(s2,p2)' Desapertado(s3,'p3)' Desapertado(s4,'p4)'

Aco:'RemoverPadsFuselagem(a,'mec)' Pr%condio:'' ' ~PadsInstaladas(a);' ~PadsRemovidas(a);' Ps%condio:! ' PadsRemovidas(a)'

Aco:'InstalarParafusosFuselagem(a,'mec)' Pr%condio:'' ' ~InstaladosParafusosFuselagem(a)' Ps%condio:! InstaladosParafusosFuselagem(a)'

Aco:'LigarFichaAoInterruptorBaixaPressaoOleo(a,'f,'mec)' Pr%condio:'' ' ~LigadaFichaAoInterruptor(a,'f)' Ps%condio:! ' LigadaFichaAoInterruptor(a,'f)'

Aco:'LigarTuboCombustivel(a,'mec)' Pr%condio:'' ' ~LigadoTuboCombustivel(a)' Ps%condio:! ' LigadoTuboCombustivel(a)'

58

'
Aco:'LigarLinhaArrefecimento(a,'linha,'mec)' Pr%condio:'' ' ~LigadaLinhaArrefecimento(a,'linha)' Ps%condio:! LigadaLinhaArrefecimento(a,'linha)'

Aco:'LigarApoioLateral(a,'mec)' Pr%condio:'' ' ~LigadoApoioLateral(a)' Ps%condio:! ' LigadoApoioLateral(a)'

Aco:'InspeccaoVisual(a,'mec)' Pr%condio:'' ' ~EfectuadaInspeccaoComponentes(a)' Ps%condio:! ' EfectuadaInspeccaoComponentes(a)'

Aco:'LigarFuelShutoffValveAoCockpit(a,'mec)' Pr%condio:'' ' ~LigadoFuelShutoffValveAoCockpit(a)' Ps%condio:! ' LigadoFuelShutoffValveAoCockpit(a)'

Aco:'InicializarMotor(a,'mec)' Pr%condio:'' ' ~InicializadoMotor(a)' Ps%condio:! ' InicializadoMotor(a)'

59

Anexo III Protocolo completo de instalao do motor na aeronave F-16

PROCOLOCO&DE&INSTALAO&DE&MOTOR&EM& AERONAVE&F16&
Inicio&

! ! ! 1.!Remover!quatro!parafusos!da!fuselagem!do!avio!(dois!de!cada!lado).! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2.!Instalar!as!Pads!na!fuselagem!do!avio!(uma!do!lado!esquerdo!e!outra!do!lado!direito).!! !!!!!!!!2.1.!Alinhar!pads!para!instalar.! ! ! ! ! ! ! ! AlinharPads(a,!mecTodos);! ! ! RemoverParafusoFuselagem(f,!s1,!p1,!mec1);! RemoverParafusoFuselagem(f,!s2,!p2,!mec2);! RemoverParafusoFuselagem(f,!s3,!p3,!mec3);! RemoverParafusoFuselagem(f,!s4,!p4,!mec4);! ! ! !

60

2.2.!Apertar!as!pads!com!os!parafusos! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

ApertarPads(a,!mecTodos);! !

! ! 3.!Elevar!e!nivelar!o!motor.! !!!!!!3.1.!Instalao!de!trs!apoios!no!motor!(1!!frente!e!2!atrs)!para!elevar!o!motor.!Devem! ser!colocados/instalados!os!trs,!individualmente...! ! ! ! ! ! ! !!!!!!!3.2.!Depois!de!instalados!os!trs!apoios!para!elevar!o!motor,!so!precisos!3!mecnicos! sincronizados! a! rodar! as! manivelas! dos! apoios.! A! ordem! de! sincronizao! ! dada! pelo! supervisor.! InstalarApoioMotor(c,!ap1,!mec1);! InstalarApoioMotor(c,!ap2,!mec2);! InstalarApoioMotor(c,!ap3,!mec3);!

61

! ! ! ! ! ! ! !

SupervisorDarOrdem(c,!mec4);! ElevarMotor(c,!mecTodos);!

4.! Com! o! motor! alinhado! longitudinalmente! ao! avio,! acoplar! o! motor! ao! avio! pela! colocao!do!apoio!superior!na!calha!do!avio.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! AproximarCarroInstalacao(c,!mecTodos);! AjustarCarroInstalacao(c,!mecTodos);! ! 4.1!Instalao!de!apoio!superior!na!calha!do!avio!(forward!mount)!

InstalarApoioCalhaAviao(a,!mecTodos);!

4.2!Aproximar!e!ajustar!carro!de!instalao.!

62

!!!!!!!4.3!Depois!de!efectuado!o!alinhamento,!necessrio!bloquear!rodas.! ! ! ! ! ! ! ! ! ! ! !

BloquearRodas(c,!mecTodos);!

! ! ! ! ! ! 5.! Ligar! carro! de! instalao! s! pads! instaladas! na! fase! 2.! O! carro! de! instalao! tem! dois! apoios(um!de!cada!lado),!esses!apoios!so!instalados!nas!Pads!e!seguros!por!um!parafuso.! ! ! ! ! ! InstalarApoioCarroNaPad(c,!apEsquerdo,!mec1);! InstalarApoioCarroNaPad(c,!apDireito,!mec3);! !

6.!Transferir!o!peso!para!o!avio.!Esta!operao!!feita!no!jackscrew!da!frente.! a. Rodar o Jackscrew da frente e baixar o necessrio para que possa ser ! ! ! ! ! !
transferido o peso do motor para o avio, devem-se rodar os pins de fuselagem at que estejam soltos, para que seja possvel essa transferncia.

7.

Remover o conjunto de apoio de suporte da frente do motor. Este suporte faz parte do carro de instalao (adapter).

63

NOTA: Neste momento o motor est apoiado na calha do avio e no conjunto de apoio traseiro do carro de instalao.

8.

Com dois tcnicos de cada lado do motor iniciar a introduo do motor.

! ! ! ! ! !

RodarJackscrewFrente(c,!mecTodos);! !

! ! ! !

! 7.!Remover!o!conjunto!de!apoio!de!suporte!da!frente!do!motor.!Este!suporte!faz!parte!do! carro!de!instalao.! ! ! ! ! ! ! ! ! ! !

! RemoverConjuntoSuporteFrente(c,!mecTodos);! ! ! ! ! ! !

Neste!momento,!o!motor!encontracse!apoiado!na!calha!do!avio!e!no!conjunto!de! apoio!traseiro!do!carro!de!instalao.!

! ! 8.! Com! dois! tcnicos! de! cada! lado,! iniciar! a! introduo! do! motor! no! avio.! O! motor! ! introduzido! dentro! do! avio! atravs! de! umas! manivelas! que! esto! no! carro! de! instalao,! quando! elas! so! rodadas! o! motor! vai! correndo! pela! calha! do! avio.! A! medida! que! isto! vai! acontecendo,!o!supervisor!verifica!se!existe!alguma!folga!ou!problema.! ! ! ! ! ! ! ! !

64

! ! ! ! !

RodarManivelas(c,!mecTodos);! SupervisaoAccao(c,!mec4);!

9.!Alinhar!as!ligaes!dos!apoios!de!impulso!(uma!de!cada!lado).! ! ! ! ! ! ! ! 10.!Introduzir!os!apoios!de!impulso.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! AlinharLigacaoApoiosImpulso(c,!m,!apEsq,!mec1);! AlinharLigacaoApoiosImpulso(c,!m,!apDir,!mec3);! ! ! ! !

IntroduzirApoiosImpulso(m,!a,!mecTodos);! !

! ! ! !

65

11.!Instalar!meias!luas!(ambos!os!lados).! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 12.!Verificar!pela!entrada!de!ar,!o!perfeito!alinhamento!do!seal!da!entrada!de!ar!do!motor.! Se!encaixar!perfeitamente,!!porque!est!alinhado.! ! ! ! ! ! 13.!Remover!o!carro!de!instalao.! !!!!!!13.1.!Desligar!o!carro!de!instalao!das!pads!da!fuselagem! ! ! ! DesligarCarroPadsFuselagem(c,!a,!mecTodos);! ! ! ! !


66

InstalarMeiasLuas(m,!a,!ladoEsquerdo,!mec1);! InstalarMeiasLuas(m,!a,!ladoDireito,!mec3);!

! ! ! !

VerificarAlinhamentoSeal(m,!a,!mecTodos);! !

! ! !

!!!!!!13.2.!Remover!completamente!o!carro!de!instalao.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

! RemoverCarroInstalacao(c,!a,!mecTodos);! ! ! ! ! !

! Neste! momento,! o! motor! est! completamente! colocado! no! avio.! Faltam!completar!ligaes!ao!avio!(lado!esquerdo!e!lado!direito).! ! ! ! !

Ligaes&do&lado&esquerdo&(podem&decorrer&ao&mesmo&tempo&que&as&ligaes&do&lado& direito):& ! !!!!!14.!Ligar!Power!Takeoff!Shaft.!Requer!aperto!dos!parafusos.!! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!! ! !!!!! ! ! ! LigarPowerTakeoffShaft(a,!mecTodos);! !

67

15.!Ligar!as!cablagens!elctricas!(so!5!fichas).!Apertar!uma!ficha!(P1)!com!braadeira.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! LigarFichaElectrica(a,!P300,!J300,!mecTodos);! LigarFichaElectrica(a,!P1,!J1,!mecTodos);! ApertarFichaP1ComBracadeira(a,!P1,!J1,!mecTodos);! LigarFichaElectrica(a,!P2,!J2,!mecTodos);!! LigarFichaElectrica(a,!P3,!J3,!mecTodos);! LigarFichaElectrica(a,!P145,!J145,!mecTodos);! ! ! ! ! ! ! ! ! ! !

16.!Ligar!7!andar!de!compressor.! ! ! Ligar7AndarCompressor(a,!mecTodos);! ! ! ! ! ! ! ! 17.!Ligar!manete!de!gs.! ! ! ! ! LigarManeteGas(a,!mecTodos);!

! ! ! ! !

! !

68

18.!Ligar!13!andar!de!compressor.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 19.!Frenar!parafusos!do!apoio!de!impulso.! ! !! ! ! ! ! ! 20.!Remover!retrateis.! ! ! ! ! RemoverRetrateis(a,!mecTodos);! ! ! ! FrenarParafusosApoioImpulso(a,!mecTodos);! ! ! !

Ligar13AndarCompressor(a,!mecTodos);!

! ! ! ! !

69

! ! 21.!Remover!e!instalar!parafusos!na!fuselagem!(depois!de!retiradas!as!pads).! !!!!!!!21.1.!Desapertar!e!remover!pads!da!fuselagem!do!avio.! ! ! DesapertarPads(a,!mecTodos);! ! ! !

RemoverPadsFuselagem(a,!mecTodos);! ! ! ! ! ! !!!!!!!21.2.!Instalar!parafusos!na!fuselagem! ! ! ! ! ! ! Ligaes&do&lado&direito&(podem&decorrer&ao&mesmo&tempo&que&as&ligaes&do&lado& esquerdo):& & 22.!Ligar!P146!!J146.! ! & & ! ! 23.!Ligar!7932P1!ao!interruptor!de!baixa!presso!de!leo.! ! ! ! ! LigarFichaAoInterruptorBaixaPressaoOleo(a,!7932P1,!mecTodos);! ! LigarFichaElectrica(a,!P146,!J146,!mecTodos);! ! InstalarParafusosFuselagem(a,!mecTodos);!

! ! !

! ! !

70

24.!Ligar!tubo!entrada!de!combustvel.! ! ! LigarTudoCombustivel(a,!mecTodos);! ! ! ! ! ! ! 25.!Ligar!linhas!de!arrefecimento!(DEEC!e!EDU);! ! ! ! ! LigarLinhaArrefecimento(a,!DEEC,!mecTodos);! ! LigarLinhaArrefecimento(a,!EDU,!mecTodos);! ! ! 26.!Ligar/confirmar!a!ligao!do!13!andar!de!compressor! ! Ligar13AndarCompressor(a,!mecTodos);! ! ! ! ! ! 27.!Frenar!parafusos!do!apoio!de!impulso.! ! ! ! ! 28.!Ligar!apoio!lateral.! ! !! ! ! ! LigarApoioLateral(a,!mecTodos);! FrenarParafusosApoioImpulso(a,!mecTodos);!

! ! ! ! !

! ! ! !

! ! ! !

! ! !

! ! !

29.!Efectuar!a!inspeco!visual!para!confirmao!que!tudo!est!correctamente!ligado.! ! ! ! InspeccaoVisual(a,!mecTodos);! ! !

71

! 30.!Ligar!Fuel!Shutoff!valve!no!cockpit.! ! !! ! ! ! ! LigarFuelShutoffValveAoCockpit(a,!mecTodos);! ! ! ! !

! 31.!Inicializar!o!motor.!

InicializarMotor(a,!mecTodos);!

&&&&&&Protocolo&de&instalao&completo...&

72

Anexo IV Resultado de algumas converses de aces para adaptao ao ambiente 3D.

Aco RemoverParafusoFuselagem

Converso para ambiente 3D r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r Chegar junto da fuselagem do avio Fazer take do objecto parafuso Deslocar-se para junto da mesa de ferramentas Fazer rez do parafuso em cima da mesa Deslocar-se para junto da mesa de ferramentas Fazer take de dois objectos Pad Chegar junto da fuselagem do avio Fazer rez do objectos Pad Tocar na Pad e na fuselagem para alinhar Deslocar-se para junto da mesa de ferramentas Fazer take do objecto ApoioMotor Chegar junto do carrinho de instalao do motor Fazer rez do objecto ApoioMotor Tocar no objecto ApoioMotor e no local do motor para instalar Chegar junto do motor de instalao Verificar apoios instalados Dar ordem para elevar motor Deslocar-se para junto da mesa de ferramentas Fazer take dos objectos ApoiosImpulso Chegar junto do avio Fazer rez dos objectos ApoiosImpulso Tocar nos objectos ApoiosImpulso e no avio para se introduzir os apoios Deslocar-se para junto da mesa de ferramentas Fazer take do objecto MeiaLua Chegar junto do avio Fazer rez do objecto MeiaLua Tocar no objecto MeiaLua e no avio para instalar Chegar junto do local da ficha elctrica Tocar nas duas pontas para se ligarem Deslocar-se para junto da cabine do avio Sentar-se no banco do piloto Tocar no boto on para inicializar o motor

AlinharPads

InstalarApoioMotor

SupervisorDarOrdem IntroduzirApoiosImpulso

InstalarMeiasLuas

LigarFichaElectrica InicializarMotor

73

Vous aimerez peut-être aussi