• Nenhum resultado encontrado

Uma proposta de SLAM para veículos subaquátios

N/A
N/A
Protected

Academic year: 2021

Share "Uma proposta de SLAM para veículos subaquátios"

Copied!
6
0
0

Texto

(1)

Uma proposta de SLAM para ve´ıculos subaqu´atios

Felipe Guth

, Silvia Botelho

, Luan Silveira

, Paulo Drews Jr.

and Matheus Machado dos Santos

∗ ∗NAUTEC - Centro de Ciˆencias Computacionais

Universidade Federal do Rio Grande - FURG, Rio Grande - RS, Brasil Email: felipeguth, silviacb, luansilveira,[email protected]

Abstract—The unstructured environment, imprecise sensors, the difficulty for feature extraction and the lack of GPS signals, are some of the challenges encountered in underwater environ-ments. In this adverse context, Simultaneous Localization and Mapping (SLAM) techniques are employed to locate the robot in an efficient way in an unknown environment, while creating a representative model of this environment at the same time. A review of sensors and major studies in the literature is presented here. Moreover, a system for treating the problem of SLAM based on Extended Kalman Filter is proposed. The proposed method employs a new technique for extracting features of sonar, based on filtering algorithms from computer vision. The results of the proposed system are presented through a case study that uses real inercial sensor data and a sonar embedded in a robot that traveled a path from about 600m in an abandoned marina. The trajectory generated by the SLAM system is compared to the ground truth data acquired with a DGPS that provides accuracy of about 2m.

Keywords—Simultaneous Localization and Mapping, Underwa-ter Robotics, Sonar, Sensorial Fusion.

I. INTRODUC¸ ˜AO

O mapeamento rob´otico tem sido uma ´area bastante explo-rada em inteligˆencia artificial h´a pelo menos duas d´ecadas. O problema de localizac¸˜ao e mapeamento simultˆaneos, SLAM, ´e definido como a capacidade de um robˆo navegar em um ambiente desconhecido e, por meio de leituras sensoriais, construir um mapa representativo do ambiente ao mesmo tempo que localiza o robˆo nesse mapa [1]. As t´ecnicas de Localizac¸˜ao e Mapeamento Simultˆaneos (ou SLAM, do inglˆes Simultaneous Localization and Mapping), s˜ao usadas para permitir que robˆos m´oveis construam mapas em ambientes desconhecidos, ou para atualizar um mapa em um ambiente anteriormente percorrido, mantendo sua localizac¸˜ao corrente no mapa que ´e simultaneamente constru´ıdo. Este ´e um dos problemas mais dif´ıceis encontrados na rob´otica. Embora existam t´ecnicas de SLAM bem estabelecidas que obtenham resultados satisfat´orios, pode-se dizer que o mapeamento e localizac¸˜ao simultˆaneos em ambientes de grande extens˜ao ´e um problema ainda n˜ao resolvido. Isso devido ao grande custo computacional para o tratamento de dados massivos advin-dos de diversas fontes sensoriais e a imprecis˜ao, exatid˜ao e resoluc¸˜ao dos dados obtidos atrav´es dos sensores. Na literatura encontra-se um grande n´umero de trabalhos de SLAM para ambientes terrestres e indoor.

Em ambientes subaqu´aticos, nota-se o aumento do uso de sistemas rob´oticos em tarefas de inspec¸˜ao [2], manipulac¸˜ao e monitoramento [3]. Oceanos, rios, barragens, mares habitam uma rica biodiversidade, influenciam no clima e tˆem um grande impacto n˜ao apenas na economia como na vida e evoluc¸˜ao da sociedade humana. A crescente explorac¸˜ao de elementos

do mar, como as reservas de petr´oleo localizadas na camada do pr´e-sal brasileiro, propiciam a gerac¸˜ao de uma demanda por tecnologias de manipulac¸˜ao e inspec¸˜ao de estruturas e recursos localizados nesses ambientes in´ospitos e muitas vezes inacess´ıveis ao ser humano. Nessa situac¸˜ao de adversidade, surge a rob´otica m´ovel subaqu´atica com ROV’s Remotely Operated Vehiclese AUV’s Autonomous Underwater Vehicles. A localizac¸˜ao e mapeamento desses ambientes s˜ao fatores essenciais para o uso de tais tecnologias.

Abordagens para a realizac¸˜ao de SLAM subaqu´atico encontram-se ainda, em uma fase inicial e um n´umero limitado de abordagens tem sido apresentado [4], [5], [6],[7], [8], [9]. O meio subaqu´atico apresenta dificuldades relacionadas a presenc¸a de ´agua e sua interferˆencia na operac¸˜ao de robˆos. Entre as quais, pode-se citar a impossibilidade do uso de sinais de GPS, a dificuldade de imageamento devida a turbidez, a influˆencia de correntes mar´ıtimas e do pr´oprio movimento dos propulsores. Esses fatores dificultam a modelagem do compor-tamento dinˆamico do robˆo e seus atuadores para aplicac¸˜ao de t´ecnicas de localizac¸˜ao e mapeamento associadas a presenc¸a do meio aquoso, o qual, interfere na capacidade de aquisic¸˜ao de dados e funcionamento dos seus sensores e atuadores.

