Inquiry
Form loading...
Como um robô pode localizar, mapear e se mover em um ambiente desconhecido?

Notícias da indústria

Como um robô pode localizar, mapear e se mover em um ambiente desconhecido?

08/12/2023
1. Prefácio Com o rápido desenvolvimento da tecnologia informática, com o aprofundamento da investigação sobre robôs e a expansão da procura de robôs por parte das pessoas, os robôs que podem mover-se de forma inteligente e navegar autonomamente tornaram-se o foco da investigação. Existem algumas soluções práticas para localização autônoma de robôs em ambientes conhecidos e criação de mapas de posições conhecidas do robô. Porém, em muitos ambientes, o robô não pode usar o sistema de posicionamento global para posicionamento e é difícil obter antecipadamente o mapa do ambiente de trabalho do robô. Neste momento, o robô precisa criar um mapa em um ambiente completamente desconhecido sob condição de posição incerta, e utilizar o mapa para posicionamento e navegação autônomos. A tecnologia Slam (posicionamento síncrono e construção de mapas) é considerada a tecnologia central e chave para realizar um robô móvel verdadeiramente autônomo.1 O robô começa a se mover de uma posição desconhecida em um ambiente desconhecido. No processo de movimentação, ele se localiza de acordo com a estimativa de posição e os dados do sensor, e gradativamente melhora e constrói um mapa completo. Este é um processo violento. No slam, o robô usa seu próprio sensor para identificar a marca do recurso no ambiente desconhecido e, em seguida, estima as coordenadas globais do robô e da marca do recurso de acordo com a posição relativa entre o robô e a marca do recurso e a leitura do hodômetro. Este posicionamento online e criação de mapas precisam manter as informações detalhadas entre o robô e a marca de recurso. Nos últimos anos, a pesquisa de slam teve grande progresso e foi aplicada a diversos ambientes, como robô, AR, VR, UAV, piloto automático e assim por diante.2. Principais questões do slam 2.1 representação do mapa Atualmente, os métodos comuns de representação do mapa podem ser divididos em três categorias: representação em grade, representação de informação geométrica e representação de topologia. Cada método tem suas próprias vantagens e desvantagens. (1) Mapa de informações geométricas A representação do mapa de informações geométricas significa que o robô coleta as informações de percepção do ambiente, extrai características geométricas mais abstratas, como segmentos de linha ou curvas, e usa essas informações geométricas para descrever o ambiente. vantagem: É mais compacto e conveniente para estimativa de posição e reconhecimento de alvo; O método geométrico utiliza filtro de Kalman para obter alta precisão e pequena quantidade de cálculo na área local; Desvantagens: A extração de informações geométricas requer processamento adicional de informações perceptivas, e uma certa quantidade de dados perceptivos é necessária para obter os resultados; É difícil manter informações precisas de coordenadas em ambientes de área ampla; (2) Mapa de grade O mapa de grade serve para dividir todo o ambiente em várias grades do mesmo tamanho e apontar se há obstáculos para cada grade. vantagem: Fácil de criar e manter, e tenta reter todo tipo de informação de todo o ambiente; Com a ajuda do mapa, o autoposicionamento e o planejamento do caminho podem ser realizados de forma conveniente; Desvantagens: Quando o número de grades aumenta (em ambientes de grande escala ou quando o ambiente é dividido em detalhes), será difícil manter o mapa. Ao mesmo tempo, existe um grande espaço de busca no processo de posicionamento. Se não houver um bom algoritmo simplificado, será difícil realizar a aplicação em tempo real. (3) Mapa topológico Os mapas topológicos são altamente abstratos, especialmente quando o ambiente é grande e simples. Neste método, o ambiente é representado como um gráfico no sentido de topologia, e os nós no gráfico correspondem a um estado e localização característicos no ambiente. Se houver um caminho de conexão direta entre os nós, ele será equivalente ao arco que conecta os nós na figura. vantagem: Conduz a um maior planejamento de caminhos e tarefas; O espaço de armazenamento e pesquisa é relativamente pequeno e a eficiência computacional é alta; Muitos algoritmos de busca e raciocínio maduros e eficientes podem ser usados; Desvantagens: Ao utilizar, deve basear-se na identificação e correspondência dos nós da topologia. Por exemplo, quando há dois locais muito semelhantes no ambiente, será difícil para o método do mapa topológico determinar se eles são o mesmo ponto;2.2 descrição de informações incertas Quando o ambiente é completamente desconhecido, se o robô quiser construir um mapa e caminhar, ele deverá obter informações com a ajuda de outros sensores, como hodômetro, sonar, telêmetro a laser, visão e assim por diante. Devido às limitações do próprio sensor, existem vários graus de incerteza nas informações de detecção. Por exemplo, a incerteza do telêmetro a laser vem principalmente do erro de medição da distância e do erro do ângulo de medição causado pela rotação do refletor e pela dispersão do laser. Conforme mostrado na figura acima, a incerteza da informação percebida levará inevitavelmente à impossibilidade de que o modelo do ambiente construído seja completamente preciso. Da mesma forma, ao tomar decisões com base no modelo e na percepção, existe incerteza, ou seja, a incerteza é transitiva. Os métodos para medir a incerteza incluem principalmente medição de probabilidade, medição de confiança, medição de possibilidade, medição difusa e teoria da evidência. Atualmente, medidas de probabilidade e medidas difusas são amplamente utilizadas na construção de mapas AMR. Existem duas formas principais de medição de probabilidade: (1) A informação incerta é descrita por características de probabilidade como média, variância e covariância. A vantagem deste método de medição é que as características de probabilidade, como a média, têm um significado geométrico claro, mas a desvantagem é que a fórmula de cálculo discreta das características de probabilidade não foi determinada; (2) O modelo de probabilidade é usado para descrever informações incertas, principalmente usando a regra de Bayes e a hipótese de Markov. A vantagem deste método de medição é que a posição, atitude e informações ambientais do robô são descritas pelo modelo de probabilidade aleatória, e a robustez é muito boa. A desvantagem é que a quantidade de cálculo do modelo de probabilidade é muito grande, e a probabilidade anterior do modelo deve ser conhecida antecipadamente, o que dificulta a aplicação prática.2.3 localização e extração de características ambientais A autolocalização de robôs móveis está intimamente relacionada à modelagem ambiental. A precisão do modelo ambiental depende da precisão do posicionamento, e a implementação do posicionamento é inseparável do modelo ambiental. No ambiente desconhecido, o robô não tem referência e só pode contar com seus próprios sensores imprecisos para obter informações externas, assim como um cego tateando em um ambiente desconhecido. Neste caso, o posicionamento é difícil. Tanto o posicionamento do mapa quanto a criação do mapa com posicionamento são fáceis de resolver, mas o posicionamento sem mapa e a criação de mapa sem posicionamento são como o problema do "ovo de galinha". Nas pesquisas existentes, as soluções para tais problemas podem ser divididas em duas categorias: (1) Embora dependam de sensores internos para estimar seu próprio movimento, sensores externos (como telêmetro a laser, visão, etc.) são usados ​​para perceber o ambiente , analise as informações obtidas, extraia características ambientais e salve-as. No passo seguinte, a sua própria posição é corrigida através da comparação das características ambientais. Mas este método depende da capacidade de obtenção de características ambientais. (2) Usando uma variedade de sensores internos (incluindo odômetro, bússola, acelerômetro, etc.) transportados por si só, o erro de posicionamento é reduzido através da fusão de uma variedade de informações do sensor. A maioria dos algoritmos de fusão utilizados são baseados no filtro de Kalman. Como esses métodos não se referem a informações externas, o acúmulo de erros será grande após roaming prolongado. Os métodos de extração de características ambientais incluem: 1). A transformação Hough é um tipo de método para detectar linhas e outras curvas com base na imagem cinza. Este método requer um agrupamento de curvas específicas pré-preparadas que podem ser pesquisadas e gera parâmetros de curva de acordo com um agrupamento de curvas na imagem cinza exibida. 2). a análise de agrupamento é uma ferramenta de detecção de dados eficaz para amostras não classificadas. Ao mesmo tempo, seu objetivo é dividir os objetos alvo em categorias naturais ou classes de cluster com base na similaridade ou distância. Quando a categoria do objeto extraído é desconhecida, a tecnologia de clustering é uma tecnologia mais eficaz em comparação com a houghtransform. As classes de cluster devem ser centradas na “coesão”, em vez de fragmentadas e disjuntas. As características ambientais são por vezes difíceis de extrair. Por exemplo, quando as características ambientais não são suficientemente óbvias ou há pouca informação do sensor, é difícil obter características ambientais a partir de informações de percepção únicas.2.4 Associação de Dados A associação de dados consiste em combinar duas marcas de recursos para determinar se elas correspondem ao mesmo objeto no ambiente. A associação de dados no slam precisa principalmente completar três tarefas: (1) Correspondência entre mapas; (2) Correspondência de marcas características; (3) Detecção de novas marcas características; Embora a associação de dados tenha sido bem resolvida nas áreas de rastreamento de alvos e fusão de sensores, esses métodos têm uma grande quantidade de cálculos e não podem atender aos requisitos em tempo real do slam. A complexidade da associação de dados entre M sinais e mapas com n sinais é exponencial com M. Supondo que cada sinal observado I tenha uma correspondência possível, para M sinais é necessário buscar a correspondência correta no espaço exponencial =. O espaço de busca de associação de dados está relacionado à complexidade do ambiente e ao erro de posicionamento do robô. O aumento da complexidade do ambiente aumentará m, e o aumento do erro aumentará Ni.2.5 erro cumulativo Os erros no slam decorrem principalmente de três aspectos: (1) Erro de observação; (2) Erro do hodômetro; (3) Erros causados ​​por associação incorreta de dados; Quando o robô se localiza no ambiente de um mapa conhecido, o robô pode compensar o erro do hodômetro observando a marca característica com posição conhecida. Cada observação faz com que o erro de posição do robô tenda à soma do erro de observação e do erro de posição da marca característica. No entanto, no Slam, como a posição do robô e a posição da marca característica no ambiente são desconhecidas, as informações de observação não podem corrigir efetivamente o erro do odômetro, e o erro de posição do robô aumenta com a distância móvel de o robô. O aumento do erro de posição do robô levará à associação errada de dados, o que aumentará o erro de posição da marca de recurso; por sua vez, o erro da marca do recurso aumentará o erro de posição do robô. Portanto, o erro de posição do robô está intimamente relacionado ao erro de posição da marca característica. A interação entre eles faz com que a estimativa da posição do robô e da marca característica produza erros cumulativos, o que é difícil de garantir a consistência do mapa. 3. Método de implementação do slam Atualmente, os métodos slam podem ser divididos aproximadamente em duas categorias: (1) Métodos baseados no modelo de probabilidade: slam completo baseado no filtro de Kalman, filtro de compressão, FastSLAM, etc. (2) Métodos de modelo não probabilístico: sm -slam, correspondência de varredura, associação de dados, baseada em lógica difusa, etc.3.1 método de implementação baseado no filtro de Kalman Do ponto de vista estatístico, slam é um problema de filtragem, ou seja, estimar o estado atual do sistema de acordo com o estado inicial do sistema e as informações de observação e controle (leitura do odômetro) de 0 a t. No slam, o estado do sistema é composto pela pose do robô R e informações do mapa m (incluindo as informações de posição de cada marca de recurso). Assumindo que o modelo de movimento e o modelo de observação do sistema são modelos lineares com ruído gaussiano, e o estado do sistema obedece à distribuição gaussiana, o slam pode ser realizado pelo filtro de Kalman. SLAM baseado no filtro Kalman inclui duas etapas: previsão e atualização do estado do sistema. Ao mesmo tempo, ele também precisa gerenciar informações do mapa, como a adição de novas marcas de feições e a exclusão de marcas de feições. O filtro de Kalman assume que o sistema é linear, mas na prática, o modelo de movimento e o modelo de observação do robô são não lineares. Portanto, o filtro de Kalman estendido é normalmente usado. O filtro de Kalman estendido representa aproximadamente o modelo não linear através da expansão de Taylor de primeira ordem. Outro filtro Kalman adequado para modelos não lineares é o UKF (filtro Kalman sem cheiro). UKF usa distribuição gaussiana condicional para aproximar a distribuição de probabilidade a posteriori. Comparado com EKF, o UKF tem maior precisão de linearização e não precisa calcular a matriz Jacobiana. O filtro de Kalman se tornou o método básico para realizar o slam. Sua matriz de covariância contém informações incertas de posição e mapa do robô. Quando o robô observa continuamente os sinais característicos do ambiente, o determinante de qualquer submatriz da matriz de covariância diminui monotonicamente. Teoricamente, quando o número de observações tende ao infinito, a covariância de cada marca de recurso está relacionada apenas à covariância da posição inicial do robô. A complexidade de tempo do filtro de Kalman é O(). Como o robô só pode observar algumas marcas de recursos por vez, a complexidade de tempo do SLAM baseado no filtro de Kalman pode ser otimizada como O (), e N representa o número de marcas de recursos no mapa.3.2 método de submapa local O método do submapa local decompõe o slam em alguns subproblemas menores da perspectiva do espaço. Os seguintes problemas devem ser considerados no método dos submapas: (1) Como dividir os submapas; (2) Como representar a relação entre submapas; (3) Como transferir as informações do submapa para o mapa global e se a consistência do mapa global pode ser garantida; O método de submapa local mais simples é dividir o mapa global em submapas independentes, incluindo um número fixo de marcadores de características, sem considerar a relação entre os submapas, e implementar slam em cada submapa, respectivamente. A complexidade de tempo deste método é O (1). No entanto, devido à perda de informações úteis que representam a correlação entre os diferentes submapas, este método não pode garantir a consistência global do mapa. Nesse sentido, Leonard et al. Método DSM (mapeamento estocástico desacoplado) proposto. Cada submapa no DSM salva sua própria estimativa de posição do robô. Quando o robô entra em outro submapa B de um submapa a, o método baseado em EKF é usado para transmitir as informações do submapa a para o submapa B; B. Williams et al. Proposto um método slam baseado em CLSF (filtro de submapa local restrito). CLSF cria um submapa com coordenadas globais conhecidas no mapa. Durante o progresso do robô, apenas as informações de observação são usadas para atualizar a posição das marcas de recursos no robô e no submapa local, e as informações do submapa local são transmitidas ao mapa global em um determinado intervalo de tempo. Embora experimentos mostrem que os dois algoritmos apresentam bom desempenho, não foi provado teoricamente que possam manter a consistência dos mapas. J. Guivant et al. Propôs um algoritmo de otimização de slam cekf (filtro de Kalman estendido compactado) sem qualquer perda de informação. Cekf divide as marcas de características observadas nas partes A e B. A representa a área adjacente à posição atual do robô, que é chamada de submapa ativo. Quando o robô se move no submapa ativo a, a posição do robô e do submapa a são atualizados em tempo real usando as informações de observação, e a influência das informações de observação no submapa B é registrada pelo método recursivo; Quando o robô sai do submapa ativo a, as informações de observação são transmitidas ao submapa B sem perdas, de modo a atualizar o submapa B de uma vez e criar um novo submapa ativo ao mesmo tempo. O tempo de cálculo deste método consiste em duas partes: slam no submapa de atividades, cuja complexidade de tempo é O(), que é o número de marcas de feições no submapa de atividades a; A complexidade de tempo de atualização do submapa B é O (), que é o número de marcas de recursos no mapa B. Quando o intervalo de tempo de fusão do submapa é grande, o cekf pode efetivamente reduzir a quantidade de cálculo de slam.3.3 método de decorrelação Outra forma de reduzir a complexidade do slam é ignorar alguns elementos com valores menores na matriz de covariância que representa a relação de correlação e transformá-la em uma matriz esparsa. Porém, também perderá a consistência do mapa devido à perda de informações. No entanto, se a representação da matriz de covariância puder ser alterada de modo que muitos de seus elementos sejam próximos ou iguais a zero, ela poderá ser ignorada com segurança. SLAM baseado em filtro de informação estendido (EIF) é baseado nesta ideia. EIF é a expressão baseada em informação do EKF. A diferença entre eles é que representam informações em diferentes formas. O FEI utiliza a matriz inversa da matriz de covariância para representar as informações incertas no slam, que é chamada de matriz de informação. A fusão de duas matrizes de informação não relacionadas pode ser simplesmente expressa como a adição de duas matrizes. Cada elemento não diagonal na matriz de informação representa uma relação de restrição entre o robô e a marca de recurso ou entre a marca de recurso e a marca de recurso. Estas relações de restrição podem ser atualizadas localmente através da relação de sinal do estado do sistema. Esta atualização local torna a matriz de informação aproximada da matriz esparsa, e o erro causado pelo seu desbaste é muito pequeno. De acordo com isso, S. Thrun et al. Propôs um método de slam baseado em filtro de informação esparsa seif (filtro de informação estendida esparsa) e provou que a complexidade de tempo do slam usando matriz de informação esparsa é O (1). Embora o QIR possa reduzir eficazmente a complexidade temporal do slam, ainda existem alguns problemas na representação e gestão da informação cartográfica. Em primeiro lugar, o valor médio do estado do sistema só pode ser calculado aproximadamente em tempo constante; Em segundo lugar, no método slam baseado no EIF, a adição e eliminação de marcas de características é inconveniente.