Você está na página 1de 56

Pioneer 3-DX

Bsico





Prof. Guilherme Sousa Bastos



1 Introduo ....................................................................................................................... 1
2 Histrico ......................................................................................................................... 2
3 Definio de Rob .......................................................................................................... 3
3.1 Manipulador mecnico ........................................................................................... 4
3.1.1 Elos ................................................................................................................. 4
3.1.2 Junta ................................................................................................................ 4
3.1.3 Sistema de Transmisso ................................................................................. 5
3.2 Atuadores ................................................................................................................ 5
3.2.1 Atuadores Hidrulicos e Pneumticos ............................................................ 5
3.2.2 Atuadores Eletromagnticos ........................................................................... 6
3.3 Sensores .................................................................................................................. 6
3.4 Unidade de Controle ............................................................................................... 7
3.5 Unidade de Potncia ............................................................................................... 7
3.6 Efetuador ................................................................................................................ 7
4 Caractersticas Bsicas de Robs ................................................................................... 8
4.1 Resoluo Espacial ................................................................................................. 8
4.2 Preciso ................................................................................................................... 9
4.3 Repetibilidade ......................................................................................................... 9
4.4 Complacncia ....................................................................................................... 10
5 Robs Mveis ............................................................................................................... 11
5.1 Evoluo dos Robs Mveis ................................................................................ 11
5.2 Robs com Esteiras .............................................................................................. 12
5.3 Robs com Patas ................................................................................................... 12
5.4 Robs de Limpeza ................................................................................................ 13
5.4.1 Limpeza de Pisos Domsticos e Industriais ................................................. 13
5.4.2 Limpeza de Dutos para Petrleo ................................................................... 14
5.4.3 Limpeza de Tubulaes em Geral ................................................................ 14
5.4.4 Limpeza de Cascos de Navio........................................................................ 15
5.5 Robs Cortador de Grama .................................................................................... 15
5.6 Rob Submarino ................................................................................................... 16
5.7 Cinemtica de Robs Mveis ............................................................................... 18
6 Robtica Cooperativa ................................................................................................... 19
7 Rob Mvel Pioneer 3-DX ........................................................................................... 21
7.1 Famlia Pioneer ..................................................................................................... 22
7.1.1 Pioneer 1 ....................................................................................................... 22
7.1.2 Pioneer 2 ....................................................................................................... 22
7.1.3 Pioneer 3 ....................................................................................................... 23
7.2 Controles e Especificaes ................................................................................... 24
7.2.1 Mesa ............................................................................................................. 25
7.2.2 Boto de Parada do Motor ............................................................................ 26
7.2.3 Painel de Controle do Usurio ...................................................................... 26
7.2.4 Corpo, Nariz e Painel de Acessrios ............................................................ 29
7.2.5 Sonares ......................................................................................................... 30
7.2.6 Motores, Rodas e Encoders .......................................................................... 30
7.2.7 Bateria e Alimentao .................................................................................. 31
7.3 Acessrios ............................................................................................................. 32
7.3.1 Conexo cliente-servidor .............................................................................. 32

7.3.2 PC Integrado ................................................................................................. 32
7.3.3 Rede .............................................................................................................. 33
7.4 ARIA .................................................................................................................... 34
7.5 MobileSim ............................................................................................................ 42
7.6 Mapper3Basic ....................................................................................................... 47
7.7 Exemplos de Programas utilizando o ARIA......................................................... 48
7.7.1 Exemplo 1 ..................................................................................................... 49
7.7.2 Exemplo 2 ..................................................................................................... 51
1
1 INTRODUO
A robtica uma cincia da engenharia aplicada que tida como uma
combinao da tecnologia de mquinas operatrizes e cincia da
computao. Inclui campos aparentemente to diversos quanto projeto de
mquinas, teoria de controle, microeletrnica, programao de
computadores, inteligncia artificial, fatores humanos e teoria da
produo.

Automao e robtica so duas tecnologias intimamente relacionadas.
Num contexto industrial podemos definir a automao como uma
tecnologia que se ocupa do uso de sistemas mecnicos, eletrnicos e
base de computadores na operao e controle de processos e da
produo. Exemplos dessa tecnologia incluem mquinas de montagem
mecanizadas, sistemas de controle de realimentao (aplicados a
processos industriais), mquinas operatrizes dotadas de comandos
numricos e robs. Conseqentemente, a robtica uma forma de
automao industrial.

O macio investimento em robs industriais no processo produtivo
observado nas ltimas dcadas deve-se principalmente s crescentes
necessidades impostas pelo mercado em se obter sistemas de produo
cada vez mais automatizados e sistemas integrados de manufatura, o
rob industrial tornou-se um elemento importante nesse contexto.

Um sistema de produo tem por objetivo agregar valor a produtos. Ou
seja, a partir de uma entrada de materiais a serem processados
matrias-primas, peas bsicas ou conjunto de peas (subgrupos) o
sistema de produo ir executar algum processo de transformao sobre
esses materiais, resultando em produtos processados, com valor
comercial mais elevado. Estes podem ser produtos acabados aptos a
serem comercializados diretamente no mercado ou, ainda, produtos
intermedirios, que sero utilizados posteriormente na construo de
produtos acabados.

O uso de robs industriais no cho de fbrica de uma empresa est
diretamente associado aos objetivos da produo automatizada a qual
visa:

reduzir custos dos produtos fabricados, atravs de: diminuio de
nmero de pessoas envolvidas na produo, aumento da
quantidade de produtos em um dado perodo (produtividade),
melhor utilizao de matria-prima (reduo de perdas, otimizao
do aproveitamento), economia de energia, etc.;

2
melhorar as condies de trabalho do ser humano, por meio da
eliminao de atividades perigosas ou insalubres de seu contato
direto;

melhorar a qualidade do produto, atravs do controle mais racional
dos parmetros de produo;

realizar atividade impossveis de serem controladas manual ou
intelectualmente como, por exemplo, a montagem de peas de
peas em miniatura, a coordenao de movimentos complexos e
atividades muito rpidas (deslocamento de materiais).
2 HISTRICO
O termo rob teve sua origem em uma pea teatral de nome RUR
(Rossums Universal Robot) de Karel Capek, criada em 1921. Na pea,
Capek utiliza a palavra robota, que em tcheco significa escravo,
trabalhador compulsrio. A inteno do autor era idealizar uma fbrica de
trabalhadores, ou seja, uma fbrica que produzisse robotas, tipo
andrides, que mais tarde acabavam se rebelando contra o ser humano.

Na dcada de 40, o escritor Isaac Asimov tornou popular o conceito de
rob como uma mquina de aparncia humana, no possuidora de
sentimentos, cujo comportamento seria definido a partir de programao
feita por seres humanos, de forma a cumprir determinadas regras ticas
de conduta. O termo robtica foi criado por Asimov para designar a
cincia que se dedica ao estudo dos robs e que se fundamenta pela
observao de trs leis bsicas:

1.) "Um rob no pode ferir um ser humano ou, permanecendo passivo,
deixar um ser humano exposto ao perigo".

2.) "O rob deve obedecer s ordens dadas pelos seres humanos, exceto
se tais ordens estiverem em contradio com a primeira lei".

3.) "Um rob deve proteger sua existncia na medida em que essa
proteo no estiver em contradio com a primeira e a segunda leis".

4.) "Um rob no pode causar mal humanidade nem permitir que ela
prpria o faa".

A quarta e ltima lei foi escrita por Asimov em 1984.

A base tecnolgica para os atuais robs industriais foi desenvolvida a
partir de pesquisas iniciadas logo aps a Segunda Guerra Mundial, quando
foi construdo um equipamento denominado teleoperador mestre-escravo
3
(master-slave), empregado em atividades de manipulao de materiais
radioativos. O sistema era formado de um manipulador mestre, movido
diretamente por um operador humano responsvel pelas seqncias de
movimentos desejados, e um manipulador escravo, capaz de reproduzir
os movimentos realizados remotamente pelo mestre. Os vnculos entre os
manipuladores mestre e escravo eram realizados atravs de sistemas de
transmisso mecnicos.

O primeiro rob industrial moderno foi desenvolvido por George Devol e
Joe Engelberger no final dos anos 50. Engelberger criou a empresa
Unimation Inc, que iniciou a comercializao de robs industriais, sendo
esse o motivo pelo qual chamado o de pai da robtica.

A Unimation Inc. instalou o primeiro rob industrial, denominado Unimate,
no cho-de-fbrica de um empresa em 1961. O projeto desse rob
resultou da combinao entre os mecanismos articulados e garras usados
no teleoperador mestre-escravo e a tecnologia de controle desenvolvida
em mquinas operatrizes com comando numrico. Desde ento, o
constante desenvolvimento tecnolgico nos ares de mecnica, eletrnica
digital, cincia da computao, materiais e logstica da produo
contribuiu para o aumento da confiabilidade nos componentes
empregados em projetos de robs e a reduo dos custos para a sua
implementao em atividades industriais.


