Académique Documents
Professionnel Documents
Culture Documents
! !!
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
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
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.
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.
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.
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
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
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
10
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 3 Campo de andebol, para treino de movimentaes no Second Life. (Lopes et al., 2008).
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
14
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.
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
17
Soar Training Expert for Virtual Environments http://www.isi.edu/isd/carte/ Agent for Distance Learning: Light Edition.
18
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
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.
23
24
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.
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
27
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).
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).
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
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.
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.
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.
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.
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
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
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
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.
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
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
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
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
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)'
52
'
53
Aco:'RodarManivelas(c,'mec)' Pr%condio:'' ' ~InstaladoApoio(ap1)' ~ManivelasRodadas(c)' ~MotorDeslocado(c,'a)' Ps%condio:! ' ManivelasRodadas(c)' MotorDeslocado(c,a)'
54
'
Aco:'IntroduzirApoiosImpulso(m,'a,'mec)' Pr%condio:'' ' Ps%condio:! AlinhadaLigacao'(m,'apEsq)' ' AlinhadaLigacao'(m,'apDir)' ~ColocadosApoiosImpulso(m,'a)' ColocadosApoiosImpulso(m,'a)' '
55
56
57
58
'
Aco:'LigarLinhaArrefecimento(a,'linha,'mec)' Pr%condio:'' ' ~LigadaLinhaArrefecimento(a,'linha)' Ps%condio:! LigadaLinhaArrefecimento(a,'linha)'
59
PROCOLOCO&DE&INSTALAO&DE&MOTOR&EM& AERONAVE&F16&
Inicio&
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.
! ! ! ! ! !
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);!
IntroduzirApoiosImpulso(m,!a,!mecTodos);! !
! ! ! !
65
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);! ! ! ! ! !
67
! ! ! ! !
! !
68
Ligar13AndarCompressor(a,!mecTodos);!
! ! ! ! !
69
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
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