Este trabalho apresenta uma proposta de SLAM para ve´ıculos subaqu´aticos, utilizando um sonar mecˆanico de im-ageamento (MSIS) como sensor principal. Um novo m´etodo para extrac¸˜ao de features de sonar ´e especificado. Por fim, ´e feita a validac¸˜ao utilizando-se um data-set obtido em uma marina abandonada, onde ´e demonstrada a potencialidade do sistema, comparando os resultados gerados com o ground truth.

II. SENSORIAMENTO SUBAQUATICO´

Tendo em vista as particularidades do meio subaqu´atico, o sensoriamento do ambiente ´e um outro aspecto fundamental a ser mencionado. Geralmente, os dados advindos dos sen-sores tem uma acur´acia limitada, principalmente no caso de ambientes com pouca iluminac¸˜ao, fortes correntes mar´ıtimas ou ´aguas turvas. A estimativa de ru´ıdo acaba causando im-pacto significativo nas tarefas de localizac¸˜ao e mapeamento, causando muitas vezes a n˜ao convergˆencia do sistema. A modelagem do ru´ıdo dos sensores ´e uma tarefa complicada e importante, principalmente para ambientes de larga escala, uma vez que o ru´ıdo pode ser diferente em determinadas situac¸˜oes, requerendo uma nova calibrac¸˜ao para a obtenc¸˜ao de uma melhor estimativa do sistema. Os sensores geralmente operam apenas em uma profundidade limitada, tornando aplicac¸˜oes em grandes profundidades altamente custosas.

Na Tabela I ´e apresentado uma compilac¸˜ao dos principais sensores utilizados em robˆos subaqu´aticos bem como do tipo

(2)

de informac¸˜ao fornecida para cada um.

TABLE I. PRINCIPAIS SENSORES UTILIZADOS EM APLICAC¸ ˜OES SUBAQUATICAS´

Informac¸˜ao Sensor

Velocidade DVL (Dopler Velocity Log) Informac¸˜ao inercial INS (Inertial Navigation System) Velocidade, orientac¸˜ao IMU (Inertial Motion Unit) Estimac¸˜ao de atitude, acelerac¸˜ao MRU (Motion Reference Unit) Orientac¸˜ao referente ao norte magn´etico B´ussola

Atitude e referˆencia de orientac¸˜ao AHRS (Attitude Heading Reference System) Profundidade Sensor de Press˜ao, Sensor de Profundidade Imagem visual Cˆamera

Distˆancia e imagem visual Laser Scanner

Distˆancia e ˆangulo de um alvo, batimetria Echo sounder, Mechanically scanned profiler, Multibem echo sounder Imagem Ac´ustica Mechanically scanned imaging sonar,

Eletronically scanned imaging sonar, Sidescan sonar

Distˆancia (localizac¸˜ao) LBL (Long Base Line), SBL (Short Base Line) Distˆancia e ˆangulo (localizac¸˜ao) USBL (Ultra Short Base Line)

III. ABORDAGENSPROBABIL´ISTICAS

Na forma probabil´ıstica, o problema de localizac¸˜ao e ma-peamento simultˆaneos requere que a distribuic¸˜ao probabil´ıstica P (xk, m|Z0:k, U0:k, x0) (1)

seja computada para todos os tempos k. Essa distribuic¸˜ao de probabilidade descreve a ligac¸˜ao da densidade posterior das localizac¸˜oes dos pontos de referˆencia e o estado do ve´ıculo (no tempo k) dadas as observac¸˜oes tomadas z0:k, os controles

de entrada u0:k e o estado inicial do ve´ıculo x0. Em geral,

uma soluc¸˜ao recursiva do problema ´e desej´avel. Iniciando com uma estimativa para distribuic¸˜ao P (xk−1, m|Z0:k−1, U0:k−1)

no tempo k−1, a probabilidade posterior, seguindo um controle uk e uma observac¸˜ao zk, ´e computada usando o teorema de

Bayes. Essa computac¸˜ao requer que um modelo de transic¸˜ao de estados e um modelo de observac¸˜ao sejam definidos, os quais descrevem o efeito do controle de entrada e observac¸˜ao respectivamente.

Os principais algoritmos probabil´ısticos aplicados ao prob-lema de SLAM s˜ao o Filtro de Kalman Estendido (EKF) [10], [11], Filtro de Kalman Unscented (UKF) [12], Filtro de Part´ıculas (PF) [13], GraphSLAM [14], [15] e o Filtro de Informac¸˜ao Esparso Estendido (SEIF) [16].

IV. TRABALHOS RELACIONADOS