3 DEFINIO DE ROB
A Robotic Industries Association (RIA), define rob industrial como um
manipulador multifuncional reprogramvel, projetado para movimentar
materiais, partes, ferramentas ou peas especiais, atravs de diversos
movimentos programados, para a realizao de uma variedade de
tarefas.

Uma definio mais completa apresentada pela norma ISO10218 como
uma mquina manipuladora, com vrios graus de liberdade, controlada
automaticamente, reprogramvel, multifuncional, que pode ter base fixa
ou mvel para utilizao em aplicaes de automao industrial.

Um rob industrial formado pela integrao de vrios componentes,
conforme segue:

4
3.1 Manipulador mecnico
Refere-se principalmente ao aspecto mecnico e estrutural do rob.
Consiste na combinao de elementos estruturais rgidos (corpos, ou
elos), conectados entre si atravs de articulaes (juntas), sendo o
primeiro corpo denominado base e o ltimo extremidade terminal, onde
ser vinculado o componente efetuador (garra ou ferramenta).


Figura 1 Rob Industrial de 6 graus de liberdade
3.1.1 Elos
inevitvel que os elos rgidos apresentem algum grau de flexibilidade
quando submetido a esforos durante a realizao de uma tarefa, sejam
estes de natureza esttica ou dinmica. Portanto, nos robs, a estrutura
deve ser projetada para apresentar elevada rigidez aos esforos de flexo
e toro. Os materiais mais empregados nas estruturas so alumnio e
ao. Mais recentemente tm sido utilizados fibras de carbono e de vidro,
materiais termoplsticos e plsticos reforados.
3.1.2 Junta
Em robtica, geralmente se utilizam dois tipos bsicos de junta para
compor um par cinemtico formado por dois elos adjacentes: junta de
rotao ou junta prismtica (translao). O uso dessas juntas visa tornar
mais simples o processo de montagem e/ou fabricao dos componentes
mecnicos que compem uma junta.

O nmero de graus de liberdade que um rob apresenta o nmero de
variveis independentes de posio que precisam ser especificadas para
5
se definir a localizao de todas as partes do mecanismo, de forma
inequvoca. O rob industrial normalmente uma combinao de elos e
juntas em forma de cadeia cinemtica aberta. Portanto o nmero de
juntas equivale ao nmero de graus de liberdade. A Figura 1 ilustra um
rob industrial de seis juntas, portanto, seis graus de liberdade.
3.1.3 Sistema de Transmisso
A movimentao de cada corpo ocorre devido transmisso de potncia
mecnica (torque/fora e velocidade angular/linear) originada num
atuador. Os sistemas de transmisso so componentes mecnicos cuja
funo transmitir potncia mecnica dos atuadores aos elos.
3.2 Atuadores
So componentes que convertem energia eltrica, hidrulica ou
pneumtica, em potncia mecnica. Atravs dos sistemas de transmisso,
a potncia mecnica gerada pelos atuadores enviada aos elos para que
se movimentem.
3.2.1 Atuadores Hidrulicos e Pneumticos
Os atuadores hidrulicos e pneumticos podem ter a forma de cilindros
lineares para gerar os movimentos lineares, ou motores para proporcionar
deslocamentos angulares. Ambos so conectados a vlvulas direcionais
(pr-atuadores), que gerenciam a direo do deslocamento do fluido nos
atuadores, a partir de sinais gerados de uma unidade de comando. O
custo das vlvulas direcionais de alto desempenho ainda muito elevado.

Atuadores hidrulicos

Permitem a implementao do controle contnuo e acurado de
posicionamento e velocidade, devido a incompressibilidade do fluido (leo
hidrulico), resultando numa elevada rigidez. Outra caracterstica a
elevada relao entre a potncia mecnica transmitida pelo atuador e o
seu peso, o que possibilita a construo de unidades compactas de alta
potncia. Uma bomba fornece o leo para o atuador atravs das vlvulas
direcionais.

Atuadores Pneumticos

So utilizados em robs industriais que operam com movimentao de
cargas entre posies bem definidas, limitadas por batentes mecnicos, o
que caracteriza o movimento ponto-a-ponto. A baixa rigidez desses
atuadores devido compressibilidade do fluido (ar comprimido), permite
que sejam obtidas operaes suaves. A natureza binria do movimento
desses atuadores (posio estendida ou retrada) implica em um controle
6
simples e de baixo custo. Utiliza-se um compressor para fornecer o ar
comprimido ao atuador pneumtico, atravs das vlvulas direcionais.

3.2.2 Atuadores Eletromagnticos
So os atuadores mais utilizados em robs, principalmente os motores de
corrente contnua e de passo. Como vantagens, pode-se citar a grande
variedade de fabricantes disponveis no mercado, o fato de os motores
eltricos, quando associados a sensores, poderem ser empregados tanto
para o controle de fora, quanto da posio do rob, e facilidade de se
programar seus movimentos, j que podem ser controlados por sinais
eltricos, o que permite a utilizao de controladores de movimento.

Motores de Corrente Contnua (CC)

So compactos e geralmente o valor de torque mantm-se numa faixa
constante (com controle PWM) para grandes variaes de velocidade,
porm necessitam de sensores de posio angular (encoder) e de
velocidade (tacmetro) para controle de posicionamento em malha
fechada (servocontrole). A mxima eficincia mecnica desses motores
normalmente ocorre a velocidades elevadas, portanto comum o uso de
redutores de velocidade para se obter a reduo de velocidade e, ao
elemento movido. Atualmente os fabricantes de robs utilizam os motores
CC sem escovas (brushless), devido reduzida manuteno, decorrente
da diminuio de desgastes e otimizao da dissipao trmica entre o
rotor e estator.

Motores de Passo

Podem funcionar em controle de malha aberta, em posio e velocidade, e
so facilmente interligados a unidades de comando de baixo custo, porm
a curva de torque decresce com o aumento da velocidade e, em baixas
velocidades, podem gerar vibraes mecnicas. So mais empregados na
movimentao de garras.

Motores de Corrente Alternada (CA)

Utilizados em conjunto com inversores para o controle de velocidade e
torque.
3.3 Sensores
Fornecem parmetros sobre o comportamento do manipulador,
geralmente em termos de posio e velocidade dos elos em funo do
tempo e do modo de interao entre o rob e o ambiente operativo
(fora, torque, sistema de viso) unidade de controle. As juntas
7
utilizadas para vincular os elos de um rob so normalmente acopladas a
sensores.
3.4 Unidade de Controle
Responde pelo gerenciamento e monitorao dos parmetros operacionais
requeridos para realizar as tarefas do rob. Os comandos de
movimentao enviados aos atuadores so originados de controladores de
movimento (computador industrial, CLP, placa controladora de passo) e
baseados em informaes obtidas atravs de sensores.
3.5 Unidade de Potncia
responsvel pelo fornecimento da potncia necessria movimentao
dos atuadores. A bomba hidrulica, o compressor e a fonte eltrica so as
unidades de potncia associadas aos atuadores hidrulico, pneumtico e
eletromagntico, respectivamente.

3.6 Efetuador
o elemento de ligao entre o rob e o meio que o cerca. Pode ser do
tipo garra ou ferramenta. A principal funo de uma garra pegar um
determinado objeto, transport-lo a uma posio pr-estabelecida e aps
alcanar tal posio, solt-lo. A ferramenta tem como funo realizar uma
ao ou trabalho sobre uma pea sem necessariamente manipul-la.

As ferramentas so em geral, rigidamente fixas s extremidades terminais
dos robs, no possuindo movimentao relativas a estes. A funo
primordial do rob nesses casos posicionar e orientar a ferramenta em
relao pea que ser trabalhada.

O uso de ferramentas est associado diretamente s tarefas a serem
realizadas. Dentre as ferramentas mais tradicionais utilizadas em
operaes de processamento esto: o porta-eletrodo, a pistola de
asperso (para p, jateamento de superfcies, etc.), a pistola de pintura,
as tochas para soldagem TIG e MIG/MAG, o dispositivo para
soldagem/corte a plasma, o conjunto de pinas para soldagem por
pontos, o dispositivo para soldagem/corte a laser, o porta-rebolo, o
maarico para corte oxiacetilnico, a pistola para limpeza por jato de
gua, a pistola para corte por jato de gua, etc.


