You are on page 1of 32

1429900062829.

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

You might also like