Um dos primeiros trabalhos no hist´orico de SLAM sub-aqu´atico foi o trabalho de [17] que propˆos em sua primeira vers˜ao um algoritmo de SLAM para estimar a navegac¸˜ao do ve´ıculo Oberon e concorrentemente fazer o mapeamento das landmarksartificiais inseridas no ambiente atrav´es das leituras de um sonar de imagem. J´a [4], propuseram uma abordagem de range-only SLAM. Neste trabalho o ve´ıculo Caribou operou na costa italiana, equipado com transponders LBL. Usando apenas dados de distˆancia atrav´es do LBL, foi gerado a trajet´oria do ve´ıculo e localizac¸˜ao dos transdutores. Foi realizado uma comparac¸˜ao entre os resultados e o ground truth.

Em 2005, [18] propuseram um algoritmo para explorar da-dos batim´etricos pra realizac¸˜ao de SLAM. A soluc¸˜ao consiste

em gerar uma s´erie de submapas desde pequenas impress˜oes batim´etricas criadas durante curtos per´ıodos de tempo. De uma forma similar `as apresentadas anteriormente em algoritmos de SLAM visual subaqu´atico, estimativas pr´evias de lugares visi-tados s˜ao retidas no estado de um EKF para servir como ˆancora para os submapas. Ent˜ao, essas impress˜oes s˜ao registradas para gerar medidas de posic¸˜ao relativas entre os estados anteriores. Usando medic¸˜oes de um sistema LBL como ground truth, observou-se um melhor alinhamento da estimativa de posic¸˜ao pelo algoritmo de SLAM frente a estimativa dos sensores de dead-reckoning.

No ano de 2007, [6] e [19] atrav´es da utilizac¸˜ao do AUV DepthX, apresentaram uma abordagem de SLAM utilizando um filtro de part´ıculas Rao-Blackwellized com um grid de evidˆencia 3D para representac¸˜ao do mapa. Ainda, foi abordada um estrutura para manter os milhares de mapas necess´arios para o filtro de part´ıculas modelar ambientes extensos.

Em 2008, [5] apresentaram um sistema de EKF SLAM para ambientes parcialmente estruturados, utilizando um novo AUV para a criac¸˜ao de uma base de dados tendo como sensor principal um sonar mecˆanico, al´em de dados de sensores inerciais e de DGPS para ground truth. Foi proposta uma nova abordagem para extrac¸˜ao de features em formato de linhas como para representac¸˜ao da incerteza dos dados ac´usticos do sonar, construindo m´ultiplos mapas locais ao longo da trajet´oria.

Em 2013, [7] propuseram um algoritmo baseado em poses para resolver o problema completo de SLAM para AUVs nave-gando em ambientes desconhecidos e possivelmente desestru-turados. Primeiramente, estimou-se o caminho percorrido pelo robˆo, enquanto ´e formada a imagem ac´ustica com um sonar rotativo mono-beam, proporcionando estimativa de posic¸˜oes para corrigir distorc¸˜oes que o ve´ıculo produz ao longo das leituras. Ap´os isso, leituras consecutivas servem de entrada para t´ecnicas probabil´ısticas estimarem o deslocamento do ve´ıculo, incluindo a incerteza do resultado do matching da leitura. Finalmente, um EKF aumentado estima e mantem as poses registradas no estado.

Nota-se que existem aplicac¸˜oes para um n´umero variado de cen´arios, utilizando-se diferentes algoritmos e sensores. O pr´oximo Cap´ıtulo faz a proposta de uma abordagem de SLAM tendo como sensor principal um sonar mecˆanico de imagem, al´em de utilizar dados de dead-reckoning de sensores DVL e MRU.

V. PROPOSTA DESLAM

O sistema opera em dois m´odulos simultaneamente. O primeiro busca continuamente por features do ambiente, atrav´es de dados obtidos por um sonar mecˆanico. O outro m´odulo consiste na implementac¸˜ao do Filtro de Kalman Esten-dido que continuamente funde informac¸˜oes de sensores (DVL, b´ussola, MRU) e as observac¸˜oes do m´odulo de extrac¸˜ao de caracter´ısticas para manter a estimativa de posic¸˜ao do robˆo e construir simultaneamente um mapa. No trabalho ´e utilizado o dataset de [5], o qual foi obtido em experimentos conduzido em uma marina abandonada. Esse ambiente em particular ´e composto por v´arias paredes. O m´odulo de extrac¸˜ao de features faz o uso de uma t´ecnica inspirada em m´etodos de vis˜ao

(3)

Fig. 1. M´odulos do sistema de SLAM proposto

computacional, em uma vers˜ao de votac¸˜ao e identificac¸˜ao da posic¸˜ao correta de marcos relevantes do ambiente.

A Figura 1, descreve em alto n´ıvel a abordagem de SLAM proposta, sendo seus componentes explicados em detalhe ao longo desta sec¸˜ao.

O sonar fornece continuamente dados de intensidade de leituras do ambiente. Integrando-se um conjunto de leituras (beams), onde cada uma cont´em 500 pontos de intensidade (bins) em uma resoluc¸˜ao de 10cm de espac¸amento, para uma dada orientac¸˜ao, ´e formada uma imagem ac´ustica.

A. Uma nova proposta para extrac¸˜ao de features de sonar Para a identificac¸˜ao de features significativas advindas dos dados das leituras do sonar ´e preciso que se adotem estrat´egias para segmentac¸˜ao dos dados e remoc¸˜ao de ru´ıdos. O m´odulo de extrac¸˜ao de features proposto nesse trabalho ´e associado `a execuc¸˜ao do filtro de Kalman, que simultaneamente executa o SLAM e fornece dados de posic¸˜ao do ve´ıculo no momento em que uma leitura ´e executada. Estes dados de posicionamento s˜ao usados para corrigir a distorc¸˜ao da sequˆencia de medidas que formam a representac¸˜ao de uma regi˜ao do ambiente.

