• Nenhum resultado encontrado

Software de controlo de alto n´ıvel

2.2 Projecto ROTA

2.2.2 Software de controlo de alto n´ıvel

A arquitectura do software usada baseia-se num modelo composto por trˆes entidades: Percep¸c˜ao, Modelo do mundo e Decis˜ao e Ac¸c˜ao (Figura 2.7). A Percep¸c˜ao ´e respons´avel por recolher e pr´e-processar a informa¸c˜ao vinda dos sensores. Esta entidade recebe a informa¸c˜ao em bruto e processa-a de forma a retirar os dados relevantes para as pr´oximas entidades. O Modelo do mundo, usando a informa¸c˜ao recebida da percep¸c˜ao, tenta manter uma caracter- iza¸c˜ao actual do mundo onde o robot se insere adequada `a tomada de decis˜oes e actua¸c˜oes. Finalmente o bloco de Decis˜ao e Ac¸c˜ao, com base na descri¸c˜ao actual do mundo, escolhe e executa a melhor ac¸c˜ao consoante a situa¸c˜ao, enviando comandos para a camada de controlo de baixo n´ıvel.

Modelo do Mundo

O mundo do robot ´e constitu´ıdo por uma pista e pelo robot inserido nessa pista. A pista ´e definida como uma malha interligada de tro¸cos (sec¸c˜oes de pista), cada um com uma geometria bem definida. Trata-se de uma abordagem topol´ogico-geom´etrica [10]. A estrutura base da pista ´e assumida como sendo conhecida e ´e fornecida ao software atrav´es de um ficheiro de configura¸c˜ao [11].

Para al´em do robot que nela se movimenta, e cuja localiza¸c˜ao ´e preciso conhecer, v´arios outros elementos podem povoar a pista. Um ou mais obst´aculos — parelip´ıpedos de cor verde — podem ser colocados sobre as faixas de rodagem, dificultando a movimenta¸c˜ao do robot. Cones indicadores de zona de obras podem ser colocados na pista, definindo uma zona de rodagem fora da definida pelos riscos brancos delimitadores. Um sem´aforo, colocado sobre a passadeira, afixa um sinal que condiciona a forma como o ve´ıculo se deve deslocar.

Usando como mat´eria-prima a informa¸c˜ao vinda da Percep¸c˜ao, o bloco de Modelo do mundo tem de manter actualizada, tanto quanto poss´ıvel, a caracteriza¸c˜ao do mundo, ofer- ecendo ao m´odulo de Ac¸c˜ao uma vis˜ao coerente e simples do mundo. Esta fun¸c˜ao ´e obtida atrav´es do uso de integradores. Actualmente existem 3 tipos de integradores:

• O Integrador de Sinais tem como objectivo identificar adequadamente o sinal de trˆansito apresentado pelo sem´aforo. Com base na localiza¸c˜ao do ve´ıculo na pista define a regi˜ao de imagem que deve ser analisada pelo perceptor de sinais. Por outro lado, evita a ocorrˆencia de falsas identifica¸coes, considerando que a detec¸c˜ao de um sinal apenas ocorre quando este foi detectado n vezes consecutivas.

• O Integrador de Obst´aculos ´e respons´avel por localizar os obst´aculos na pista. Fil- trando as detec¸c˜oes de obst´aculos feitas pelo m´odulo de percep¸c˜ao, tenta estimar o mais fielmente poss´ıvel as suas localiza¸c˜oes na pista. mas neste caso para a detec¸c˜ao de obst´aculos.

• O Integrador de Localiza¸c˜ao O estado do ve´ıculo contempla, entre outros atributos, a sua localiza¸c˜ao na pista e num tro¸co. O papel deste integrador ´e determinar estas localiza¸c˜oes. Para isso usa os dados vindos da percep¸c˜ao relativos `a odometria e `a localiza¸c˜ao dos riscos delimitadores da faixa de rodagem e o conhecimento existente relativo `a configura¸c˜ao da pista.

Toda a informa¸c˜ao ´e armazenada numa mem´oria partilhada (RTDB) acess´ıvel a todas as entidades, onde cada entidade pode ler e escrever sem haver problemas de concorrˆencia no acesso `a informa¸c˜ao.

Percep¸c˜ao

Como referido atr´as, o bloco de percep¸c˜ao ´e respons´avel pela recolha e pr´e-processamento dos dados produzidos pelos sensores. Pode-se considerar este blocos dividido nos seguintes perceptores:

• O Perceptor da Pista usa a frame de imagem da cˆamara de estrada para localizar pon- tos pertencentes aos riscos delimitadores das faixas de rodagem. Estes pontos, fornecidos em coordenadas do mundo, s˜ao usados pelo Integrador de Localiza¸c˜ao para localizar o ve´ıculo na pista. S˜ao usadas t´ecnicas de segmenta¸c˜ao e an´alise de imagem de modo a

localizar na imagem as linhas da estrada e. com essa informa¸c˜ao, obter a distˆancia real do carro em rela¸c˜ao a estas.

• O Perceptor de Sinais usa a imagem da cˆamara de sinal para, usando Template Matching[12], identificar qual o sinal mostrado no painel sinal´etico.

• Atrav´es do subsistema de controlo de baixo n´ıvel s˜ao recebidos os dados sensoriais relativos `a odometria, aos sensores de obst´aculos e aos sensores de ch˜ao. O Baixo N´ıvel ´e respons´avel por tratar as mensagens que transportam esses dados.

Decis˜ao e Ac¸c˜ao

Com base na caracteriza¸c˜ao do mundo (posi¸c˜ao do ve´ıculo na pista, sinal afixado no painel semaf´orico e obst´aculos existentes na pista) o bloco de Decis˜ao e Actua¸c˜ao decide qual a melhor estrat´egia para ultrapassar os desafios existentes e completar a pista. Esta decis˜ao ´e efectuada com base num modelo de trˆes camadas.

• Ao mais alto n´ıvel, o Decisor tem como principal objectivo escolher o papel a desem- penhar pelo robot. Esse papel est´a relacionado com a pista onde o robot se est´a a movimentar.

• O Papel ´e basicamente uma m´aquina de estados, onde cada estado representa um determinado comportamento que o robot deve executar para completar a pista. A mudan¸ca de estados ocorre em determinadas etapas da pista de modo a responder a cada desafio existente, como por exemplo, o estado “passar pelo t´unel”, que implica ligar os far´ois para se poder ver a estrada, “esperar pelo sinal”, que implica ficar parado na passadeira at´e que o sinal mude para verde, entre v´arios outros.

• Ao mais baixo n´ıvel est˜ao os comportamentos b´asicos de movimenta¸c˜ao do ve´ıculo (ca- mada Comportamento). Existem actualmente trˆes comportamentos implementados: um que p´ara o robot, outro que conduz mantendo uma determinada distˆancia constante `

a linha central da estrada, e finalmente o ´ultimo que segue um caminho definido por pontos de passagem colocados no mundo [13].

Da execu¸c˜ao do comportamento resultam ordens de actua¸c˜ao sobre a direc¸c˜ao e trac¸c˜ao do ve´ıculo.

Documentos relacionados