Академический Документы
Профессиональный Документы
Культура Документы
277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
UniversidadedeBraslia
FaculdadedeTecnologia
DepartamentodeEngenhariaMecnica
RelatriodeProjetodeGraduaoI
GuiagemdoRobMvelXR4000paraInspeodeTubulaes
IndustriaisSoldadasviaInternet
POR
SrgioRobertoGonsalvesTourino
Relatriosubmetidocomorequisitoparcialparaobteno
dograudeEngenheiroMecnico
Orientador:
Prof.AlbertoJoslvares
Braslia,1dedezembrode1999
Agradecimentos
AoDepartamentodeEngenhariaMecnicadaUnBeaoGRACOpelascondiesdeefetuaodo
trabalho.
AoProf.AlbertoJoslvarespelaorientaoeincentivo.
Aoscolegaspeloapoioduranteodesenvolvimentodoprojeto.
AomeuirmopeloauxlioemaspectosdaCinciadaComputao.
Eaosmeuspaispeloapoio.
Sumrio
1Introduo
1.1EstadoTecnolgico
1.2PropostadeTrabalho
2RevisoBibliogrfica
2.1Teleoperao
2.2RobticaMvel
2.2.1ORobMvelNomadXR4000
SubsistemaMotor
http://graco.unb.br/~tourino/xr4000/parcial.html
1/32
1429900062899.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
SubsistemaSensorial
SubsistemadeViso
SubsistemadeComunicao
2.2.2NavegaodeRobsMveis
2.3ComunicaodeDadosviaInternet
2.3.1OModeloClienteServidor
2.3.2OmodeloISOOSI
2.3.3TCPeUDP
2.3.4CanaisdeComunicao
3Metodologia
3.1RequisitosdoProjeto
3.2AInterfacedeProgramaodoRobNomadicXR4000
3.2.1ComunicaocomoRob
3.2.2AEstruturadeDadosdoRob
MovimentaodoRob
PosiodoRob
Sensores
Baterias
SintetizadordeVoz
3.3TeleoperaoviaInternet
3.3.1ALinguagemdeProgramaoJava
3.4ArquiteturadoSistema
3.4.1MdulosPrincipaisdoSistema
3.4.2AInterfacecomoUsurio
4ResultadosObtidos
4.1ControledoRob
4.2ProgramaoJava
4.3ComunicaoviaCanais
4.4MdulosemDesenvolvimento
5Cronograma
6Concluso
ListadeFiguras
1.1OrobdeinspeoARIES.
2.1OrobmvelNomadXR4000.
2.2Recepodosensorultrasnico.
2.3Recepodosensorinfravermelho.
2.4Hierarquiadasfunesdenavegao.
2.5Exemplodeaplicaodomodeloclienteservidor.
2.6Esquemadeusodecanaisdecomunicao.
3.1``Anel''desensoresdorobXR4000.
3.2Arquiteturasimplificada.
3.3Arquiteturadetalhada.
3.4InterfacecomousurioprovidapelaNomadic.
3.5Interfacecomousuriopropostaparaosistema.
4.1Transformaodecoordenadasdossensores.
4.2InterfaceJavasimplesdesenvolvida.
http://graco.unb.br/~tourino/xr4000/parcial.html
2/32
1429900062929.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
ListadeTabelas
3.1Requisitosparaosistema.
5.1Cronogramapreliminar.
Resumo
Atecnologiadeteleoperaorelacionaastcnicasdetelecomunicaescomocontroleremotode
aparelhos.OcrescimentodousodaInternetmostraqueestatecnologiapodeserusadaparaestabelecer
sistemasdeteleoperaoentremquinasedispositivos,taiscomorobsdesoldagemourobsmveis.
EsteprojetotemcomoobjetivoocontroledeumrobmvelatravsdaInternetparaainspeoremota
detubulaessoldadas.OsistemaserusadopelousurioatravsdainterfaceWWW,comousodeum
``applet''Javaquemostraimagensdolocalremotoassimcomoinformaessensoriais.Ousurio,
atravsdeum``joystick''virtual,sercapazdecontrolarorobemonitoraraqualidadedasolda.Este
sistemapodecausarumagrandereduonoscustosdeinspeoalocaisdistantes.Oprojeto
organizadonosseguintestpicos:pesquisabibliogrfica,desenvolvimentodaarquiteturadosistema,
implementao,testeseotimizaodomesmo.
Abstract
Theteleoperationtechnologyrelatesthetelecomunicationmethodswiththecontrolofremotedevices.
ThegrowthofInternetuseshowsthatthistechnologycanbeusedtostablishteleoperationamong
machinesanddevices,suchasrobotsforweldingormobileones.Thisprojectaimstocontrolamobile
robotthroughInternettoremoteinspectionofweldedpipes.Thesystemwillbeusedbyauserina
commonWWWinterface,throughaJavaappletthatshowsimagesfromtheremotesiteaswellas
sensorialinformation.Theuser,throughavirtualjoystick,willbeabletocontroltherobotandmonitor
theweldquality.Thissystemcancauseasubstantialreductionincostsofinspectiononlongdistance
sites.Theprojectisorganizedinthefollowingsteps:bibliographicalresearch,developmentofasystem
architeture,implementationandfinallyevaluationandoptimizationofthesystem.
Glossrio
AbreviaturaseAcrogramasadotadosnotexto
Sigla
Significado(Ingls)
API
ApplicationProgramming
Interface
CGI CommonGatewayInterface
CPU CentralProcessingUnit
DSP DigitalSignalProcessing
GUI GraphicalUserInterface
HTML HiperTextMarkup
Language
http://graco.unb.br/~tourino/xr4000/parcial.html
Significado(Portugus)
Interfacedeprogramao
deaplicativos
Unidadecentraldeprocessamento
Processamentodigitaldesinais
Interfacegrficaparausurio
Linguagemdehipertextos
3/32
1429900063009.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
IP
IR
ISO
InternetProtocol
ProtocoloInternet
Infrared
Infravermelho
InternationalOrganization
OrganizaoInternacional
forStandardization
dePadronizao
JVM JavaVirtualMachine
MquinavirtualJava
NTSC NationalTelevisionStandards Comitnacionaldepadres
Committee
deteleviso
OSI
OpenSystemInterconnect
Interconexodesistemasabertos
PCI
PeripheralComponent
Interconexodecomponentes
Interconnect
perifricos
TCP TransmissionControl
Protocolodetransmissode
Protocol
controle
TIG TungstenInertGas
Soldagemporaramede
tungstnio
UDP UserDatagramProtocol
Protocolodedatagramasde
usurio
WWW WorldWideWeb
Redemundialdecomputadores
Captulo1
Introduo
1.1EstadoTecnolgico
Aexistnciadeambientesinsalubresouimprpriosaohumana,comocentraisnucleares,levouao
desenvolvimentodesistemasremotosdeoperao.Entreessessistemasencontrasegrandeaplicaona
soldagemremota[1],ondetochasTIGsoutilizadasparaasoldagemdetubulaesemambientes
radioativos.Comumaoutraabordagemtecnolgica,autilizaoderobsmveisparavisualizaoe
monitoramentodeambientesperigosostambmalcanagrandedesenvolvimento[2],comomostraa
figura1.1.Recentemente,pesquisadores[3]estudamocontrolederobsmveisatravsdautilizaoda
Internetcomoveculodetransmissodedados,comfinsdepesquisaacadmica.
http://graco.unb.br/~tourino/xr4000/parcial.html
4/32
1429900063043.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Figura1.1:OrobdeinspeoARIES.
1.2PropostadeTrabalho
OobjetivodesteprojetoodesenvolvimentodeumsistemadeguiagemparaorobXR4000pormeio
deteleoperaoatravsdaInternet,voltadoparaainspeodetubulaessoldadas.
Odesenvolvimentodoprojetoserbaseadonaarquiteturaclienteservidoraplicadatecnologiade
teleoperaoviaInternet.Orob,programadoatravsdalinguagemC,sercomandadoremotamente
pelousurioatravsdeumainterfacegrficabaseadanalinguagemdeprogramaoJavasoboambiente
WWW.
Ocaptulo2apresentarumarevisobibliogrficasobreatecnologiadeteleoperao,robticamvele
comunicaodedados.Aseguir,nocaptulo3,seroapresentadososrequisitosdeprojeto,aarquitetura
propostaparaosistema,almdainterfacedeprogramaodorobXR4000easpectostecnolgicosde
teleoperaoviaInternet.Ocaptulo4apresentaosresultadosobtidosnoprojetoatomomento.O
cronogramadoprojetomostradonocaptulo5,enquantoconclusessobreodesenvolvimentodo
mesmosoapresentadasnocaptulo6.
Captulo2
RevisoBibliogrfica
Nestecaptuloseroabordadostpicossobreteleoperao,robticamvelecomunicaodedadosvia
Internet.
2.1Teleoperao
Ateleoperaodefinidacomoocontrolecontnuoediretodeumteleoperador(mquinaremota).
Inicialmentedesenvolvidaparaamanipulaodemateriaisradioativos,ateleoperaopermitequeum
operadorexeraforaerealizemovimentossobreumamquinaremota,eaindarecebarealimentao
sensorial,geralmenteatravsdedadosvisuais,sonorosoutteis.Comaintroduodatecnologiade
teleoperao,foipossvelodesenvolvimentodeinterfacescapazesdeproverumainteraosatisfatria
entrehomememquina,permitindoqueserviosdegrandedestrezafossemrealizados.
Umgrandenmerodeesquemasdeclassificaoparadescreverateleoperaoforampropostos.Um
dessescategorizaossistemasdeteleoperaotomandocomobaseograudeautomaodosistema.Em
umespectrovariandodamnimaparaamximaautonomia,ateleoperaopodeserclassificadacomo
[4]:
controlemanualsemauxliocomputacional
controlemanualcomsignificativoauxliooutransformaocomputacional
controlesupervisriocompredomniodocontrolerealizadopelooperadorhumano
controlesupervisriocompredomniodocontrolerealizadopelocomputador
controlecompletamenteautomtico,ondeosoperadoreshumanosobservamoprocessosem
intervenes.
Ateleoperaorequerasinergiaentrehomememquina.Diversosmodelosrelacionamestainterface,
http://graco.unb.br/~tourino/xr4000/parcial.html
5/32
1429900063084.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
sendoosseguintesostiposprincipais[5]:
ModeloMestreEscravo
Estemodelodescreveomaistradicionalsistemadeteleoperao.Nestecaso,ooperadorhumano
observaoambientedetrabalhoremotoatravsdeumsistemadevdeoemanipulaobraorobtico
mestrepormeiodeum``console'',quecontrolaobraoescravonolocalremoto.Aestrutura
mestreescravoprovumainterfaceintuitivaparaocontroleremotodesistemas.Emboraesse
modeloestejamuitoevoludo,comousodevdeosestreiserealimentaodefora,amaior
desvantagemdessesistemaasuafaltadedestrezaeocansaofsicoqueimpeaooperador.
ModelodeTelepresena
Emumesforodealcanarumaaltafidelidadenoscanaisdecomunicaoentreomestree
escravodomodeloanterior,foramdesenvolvidossistemasantropomrficosparateleoperao,de
formaaoferecerumamelhorformadetransmissodascapacidadeshumanasdesoluode
problemasedemanipulaoemambienteshostis.Comametadeproverumsistematransparente
deinterfacehomemmquina,ossistemasdetelepresenautilizamsede``displays''montadosna
cabea,sensoresdemovimentomontadosnocorpodooperador,realimentaodefora,entre
outrastecnologias.Ametafinaldessessistemasfazerooperadorsentirsepresentenolocalde
trabalhoremoto,obtendoseassimmelhorescondiesderealizaodetarefas.
Ocustotcnicodaimplementaodetaissistemas,entretanto,nojustificado.Ocansao
provocadoaooperadordevidoaovolumeepesodoequipamento,eaindaafaltadenecessidadede
umsistemadetelepresena,reduzemousodessemodeloprincipalmentepesquisaenopara
utilizaesprticas.
ModeloProfessorAluno
Dadoqueoaprendizadodesistemascomputacionaisumadasreasmaisdifceisnainteligncia
artificial,omodeloprofessoralunodefinecomofunodeprofessoraooperadorhumano,e
assumequeo``aluno''robpossuiintelignciasuficienteparareconhecereatuaremumasituao
japrendida.Emboraessastecnologiasaindadevamserdesenvolvidaseintegradaspararealizar
essemodelo,asvantagenspotenciaisoferecidasporesteconceito,emtermosdeconfortoe
efetividade,sosubstanciais.
ModeloSupervisorCompanheiro
Deacordocomessemodelo,umrobbaseadoemsensoresnodevesimplesmenterepetiros
movimentosdooperadorhumano,comonomodelomestreescravo.Nestecaso,ooperador
humanoservecomoumsupervisor,aoinvsdeprojetarsenoambienteremoto.Comacompanhia
dooperadorhumano,osistemarobticoincorporacapacidadescomputacionais,comoprecisoe
capacidadessensoriais,paraarealizaodastarefas.Acomunicaohomemrobpodeser
facilitadacomousodegrficosinterativos,controlecomvriosgrausdeliberdade,einterfaces
hbridas.
Umavezestabelecidaeefetivadaacomunicaoentrehomememquina,deveseobservararelao
entreamquinaremotaeseuambiente.Dessaforma,sopropostosesquemasdeclassificaode
modelosdeambientes:
AmbienteRemotoTotalmenteModelado
http://graco.unb.br/~tourino/xr4000/parcial.html
6/32
1429900063111.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Nestacategoria,osobjetossendomanipulados,oambienteeosprocedimentosoperacionaisso
repetitivosouvariantes,masprevisveis.Noprimeirocaso,umrobprogramvelpoderealizar
suastarefascommnimaintervenohumana.Noltimo,umoperadorhumanoescolheestratgias
deaoprprogramadas,consideradascomoumalinguagemdeprogramaodosistema.
AmbienteRemotoParcialmenteModelado
Nestacategoriaincluemseoperaesemambientes``humanos'',comoplataformasespaciaisou
plantasindustriais,ondetodosospotenciaisprocedimentosoperacionaisdastarefasnopodemser
antecipadosemsuficientesdetalhesparaumaprprogramaoefetiva.Nessescasos,entretanto,
possvelalgumconhecimentogeomtricodoambiente,podendosermodeladoapriori,mesmoque
asrelaesespaciaisentreolocaleseusobjetosnosejamconhecidasexatamente.
AmbienteRemotoDesconhecido
Estacategoriadiferedaanteriorpelofatodequepoucaounenhumainformaosobreoambiente
eseusobjetosconhecidaapriori.Exemplosdessetiposoosderobticasubmarina,minerao,
limpezaderesduosnucleareserobticamilitar.
2.2RobticaMvel
2.2.1ORobMvelNomadXR4000
OrobmvelXR4000(figura2.1),produzidopelaNomadicTechnologies[6],umsistemaavanado
derobticamvel,compreendendosistemasdecontrole,sensores,comunicaoeprogramao
necessriosparapesquisasedesenvolvimentosnareademanipulaorobtica,visocomputacional,
navegaoporsensoreseaprendizado.Suasespecificaesfsicassolistadasaseguir:
Dimenses:620mm(dimetro)850mm(altura)
Peso:150Kg(combaterias)
Mximaaceleraotranslacional:5m/s2
Mximaaceleraorotacional:2rad/s2
Nmeroderodas:4
Capacidadedasbaterias:1575W.h
CPU:at3PentiumouPentiumPro
Figura2.1:OrobmvelNomadXR4000.
NasseesseguintesseroespecificadosossubsistemascomponentesdorobXR4000[7].
http://graco.unb.br/~tourino/xr4000/parcial.html
7/32
1429900063152.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
SubsistemaMotor
OsistemamotordorobXR4000baseiasenumsistemaholonmico,provendotrsgrausdeliberdade
(X,Ye),combaixacomplexidademecnicaeboaconfiabilidade.Suasrodaspossuemeixosde
translaoerotaoindependentes,somandooitomotoresparaasquatrorodasdosistema.Ocontrole
realizadoportrsDSP(DigitalSignalProcessing)eummicrocontroladordedicado,paraocontroledos
oitoeixoseparaclculodasuaposioestimada(``deadreckoning'').
SubsistemaSensorial
OrobmvelXR4000possui,comopadro,trstiposdesensores:sensorestteis,sensoresporultrasom
ousonar,esensoresporinfravermelho.Aseguirserdescritoofuncionamentodecadaumdossensores.
1. SensoresTteis
Tambmdenominadosdesensoresdecoliso,sosensoresqueretornaminformaessobre
contatofsicocomobjetosnoambiente.Emborasejadesejvelqueossensoresdeproximidade
(sonareinfravermelho)sintameprevinamocontatocomobstculos,issonogarantido.Os
sensoresdecolisodoNomadXR4000,sistemaSensus150,possuemdoisnveisdesensibilidade,
paracontatosfracosefortes.
2. Sonares
OsistemaSensus250consisteemdoisaniscontendo24sonares,provendoinformaessobrea
distnciadeobjetos``distantes''(de150a7000mm).Essainformaocalculadaatravsdo
conhecimentodavelocidadedosomedotempodeviagemdopulsoemitidoerefletido.
Matematicamente:
dobjeto=vsom.
tviagem
2
OsonarbaseiasenoemissorultrasnicoPolaroid6500,queemite16ciclosdeondaquadradade
49.4kHzatravsdeumtransdutoreletrosttico,quetambmfuncionacomoreceptorapso
disparodopulso.Comopodeservistonafigura2.2,otransdutornoemiteenergiauniformemente
emtodasasdirees,sendomaiornadireonormalaosensor.
Devidoacaractersticasdocircuitoeletrnicoutilizadonosensor,trserrosdemedidapodem
ocorrer:
DuraodoPulsoTransmitido
AmplificadordeGanhoVarivelcomoTempo
CargaCapacitivadoCircuitode``Threshold''
Comoossensoresbaseiamsenaemissodeondassonoras,adeterminaodadistnciadeum
objetodependedascaractersticasdessesobjetos:
ObjetosRefletores,comdimensessuperioresaocomprimentodaondasonora(6.95mma
http://graco.unb.br/~tourino/xr4000/parcial.html
8/32
1429900063252.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
20oC).
ObjetosDifratantes,comdimensesinferioresaocomprimentodaondasonora.Embora
objetosdessadimensosejamraros,superfciesrugosascomoconcretopodemapresentar
caractersticasdifratantes,reduzindoaefetividadedosensor.
Afigura2.2apresentadadostpicosderetornodesensoresultrasnicos.
Figura2.2:Recepodosensorultrasnico.
3. SensoresporInfravermelho
Osistemadesensoresporluzinfravermelha,sistemaSensus350,consisteemdoisanisde24
sensores,provendoinformaesdepresenadeobjetosprximos(menosde500mmdedistncia).
CadasensorcompostodedoisemissoresinfravermelhosSIEMENSSFH343GaAseum
receptorSIEMENSSFH2030F(fotodiodo).Paraobteraenergiarefletidaporumobjeto,so
tomadasduasleituras:umacomosemissoresdesligadosobtendoseonvelderadiaodo
ambiente,eumacomosemissoresligadosobtendoseaenergiarefletidamaisaradiao
ambiental.Aenergiareferenteaoobjetoobtidadasubtraodasleiturasobtidas:
Eobjeto=EligadoEdesligado
Diversosfatoresinfluenciamosdadosobtidospelosensor:
Geometria
Oprincpiodefuncionamentodosensorbaseadonofatodequequantomaioradistncia
doobjeto,menorseraenergiarefletidacaptadapeloreceptor.Almdisso,ongulodo
objetotambmdegrandeimportncia.Paraumobjetodesuperfcienormalaoeixodo
emissor,aenergiarefletidairquasetodaparaoreceptor.Aocontrrio,paraumobjetode
superfciequaseparalelaaoeixodoemissor,aenergiaquechegaraoreceptorsermnima,
indicandoumadistnciamaiorqueaverdadeira.
Iluminao
http://graco.unb.br/~tourino/xr4000/parcial.html
9/32
1429900063282.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Apresenadeumagrandequantidadedeenergiainfravermelhanoambiente,comonocaso
delocaisiluminadosporlmpadasincandescentes,podesaturaroreceptor,reduzindosua
sensitividade.Emgeral,ousodelmpadasfluorescentesquasenoafetaasmedidasde
sensoresinfravermelhos.
CoreSuperfcie
A``cor''doobjeto(suarefletividadeluzinfravermelha)possuigrandeinfluncianas
leiturasobtidas(figura2.3).Almdisso,arugosidadesuperficialtambminfluinareflexo
dosinal,sendomaiorparasuperfcieslisasquerugosas.
Figura2.3:Recepodosensorinfravermelho.
SubsistemadeViso
Comoauxlioaosubsistemasensorial,orobXR4000possuiosistemaSensus460,queconsistenuma
cmeradevdeocolorida,padroNTSC,eumaplacadecapturadevdeo,padroPCI,com45Mbytes/s
detransfernciadedados.Essesistemaauxiliadoporumaunidade``PanTilt'',controladaporuma
portaserialRS232,paramovimentaodacmera.
Essesistemaadequado,devidoasuaoperaoemtemporeal,paramovimentaovisual(atravsdas
imagens),anlisedemovimentos,assimcomoaplicaesdiversas.
SubsistemadeComunicao
AcomunicaodorobXR4000comaredelocalrealizadaatravsdainterfaceProximRangeLan2
(freqnciade2.4GHz),umrdioEthernetqueprovaosistemacompletoacessorede(incluindo
servioscomo``telnet'',``ftp''eTCP/IP``sockets'').
2.2.2NavegaodeRobsMveis
Navegaoacincia(ouarte)dedirecionarocursodeumrobmvelmedidaqueomesmoatravessa
oambiente[8].Emtodosistemadenavegaodesejasealcanarodestinosemqueorobsepercaou
http://graco.unb.br/~tourino/xr4000/parcial.html
10/32
1429900063318.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
colidaemalgumobstculo.Anavegaoenvolvetrstarefas:mapeamento,planejamentoedireo.Um
processodealtonvel,denominadodeplanejamentodetarefas,especificaodestinoerestriesparao
sistema,comootempo.
Deformasimples,oproblemadanavegaoencontrarumcaminholigandoolocalatualinicialatuma
meta,eatravesslosemcolises.
Aprimeirapartedanavegao,mapeamento,realizadaatravsdousooudemapasprarmazenadosou
demapas``aprendidos''pelosistemasensorialmedidaqueorobatravessaoambiente.Amodelagem
doambienterealizadapelaanlisedosdadossensoriaisparaaconstruoemodificaodosmapas.
Oplanejamentofeitoatravsdaprocuradecaminhospossveisnomapaconstrudo.Amelhor
alternativaentoescolhidadeformaaatendersrestriesimpostaspelatarefa.
Aterceiratarefarealizadananavegaoaguiagemdorobatravsdocaminhodefinidoanteriormente.
Omovimentodorobentocontroladoutilizandoseoseumodelocinemticoedinmico.Durantea
movimentao,oprocessodepercepoexaminacontinuamenteosdadossensoriaisafimdedetectar
colisespotenciais.Quandoumacolisopossvel,oprocessodepercepoiniciaumaaoevasiva.O
nvelfinaldeseguranaemtodorobmvelobtidoatravsdadetecodecolisoporsensoresde
toqueoucontato.
Afigura2.4mostraainterrelaoentreasfunesdenavegaodeumrobmvel.
Figura2.4:Hierarquiadasfunesdenavegao[8].
Pesquisasrecentesemnavegaobuscamaintegraoentresistemasdeodometria(``deadreckoning'')e
sensoresdeobstculos(sonaresoulaser),deformaagerarummapeamentoconfiveldoambientedo
rob[9].
2.3ComunicaodeDadosviaInternet
http://graco.unb.br/~tourino/xr4000/parcial.html
11/32
1429900063348.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Nestaseoseroapresentadososconceitosdemodeloclienteservidor,omodeloISOOSIpara
comunicaodedados,eoconceitodecanaisdecomunicao.
2.3.1OModeloClienteServidor
Omodelodaarquiteturaclienteservidorummodelodesistemasdistribudosquemostracomoos
dadoseprocessamentossodistribudosentreumconjuntodeprocessadores[10].Osprincipais
componentesdessemodeloso:
umconjuntodeservidoresindependentesqueoferecemserviosparaoutrossubsistemas
umconjuntodeclientesquerequisitamserviosoferecidospelosservidores
umarededecomputadoresquepermitequeosclientesacessemessesservios.
Osclientesdevemsaberos``nomes''dosservidoresdisponveiseosserviosqueosmesmosprovm.
Entretanto,servidoresnoprecisamconhecerouaidentidadedosclientesouquantosclientestentam
obterseusservios.Umexemplodeumsistemadesenvolvidoapartirdomodeloclienteservidor
mostradonafigura2.5.
Figura2.5:Exemplodeaplicaodomodeloclienteservidor.
Amaisimportantevantagemdomodeloclienteservidorasuafcildistribuioouampliao.
simplesadicionarumnovoservidoreintegrlogradualmentecomorestodosistema,oumesmo
atualizarosservidoressemafetaroutraspartesdosistema.
2.3.2OmodeloISOOSI
Umsistemadecomunicaesrepresentaaformanaqualserealizamastrocasdedadoseapassagemdas
informaesdecontrole.Odeslocamentodessesdadosgeralmentedefinidoapartirdomodelode
comunicaoOSI(OpenSystemInterconnection),definidopelaISO.
OmodeloOSIdivideemsetecamadasotrabalhodedeslocamentodedadosdeumpontoaoutro.So
camadashierarquizadasquecontribuemparaoagrupamentoouseparaodeumpacotededados.Esses
pacotesdedados,almdainformaopropriamenteditaasertransmitida,levamemseuinteriordados
relativosorigemedestinonarede,assimcomooprotocoloempregadonacodificaodasinformaes
transportadas.
AscamadasdomodeloOSIsoasseguintes:
http://graco.unb.br/~tourino/xr4000/parcial.html
12/32
1429900063380.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
CamadaFsica
acamadaresponsvelpelageraoerecepodosimpulsosfsicos(eltricos)envolvidosna
comunicaodedados.Essacamadaapenastratadaconexodasdemaiscamadascomosistema
decomunicao,noincluindoportantoaimplementaofsicadarededecomputadores.
CamadadeEnlacedeDados
onvelquerealizaoprimeirotratamentodossinais,agrupandoosempacotesdebitse
adicionandolhessistemasdeverificaodeerros.
CamadadeRede
Quandoumarededecomputadorestornasecomplexadevidoaoseutamanho,utilizasecomo
soluoasubdivisodestarede,atravsdacriaodesubredeslocais.Acamadaderedegerencia
otransportededadosatravsdarede,realizandooroteamentodessasinformaes.
CamadadeTransporte
umnveldetransioquerealizaogerenciamentofinaldospacotesderoteamentoea
recuperaodeerrosdascamadasanteriores.
CamadadeSesso
Acamadadesessoonvelquemantmastransmissesorientadasconexo,realizandoa
aberturaefechamentodeconexesentremquinasdarede.
CamadadeApresentao
umacamadapoucoutilizadaresponsvelpelaconversodosdadosrecebidosparaaprxima
camada,acamadadeaplicao.
CamadadeAplicao
Acamadadeaplicaotratadosassuntosdeseguranaedisponibilidadederecursos,como
transfernciadearquivoseprotocolosdeterminais.
2.3.3TCPeUDP
OTCP(TransmissionControlProtocol)eoUDP(UserDatagramProtocol)soprotocolosque
percorremencapsuladosnospacotesIP(InternetProtocol),sendoresponsveispelacomunicaode
dadosbaseadosemdatagramasebaseadosemfluxo[11].
Umprotocolobaseadoemdatagramaaquelequeatribuiumtamanhomximoquantidadededados
enviadaemumanicatransmisso(comooUDP).Umprotocolobaseadoemfluxo(comooTCP)
realizaa``quebra''dainformaoempacotesmenoresetratadareorganizaodessespacotes,deforma
que,paraousurio,atransmissorealizadasemlimitesdequantidadededados.
Deformacomparativa,podemosdiferenciaroUDPdoTCPdaseguinteforma:
1. UDP
http://graco.unb.br/~tourino/xr4000/parcial.html
13/32
1429900063404.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
baseadopordatagrama
menorconsumoderecursosdarede
menorconfiabilidade
quantidadededadosenviadaportransmissolimitada.
2. TCP
baseadoemfluxo
maiorconsumoderecursosdarede
maiorconfiabilidade
quantidadeilimitadadedadostransmitidos.
2.3.4CanaisdeComunicao
Figura2.6:Esquemadeusodecanaisdecomunicao.
Canaisdecomunicao(geralmentedenominadosde``sockets'')soaformadeserealizara
comunicaoentredoiscomputadoresemumarede[12,13].Oscanaisligamdoiscomputadoresatravs
deseusendereosIPeatravsdeuma``porta''decomunicao.Estacomunicaopodeserrealizada
tantoatravsdoprotocoloUDPcomopeloprotocoloTCP.Comandoscomo``telnet''e``ftp''utilizam
internamenteemseufuncionamentooconceitodecanaisdecomunicao.
Deformagenricaumcanaldecomunicaoabertoespecificandoseoendereodamquinadestinoe
aportadecomunicaoaserutilizada.ParaocasodeumacomunicaoTCP,amquinaremotarecebe
oendereodamquinalocal,oquepermitequeumaconexobaseadaemfluxosejarealizadaentreas
mquinas.Afigura2.6mostraumesquemadoprocesso.
Captulo3
Metodologia
Nestecaptuloseroapresentadosumaanlisedosrequisitosdeprojeto,ainterfacedeprogramaodo
robXR4000,aaplicaodeteleoperaoviaInterneteaarquiteturadosistemaaserdesenvolvido.
3.1RequisitosdoProjeto
Nestaseoseroanalisadososrequisitosbsicosaseremobtidospeloprojeto,assimcomoadefinio
especficadotrabalhoaserrealizado.
Segundo[14],ametodologiadeprojetoemengenhariadeveseguirapartirdadefiniodasnecessidades
ecaractersticasdesejveisdeumprodutoousoluo.Combasenestametodologia,foramdefinidos
http://graco.unb.br/~tourino/xr4000/parcial.html
14/32
1429900063431.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
algunsrequisitosdeprojeto,deformaaguiarodesenvolvimentodotrabalho.Natabela3.1encontramse
osrequisitosdefinidosparaosistemadeguiagemdorobmvelXR4000.Natabelaapresentada,N
representaumaspectoNecessriosoluo,enquantoDrepresentaumaspectoDesejvelmesma.
GRACO ListadeEspecificaesparaoSistemadeGuiagem
Mudana N/D
Especificao
1.Cinemtica
06/09/1999 D Movimentospolares
N Baixavelocidade(segurana)
2.Energia
D Monitoraonvelbaterias
3.Sinais
N UsodesonareseIR
D Nvelbaterias
N Movimentaoremota
N TeleoperaoviaInternet
N ``Feedback''comimagensedadossensoriais
4.Segurana
N Evitarobstculos
D Impedircontrolesimultneo
D Utilizardadoscriptografados
5.Ergonomia
N Interface``amigvel''
6.Operao
N Utilizaosimples
D Conversaocomsintetizadordevoz
N Autonomianoambiente
D Controledacmeradevdeo
7.Manuteno
N Documentaodosprogramas
D Recargaautomticadasbaterias
Tabela3.1:Requisitosparaosistema.
Seguindoametodologiadeprojetodefinidapor[14],aformulaodoproblemadeveserrealizada
atravsdosseguintespassos:
1. Eliminaodeprefernciaspessoais
Nestecasotodososrequisitosdesejveissoeliminados,restandoapenasaquelesnecessrios
soluodoproblema.
http://graco.unb.br/~tourino/xr4000/parcial.html
15/32
1429900063460.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
2. Eliminaoderequisitossemrelaocomfunesourestries
Apsessepassorestamosrequisitosdemovimentaoremota,``feedback''eevitarobstculos.
3. Generalizarosresultadosdopassoanterior
Apsageneralizaodosrequisitosanteriores,obtmse:envioerecepodesinaisdorobe
evitarobstculos.
4. Formulaodoproblema.
Aformulaogenricadoproblemaentoestabelecida:enviarerecebersinaisdeumrob
autnomo.
Apsaformulaodoproblema,recomendaseaampliaodamesma,atravsdeespecificaesmais
amplas:
``comunicarcomumrobautnomo''
``comunicarcomumrob''
``comunicarcomumcomputador''
``telecomunicao''
Concluise,atravsdametodologiadeprojetode[14],queasoluodopresenteprojetoencontrase
principalmenteemumasoluodetelecomunicaes,semnoentantoignorarousubestimaraspectosde
engenhariaexistentesnosistema.
3.2AInterfacedeProgramaodoRobNomadicXR4000
OrobXR4000programadoatravsdeumainterfacebaseadanaarquiteturade``software''
desenvolvidapelaNomadic,denominada``XtremeRoboticsDevelopmentEnvironment'',ouXRDev
[15].XRDevumaarquiteturamultiprocesso,fazendoumaaplicaoXRDevserconstitudadevrios
processosfuncionandosimultaneamente.Htrstiposdeprocessosnaarquitetura:
Nrobot,oprocessoservidorquesecomunicacomo``hardware''dorob,enviandoerecebendo
comandosdousurio
Ngui,querealizaumainterfacegrficaentreorobeousurio
Processoscriadospelousurio,acessandoprocessosdorobatravsdeNrobot.
OrobprogramadoatravsdautilizaodeumabibliotecaemlinguagemC[16]fornecidapela
Nomadic,denominadaNclient.h.Estabibliotecacontmaespecificaodecomandoseestruturasde
dadosresponsveispelacomunicaorobusurio.
3.2.1ComunicaocomoRob
Oprogramadesenvolvidopelousuriodeveinicialmenteconectarsecomorob,atravsdocomando
N_InitializeClient.Essecomandoabreumcanaldecomunicao(denominado``socket'')entreo
programaeorob.Asintaxedestecomando:
intN_InitializeClient(constchar*scheduler_hostname,
unsignedshortscheduler_socket)
http://graco.unb.br/~tourino/xr4000/parcial.html
16/32
1429900063593.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
ondesheduler_hostnamecontmonomedorobnarede(norobutilizado,lower.graco.unb.br),e
scheduler_socketindicaocanaldecomunicaoTCP/IP(nocaso,7073).
Apsabertoocanaldecomunicao,oprogramadeveiniciaracomunicaoatravsdocomando
N_ConnectRobot.Findootrabalhocomorob,deveseutilizardocomandoN_DisconnectRobotpara
fecharacomunicaocomomesmo.Essescomandospossuemasseguintessintaxes:
intN_ConnectRobot(longRobotID)
intN_DisconnectRobot(longRobotID)
ondeRobotIDonmerodeidentificaodorob(usualmentecomovalor1).
3.2.2AEstruturadeDadosdoRob
AprogramaodorobXR4000realizadaatravsdaleituraeescritadedadossobreumaestruturade
dados,denominadaN_RobotState.Essaestruturacontmtodaainterfacedecomunicaoentreo
``software''eo``hardware''dorob,sendodefinidadaseguinteforma:
structN_RobotState
{
N_CONSTlongRobotID
N_CONSTcharRobotType
structN_IntegratorIntegrator
structN_AxisSetAxisSet
structN_LiftControllerLiftController
structN_JoystickJoystick
structN_SonarControllerSonarController
structN_InfraredControllerInfraredController
structN_BumperControllerBumperController
structN_CompassCompass
structN_LasetSetLaserSet
structN_S550SetS550Set
structN_BatterySetBatterySet
structN_TimerTimer
}
OacessoaN_RobotStateobtidoatravsdocomandoN_GetRobotState,cujasintaxemostrada
abaixo,declaradonoinciodoprograma.
structN_RobotState*N_GetRobotState(longRobotID)
Aseguir,ousuriocapazdelerdadosdaestruturacomafamliadecomandosGet...ouatualizar
dadosdaestruturacomafamliadecomandosSet....
Nostpicosseguintesseromostradososcomandoseestruturasresponsveispelocontroledorob
XR4000.
MovimentaodoRob
Ocontrolecinemticodorobouseja,posio,velocidadeeaceleraoobtidoatravsdaestrutura
N_AxisSet,quecontmrefernciaacadaumdoseixosdemovimentodorob(X,Ye):
http://graco.unb.br/~tourino/xr4000/parcial.html
17/32
1429900063636.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
structN_AxisSet
{
BOOLGlobal
unsignedcharStatus
N_CONSTunsignedintAxisCount
structN_AxisAxis[N_MAX_AXIS_COUNT]
}
NavarivelGlobalpodemserutilizadosdoisvalores:TRUE,significandomodoglobal,ondeorob
possuiumarefernciafixanosoloparaarealizaodosmovimentos,eFALSE,representandoo
movimentodasjuntas,naqualarefernciafixadanocorpodorob.
AestruturaN_Axiscontminformaessobrecadaumdoseixosdemovimentao:
structN_Axis
{
BOOLDataActive
BOOLTimeStampActive
BOOLUpdate
unsignedlongTimeStamp
charMode
longDesiredPosition
longDesiredSpeed
longAcceleration
longTrajectoryPosition
longTrajectoryVelocity
longActualPosition
longActualVelocity
BOOLInProgress
}
Observasedosnomesdasvariveis,comoDesiredPosition,queautilizaodestaestruturadefcil
compreenso.OacessoaessaestruturarealizadoatravsdoscomandosSet_AxeseGet_Axes,que
possuemasseguintessintaxes:
intN_SetAxes(longRobotID)
intN_GetAxes(longRobotID)
PosiodoRob
OrobXR4000possuiinternamenteumsistemadeautolocalizaonoambiente,baseadonageometria
emovimentosrealizados.Dessaforma,osistemacalculacontinuamenteasposiesX,Yecombase
numarefernciainicialnopiso(essaestimativadeposiodenominada``deadreckoning'').Embora
essainformaosejaafetadaporproblemascomooescorregamentodasrodasnosoloedaimperfeio
domodelocinemtico,essesdadossoteiscomoprimeiraaproximaodaposiodorobno
ambiente.
EssasinformaessoregistradasnaestruturaN_Integrator,definidacomo:
structN_Integrator
{
BOOLDataActive
BOOLTimeStampActive
http://graco.unb.br/~tourino/xr4000/parcial.html
18/32
1429900063676.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
longx
longy
longSteering
longRotation
unsignedlongTimeStamp
Oscomandosutilizadosparaobteressesdadosouatualizlosso,respectivamente,
N_GetIntegratedConfigurationeN_SetIntegratedConfiguration,cujassintaxessodadasa
seguir:
intN_GetIntegratedConfiguration(longRobotID)
intN_SetIntegratedConfiguration(longRobotID)
Sensores
OstrstiposdesensoresdoXR4000ttil,deinfravermelhoeultrasomsocontroladosdeforma
semelhantenoseuaspectogeomtrico.Comopodeservistonafigura3.1,ossensoresdorobso
dispostosnoanelnaformadeconjuntoscontendooitosensores(numeradosde0a7).Essesseis
conjuntos,numeradosde0a5,solocalizadosnastrsportasdorob,sendotrsnapartesuperior(0,2
e4),etrsnaparteinferior(1,3e5).Aseguircadaumadasinterfacesdossensoresmostrada
separadamente.
Figura3.1:``Anel''desensoresdorobXR4000.
SensoresTteis
Ainformaosobrecolisesdorobcomoambienteregistradanaestrutura
N_BumperController,definidacomo:
structN_BumperController
{
N_CONSTunsignedintBumperSetCount
structN_BumperSetBumperSet[N_MAX_BUMPER_SET_COUNT]
}
http://graco.unb.br/~tourino/xr4000/parcial.html
19/32
1429900063713.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
AestruturaN_BumperSetcontmrefernciaacadaumdosconjuntosdesensores,sendodefinida
como:
structN_BumperSet
{
BOOLDataActive
BOOLTimeStampActive
N_CONSTunsignedintBumperCount
structN_BumperBumper[N_MAX_BUMPER_COUNT]
}
Aleituradecadaumdossensoresdecoliso,contidanaestruturaN_Bumper,estcontidana
varivelReading,podendoterosvaloresN_BUMPERNONE(semcoliso),N_BUMPERLOW(coliso
fraca)ouN_BUMPERHIGH(paracolisoforte).Essaestruturadefinidacomo:
structN_Bumper
{
charReading
unsignedlongTimeStamp
}
OsdadosdaestruturaN_BumperControllersoatualizadosatravsdachamadadafuno
N_GetBumper,cujasintaxedadaaseguir:
intN_GetBumper(longRobotID)
SensoresporInfravermelho
AestruturaN_InfraredController,definidaabaixo,contmainformaodossensores
infravermelhos.
structN_InfraredController
{
BOOLInfraredPaused
N_CONSTunsignedintInfraredSetCount
structN_InfraredSetInfraredSet[N_MAX_INFRARED_SET_COUNT]
}
AvarivelInfraredPausedcontrolaofuncionamentodossensores,ativandoosquandopossui
umvalorFALSE.AestruturaN_InfraredSetcontminformaessobreosconjuntosdesensores,
possuindoaseguintedefinio:
structN_InfraredSet
{
BOOLDataActive
BOOLTimeStampActive
N_CONSTunsignedintInfraredCount
structN_InfraredInfrared[N_MAX_INFRARED_COUNT]
}
AestruturaN_Infraredpossuiosdadosdeleiturasdecadaumdossensores,individualmente.Sua
definiodadapor:
http://graco.unb.br/~tourino/xr4000/parcial.html
20/32
1429900063736.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
structN_Infrared
{
longReading
unsignedlongTimeStamp
}
OvalordavarivelReadingvariade0a255,sendo0equivalenteanenhumarecepodeluz
refletida,e255comoumareflexomximadeluz,oqueindiretamentesignificaaproximidadedo
objetonoambiente.
AatualizaodaestruturaN_InfraredControllerrealizadaatravsdafunoN_GetInfrared,
quepossuiaseguintesintaxe:
intN_GetInfrared(longRobotID)
SensoresporUltrasom
Osdadosobtidosatravsdosistemadeultrasomsoarmazenadosnaestrutura
N_SonarController,definidacomo:
structN_SonarController
{
N_CONSTunsignedintSonarSetCount
structN_SonarSetSonarSet[N_MAX_SONAR_SET_COUNT]
BOOLSonarPaused
}
AestruturaN_SonarSetarmazenaasinformaesrelativasaosconjuntosdesensores,possuindoa
seguintedefinio:
structN_SonarSet
{
unsignedintFiringOrder[N_MAX_SONAR_COUNT+1]
longFiringDelay
longBlankingInterval
BOOLDataActive
BOOLTimeStampActive
N_CONSTunsignedintSonarCount
structN_SonarSonar[N_MAX_SONAR_COUNT]
}
AvarivelFiringOrderarmazenaaseqnciadedisparodossonares,permitindoquediversas
estratgiasdeatualizaodosdadossejamobtidas.AvarivelFiringDelaydefineointervalode
tempo,emmilisegundos,entreosdisparosdossensores,regulandoassimavelocidadedosmesmos
paraobterdadossobreadistnciadeobjetosdoambiente.
AestruturaN_SonarregistraemsuavarivelReadingadistncia,emmilmetros,doobjetomais
prximoaumdeterminadosensor.Essaestruturadefinidacomo:
structN_Sonar
{
longReading
unsignedlongTimeStamp
}
http://graco.unb.br/~tourino/xr4000/parcial.html
21/32
1429900063768.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
AestruturaN_SonarControllerpodeserlidaouatualizadaatravsdetrsfunesprincipais:
N_GetSonar,querecebeosdadosdasleiturasdossonaresN_GetSonarConfiguration,quelos
dadosdeconfiguraodossensoreseN_SetSonarConfiguration,queatualizaaconfigurao
dosmesmos.Essasfunespossuemasseguintessintaxes:
intN_GetSonar(longRobotID)
intN_GetSonarConfiguration(longRobotID)
intN_SetSonarConfiguration(longRobotID)
Baterias
Osistemadealimentaodorob,compostodequatrobaterias,podeserverificadopelousurioatravs
daestruturaN_BatterySet,definidacomo:
structN_BatterySet
{
structN_BatteryBattery[N_MAX_BATTERY_COUNT]
BOOLDataActive
}
UtilizandoocomandoN_GetBatteryobtmsenaestruturaovalordatensodasbaterias,dadasem
milivolts.
intN_GetBattery(longRobotID)
SintetizadordeVoz
OrobXR4000possuiumsintetizadordevoz,permitindoquetextoseminglssejamtransformadosem
fonemasparaasadadeudio.ParaissoutilizadoocomandoN_Speak,cujasintaxedadaaseguir:
intN_Speak(unsignedlongRobotID,char*Text)
3.3TeleoperaoviaInternet
AteleoperaobaseadanaInternetpodeserrealizadaatravsdevriasmetodologias.Dentreasquais
destacamse:
AcessoRemotovia``Telnet''
UmaformadeseobteroacessoaumsistemateleoperadoviaInternetaconexodiretado
usurioviainterface``telnet'',amplamentedisponvelemambientesderede.Asimplicidadede
operaoperdidapelofatodesenecessitardecontasdeusuriosnasmquinasservidoras,oque
inviveldentrodeumsistemadeamplaabrangncia,esermaissusceptvelafalhasde
segurana.
ProgramaoCGI``CommonGatewayInterface''
AprogramaoCGIcombaseempginasHTML(``HiperTextMarkupLanguage'')a
abordagemmaisutilizadanomomentoparaocontroledesistemasatravsdaInternet,baseadana
http://graco.unb.br/~tourino/xr4000/parcial.html
22/32
1429900063803.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
interfaceWWW(``WorldWideWeb'')[17].Asuadesvantagemalimitaodeinteratividade
comousurio,epelofatodesobrecarregaroservidor.
ProgramaoJava
AlinguagemJava,atravsdeseusaplicativosWWW``applets'',soaformamaisatualde
programaoparaaInternet.Suasvantagensincluemainteratividadecomousurio,afcil
programaoeasuanaturezavoltadaparaaInternet.Suadesvantagemprincipalavelocidadede
operao,almdotempoparaainicializaodos``applets''.
AseguirserexplicitadaemmaioresdetalhesalinguagemJavacomointerfacedeprogramaopara
teleoperaoviaInternet.
3.3.1ALinguagemdeProgramaoJava
Java,almdeumalinguagemdeprogramao,tambmumaplataformacomputacional[18].Como
linguagemdeprogramaodealtonvel,apresentaasseguintescaractersticas:
Simples
Aocontrriodeoutraslinguagensdeprogramaoorientadasaobjetos(comooC++),Java
apresentasimplificaesnoarmazenamentoegerenciamentodedadosquepermitemmaior
facilidadedeaprendizadoedesenvolvimentodeprogramas.
Orientadaaobjetos
Aprogramaoorientadaaobjetosatcnicaqueenfocaosdadosesuasrelaescomosdemais
dados,permitindoumaprogramaomais``intuitiva''ecommaiorespossibilidadesdereutilizao
decdigo.
Distribuda
AintegraodeJavacomaInternetousistemasdecomunicaoviaredesfacilitadapelaampla
disponibilidadedebibliotecasdestinadasaessefim.
Robusta
AocontrriodelinguagemcomooCeC++,Javanoutilizaponteiros,deformaqueumprograma
apresentamnimaschancesdetersuareadecdigocorrompidapormanipulaesindevidasde
memria.
Segura
ComoJavadestinadautilizaoemambientesderede,aseguranaumagrandenfaseno
projetodalinguagem.
Arquiteturaneutra
ProgramasJavasodesenvolvidosparafuncionarsobreaMquinaVirtualJava(JVMJava
VirtualMachine),deformaqueoseufuncionamentoindependedaarquiteturadocomputadorem
queutilizado.
http://graco.unb.br/~tourino/xr4000/parcial.html
23/32
1429900063832.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Portvel
ComoJavaumalinguagemqueindependedaarquitetura,nopossuidetalhesdeimplementao
querestringemasuaportabilidadeentrediversasmquinasesistemasoperacionais.
Interpretada
AcompilaodeumprogramaJavageraumarquivocontendo``bytecodes'',queso
compreendidoseinterpretadosemtemporealpelaJVM.
Alta``Performance''
Quandonecessrio,oscdigosJavapodemserconvertidosdiretamenteparaoscdigosnativosda
mquinautilizada,aumentandosuaeficinciacomputacional.
Multiprocessada
ProgramasJavapodemserdesenvolvidosutilizandooconceitodeprocessamentomltiplo,naqual
oprogramasubdividoemtarefasquepodemserrealizadas``simultaneamente''pelo
computador.
Dinmica
AutilizaodebibliotecasnalinguagemJavasimplificada,nonecessitandodeserecompilaros
programasjexistentesquandoocdigodeumabibliotecaatualizado.
Umaplataformaoambientebaseadoem``hardware''ou``software''naqualumprogramafunciona.A
plataformaJava,diferentedasdemais,compostapor:
MquinaVirtualJava(JVM)
InterfacedeProgramaoparaAplicaesJavaAPI(``JavaApplicationProgramming
Interface'')
OJavaAPIcompostodediversasbibliotecasoupacotes,responsveispelasinterfacesgrficaspara
usurios(GUI``GraphicalUserInterface''),almdeoutrasutilidadesgerais.
3.4ArquiteturadoSistema
Nestaseoapresentadaaarquiteturadosistemaaserdesenvolvido,atravsdodesenvolvimentodo
modelodecomunicaoclienteservidor.
Combasenosmodelosapresentadosanteriormente,osistemadeteleoperaoaserdesenvolvidopode
serclassificadocomo:
Controlemanualcomauxliocomputacional
Modelomestreescravo/supervisorcompanheiro
Ambienteremotoparcialmentemodelado
Odesenvolvimentodaarquiteturadosistematercomobaseosaspectostericosacimaapresentados.
Afigura3.2apresentaumesquemasimplificadodaarquiteturadosistemadeguiagemparaorobmvel
NomadXR4000.Podeserobservadoque,combasenomodelo,orobrepresentaoservidor,enquanto
http://graco.unb.br/~tourino/xr4000/parcial.html
24/32
1429900063861.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
queousurioocliente,sendointerligadosatravsdaredeInternet.
Figura3.2:Arquiteturasimplificada.
Comofoivistoanteriormente,aprogramaodorobrealizadanalinguagemC,enquantoa
programaovoltadaparaaInternetfeitaemJava.Istonoseconstituiumproblema,vistoqueambas
aslinguagenssoaptasasecomunicarematravsde``sockets''.
3.4.1MdulosPrincipaisdoSistema
Afigura3.2apresentouumesquemasimplificadodaarquiteturadosistema.Nafigura3.3apresentada
aestruturadetalhadadosistema,baseadanotrabalhode[19],ondesomostradososseusprincipais
mdulos.
Figura3.3:Arquiteturadetalhada.
Combasenafigura3.3podemserdefinidososseguintesmdulos:
RobXR4000
Nestemduloestoossubsistemasdeservidordevdeoeservidordecontrole,ambos
programadosnalinguagemC.Oservidordevdeoresponsvelpelacapturadevdeoeoenvio
dosdadosparaaInternet.Oservidordecontrolefuncionademodobidirecional,recebendo
comandosatravsdaredeeenviandodadossensoriaiseposicionaisdorobparaaInternet.O
servidordecontroleimplementatambmosistemadenavegaoemodelagemdeambienteque
auxiliaooperadorremotonaexecuodastarefas.
Internet
omduloquerepresentaaconexoInternetdesenvolvidaatravsdecanaisdecomunicao
(``sockets'')entreosmdulosdoRobXR4000eomdulodoUsurio.
http://graco.unb.br/~tourino/xr4000/parcial.html
25/32
1429900063896.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Usurio
OmdulodousuriocompostoportrssubsistemasprogramadosnalinguagemJava:odevdeo,
odesensoreseposio,eodecomando.Osistemadevdeoapresentaaousurioosdados
recebidosatravsdarededeformagrfica.Osistemadesensoresmostradadossensoriais
(sonares,IRecoliso),almdedadosde``deadreckoning''.Osistemadecomandoresponsvel
peloenviodecomandosdousurioparaorob,taiscomoadireoevelocidadedomovimento
desejado.
Deveseobservarqueacomunicaoentreosservidoreseoclientedeverserrealizadaatravsdo
desenvolvimentodeumprotocolodecomunicao,especficoparaaaplicaodeguiagemdorob
mvel.
Odesenvolvimentodoprojetoserrealizadoatravsdaespecificaoeimplementaodosmdulos
anteriormentedefinidos.
3.4.2AInterfacecomoUsurio
AutilizaodorobXR4000,almdeserrealizadaatravsdaprogramaoemC,podeserrealizada
atravsdainterfacegrficaNgui,providapelaNomadic.Comopodeservistonafigura3.4,Ngui
compostoporduastelas:
umatelacontendoadescriodoambientecombasenosdadossensoriais(esquerda)
umatelacontendodadosinstantneosdossensoresIResonares,um``joystick''controladopelo
``mouse''edadossobreodometriaeestadodasbateriasdorob.
Figura3.4:InterfacecomousurioprovidapelaNomadic.
DevesenotarqueainterfaceNguinoprovaousurioinformaesvisuaisdacmeradorob,oque
deveserobtidoatravsdautilizaodeumprogramaindependente.Esteprogramadecaptura,
denominadovu4color,realizaaanimaodos``frames''obtidospelaplacadecaptura.Noentanto,
devidovelocidadedeprocessamentodaimagem,ocorreumgrandeatrasodesdeacapturaataviso
damesmapelousurio,comprometendoautilizaodosistema.
http://graco.unb.br/~tourino/xr4000/parcial.html
26/32
1429900063937.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Apropostadeinterfacecomousurio(mduloUsuriodefinidoanteriormente)baseiasenauniodas
caractersticasjapresentadaspelainterfaceNgui,adicionandolheasimagensdacmeraeautilizao
dosistemadenavegaodosistema.Afigura3.5mostraumaidiadainterfaceaserdesenvolvida.
Figura3.5:Interfacecomousuriopropostaparaosistema.
Podemservistosnafiguraosseguintescampos:
Mapa
Contmainterpretaodosdadossensoriaisnaformagrfica,permitindoaousurioumanoodo
ambientenaqualorobseencontra.
Vdeo
Apresentaasimagensdevdeocapturadaspelacmeradorob.
Seleodefunes
Atravsdeummenuousuriosercapazdeescolherdadosaseremvisualizados,comodados
sensoriaisdeIRousonares,oudadosdeodometria,oucargadasbaterias,almdoscontrolesde
velocidadeeaceleraodorob.
``Joystick''
o``joystick''virtual,compostoporbotesparamovimentaonasdireesX,Yerotao.
Captulo4
ResultadosObtidos
Nestecaptuloseroapresentadososprincipaisresultadosobtidosatomomentonodesenvolvimentodo
projeto.
4.1ControledoRob
http://graco.unb.br/~tourino/xr4000/parcial.html
27/32
1429900063978.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Figura4.1:Transformaodecoordenadasdossensores.
Ocontroledorobfoiimplementadoatravsdodesenvolvimentodeum``joystick''virtual,composto
dasteclasdotecladonumrico,deformaacontrolaratranslaoearotaodosistema.Oprograma
incluitambmaanlisedosdadossensoriaisdesonareseIR,impedindoomovimentodorobna
direodemovimentonaqualadistnciamnimade500mmalcanada.
Comofoivistoanteriormente,oaneldesensoresdoXR4000possuiumageometriairregularparaa
anlisesensorial.Afimdeserelacionarongulodosensor,relativoestruturadorob,easdirees
demovimento(=0o,90o,180o,270o),foidesenvolvidoumalgoritmodetransformaodecoordenadas
dossensoresparaascoordenadasdorob.
Afigura4.1mostraarelaogeomtricaentreascoordenadasdorobeosanisdesensoresdorob.
Duasrotinas,denominadasMapSonarSeteMapIRSetforamdesenvolvidasparatransformaras
coordenadasdossensoresemcoordenadasdorob.Asvariveissonar0,sonar1esonar2representam
osdadosbrutoslidospelossensores,eavarivelmaprepresentaosdadosconvertidosparaumanelde24
posiesdesensores,comzeronongulode0o.Aseguirmostradaasintaxedessasduasrotinas:
voidMapSonarSet(structMySonarsonar0,structMySonarsonar1,
structMySonarsonar2,structMap*map)
voidMapIRSet(structMyIRIR0,structMyIRIR1,structMyIRIR2,
structMap*map)
OcdigodoprogramadesenvolvidoemClistadonoapndiceA.1.
4.2ProgramaoJava
Estosendorealizadostestespreliminaressobreofuncionamentode``applets''Java,decomunicaovia
Interneteprogramaoemmultiprocessos,conceitosnecessriosparaodesenvolvimentodoprojeto.No
apndiceA.2listadoocdigodeumprogramadetestesqueimplementaumainterfacesimplespara
usurio,mostradanafigura4.2.
http://graco.unb.br/~tourino/xr4000/parcial.html
28/32
1429900064016.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Figura4.2:InterfaceJavasimplesdesenvolvida.
4.3ComunicaoviaCanais
Aprogramaode``sockets''nalinguagemCfoirealizadaatravsdodesenvolvimentodeumsistema
simplesdeclienteservidor,testadoentremquinasdaredeinternadoGRACO.NoapndiceA.3
encontramseaslistagensdosprogramasdesenvolvidos.Aseguirmostradooresultadodacomunicao
entreoservidoremCeoclienteemJava,quandovistapeloprogramaJava.
socket=Socket[addr=webrobot.graco.unb.br/164.41.17.101,
port=8080,localport=1040]
Sent:howdy0
Received:howdy0
Sent:howdy1
Received:
Sent:howdy2
Received:howdy1
Sent:howdy3
Received:
Sent:howdy4
Received:howdy2
Sent:howdy5
Received:
Sent:howdy6
Received:howdy3
Sent:howdy7
Received:
Sent:howdy8
Received:howdy4
Sent:howdy9
Received:
closing...
Oprogramadetestesmostradoapresentaumaconversaosimplesentreasmquinas,atravsdoenvio
doclientedemensagenshowdy1,howdy2...,eorecebimentodasmesmas``refletidas''peloservidor.
4.4MdulosemDesenvolvimento
Atualmenteosseguintesmdulosencontramseemdesenvolvimento:
http://graco.unb.br/~tourino/xr4000/parcial.html
29/32
1429900064053.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Interfacecomousurio,atravsdaprogramaoemJava
Protocolodecontrole,paraacomunicaoentreosservidoresemCeoclienteemJava
Sistemaautnomodorob,paraevitarosobstculosduranteamovimentao
Sensoreamento,atravsdoestudodosistemadecapturadevdeoparaoenviodasimagensparao
usurio.
Nocaptulo5sermostradoocronogramadedesenvolvimentodoprojetoparaasprximasetapas.
Captulo5
Cronograma
Apstrsmesesdedesenvolvimentodoprojetoforamobtidososseguintesresultados,deacordocomo
cronogramadefinidonoinciodoprojeto(tabela5.1).
Pesquisabibliogrfica
EstudodorobXR4000
EstudodecomunicaoviaInternet
Definiodasoluo.
Atividade/Ms
Set Out Nov Dez Jan Fev Mar Abr Mai Jun
Pesquisabibliogrfica
EstudodorobXR4000
Estudodecomunicao
viaInternet
Definiodasoluo
Implementaodasoluo
Testes/Validao/
X
X
X
X
Otimizao
Documentao
Relatrios
X
X
X
X
Tabela5.1:Cronogramapreliminar.
Paraacontinuidadedotrabalho,foramdefinidasasseguintessubtarefasaseremrealizadasnasegunda
etapadoprojeto:
DesenvolvimentodoprotocolodecomunicaoCJava
ImplementaodoservidorC,compostodosseguintessubsistemas:
Mdulodecomunicaovia``sockets''
Mdulodecontroleenavegaodorob
Mdulodedadossensoriais(enviodedadosdossensoreseimagensdacmera)
ImplementaodoclienteJava,compostodedoissubsistemas:
Mdulodeimagensedadossensoriais
http://graco.unb.br/~tourino/xr4000/parcial.html
30/32
1429900064081.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
Mdulodecomandodorob
Aimplementaodessesmdulosserrealizadadeformaparalela,deformaaobterosistemaem
funcionamentoparcial,permitindotestesconstantesdomesmo.
Captulo6
Concluso
Ateleoperaorelacionaastelecomunicaescomocontroledesistemas.OcrescimentodaInternet
demonstraqueestatecnologiapodeserusadaparaateleoperaoderobsmveis.Comoobjetivode
controlarumrobmvelatravsdaInternet,estesistemaserutilizadopelousurioatravsdeum
``applet''Javaquemostrarimagensdolocalremotoassimcomoinformaessensoriais.Atravsdeum
``joystick''virtual,ousuriosercapazdecontrolarorobemonitoraraqualidadedasolda.
Aarquiteturadosistema,baseadanomodeloclienteservidor,deverserdesenvolvidaatravsda
comunicaoentreumservidoremlinguagemC,localizadonorob,eumclienteemJava,utilizado
atravsdeum``browser''emumlugarqualquerquepossuaacessoInternet.Anovainterfacecomo
usurioaserdesenvolvidasercapazdemelhorarocontroledosistemaepermitiravisualizaoatravs
deimagensdoambientedorob,diferentementedainterfaceoriginaldofabricante.Esperase,assim,
ganhosdeprodutividadenautilizaodorobmvelcomoplataformadeinspeoremotadetubulaes
soldadas.
Bibliography
[1]
PARMAR,R.S.WeldingProcessesandTechnology.KhannaPublishers.Delhi.1995.
[2]
BYRD,J.S.AnIntelligentInspectionandSurveyRobot.UniversityofSouthCarolina.Columbia.
USA.1996.
[3]
NEHMZOW,U.BHLMEIER,A.DRER,H.RemoteControlofMobileRobotviaInternet.
Manchester.1996.
[4]
ZHAI,S.MILGRAM,P.Ateleroboticvirtualcontrolsystem.Proc.SPIE.Boston.1991.
[5]
ZHAI,S.MILGRAM,P.HumanRobotSynergismandVirtualTeleroboticControl.Proc.HFAC.
Canada.1992.
[6]
NomadicTechnologies.XR4000MobileRobot.DisponvelnaInternetviaWWW.URL:
http://www.robots.com/products.htm.1999.
[7]
NomadicTechnologies.NomadXR4000HardwareManualRelease1.0.California.USA.1999.
http://graco.unb.br/~tourino/xr4000/parcial.html
31/32
1429900064107.277
GuiagemdoRobMvelXR4000paraInspeodeTubulaesIndustriaisSoldadasviaInternet
[8]
MCKERROW,P.J.IntroductiontoRobotics.AddisonWesley.1991.
[9]
YAMAUCHI,B.SCHULTZ,A.ADAMS,W.IntegratingExplorationandLocalizationfor
MobileRobots.
[10]
SOMMERVILLE,I.SoftwareEngineering.AddisonWesley.USA.1996.
[11]
ARNETT,M.F.,DULANEY,E.,HARPER,E.InsideTCP/IP.NewRidersPublishing.
Indianapolis.USA.1994.
[12]
METCALFE,V.GIERTH,A.etal.ProgrammingUNIXSocketsinCFrequentlyAsked
Questions.DisponvelnaInternetviaWWW.URL:http://www.ibrado.com/sockfaq/1998.
[13]
HALL,B.B.Beej'sguidetonetworkprogrammingusinginternetsockets.DisponvelnaInternet
viaWWW.URL:http://www.eest.esuchico.edu/beej/guide/net1999.
[14]
PAHL,G.BEITZ,W.EngineeringDesign:ASystematicApproach.SpringerVerlag.1988.
[15]
NomadicTechnologies.NomadXRDEVSoftwareManualRelease1.0.California.USA.1999.
[16]
BARRET,MartinL.CandUNIX:ToolsforSoftwareDesign.JWiley.NewYork.1996.
[17]
NCSA.TheCommonGatewayInterface.DisponvelnaInternetviaemail:cgi@ncsa.uiuc.edu.
[18]
SunMicrosystems.TheJavaTutorial.DisponvelnaInternetviaWWW.URL:
http://java.sun.com/docs/books/tutorial/index.html.1999.
[19]
ALVARES,A.J.ROMARIZ,L.S.Desenvolvimentodeummanipuladorcomdoisgrausde
liberdadecontroladoremotamenteviaInternet.VCEMNNE98.Fortaleza.1998.
FiletranslatedfromTEXbyTTH,version2.32,withcorrectionsbySrgioTourino.
On11Mar2000,10:59.
http://graco.unb.br/~tourino/xr4000/parcial.html
32/32