1) Tratamento de dados ac´usticos: Esse processo consiste em selecionar apenas os retornos de distˆancia (bins) com uma intensidade maior do que um valor pr´e-estabelecido. Al´em disso, devem ser eliminados bins redundantes atrav´es da exclus˜ao de m´aximos locais que est˜ao muito pr´oximos, pois estes provavelmente representam os mesmos objetos. Os bins com intensidades mais altas s˜ao distinguidos no buffer, uma vez que tˆem uma maior probabilidade de representar um objeto do ambiente e assim tˆem um maior peso na estrat´egia de voto. O processo de threshold dos dados permite que as pr´oximas etapas do processo de extrac¸˜ao de features trabalhem apenas com os dados mais consider´aveis e que, portanto tem maior probabilidade de representar um marco do ambiente, uma vez que grande parte dos dados redundantes e ru´ıdos s˜ao exclu´ıdos nessa primeira fase.

Para armazenar a representac¸˜ao do ambiente ´e criado um buffer de leituras, o qual representa os 180◦ mais recentes. Nesse buffer s˜ao armazenados os valores de ˆangulo e distˆancia dos bins, conforme os processos descritos anteriormente.

2) Esquema de voto e determinac¸˜ao de features candidatas: A fim de determinar as features existentes no ambiente, peri-odicamente ´e executada uma abordagem de voto usando os da-dos armazenada-dos no buffer. Isso ´e feito com uma aplicac¸˜ao em uma Tabela bidimensional. Para as coordenadas de orientac¸˜ao e distˆancia perpendicular, s˜ao geradas todas as posic¸˜oes poss´ıveis de localizac¸˜oes de features (pB e θB de acordo com uma base de referˆencia B do sonar). As features que receberem o maior n´umero de votos de acordo com os dados do buffer s˜ao os prov´aveis descritores de objetos do ambiente.

A base de referˆencia B ´e a posic¸˜ao corrente do sonar. Nesse caso permite-se integrar uma feature diretamente no sistema de SLAM, uma vez que j´a est´a representada com relac¸˜ao `a ´ultima posic¸˜ao do sensor, como uma observac¸˜ao de uma feature j´a presente no mapa, ou incorporada como uma nova representac¸˜ao depois de ser ajustada com a posic¸˜ao corrente do ve´ıculo. O espac¸o de voto ´e discretizado em coordenadas polares, de acordo com a resoluc¸˜ao de leitura do sonar, no caso do data set da marina (1.8◦ e 0.1m). Uma resoluc¸˜ao maior n˜ao aumenta necessariamente a qualidade da detecc¸˜ao, uma vez que a resoluc¸˜ao do sonar limita sua precis˜ao.

O algoritmo para extrac¸˜ao de features inicia com a chegada de um novo beam. O espac¸o de voto ´e referenciado para a posic¸˜ao corrente do sonar como nova base de referˆencia. Depois, todos os bins armazenados no buffer s˜ao referenciados para a base de referˆencia B para serem usados em um espac¸o de voto. Essa transformac¸˜ao para nova referˆencia corrige a distorc¸˜ao dos dados. Uma vez que os dados estejam corrigidos, os votos correspondentes a cada bin s˜ao atribu´ıdos para as features candidatas na forma de um modelo baseado em t´ecnicas de filtragem de vis˜ao computacional (abordada na subsec¸˜ao seguinte). Ent˜ao, uma busca pelas features com maior n´umero de votos ´e executada, a fim de selecionar as candidatas mais significativas.

Nesse contexto, uma feature representa um ponto signi-ficativo que foi observado como um bin de alta intensidade no ambiente e foi posteriormente selecionado atrav´es do algoritmo de extrac¸˜ao de features. Ao longo do trajeto percorrido, o sistema continuamente faz a busca e extrai point features. Estas s˜ao fornecidas ao m´odulo de associac¸˜ao de dados que faz a correspondˆencia das observac¸˜oes com uma instˆancia j´a presente no vetor de estados ou insere a nova observac¸˜ao no sistema de SLAM.

3) Selecionando features candidatas: Devido `a incerteza produzida pela largura do feixe da onda de sonar, uma medic¸˜ao n˜ao pode ser atribu´ıda a um ´unico ponto no espac¸o. Os trabalhos [20], [21] propuseram uma abordagem comum, bem estabelecida para sonares usados ao ar livre, considerando a medida na forma de um arco cuja abertura representa a incerteza da largura de medida. Uma intensidade alta de retorno ´e produzida quando a onda ac´ustica atinge uma su-perf´ıcie perpendicularmente, e pode-se inferir que todas `as superf´ıcies tangentes ao arco podem explicar o retorno de alta intensidade. Enquanto essa abordagem ´e bem aceita em ambientes ao ar livre, [5] prop˜oem uma abordagem onde em ambientes subaqu´aticos a capacidade de detecc¸˜ao de linhas n˜ao ´e limitada `as superf´ıcies tangentes ao arco, mas aos beams que fazem intersecc¸˜ao a superf´ıcie, dentro de limites definidos por um ˆangulo m´aximo de incidˆencia que tamb´em produzem um retorno discern´ıvel. Basicamente, dado um ˆangulo de largura