8
4 CARACTERSTICAS BSICAS DE ROBS
Os robs so dotados de diversas caractersticas bsicas, as quais so de
extrema importncia na seleo do rob em determinada aplicao.
4.1 Resoluo Espacial
A resoluo espacial de um rob o menor incremento de movimento em
que o rob pode dividir seu volume de trabalho. A resoluo espacial
depende de dois fatores: a resoluo de controle do sistema e as
imprecises mecnicas do rob. O mais fcil conceituar esses fatores em
termos de um rob com um grau de liberdade.

A resoluo de controle determinada pelo sistema de controle de
posio do rob e seu sistema de medio de realimentao. Faz parte da
capacidade do controlador dividir o deslocamento total de uma junta
particular em incrementos individuais, que podem ser endereados no
controlados. Os incrementos so s vezes designados como ponto
enderevel. A capacidade de dividir o deslocamento total da junta em
incrementos depende da capacidade de armazenamento de bits na
memria de controle. O nmero de incrementos identificveis (pontos
endereveis) para um eixo particular dado por 2
n
.

Um rob com vrios graus de liberdade teria uma resoluo de controle
para cada junta de movimento. Para se obter a resoluo de controle para
todo o rob, as resolues componentes teriam de ser somadas
vetorialmente. A resoluo de controle total dependeria dos movimentos
do punho, bem como dos movimentos do brao e do corpo. J que
algumas juntas podem ser rotativas, enquanto outras deslizantes, a
resoluo de controle do rob pode ser uma tarefa complicada de se
determinar.

Imprecises mecnicas nos elos e componentes de juntas do rob e seu
sistema de medio de realimentao (se for um rob servocontrolado)
constituem outro fator que contribui para a resoluo espacial.
Imprecises mecnicas resultam de flexo elstica nos elementos
estruturais, folga nas engrenagens, estiramento de cordes de polias,
vazamentos de fluidos hidrulicos e outras falhas no sistema mecnico.
Essas imperfeies tendem a piorar no caso de robs de maior porte,
simplesmente porque os erros so ampliados pelos componentes de maior
porte. As imprecises seriam tambm influenciadas por fatores tais como
a carga que est sendo manipulada, a velocidade qual o brao est se
movendo, a condio de manuteno do rob e outros fatores similares.

A resoluo espacial do rob a resoluo de controle degrada por essas
imprecises mecnicas. A resoluo espacial pode ser melhorada
aumentando-se a capacidade de bits da memria de controle. Todavia,
9
atingido um ponto em que se acrescenta pouco benefcio aumentar ainda
mais a capacidade de bits, porque as imprecises mecnicas do sistema
se tornam fator dominante na resoluo espacial.
4.2 Preciso
A preciso refere-se capacidade de um rob de posicionar a
extremidade de seu punho num ponto meta desejado dentro do volume
de trabalho e pode ser definida em termos de resoluo espacial, porque
a capacidade de atingir um dado ponto-meta depende de quo
proximamente o rob pode definir os incrementos de controle para cada
um dos movimentos de suas juntas. No pior caso, o ponto desejando se
situaria entre dois incrementos de controle adjacentes. Ignorando no
momento as imprecises mecnicas que reduziriam a preciso do rob,
poderamos inicialmente definir preciso nessa hiptese do pior caso como
a metade da resoluo de controle. De fato, as imprecises mecnicas
afetariam a capacidade de alcanar a posio meta. Conseqentemente,
definimos a preciso do rob como metade de sua resoluo espacial.


Figura 2 Preciso e resoluo de controle quando as informaes so
desprezadas

Um terceiro fator que influencia a preciso a carga que est sendo
carregada pelo rob. Cargas mais pesadas causam maior deflexo dos
elos mecnicos do rob, resultando em menor preciso.
4.3 Repetibilidade
Repetibilidade diz respeito capacidade do rob posicionar seu punho ou
um rgo terminal ligado ao seu punho num ponto no espao previamente
indicado. O verdadeiro ponto programado provavelmente ser diferente
do ponto-meta, devido a limitaes de controle. A repetibilidade refere-se
capacidade do rob de retornar ao ponto programado quando
comandado.

O ponto-meta designado pela letra T. Durante o procedimento de
instruo, o rob comandado a mover-se para o ponto T, mas, devido
s limitaes em sua preciso, a posio programada torna-se o ponto P.
A distncia entre os pontos T e P uma manifestao de preciso do
rob, neste caso. Subseqentemente, o rob instrudo a retornar ao
10
ponto programado P; todavia, no retorna posio exata. Em vez disso,
vai para a posio R. A diferena entre P e R o resultado de limitaes
repetibilidade do rob. O rob nem sempre retorna mesma posio R
em subseqentes repeties do ciclo de movimento. Ao contrrio, forma
um agrupamento de pontos de ambos os lados da posio P.



Figura 3 Repetibilidade e Preciso
4.4 Complacncia
A complacncia do rob manipulador refere-se ao deslocamento da
extremidade do punho em resposta a uma fora ou torque exercido contra
ele. Uma alta complacncia significa que o punho deslocado em grande
medida por uma fora relativamente pequena. O termo elstico usado
s vezes para descrever um rob com alta complacncia. Uma baixa
complacncia significa que o manipulador relativamente rgido e no
deslocado em medida significativa.

A complacncia do manipulador uma caracterstica direcional. Isto , a
complacncia do brao do rob ser maior em certas direes, devido
construo mecnica do brao.

A complacncia importante porque reduz a preciso de movimento do
rob sob carga. Se o rob estiver manipulando uma carga pesada, o peso
da carga far com que seu brao sofra deflexo. Se o rob estiver
pressionando uma ferramenta contra uma pea de trabalho, a fora de
reao da pea poder causar flexo do manipulador. Se o rob foi
programado em condies sem carga para posicionar seu rgo terminal e
a preciso de posio for importante na aplicao, o desempenho do rob
ser reduzido devido complacncia quanto operar em condies
carregadas.

11
5 ROBS MVEIS
Desde a dcada de 60, quando a empresa Unimation instalou o primeiro
rob manipulador industrial, j se contabilizam mais de 800 mil robs em
todo o mundo. E se prev um rpido crescimento desse nmero,
principalmente devido ao custo da mo-de-obra, necessidade de
aumento de produtividade, melhoria da qualidade final, realizao de
tarefas perigosas, que o homem no pode realizar, e queda do custo
dos robs.

Um outro tipo de rob, o chamado rob mvel, tambm vem sendo
amplamente pesquisado, e utilizado. Esses robs so empregados numa
enorme variedade de tarefas, do transporte de peas em uma indstria,
at para substituir o homem na explorao de locais perigosos, como
guas profundas, reas radioativas, crateras de vulces, ambientes
espaciais e mesmo outros planetas. Diferentemente dos robs
manipuladores, cuja base fixa serve de referencia tanto para os
movimentos do rob quanto para a rea de trabalho, um rob mvel
autnomo livre para mover-se em todas as direes, portanto sua
controlabilidade exige um maior grau de interao com o ambiente para
que seja continuamente redefinido o referencial que ir permitir a
realizao de uma dada tarefa. As trs formas mais comuns de
movimentos so por rodas, esteiras e patas, embora existam robs que
saltam, escalam, voam e at se deslocam por propulso no fundo do mar.
5.1 Evoluo dos Robs Mveis
Na dcada de 70 comearam os primeiros desenvolvimentos de robs
mveis: surgiram os robs no autnomos, que se movem sobre
trajetrias fixas, restritas de alguma forma (por exemplo, trilhos), ou
seguindo marcas contnuas ou espaadas, pintadas no solo. Esses robs
so normalmente classificados como veculos autoguiados, ou AGV, de
caminho fixo, e realizam operaes de transporte automatizado, com
diferentes graus de complexidade, em fbricas e armazns.

Na dcada de 80 apareceram os primeiros robs autnomos, ou AGV de
caminho indefinido, que so restritos a um espao de trabalho fixo. Os
robs autnomos so mais versteis, mas requerem um sistema de
sensoriamento mais sofisticado, exigindo computadores de bordo
poderosos, capazes de atender s exigncias dos sistemas de
sensoriamento, navegao e controle. Esse tipo de rob atualmente
objeto de amplo estudo: pretende-se chegar a sistemas capazes de
operar autonomamente nas mais diversas situaes, desde ambientes
fechados e estruturados, at locais abertos, desconhecidos, acidentados e
dinmicos. Para isso, seria necessrio reproduzir praticamente toda
capacidade humana de percepo sensorial, habilidade motora e
discernimento abstrato, obtendo sistemas capazes de operar sem a
12
presena humana, ou com sua mnima interveno. O exemplo mais
recente de aplicaes desse tipo de rob o Sojourner que a Nasa enviou
a Marte em 1997.

