• 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,paulodrews@furg.br

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

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)

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

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

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

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

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,