(4)

Fig. 2. M´etodo de votac¸˜ao para identificac¸˜ao de features

de feixe horizontal e um ˆangulo de incidˆencia, o conjunto de linhas ´e composto n˜ao apenas de linhas tangentes ao arco mas tamb´em por todas as linhas que interseccionam o arco com um ˆangulo de incidˆencia.

A Figura 2, descreve em alto n´ıvel a abordagem de voto proposta. Depois dos retornos m´aximos serem selecionados, e os dados do buffer serem corrigidos para a ´ultima localizac¸˜ao do sonar, os bins armazenados no buffer s˜ao utilizados em um esquema de voto para identificac¸˜ao de features.

Uma Tabela ´e gerada com todas as poss´ıveis localizac¸˜oes variando a orientac¸˜ao e distˆancia, e discretizadas segundo a resoluc¸˜ao do sonar, nesse caso 1.8 graus e 0.1m. Os bins representando os m´aximos locais de retorno do sonar, recebem um valor alto na Tabela enquanto a sua vizinhanc¸a recebe um valor menor. Esse esquema, onde os locais vizinhos aos bins de m´aximos locais recebem votos, consiste na designac¸˜ao da variac¸˜ao poss´ıvel de ocorrer nos dados ac´usticos. Atribuindo um valor de incerteza, representada pela atribuic¸˜ao de votos a locais vizinhos.

Cada c´elula do grid pode receber apenas um voto de um binparticular. C´elulas contendo m´ultiplos votos, portanto, rep-resentam features compat´ıveis com diferentes bins individuais. Toda vez que um novo beam ´e adquirido, um novo espac¸o de voto ´e gerado para se buscar por features. Qualquer feature candidata com um n´umero suficiente de votos encontrada dentro desta zona ´e declarada vencedora. Assim que uma feature ´e detectada todos os bins envolvidos no esquema de votac¸˜ao s˜ao removidos do buffer para n˜ao interferir com a detecc¸˜ao das pr´oximas features. A Figura 3 mostra um exemplo de selec¸˜ao de feature onde os valores m´aximos, representando diferentes observac¸˜oes, s˜ao selecionados.

Fig. 3. Selec¸˜ao de features

Estas c´elulas com maior n´umero de votos, representam os pontos mais significativos dentro de um conjunto de leituras de sonar que formam uma imagem ac´ustica. As features selecionadas s˜ao fornecidas ao m´odulo de associac¸˜ao de da-dos. Este por sua vez, criar´a uma nova instˆancia da feature observada, far´a uma associac¸˜ao com uma instˆancia existente ou descartar´a a observac¸˜ao. Este ´ultimo caso ocorre, de acordo com os parˆametros do sistema, caso a feature observada esteja muito distante de uma instˆancia existente para ser associada e muito pr´oxima para ser criada.

B. Inicializac¸˜ao do sistema

Quando um novo mapa estoc´astico ´e inicializado, deve-se deve-selecionar uma badeve-se de referˆencia L no passo 0. Define-se assim a posic¸˜ao inicial do ve´ıculo para localizac¸˜ao desta base no tempo 0 com completo conhecimento e sem incerteza. Pode-se representar o estado do ve´ıculo µV:

µV = [x y z ψ u v w r]T (2)

Assumindo que ainda n˜ao existam marcos (landmarks) no estado, e que o mesmo encontra-se em uma pose estacion´aria, o estado do ve´ıculo no tempo 0 ´e igual a:

ˆ

µ(0) = [0 0 0 0 0 0 0 0 ]T; Σ(0) = ΣV(0) = [08×8] (3)