Entre os mecanismos de movimentao utilizados em robs, as roda so
os mais populares. Isso ocorre por razes prticas, j que robs com
rodas so mais simples e fceis de construir. Os robs com patas ou com
esteiras normalmente requerem hardware mais complexo e tm maior
peso que os correspondentes com rodas, projetados para a mesma carga
til. A principal desvantagem dos robs mveis com rodas seu baixo
desempenho em terrenos acidentados, j que, como regra geral, um
veculo com rodas tem problemas quando a altura do obstculo se
aproxima do raio de suas rodas.
5.2 Robs com Esteiras
Em um ambiente natural, os robs com esteiras so mais interessantes
porque elas permitem ao rob transpor obstculos relativamente mais
altos. Assim, esses robs so menos suscetveis que os de rodas a
terrenos acidentados, como terra solta e pedras. A principal desvantagem
das esteiras sua ineficincia, pois o atrito nelas dissipa potncia,
desperdiando energia sempre que o rob se movimenta.


Figura 4 Rob Hazbot III
5.3 Robs com Patas
Os robs com patas, ou caminhantes, podem atuar em meios submarinos,
espaciais e terrestres. Tambm podem superar a maioria dos problemas
de locomoo em terrenos acidentados mais do que qualquer rob com
rodas ou esteiras. Entretanto um dos fatores que dificultam o
desenvolvimento dos robs caminhantes a complexidade de
13
coordenao dos movimentos de suas patas. Isso se deve ao modo de
caminhar, estabilidade do corpo sob a ao do movimento, e
arquitetura das patas. O modo de caminhar est associado coordenao
harmnica das patas no movimento de locomoo; a estabilidade do
corpo est associada distribuio de massas em relao s patas,
quando em movimento; e a arquitetura mecnica se deve principalmente
ao nmero de graus de liberdade, tipo de configurao, e formao
mecnica das juntas.

Embora exista um grande interesse no desenvolvimento de sistemas
prticos, o rob caminhante ainda tem que superar alguns desafios.
Muitos desses desafios se devem ao grande nmero de graus de liberdade
requerido por esse tipo de rob. Como cada para de ter pelo menos dois
motores, o custo de um rob com patas relativamente mais alto que o
dos robs com rodas ou esteiras. Alm disso, o mecanismo de caminhar
mais complexo e, portanto, mais propenso a falhas, sendo que o
algoritmo de controle fica comprometido, dado que existem mais
movimentos a coordenar.

importante ressaltar o enorme interesse despertado ultimamente nesse
tipo de rob por pesquisadores da rea. Isso se deve principalmente pela
capacidade que esse tipo de rob tem em se locomover em terrenos
acidentados, subir e descer escadas, o que os habilita a aplicaes em
situaes de emergncia, onde a interveno humana impossvel ou
arriscada. O interesse da Nasa em robs de patas est na utilizao em
tarefas de busca entre escombros de sobreviventes de um desastre ou
terremoto; para a explorao de reas incendiadas com radioatividade,
sob bombardeios e com contaminao qumica ou biolgica.
5.4 Robs de Limpeza
5.4.1 Limpeza de Pisos Domsticos e Industriais
Existem trabalhos pioneiros no uso de robs de limpeza de piso, para
ambientes domsticos, tal como o rob mvel como rodas RoboScrub,
criado em 1991, desenvolvido pelas empresas Denning Mobile Robotics e
Windsor Industries. Entretanto esse pioneirismo no garantiu um sucesso
comercial, por vrias razes. Primeiro, o rob s vezes se chocava com os
mveis, danificando-os. Segundo, o custo do rob era bastante alto, bem
acima do salrio de um empregado de limpeza. Por estas razes, o
RobScrub foi posteriormente destinado limpeza de grandes sales, de
forma a justificar seu alto custo, embora no se garantisse a limpeza
completa do ambiente (certos locais fora do alcance do rob).

14

Figura 5 Rob de Limpeza Robosoft
5.4.2 Limpeza de Dutos para Petrleo
Na indstria do petrleo, verifica-se nos dutos para o escoamento do leo
e seus derivados, um grande nmero de entupimentos causados por
formao de hidratos e de parafina, alm de outros problemas como
amassados nas paredes e vazamentos.

O grupo de robtica do CENPES/Petrobrs desenvolveu um novo conceito
de tele-rob para atividades de inspeo e interveno capaz de se
deslocar pelo interior de dutos, independente da direo do fluido,
denominado GIRINO (Gabarito Interno Robotizado de Incidncia Normal a
Oleodutos). Seu movimento baseado nos anfbios, em especial os
girinos, sendo acionado por sistema hidrulico.

O prottipo pode dispor de acessrios de inspeo de injeo qumica para
desobstruo e dispositivos porta-ferramentas voltados a reparos
estruturais feitos de dentro para fora nos dutos.



Figura 6 Rob Rubio V II (Tecnomecanica)
5.4.3 Limpeza de Tubulaes em Geral
Robs comerciais para limpeza de tubulaes de esgoto vm sendo
utilizados em diversas cidades. Nessa aplicao, geralmente um operador
humano controla remotamente os movimentos do rob enquanto recebe
as imagens internas da tubulao. Existem pesquisas para
15
desenvolvimento de robs que realizem essa limpeza de forma autnoma.
Outra aplicao desses robs na limpeza de dutos de ar condicionado e
de usinas nucleares.


Figura 7 Rob limpador de dutos de esgoto
5.4.4 Limpeza de Cascos de Navio
H robs que podem ser utilizados para a limpeza de cascos de navios.
o caso, por exemplo, do produto da empresa Barnes and Reineke, um
rob manipulador de grandes dimenses para efetuar esse tipo de
limpeza.
5.5 Robs Cortador de Grama
Uma outra aplicao de robs destinados a ambientes domsticos para
o corte de grama, como o rob Lawn Nibbler, que corta a grama numa
rea definida, cujo permetro demarcado por emissores de
radiofreqncia. Enquanto corta a grama, o rob desvia-se de obstculos
(rvores, brinquedos, animais, crianas, etc.).



Figura 8 Rob RL500

16


Figura 9 Rob Lawn Nibbler


5.6 Rob Submarino
Existem basicamente dois tipos de robs submarinos: o ROV (Remotely
Controlled Vehicle), que pode ser controlado remotamente, e o AUV
(Autonomous Underwater Vehicle), o qual opera autonomamente. Estes
robs tm sido aprimorados para operar em grandes profundidades e
reas de risco onde os mergulhadores no podem operar. Os ROVs podem
realizar diversas tarefas, utilizando para isso braos mecnicos e
ferramentas especializadas. Entre as aplicaes realizadas por esses robs
podem-se citar:

investigao visual das partes submersas de navios, pontes e
plataformas;
monitoramento de colnias de peixes;
controle de poluio subaqutica;
controle de devastao da vida marinha;
localizao de depsitos de combustveis nucleares;
execuo de operaes tecnolgicas em plataformas martimas;
inspeo visual de estruturas subaquticas de oleodutos e
gasodutos;
inspeo de barragens;
exploraes martimas para fins de pesquisa.

Tipicamente, os ROVs operam conectados a uma embarcao de
superfcie atravs de um cabo umbilical. Por esse cabo, o ROV recebe a
energia necessria para sua operao e se comunica com a unidade de
comando enviando sinais de vdeo e recebendo sinais de controle.
Entretanto, o cabo limita a velocidade e o alcance do rob, alm da
possibilidade de enredar-se tanto no rob quanto em algum obstculo. Os
ROVs normalmente so movimentados por motores eltricos que acionam
hlices ou turbinas.

17

Figura 10 ROV Scorpio

Os AUVs, de tecnologia mais recente, operam de forma autnoma,
dispensando os cabos umbilicais. Entretanto essa autonomia limitada
pela durao de suas baterias. Isso pode ser contornado, mantendo-se
um navio de recarga de bateria prximo ao ponto onde o AUV realiza suas
operaes.



Figura 11 AUV Odyssey IIc










18
5.7 Cinemtica de Robs Mveis

Cinemtica o estudo de como sistemas mecnicos se comportam. Na
robtica mvel, necessrio que se entenda o comportamento mecnico
do rob para que se possa projetar robs mveis apropriados para tarefas
e tambm a criao de softwares de controle.

O estudo da cinemtica de robs mveis se d com a anlise de suas
configuraes (Figura 12), para que se possa determinar o Pose (posio
e orientao) do rob (Figura 13) e realizar deslocamento em trajetrias
pr-definidas (Figura 14).



Figura 12 Configurao de robs mveis com trao em duas rodas



Figura 13 Posio e orientao (Pose) de rob mvel


19



Figura 14 Controle de trajetria de rob mvel

6 ROBTICA COOPERATIVA
A Robtica Cooperativa aplicada quando se tm vrios robs (mveis ou de base
fixa) trabalhando em conjunto e de forma autnoma. As figuras a seguir mostram
alguns exemplos de Robtica Cooperativa.