C. Predic¸˜ao de estado

O vetor de estados e a predic¸˜ao do estado completo, para um AUV como o usado no dataset da marina, pode ser representado por uma func¸˜ao de processo que usa um modelo cinem´atico de movimento baseado na acelerac¸˜ao do robˆo. A func¸˜ao g em um tempo t ´e representada como:

µ(k) =               x y z ψ u v w r p θ               (t) =                   x + (uT + suT2/2)cos(ψ) −(vT + suT2/2)sin(ψ) y + (uT + suT2/2)sin(ψ) +(vT+ svT2/2)cos(ψ) z + wT + s2T2/2 ψ + rT + srT2/2 u + suT v + svT w + swT r + srT 0 0                   (t−1) (4) Onde p e θ representam os parˆametros de um marco (landmarks) e T o intervalo de tempo aplicado no movi-mento. Como os dados do sonar s˜ao referenciados em sistema polar, o tamanho do vetor de estados final ´e igual a 8 (x, y, z, ψ, u, v, w, r) na discretizac¸˜ao dos eixos, orientac¸˜ao yaw e correspondentes velocidades lineares e angulares mais 2 × n marcos do ambiente, uma vez que cada marco ´e representado por θB e pB.

A vari´avel s = [su sv sw sr]T representa um ru´ıdo

(5)

e covariˆancia Q. Em relac¸˜ao `as features, presume-se que as mesmas s˜ao est´aticas e, portanto, sua localizac¸˜ao n˜ao possui modificac¸˜oes no passo de predic¸˜ao.

A matriz de covariˆancia, que representa a incerteza do estado do ve´ıculo e das features ´e obtida como:

Σ(t|t − 1) =  Gv(t) 08×2n 02n×8 I2n×2n  Σ(t − 1)  Gv(t) 08×2n 02n×8 I2n×2n T ... +  Wv(t) 02n×4  Q  Wv(t) 02n×4 T (5) Onde GV e WV s˜ao as matrizes Jacobianas de derivadas

parciais do modelo n˜ao-linear da func¸˜ao g com respeito ao mesmo estado µV e ao ru´ıdo s.

D. Atualizac¸˜ao Sensorial

Os dados de dead-reckoning providos pela DVL e MRU s˜ao usados como observac¸˜ao direta em seus correspondentes componentes no vetor de estados. Pode-se criar uma matriz Z com as leituras sensoriais dos diferentes sensores, interpolando as leituras individuais para um determinado tempo:

Z = [vxDV LvyDV L vzDV LvψM RU ψM RUzM RU]T, (6)

As medic¸˜oes s˜ao introduzidas no sistema atrav´es da matriz H que mapeia a leitura dos sensores em relac¸˜ao ao vetor de estados.

HD= [03×4I3×303×1 03×2n], (7)

E. Construc¸˜ao do mapa

A construc¸˜ao do mapa ´e executada a partir dos dados obtidos atrav´es de um sonar mecˆanico de imagem (MSIS). Estes dados s˜ao processados pelo m´odulo de extrac¸˜ao de fea-tures. Uma vez que seja identificada uma feature significativa, os valores correspondentes s˜ao enviados para o m´odulo de associac¸˜ao de dados que tem a tarefa de identificar se uma observac¸˜ao corresponde a uma das features do mapa ou se constitui uma nova.

1) Associac¸˜ao de Dados: Para resolver o problema de associac¸˜ao de dados deve-se determinar se a observac¸˜ao aferida zi corresponde a alguma das features F j, j = 1...n que j´a

existem no mapa e deve ser usada para atualizar o sistema ou se ´e nova e deve ser incorporada no mapa. O resultado do processo de associac¸˜ao de dados ´e uma hip´otese H = ji

associando a medic¸˜ao ziV com uma das features do mapa Fj. Caso zVi n˜ao tenha correspondˆencia com alguma feature

do mapa isto ´e indicado com ji = 0. Encontrar a hip´otese

correta ´e um processo envolvendo a an´alise da discrepˆancia entre a medic¸˜ao da observac¸˜ao atual e sua predic¸˜ao. Essa predic¸˜ao ´e obtida da func¸˜ao de medida n˜ao linear hj, a qual

relata a medic¸˜ao i com o vetor de estados µ(k) contendo as localizac¸˜oes do ve´ıculo e a feature j.

ziV(k) =  pV i θV i  =  pj− xcosθj− ysinθj θj− ψ  + si, (8)

onde si, ´e o ru´ıdo branco gaussiano com m´edia zero

afe-tando a observac¸˜ao da feature. Para se calcular a discrepˆancia entre a medic¸˜ao e sua predic¸˜ao, o termo de inovac¸˜ao vij e sua

matriz de covariˆancia associada Sij ´e obtida como:

vij(t) = ziV(t) − hj(ˆµ(t|t − 1)), (9)

Sij(t) = Hj(t)Σ(t|t − 1)H(t)Tj + Ri, (10)

onde Hj representa a matriz Jacobiana que lineariza a

func¸˜ao de medic¸˜ao n˜ao-linear hj sobre a melhor estimativa

dispon´ıvel do estado ˆµ(k|k − 1).

Para determinar se a correspondˆencia ´e v´alida, um teste individual de compatibilidade (IC) usando a distˆancia de Mahalanobis ´e executado:

D2ij = vij(k)TSij(t)−1vij(t) < Xd2, α, (11)

onde d = dim(hj) e α ´e o desejado n´ıvel de confianc¸a.

´

E poss´ıvel para uma hip´otese m´ultipla relatar a medic¸˜ao com diferentes features para satisfazer o teste de IC. Ent˜ao para selecionar o melhor candidato, o crit´erio de Nearest Neighbor (NN) ´e aplicado.

Ap´os isso, a correspondˆencia ser decidida, esta ´e usada para atualizar a estimativa do estado atrav´es das equac¸˜oes de atualizac¸˜ao sensorial do EKF.

No caso de n˜ao existir nenhuma hip´otese de relatar a medic¸˜ao da linha com alguma feature j´a existente no mapa, esta pode ser adicionada no sistema.

VI. RESULTADOS

A Figura 4 apresenta os resultados obtidos com o sistema de SLAM proposto. O trajeto com uma linha cont´ınua em azul foi plotado com base nos dados de DGPS, o trajeto com uma linha trac¸ada e pontilhada em vermelho foi gerado com o sistema de SLAM e a trajet´oria da linha trac¸ada em verde foi gerada apenas com os dados sensoriais de dead-reckoning. Nos primeiros metros da trajet´oria, nota-se uma grande de-pendˆencia do sistema de SLAM aos dados de dead-reckoning. Ao tempo em que o sistema inicia a fazer a correspondˆencia de features observadas em um tempo anterior e corrigir a estimativa do trajeto, nota-se que a odometria tem um drift acentuado. Esse deslocamento leva ao aumento do erro de odometria enquanto o erro do sistema de SLAM ´e minimizado devido a correc¸˜ao executada pelo m´odulo de associac¸˜ao de dados. Em torno da coordenada (-25,105) o robˆo executa um giro na direc¸˜ao oposta ao deslocamento (drift da odometria). Isso faz com que o erro de odometria seja compensado nos pr´oximos metros, fator que explica a diminuic¸˜ao do erro no gr´afico da Figura 5. Ap´os isso, os dados de odometria sofrem um novo drift, aumentando de forma linear o erro ao longo do tempo, enquanto o sistema de SLAM tˆem a capacidade de

(6)

Fig. 4. Resultado do sistema de SLAM. A trajet´oria cont´ınua em azul foi obtida com os dados do DGPS e tem precis˜ao de cerca de 2 m. A trajet´oria pontilhada em vermelho, foi gerada com o sistema de SLAM usando apenas dados dos sensores do ve´ıculo. O trajeto tracejado em verde foi gerado apenas com os sensores de dead-reckoning que fornecem dados de angulac¸˜ao e velocidade do robˆo. As features identificadas, s˜ao exibidas com o sinal ’+’ na cor magenta.

Fig. 5. Erro de posic¸˜ao do sistema de SLAM comparado ao erro gerado com os dados de dead-reckoning ao longo do tempo do experimento

compensar boa parte desse erro, gerando uma trajet´oria mais parecida com o trajeto real do robˆo.

Ao longo da trajet´oria de aproximadamente 600m o sis-tema de SLAM teve um bom desempenho. Mais precisamente, na coordenada X o erro m´edio normalizado do sistema foi de 3.08m, o maior erro foi de 10.66m e o erro final de 9.84m. Na coordenada Y o erro m´edio normalizado foi de 1.56m o maior erro foi de 9.69m e o erro final foi de 1.09m.

VII. CONCLUSAO˜

Este trabalho apresentou um estudo de t´opicos como sen-sores e algoritmos correlatos `a aplicac¸˜oes de SLAM, bem como, um levantamento de trabalhos relevantes da literatura, focando-se em ambientes subaqu´aticos. Foi proposto um sis-tema de SLAM aliado a uma nova t´ecnica para extrac¸˜ao de features de pontos oriundos de dados obtidos de um sonar mecˆanico de imagem (MSIS). O sistema de SLAM foi constru´ıdo tendo como n´ucleo um Filtro de Kalman Estendido (EKF), baseado em um modelo cinem´atico de acelerac¸˜ao para a predic¸˜ao de estados futuros, atualizac¸˜oes sensoriais de dead-reckoningatrav´es de sensores DVL e IMU. Para a construc¸˜ao do mapa foram utilizados dados do sonar junto a um m´odulo de