Figura 15 Futebol de Robs

20


Figura 16 Futebol de robs - AIBO



Figura 17 Resgate com robs mveis

21
7 ROB MVEL PIONEER 3-DX
Pioneer uma famlia de robs, com trao em duas ou quatro rodas,
incluindo o Pioneer 1 e Pioneer AT, Pioneer 2-DX, -DXe, -DXf, -CE, -AT, o
Pioneer 2-DX8/Dx8 Plus e AT8/AT8 Plus, e os mais novos Pioneer 3-DX e
AT. Estas pequenas plataformas de pesquisa e desenvolvimento
compartilham uma arquitetura comum e software com todas as outras
plataformas MOBILEROBOTS, incluindo os robs mveis AmigoBot,
PeopleBot V1, Performance PeopleBot e PowerBot.
A plataforma MOBILEROBOTS define os padres para robs mveis
inteligentes por conter os componentes bsicos para sensioramento e
navegao em um ambiente de mundo real.

Figura 18 Plataforma MOBILEROBOTS
Todas as plataformas MOBILEROBOTS vm completas com um corpo forte
de alumnio, sistema de trao balanceado, motores DC reversveis,
eletrnica de potncia e controle, encoders de alta resoluo e baterias,
tudo controlado por um microcontrolador onboard e um software servidor.




22
7.1 Famlia Pioneer
7.1.1 Pioneer 1
Comercialmente introduzido em meados de 1995, o Pioneer 1 (Figura 17)
foi a plataforma original do MOBILEROBOT. Ele foi desenvolvido para uso
indoor em superfcies planas e rgidas. Seu microcontrolador o 68HC11
e utiliza o software PSOS (Pioneer Server Operating System). O Pioneer 1
vem tambm, no modo padro, com sete sonares (dois aos lados, e cinco
a frente) e encoders de roda integrados. O seu baixo custo e alto
desempenho causaram uma exploso no nmero de pesquisadores e
desenvolvedores que passou a ter acesso a uma plataforma robtica
mvel inteligente real.


Figura 19 Pioneer AT e Pioneer 1

O Pioneer AT (Figura 19), que foi introduzido no mercado em meados de
1997 para operao em ambientes indoor e outdoor, conta com trao
nas quatro rodas e funcionalmente idntico ao Pioneer 1 (incluindo a
mesma programao).
7.1.2 Pioneer 2
A prxima gerao do Pioneer, incluindo o Pioneer 2-DX, -CE, e AT foram
introduzidos entre o final de 1998 e meados de 1999, realizando uma
melhora nos modelos Pioneer 1 enquanto mantinha as suas vrias
vantagens. Com relao s aplicaes de software, o Pioneer 2 trabalha
de forma idntica aos modelos Pioneer 1, mas oferecia vrias opes de
expanso, incluindo um PC cliente onboard no rob.
Os modelos Pioneer 2 usavam um microcontrolador Siemens 88C166
20MHz, com alimentao independente dos motores e sonares
microcontrolados para uma operao verstil no ambiente. Buscando uma
arquitetura mais holonmica, rodas maiores e motores mais fortes foram
introduzidos para um desempenho indoor melhor.
O rob PeopleBot (Figura 20), baseado no modelo Pioneer 2, tem motores
mais fortes e capacidades integradas de interao com humanos,
23
incluindo extenso do pedestal, voz integrada e sntese e reconhecimento
de sons, o que ideal para estudos de interao com o homem.


Figura 20 PeopleBot
7.1.3 Pioneer 3
O Pioneer 3 foi lanado em meados de 2003 e utiliza o microcontrolador
Hitachi H8S, com o novo software de controle de sistema ARCOS
(Advanced Robot Control & Operations Software) e capacidade de
expanses de I/O. Em meados de 2004, seu microcontrolador foi
substitudo pelo revolucionrio Reneseas SH2. Apresentavam tambm
novos motores (mais potentes) e sistemas de potncia para melhor
controle de navegao e maior capacidade de carga. A Figura 21 mostra o
rob Pioneer 3-DX, o qual ser utilizado no curso.


24

Figura 21 Pioneer 3-DX

7.2 Controles e Especificaes

Os robs Pioneer so menores do que a maioria, mas apresentam uma
impressionante lista de capacidades inteligentes de robs mveis
comparada a robs maiores e mais caros. O Pioneer 3-DX com PC
onboard um rob mvel inteligente totalmente autnomo.
Diferentemente de outros robs comerciais disponveis, o tamanho
modesto do Pioneer permite sua navegao em espaos pequenos e
restritos, como salas de aulas, laboratrios e pequenos escritrios. Com o
podereso servidor ARCOS e o avanado software cliente MOBILEROBOTS,
o rob Pioneer 3 completamente capaz de mapear o seu ambiente,
encontrando o caminho para casa e executando outras tarefas
sofisticadas de planejamento de rota (requer localizador laser e o software
ANRL Advanced Robotics Navigation and Localization).


Figura 22 Dimenses fsicas do Pioneer 3-DX


25

Pesando apenas 9 kg (com uma bateria), os robs mveis Pioneer 3-DX
podem ser classificados como peso leve, mas seus corpos fortes de
alumino e construes slidas os fazem virtualmente indestrutveis. Estas
caractersticas tambm permitem que eles carreguem extraordinrias
cargas. O Pioneer 3-DX pode carregar at 23 kg extras e o 3-AT at 35 kg
extras!
Os robs Pioneer so compostos pelas partes principais:
Mesa
Boto de Parada de Motor
Painel de Controle do Usurio
Corpo, Nariz e Painel de Acessrios
Anel de Sonares
Motores, Rodas e Encoders
Baterias e Alimentao
7.2.1 Mesa
A mesa do rob simplesmente o seu topo composto por uma superfcie
plana para a montagem de projetos e acessrios, tais como a cmera
robtica PTZ e um localizador laser. As Figura 23 e Figura 24 mostram
acessrios montados sobre a mesa.


Figura 23 Rob Pioneer com cmera PTZ, localizador laser e caixas de
som

26

Figura 24 Rob Pioneer com manipulador articulado, localizador laser,
localizador GPS e cmera PTZ

Na montagem de acessrios, deve-se tentar centralizar a carga sobre as
rodas de trao. Caso se tenha um acessrio pesado na extremidade da
mesa, deve-se contrabalancear o peso com um objeto pesado na outra
extremidade. O uso de todas as baterias ajuda a balancear tambm o
rob.
7.2.2 Boto de Parada do Motor
Todos Pioneer 3-AT e, sob requisio, alguns Pioneer 3-DX tm um Boto
de Parada na parte traseira da mesa. Pressionando este boto tem-se o
imediato desligamento da alimentao dos motores do rob. Deve-se
considerar este boto como um sistema de segurana contra possveis
problemas de programao ou de hardware.
7.2.3 Painel de Controle do Usurio
O Painel de Controle do Usurio (Figura 25) onde se tem acesso ao
ARCOS-microcontrolador (Figura 26). Localizado no painel lateral do DX,
ele consiste de botes de controle, indicadores e uma porta serial RS-232
compatvel.



27

Figura 25 Painel de Controle do Usurio


Figura 26 Microcontrolador SH2

Indicadores de Fora e Status

O led vermelho PWR est aceso quando a alimentao principal aplicada
ao rob. O led verde STAT depende do modo de operao e outras
condies. Ele pisca devagar quando o microcontrolador est esperando
uma conexo com um cliente e pisca rapidamente quando est no modo
joydrive ou quando est conectado a um cliente e os motores esto
prontos. Ele tambm pisca moderadamente rpido quando o
microcontrolador est no modo de manuteno.

Buzzer

Um buzzer (audvel atravs dos furos logo acima dos leds STAT e PWR)
informa por sinais audveis o estado do rob, tal como um incio com
28
sucesso do microcontrolador e uma conexo de um cliente. Os sons
emitidos pelo buzzer tambm podem ser reprogramados via um cliente
ARCOS para tocar udio do tipo MIDI.

Conector SERIAL

O conector SERIAL, com leds de recepo (RX) e transmisso (TX) de
dados, permite interao com o microcontrolador ARCOS de um
computador offboard para um controle cliente-servidor e para
manuteno do software do microcontrolador. A porta compartilhada
internamente pela porta serial HOST, onde conectado o computador
onboard ou um dispositivo Ethernet-Serial. Tanto o conector SERIAL
quanto o HOST podem ser utilizados para controle cliente-servidor e modo
de manuteno com o microcontrolador.

Botes de Alimentao

Os botes AUX1 e AUX2 so pushbuttons que energizam ou desenergizam
a alimentao de 5 e 12 VDC dos conectores na placa de controle dos
motores onde se pode conectar a alimentao de vrios acessrios. Por
exemplo, 12 VDC para uma cmera PTZ tipicamente acionada via boto
AUX1. Os respectivos leds vermelhos indicam que a alimentao est
ligada.