associac¸˜ao de dados respons´avel pela identificac¸˜ao de features j´a existente no mapa e correc¸˜ao de estimativas, ou criac¸˜ao de novas instˆancias e extens˜ao do estado e incerteza. Os resultados gerados pelo algoritmo de SLAM foram validados com os que foram produzidos pelo DGPS, que possui precis˜ao de cerca de 2 m. A proposta mostrou um bom desempenho, onde o sistema foi capaz de reconhecer features e recuperar-se de erros de estimativa ao longo do trajeto percorrido pelo AUV.

REFERENCES

[1] H. Durrant-Whyte and T. Bailey, “Simultaneous localization and map-ping: part i,” IEEE Robotics and Automation Magazine, vol. 13, no. 2, pp. 99–110, 2006.

[2] M. Walter, F. Hover, and J. Leonard, “Slam for ship hull inspection using exactly sparse extended information filters,” in ICRA, 2008, pp. 1463–1470.

[3] S. Williams and I. Mahon, “Simultaneous localisation and mapping on the great barrier reef,” in ICRA, vol. 2, 2004, pp. 1771–1776. [4] P. Newman and J. Leonard, “Pure range-only sub-sea slam,” in ICRA,

2003, pp. 1921–1926.

[5] D. Ribas, P. Ridao, J. Tardos, and J. Neira, “Underwater slam in man-made structured environments,” Journal of Field Robotics, vol. 25, no. 11-12, pp. 898–921, 2008.

[6] N. Fairfield, D. Jonak, G. Kantor, and D. Wettergreen, “Field results of the control, navigation, and mapping systems of a hovering auv,” in UUST, 2007, pp. 20–22.

[7] A. Mallios, P. Ridao, D. Ribas, and E. Hern´andez, “Scan matching slam in underwater environments,” Autonomous Robots, pp. 1–18, 2013. [8] L. Silveira, F. Guth, D. Fischer, P. Drews-Jr., and S. Botelho, “3D

robotic mapping: A biologic approach,” in IEEE ICAR, 2013. [9] A. Kim and R. Eustice, “Real-time visual slam for autonomous

un-derwater hull inspection using visual saliency.” IEEE Transactions on Robotics, vol. 29, no. 3, pp. 719–733, 2013.

[10] R. C. Smith and P. Cheeseman, “On the representation and estimation of spatial uncertainly,” IJRR, vol. 5, no. 4, pp. 56–68, 1986. [11] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics (Intelligent

Robotics and Autonomous Agents). The MIT Press, 2005.

[12] S. J. Julier and J. K. Uhlmann, “A new extension of the kalman filter to nonlinear systems,” 1997, pp. 182–193.

[13] A. Stentz, D. Fox, M. Montemerlo, and M. Montemerlo, “Fastslam: A factored solution to the simultaneous localization and mapping problem with unknown data association,” pp. 593–598, 2003.

[14] S. Thrun and M. Montemerlo, “The graphslam algorithm with applica-tions to large-scale mapping of urban structures,” IJRR, vol. 25, no. 5, pp. 403–430, 2006.

[15] S. Thrun, “Simultaneous localization and mapping,” Robotics and Cognitive Approaches to Spatial Mapping, pp. 13–41, 2008. [16] ——, “Simultaneous mapping and localization with sparse extended

information filters: Theory and initial results,” 2002.

[17] S. Williams, P. Newman, G. Dissanayake, and H. Durrant-Whyte, “Autonomous underwater simultaneous localisation and map building,” in ICRA, vol. 2, 2000, pp. 1793–1798.

[18] C. N. Roman and H. Singh, “Improved vehicle based multibeam bathymetry using sub-maps and slam.” in IROS, 2005, pp. 3662–3669. [19] N. Fairfield, G. Kantor, and D. Wettergreen, “Real-time slam with octree evidence grids for exploration in underwater tunnels,” Journal of Field Robotics, vol. 24, no. 1-2, pp. 03–21, 2007.

[20] J. J. Leonard and H. F. Durrant-Whyte, “Directed sonar sensing for mobile robot navigation,” 1992.

[21] J. D. Tardos, J. Neira, P. M. Newman, and J. J. Leonard, “Robust mapping and localization in indoor environments using sonar data,” Int. J. Robotics Research, vol. 21, pp. 311–330, 2002.

Referências

Documentos relacionados

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

Requiring a realignment of the EVTEA with its ToR, fine-tuning it to include the most relevant socio-environmental components and robust methodologies for assessing Ferrogrão’s impact

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

O termo extrusão do núcleo pulposo aguda e não compressiva (Enpanc) é usado aqui, pois descreve as principais características da doença e ajuda a

1.6. O médico responsável pelo beneficiário está obrigado a informar ao médico regulador da UNIMED AEROMÉDICA sobre o quadro clínico do beneficiário e se este se enquadra

Figura 6: Amostras de adultos de Tuta absoluta capturados na armadilha Delta com feromona colocada na cultura do tomateiro na estação experimental do INIDA em S.. Figura

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)