RESET e MOTORS

O boto vermelho RESET age para resetar o microcontrolador,
desabilitando quaisquer conexes ativas ou dispositivos conectados,
incluindo os motores.

A ao do boto branco MOTORS depende do estado do microcontrolador.
Quando conectado a um cliente, o seu pressionamento habilita e
desabilita os motores manualmente.

Para colocar o ARCOS em modo de manuteno, deve-se pressionar e
manter o boto MOTORS, pressionar e soltar o boto RESET, e depois
soltar MOTORS. Note que esta operao manual era necessria para
entrar em modo de manuteno com os microcontroladores anteriores,
no necessria com o ARCOS. No modo de manuteno pode-se
reprogramar a memria FLASH do microcontrolador SH2 e tambm
realizar update e upgrade do ARCOS. Pode-se tambm ajustar parmetros
que o ARCOS utiliza como valores default no incio ou reset.


29
7.2.4 Corpo, Nariz e Painel de Acessrios
Corpo

O corpo do Pioneer acomoda as baterias, motores de trao, eletrnica e
outros componentes comuns, incluindo o anel de sonares. O corpo tem
espao suficiente, com conectores de fora e sinal, para suportar uma
variedade de acessrios robticos, incluindo sistema de vigilncia A/V sem
fio, Ethernet wireless, computador onboard, localizador laser, etc. Uma
porta traseira fornece fcil acesso s baterias, onde se pode fazer troca a
quente de qualquer uma das trs baterias.

Nariz

O nariz onde est colocado o PC onboard. O acesso feito atravs da
remoo de alguns parafusos e abertura do nariz, dando acesso a placas
de acessrios e o HD do PC onboard. Tambm se tem acesso ao ajuste de
ganho do anel de sonares. O nariz tambm um local ideal para se
colocar sensores e acessrios, como se pode visualizar a cmera PTZ na
Figura 24 e garra na Figura 27


Figura 27 Pioneer 3-AT com garra

Painel de Acessrios

Todos os DX vem um painel removvel no lado direito, atravs do qual
pode-se instalar conectores de acessrios e controles. Um painel lateral
especial vem com a opo PC onboard, que contm conectores para um
monitor, teclado, mouse e 10Base-T Ethernet, e botes de fora e reset
do computador onboard.

Todos os modelos vm com uma porta de acesso prxima ao centro da
mesa, atravs da qual se tem acesso a componentes internos.

30

Figura 28 Painel Computador onboard
7.2.5 Sonares
Os robs baseados no ARCOS suportam at quatro conjunto de sonares,
cada um com oito transdutores que permitem a deteco de objetos e
informao para se evitar colises, reconhecimento de padres,
localizao e navegao. As posies dos sonares (Figura 29) em todos
Pioneer 3 so fixas: um em cada lado, e seis frente com intervalo de 20
graus. O DX fornecido com um semi-anel de sonares (oito ao total); o
anel, totalizando 360 graus, fornecido como item opcional.



Figura 29 Semi-anel de Sonares
7.2.6 Motores, Rodas e Encoders
O sistema de trao do Pioneer 3 utiliza motores DC reversveis de alta
velocidade e alto torque, cada um equipado com um encoder tico de alta
31
resoluo para definies precisas de posio e velocidade. As relaes de
engrenagens, pulsos por volta de encoder e tamanhos de pneus variam de
acordo com o modelo do rob. Entretanto, o ARCOS pode corrigir estas
diferenas promovendo uma odometria de alta preciso.
7.2.7 Bateria e Alimentao
Os robs Pioneer 3 contm at trs baterias, com troca a quente, 7 Ah, 12
VDC, seladas, e acessveis via porta traseira. Contatos por mola da
bateria ao sistema de potncia do rob evitam a necessidade de se
aparafusar conectores. Como as baterias operam em paralelo, o rob
funciona com uma, duas ou trs baterias, fato que vai indicar o tempo til
de operao do rob; quanto maior o nmero de baterias, maior o tempo
til de operao. Contudo, deve-se sempre lembrar de se balancear o
peso das baterias no rob: no caso de uma bateria, ela deve ser colocada
no centro, e caso se utilize duas, elas devem ser colocadas nas
extremidades.
O Pioneer 3-DX, sem PC onboard, pode operar entre 8 a 10 horas com
trs baterias. Caso tenha o computador onboard o tempo cai para entre 3
a 4 horas.

Indicadores de Bateria e Condies de Baixa Tenso

O Painel de Controle do Usurio tem um led bicolor denominado BATTERY
que indica visualmente a tenso corrente da bateria. De
aproximadamente 12,5 V e acima, o led apresenta cor verde brilhante. O
led se torna progressivamente laranja e ento vermelho se a tenso cair
para aproximadamente 11,5 V.

O buzzer do Painel de Controle do Usurio ir soar um alarme repetitivo
se a tenso da bateria cair consistentemente abaixo de 11,5 V. Se a
tenso da bateria cair abaixo de 11 V o microcontrolador ir desligar
automaticamente a conexo com o cliente e notificar o computador, via
pino HOST RI, para que ele seja desligado evitando assim perda de dados
ou corrupo do sistema.

Recarregando as Baterias

O tempo tpico de recarga de uma bateria utilizando o recarregador
recomendado (800 mA) varia de acordo com o estado de descarga;
equivale a trs horas por Volt por bateria.

Com o recarregador de alta velocidade (4 A de mxima corrente), o
tempo de recarga drasticamente reduzido. Ele tambm fornece corrente
suficiente para operar continuamente o rob e os acessrios onboard, tais
como o PC onboard e rdios. Entretanto, com a utilizao do recarregador
de alta corrente, deve-se tomar a precauo de se recarregar pelo menos
32
duas baterias ao mesmo tempo. Com a carga de apenas uma bateria pode
haver sobrecarga e danificar a si mesma e ao rob.

O tempo de carga para trs baterias descarregadas (em torno de 11 V),
utilizando o carregador de alta velocidade, de 2,4 horas.
7.3 Acessrios
7.3.1 Conexo cliente-servidor
Todas as plataformas MOBILEROBOTS so servidores em uma arquitetura
cliente-servidor. Deve-se fornecer o computador cliente para executar as
aplicaes inteligentes do rob mvel. O cliente pode ser um notebook ou
embedded PC, ou um PC offboard conectado atravs de modems a radio
ou Ethernet serial wireless. Em todos os casos, o PC cliente deve se
conectar ao HOST interno ou a porta SERIAL no Painel de Controle para
que o rob e software funcionem.


Figura 30 Opes de conexo cliente-servidor

Para o notebook ou embedded PC, a conexo serial feita via cabo serial.
Modems a rdio podem substituir o cabao serial. Caso se tenha um
modems a rdio, um deve estar dentro do rob e conectado porta serial
HOST, e outro modem deve estar ligado em algum computador offboard
que estar rodando o software cliente.

Ethernet a rdio um pouco mais complexa, mas o mtodo preferido
porque permite que se utilizem diferentes computadores na rede para que
se torne o cliente do rob. Caso se tenha um PC onboard (notebook ou
embedded), ele pode fornecer a conexo Ethernet a rdio atravs de
cartes PCMCIA. Atualmente, a grande maioria dos notebooks j tem
integrado o controlador de Ethernet a rdio, o que facilita muito a
comunicao sem fio.
7.3.2 PC Integrado
Montado logo atrs do nariz do rob, o PC integrado contm quatro portas
seriais, 10/100Base-T Ethernet, portas para monitor, teclado e mouse,
duas porta USB e suporte para disquete, bem como HD IDE. Para
33
funcionalidades adicionais, tais como som, compresso de vdeo, firewire
ou barramento PCMCIA e Ethernet wireless, o PC onboard aceita os
cartes de interface PC104 e PC104-plus, que so espetados na placa-
me.

Os 5 VDC necessrios vm de um conversor dedicado DC:DC, montado
prximo. O HD montado no nariz do rob, entre um cooler e o speaker
do computador.

O PC onboard comunica com o microcontrolador do rob atravs da porta
serial HOST e porta serial dedicada COM1 no Windows ou /dev/ttyS0 no
Linux. O microcontrolador chaveia automaticamente a conexo HOST para
o PC quando o software cliente abre a porta serial. Deve-se notar que o
PC no interfere com clientes conectados externamente atravs da porta
compartilhada SERIAL no Painel de Controle do Usurio.

Operando o PC Onboard

Os softwares do rob e acessrios esto tipicamente instalados em
/usr/local em sistemas Linux, ou C:\Program Files\MobileRobots no
Windows.

No primeiro acesso ao PC onboard, fortemente recomendado que o rob
seja colocado sobre blocos para evitar possveis movimentos indesejados.
Deve-se conectar um teclado, monitor e mouse s suas respectivas portas
no Painel de Controle do Computador, ligar o boto MAIN POWER e
aguardar o incio do sistema. Aps o boot, deve-se logar no sistema. J se
encontra criado dois usurios: um com permisses de escrita e leitura de
arquivos (guest) e outra com acesso total ao PC e o OS (root no Linux e
administrator no Windows). Caso exista uma senha, ela mobilerobots.
Deve-se notar que no possvel logar como root no Linux quando
conectado remotamente (via Telnet por exemplo). Para isto deve-se logar
como guest, entrar o comando su - e entrar com a senha de root.
7.3.3 Rede
O conector RJ-45 no Painel de Controle do Computador fornece rede
10/100Base-T Ethernet diretamente com o PC onboard. tambm
instalado um carto adaptador PCMCIA que fornece Ethernet sem fio. A
antena da Ethernet wireless est localizada no topo do rob (mesa). Para
completar a instalao wireless ser necessrio um Access Point para a
LAN.

Tipicamente, o endereo IP da rede sem fio 192.168.1.32, e que pode
ser modificado de acordo com as necessidades. Os endereos IP podem
ser modificados, no caso do Linux, nos arquivos ifcfg-eth0 (Ethernet
com fio) e ifcfg-eth1 ou ifcfg-wvlan0 (wireless) localizados na pasta
34
/etc/sysconfig/network-scripts. Feito isto a porta com endereo IP
modificado deve ser reiniciada atravs do comando ifdown <porta>;ifup
<porta>. Pode-se checar o status da porta via comando ifconfig
<porta>. No caso do Windows, os endereos IPs podem ser modificados
via Painel de Controle.

Caso se deseje mudar o endereo IP do rob no Linux, deve-se editar os
arquivos ifcfg-eth0 (Ethernet com fio) ou ifcfg-eth1 (wireless). Tem-
se como exemplo o seguinte arquivo ifcfg-eth0:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.32
NETMASK=255.255.255.0
NETWORK=192.168.1.1
ONBOOT=yes

Os campos podem ser descritos da seguinte forma: DEVICE, indica o
nome do dispositivo de rede; BOOTPROTO, indica como o endereo IP deve
ser atribudo, pode ser do tipo static (endereo esttico, atribudo no
campo IPADDR) ou dhcp (endereo atribudo automaticamente quando a
rede inicializada); IPADDR, endereo IP da rede; NETMASK, mscara de
rede; NETWORK, endereo do gateway; ONBOOT, indica se o dispositivo de
rede deve ser inicializado no BOOT (yes para ser inicializado e no para
no ser inicializado).
7.4 ARIA

O software ARIA (Advanced Robotics Interface for Applications), incluindo
ARNetworking, vem com todas as plataformas MOBILEROBOTS. O ARIA
um ambiente de desenvolvimento open-source baseado em C++ que
fornece uma interface robusta para uma variedade de sistemas
inteligentes robticos, incluindo o microcontrolador do rob e sistemas
acessrios. O ARNetworking fornece a camada crtica para comunicaes
baseadas em TCP/IP com a plataforma MOBILEROBOTS sobre a rede.

35

Figura 31 Arquitetura do ARIA

A instalao do ARIA pode ser feita em qualquer computador com sistema
operacional Linux instalado. Com o ARIA instalado em um computador,
que no seja o do rob, possvel a realizao de simulaes com o
auxlio do software MobileSim (a ser apresentado na prxima seo). Para
a instalao deve-se executar o seguinte comando no terminal do Linux:

rpm -i Aria-2.4-1.i386.rpm

Aps a instalao do ARIA tem-se o seguinte pacote localizado no
diretrio /usr/local

Aria/
advanced Demonstraes avanadas
bin Binrio e dlls Win 32; binrios Linux
docs Documentao extensa (deve-se executar o index.html em um
navegador para visualizao)
examples Exemplos do ARIA
include Arquivos include do ARIA
lib Arquivos Win32 .lib e Win32 e Linux .so
params Arquivos de definio do rob (p3dx.p, por exemplo)
src Arquivos fonte ARIA (*.cpp)
tests Arquivos de teste
utils Comandos de utilidade
ArNetworking/ Uma biblioteca utilizada para facilitar a comunicao
na rede
examples Exemplos ArNetworking examples
include Arquivos include ArNetworking
src Arquivos fonte ArNetworking (*.cpp)


36
A documentao do ARIA (que se encontra no diretrio docs) uma
importante fonte de consulta, pois descreve todas sua classes, incluindo
funes e variveis. Esta documentao est no formato html, podendo
ser visualizada em qualquer browser, tais como Internet Explorer ou
Mozilla Firefox. A Figura 32 mostra a pgina inicial da documentao que
apresenta um overview do ARIA. Neste overview o leitor iniciante ir
encontrar uma introduo sobre o ARIA e tambm uma explicao geral
sobre suas principais classes. As sees da documentao do ARIA podem
ser acessadas via Menu Superior (Figura 33) ou Menu Esquerdo (Figura
34). As classes do ARIA so apresentadas na documentao atravs de
hierarquia (Figura 33), lista alfabtica (Figura 35) e lista explicativa
(Figura 37). A classe escolhida explicada com elevado grau de
detalhamento, como o exemplo da classe ArRobot (Figura 36). Como o
ARIA open-source, os arquivos de classes so abertos e podem ser
visualizados no menu File List (Figura 38); como exemplo tem-se o
arquivo ArRobot.cpp (Figura 39) e ArRobot.h (Figura 40). Caso seja
necessrio detalhamento de alguma funo ou varivel do ARIA, sem que
se saiba a que classe pertena, pode-se recorrer ao menu Class
Members (Figura 41).


Figura 32 ARIA overview



37

Figura 33 Hierarquia de classes ARIA


Figura 34 Acesso via Menu Esquerdo
38

Figura 35 Lista alfabtica de classes ARIA


Figura 36 Classe ArRobot
39

Figura 37 Lista de classes ARIA


Figura 38 Lista de arquivos ARIA
40

Figura 39 Arquivo ArRobot.cpp


Figura 40 Arquivo ArRobot.h
41



Figura 41 Membros das classes ARIA




















42
7.5 MobileSim

MobileSim um software para simulao de robs mveis e seus
ambientes, realizao de debug e experimentos em conjunto com
programas baseados no ARIA. baseado em biblioteca Stage, criada pelo
projeto Player/Stage/Gazebo (http://playerstage.sourceforge.net).

O software MobileSim converte um mapa ActivMedia (um arquivo .map
criado pelo software Mapper3Basic) para o ambiente Stage, colocando um
modelo de rob simulado neste ambiente. Tambm provm uma conexo
com o Pioneer simulado via porta TCP 8101 (similar conexo via porta
serial com o Pioneer real). A maioria dos programas baseados no ARIA
conecta automaticamente na porta TCP caso ela esteja disponvel.

A instalao do MobileSim pode ser feita em qualquer computador com o
sistema operacional Linux instalado, e feita via terminal executando-se
o seguinte comando:

rpm -i MobileSim-0.2-0.i386.rpm

O MobileSim pode ser executado pelo seguinte comando via terminal do
Linux:

cd /usr/local/MobileSim/bin
./MobileSim

Na primeira tela do MobileSim deve-se escolher o mapa a ser utilizado e
que se encontra no caminho /usr/local/Aria/maps. Caso no se queira
trabalhar com nenhum mapa deve-se clicar em No Map. As Figura 42 e
Figura 43 mostram a seqncia de aes para se carregar o mapa.

43

Figura 42 Tela de inicializao do MobileSim


Figura 43 Carregando o mapa no MobileSim

44
Aps o carregamento do MobileSim deve-se abrir um programa
desenvolvido com o ARIA para que seja executado no simulador. Como
exemplo, o programa de demonstrao ser executado:

cd /usr/local/Aria/examples
./demo

Deve-se ter muito cuidado na execuo de programas diretamente
no rob, pois, geralmente, o programa tenta conectar com o
simulador e caso o mesmo no esteja carregado, o programa
executado no rob, podendo causar acidentes. Apenas execute
programas diretamente no rob caso tenha certeza de seu
comportamento. Lembre-se, a execuo direta envolve a conexo
de teclado, mouse e monitor no rob, e colocao do mesmo sobre
uma mesa e uma movimentao indevida neste momento seria
desastrosa.

A Figura 44 mostra as opes disponveis do programa demo. O rob pode
ser colocado em modo de tele-operao via teclado pressionando-se a
tecla t. A Figura 45 mostra o rob em operao no MobileSim.



Figura 44 Execuo do programa demo

45

Figura 45 Programa demo sendo executado no MobileSim

Pressionando-se a tecla s tem-se a visualizao das medidas dos
sonares no Pioneer, dadas em milmetros (Figura 46). Pode-se notar na
Figura 47 os sonares ativos no simulador.


46

Figura 46 Execuo de opo sonar no programa demo

47

Figura 47 Sonares ativos no MobileSim

7.6 Mapper3Basic

O Mapper3Basic uma interface grfica para mostrar e editar arquivos de
mapa da ActivMedia Robotics. Com este software pode-se criar mapas que
sero utilizados no MobileSim.

A instalao do Mapper3Basic feita com a execuo do seguinte
comando no terminal do Linux:

rpm -i Mapper3Basic-1.2.1.rpm

Para a execuo do Mapper3Basic deve-se executar o seguinte
commando:

cd /usr/local/Mapper3Basic/bin
./Mapper3Basic

A Figura 48 mostra o software Mapper3Basic em execuo.

48

Figura 48 Mapper3Basic

7.7 Exemplos de Programas utilizando o ARIA

Nesta seo sero apresentados dois exemplos introdutrios da utilizao
do ARIA. A programao realizada linguagem C++ acrescida das classes
e seus mtodos contidos na biblioteca Aria.h. Maiores informaes sobre
as classes e seus mtodos do ARIA podem ser obtidas no manual contido
diretrio docs.

O acesso ao computador onboard do rob deve ser feito via Telnet,
atravs de um terminal Linux ou Windows. O comando para se conectar
ao rob :

telnet <endereo IP do rob>

Do terminal Telnet pode-se editar executar o programa desejado de forma
segura. Entretanto, fortemente recomendado que todos os programas
sejam antes simulados no MobileSim, evitando possveis acidentes, como
por exemplo choques com paredes e objetos.

49
Caso o programa tenha sido editado em computador que no seja o
onboard do rob, pode-se realizar o download via FTP. Os comandos para
execuo desta operao so:

ftp <endereo IP do rob>
user: guest
put <nomedoarquivo.cpp>
7.7.1 Exemplo 1
O programa Exemplo 1 utiliza comandos de movimentao de
translao e rotao do rob. O usurio deve entrar uma distncia (em
milmetros) de translao e uma rotao (em graus) para que o rob
realize. Deve-se notar que a rotao somente ser realizada aps o
trmino da translao.

A classe ArSimpleConnector responsvel pela conexo com o simulador
MobileSim ou com o rob. Primeiramente o sistema tenta se conectar ao
MobileSim via porta TCP, e caso o mesmo no esteja em execuo o
sistema tentar conexo com o rob.

O objeto robot deve ser criado com a classe principal do ARIA, ArRobot.
Quando se utiliza o mtodo comInt (da classe ArRobot) a comunicao
feita em baixo nvel, diretamente com o ARCOS; tambm poderia ter sido
utilizado robot.enableMotors() para habilitar os motores.

Como o programa executado de modo assncrono com a operao do
rob, deve-se for-lo a aguardar o trmino do movimento antes de
continuar, utilizando while (!robot.isMoveDone()) para movimentos de
translao e while (!robot.isHeadingDone()) para movimentos de
rotao. Caso se execute um comando de rotao logo aps uma
translao, os dois movimentos sero realizados de forma conjugada.


//Exemplo 1
//Realizacao de movimentos de translacao e rotacao

//Biblioteca Aria.h
#include "Aria.h"
int main(int argc, char** argv)
{
//Inicio obrigatorio do Aria
Aria::init();

//Objeto conexo(simpleConnector) com simulador ou rob
ArSimpleConnector simpleConnector(&argc,argv);

//Objeto robo(robot)
ArRobot robot;

50
//Testa argumentos
if(!simpleConnector.parseArgs() || argc>1)
{
simpleConnector.logOptions();
exit(1);
}

//Testa conexao com simulador ou robo
if(!simpleConnector.connectRobot(&robot))
{
printf("Nao conseguiu conectar ao robo\n");
Aria::exit(1);
}

//Inicializa variaveis de distancia(dist) e rotacao(rot)
int dist=1,rot;

//Inicializa robo
robot.runAsync(true);

//Habilita motores
robot.comInt(ArCommands::ENABLE,1);

while(dist!=0){ //Distancia igual a 0 termina o programa
printf ("Entre com a distancia: ");
scanf("%d",&dist);
printf("Entre com a rotacao: ");
scanf("%d",&rot);

//Realiza a mesma funcao de robot.move(dist)
//robot.comInt(ArCommands::MOVE,dist);

//Desloca rob distancia dist
robot.move(dist);

//Aguarda termino do movimento
while (!robot.isMoveDone());

//Realiza a mesma funcao de robot.setHeading(rot)
//robot.comInt(ArCommands::HEAD,rot);

//Rotaciona robo rotacao rot
robot.setDeltaHeading(rot);

//Aguarda termino de rotacao
while (!robot.isHeadingDone());
}

Aria::exit(0);

}


51
7.7.2 Exemplo 2
O programa Exemplo 2 utiliza comandos de movimentao de
translao e rotao do rob, velocidade varivel de translao e leitura
de valores dos sonares. O usurio deve entrar com a velocidade de
translao e a distncia mnima de um obstculo frontal ou lateral. O rob
inicia o movimento de translao com a velocidade fornecida e caso
encontre um obstculo sua frente ou lado pra, realiza uma translao
para trs, gira 180 graus e retorna o seu movimento de translao para
frente at que encontre um novo obstculo.

A classe ArSonarDevice responsvel pela criao do objeto sonar que
dever ser conectado ao objeto robot atravs de
robot.addRangeDevice(&sonar). Para que se tenha a leitura do menor
valor informado pelos sonares frontais e laterais, deve-se utilizar o valor
retornado pelo mtodo getClosestSonarRange(-90,90); considerando
que o zero grau est no meio e a frente do rob, os valores -90 e 90
indicam a leitura dos seis sonares frontais e os dois laterais.

O controle de velocidade de translao feito pelo mtodo
setTransVelMax(vel), onde vel representa o valor da velocidade
mxima de translao. A velocidade de translao executada pelo mtodo
move(dist) determinada pelo mtodo setTransVelMax(vel). A
utilizao do mtodo setVel(vel) indica que o rob ir realizar um
movimento de translao, com a velocidade vel, at que o mtodo
stop() seja executado. Deve-se notar que a velocidade determinada por
setVel(vel) est limitada velocidade mxima determinada por
setTransVelMax(vel).


//Exemplo 2
//Movimentacao com velocidade variavel e utilizacao dos sonares
#include "Aria.h"
int main(int argc, char** argv)
{
//Inicio obrigatorio do Aria
Aria::init();

//Objeto conexo(simpleConnector) com simulador ou rob
ArSimpleConnector simpleConnector(&argc,argv);

//Objeto robo(robot)
ArRobot robot;

//Testa argumentos
if(!simpleConnector.parseArgs() || argc>1)
{
simpleConnector.logOptions();
exit(1);
}

52
//Testa conexao com simulador ou robo
if(!simpleConnector.connectRobot(&robot))
{
printf("Nao conseguiu conectar ao robo\n");
Aria::exit(1);
}

//Cria objeto sonar
ArSonarDevice sonar;

//Conecta o sonar ao robo
robot.addRangeDevice(&sonar)

//Inicializa variaveis de velocidade(vel), distancia(dist) e leitura
de sonar(valorsonar)
int vel,valorsonar,dist;

//Inicializa robo
robot.runAsync(true);

//Habilita motores
robot.comInt(ArCommands::ENABLE,1);

printf("Entre com a distancia minima da parede: ");
scanf("%d",&dist);
printf ("Entre com a velocidade: ");
scanf("%d",&vel);

//Determina a velocidade mxima de translacao do robo
robot.setTransVelMax(vel);

//Faz com que o robo se movimente com velocidade vel
robot.setVel(vel);

//Realiza medida do menor valor apresentado pelos sonares
frontais
valorsonar=robot.getClosestSonarRange(-90,90);

while(true){
//Realiza medidas do sonar ate que se torne menor do que dist
while(valorsonar>dist)
valorsonar=robot.getClosestSonarRange(-90,90);

//Pra o robo
robot.stop();

//Faz com que o robo retorne 500mm
robot.move(-500);

//Aguarda realizacao do movimento
while(!robot.isMoveDone());

//Faz com que o rob gire 180 graus
robot.setDeltaHeading(180);

//Aguarda termino de giro
while(!robot.isHeadingDone());
53


//Faz com que o robo se movimente com velocidade vel
robot.setVel(vel);

//Realiza menor medida dos sonares frontais
valorsonar=robot.getClosestSonarRange(-90,90);

}

Aria::exit(0);

}