Resumo! Resumo dos métodos de tratamento de obstáculos no planejamento automático do caminho de direção

Autor | Sr. Xiya Editor | Autobot

Link original: https://zhuanlan.zhihu.com/p/635971229

Clique no card abaixo para prestar atenção na conta pública " Automatic Driving Heart "

Produtos secos ADAS Jumbo, você pode obtê-lo

Clique para entrar → Automatic Driving Heart [Planning Control] Technical Exchange Group

Resposta do plano de fundo [Resumo do controle de planejamento] Obtenha os documentos de revisão mais recentes sobre planejamento e controle de direção autônoma e robôs inteligentes!

1. Introdução

Quer o planejamento de caminho seja realizado no sistema de coordenadas Frenet ou no sistema de coordenadas cartesianas, o tratamento de restrições de obstáculos é a parte mais desafiadora de todo o problema de planejamento de direção autônoma. (PS aqui se refere a métodos baseados em otimização, métodos baseados em amostragem + poda e pesquisa em grade estão fora do escopo da discussão)

De um modo geral, o processamento de boas restrições de obstáculos precisa atender às seguintes características : precisão, diferenciabilidade, baixa complexidade computacional e um pequeno número de pontos extremos locais .

Na literatura existente relacionada à direção autônoma, os métodos de processamento de restrições de obstáculos podem ser divididos nas seguintes categorias:

  1. Método de processamento baseado em programação linear inteira mista

  2. método OBCA

  3. Método de processamento baseado em corredor de tráfego de casco convexo

  4. Método de processamento baseado em campo de distância sinalizada (SDF)

Abaixo, apresentarei as ideias principais de cada método, uma a uma, e compararei suas vantagens e desvantagens.

2 Expressão geral de restrições de obstáculos

Primeiro, defina o ponto de coordenada no plano bidimensional como p=[x,y], então você pode definir um conjunto representando o espaço ocupado por obstáculos e um conjunto representando o espaço ocupado pelo veículo principal e, em seguida, defina o obstáculo restrições matematicamente precisas.

Neste artigo, assume-se que os obstáculos podem ser envolvidos por um polígono convexo ou por múltiplos polígonos convexos, o que simplifica a descrição das restrições de obstáculos. Essa suposição é razoável e é adotada na maioria dos trabalhos. Mesmo obstáculos muito complexos podem ser relaxados com um pequeno número de restrições para que possam ser representados por vários polígonos convexos. Um obstáculo poligonal convexo pode ser representado pelos seguintes símbolos:

3c3d9a711408493713f59b9caeb5220a.png

Dentre eles, cada linha da matriz A representa o vetor normal de um lado de um polígono de obstáculo, e cada linha do vetor b representa a distância deste lado do obstáculo até a origem. Assim, n também representa o número de lados do casco convexo do obstáculo. Observe que o significado aqui assume que o comprimento do módulo de cada linha da matriz A é 1.

O espaço ocupado do veículo principal é geralmente expresso por múltiplos círculos envolventes ou um único retângulo. Quando o círculo do envelope é usado para expressar, o círculo do envelope pode ser reduzido a um ponto de massa e o obstáculo pode ser expandido por um raio de círculo, de modo que o veículo principal possa ser reduzido a um segmento de linha ou a vários pontos discretos (ignorando o centro do círculo do envelope Relação fixa), e então o problema de restrição de obstáculo torna-se um problema de evitar um ponto aparecendo na casca convexa, ou evitar a interseção de um segmento de linha e a casca convexa. Quando um único retângulo é usado, o problema de restrição de obstáculo é evitar a interseção (sobreposição) do retângulo e o casco convexo do obstáculo.

32f47139d4728a1f86a8cbe53989c43e.png

2 Método de processamento baseado em programação linear inteira mista

Pensando em uma pergunta, o que significa para um ponto p que ele não esteja em um casco convexo de obstáculo?

De fato, basta que o ponto p viole a restrição de qualquer lado do obstáculo, ou seja, a desigualdade Ap<=b não vale em nenhuma reta.

Portanto, para fazer um ponto longe do obstáculo, você só precisa usar qualquer lado ou qualquer número de lados do casco convexo do obstáculo.

Para tanto, pode-se definir uma série de variáveis ​​binárias, denotadas como, onde i=1,...,m representa o número de obstáculos, j=1,...,n representa o número de arestas no obstáculo convexo casco. Portanto, o número total de é m*n. Além disso, quando =0, significa que o ponto p satisfaz a restrição desta aresta. Quando =1, significa que o ponto p não satisfaz a restrição do lado, ou seja, esta é a verdadeira restrição do obstáculo.

Com base na definição acima, considere primeiro o caso de um único ponto p, as restrições de obstáculos podem ser expressas da seguinte forma:

0d33b2bcb3b4e0e5f17b5c4440b42e0e.png

Entre eles, e representam os parâmetros relevantes do j-ésimo lado do i-ésimo obstáculo. Além disso, a terceira desigualdade significa que para o i-ésimo obstáculo, pelo menos uma restrição lateral deve ser válida, caso contrário, ocorrerá uma colisão.

Além disso, considere um caso mais geral, como o problema de restrição de colisão de um segmento de linha ou um retângulo.

Para garantir que um segmento de linha ou retângulo não colida, precisamos que todos os pontos finais do segmento de linha ou retângulo satisfaçam a restrição ao mesmo tempo, ou seja, a seguinte expressão:

16cbc5d73b74e1b7e7697fb5056b408b.png

Entre eles, k representa o número de extremidades do segmento de linha ou retângulo.

Comentários:
O método de modelagem de restrição de colisão baseado em programação linear inteira mista introduz um grande número de variáveis ​​binárias e gera um grande número de restrições.A complexidade computacional é muito alta, mas a precisão da modelagem de restrição de colisão é melhor. Além disso, de um modo geral, problemas de programação linear inteira mista de pequena escala podem encontrar a solução ótima global, mas também requerem muito tempo de computação.

3 Método OBCA

O núcleo do método OBCA é usar dualidade forte para transformar as restrições de distância sinalizadas do veículo hospedeiro e obstáculos em restrições não lineares suaves gerais.

846905af5584755cfb7499eb4cbeaed1.png c6b7a52f2bd4ecdfc7d39d06832a4547.png

Em seguida, defina a função de distância sinalizada dos dois conjuntos da seguinte maneira:

1ef0a0efb7a76c5f50d7c210e39e35fb.png

em:

f2d50e9188b3ddd67f07827bbe04433a.png

Obviamente, as funções acima são funções relacionadas ao estado x do veículo principal. A função dist expressa a distância mínima que o veículo principal precisa percorrer antes de colidir com os obstáculos. A função caneta descreve a distância mínima que o veículo principal precisa percorrer para não colidir com obstáculos. Por exemplo, se o carro principal colidiu com um obstáculo, dist=0, se não houver colisão, então pen=0. Portanto, quando o veículo principal e o obstáculo tiverem colidido, o símbolo distância sd representa a distância que o obstáculo invade o veículo principal. Quando o veículo principal não colide com o obstáculo, o símbolo distância sd representa a distância do veículo principal em relação ao obstáculo.

Portanto, com base na definição de distância sinalizada, as restrições de obstáculos podem ser descritas como:

c240ff3f62bdb627b05d5a0c4717af49.png

Entre eles, d representa o limite de distância para evitar colisões com obstáculos.

Como a função de distância com sinal descrita acima é ela mesma um problema de otimização restrito, as condições KKT para sua solução ótima podem ser encontradas. Além disso, de acordo com a teoria de otimização, a restrição de distância sinalizada pode finalmente ser convertida em uma restrição não linear geral:

754c371742cffce1e7a83e1b4a351059.png

A fórmula acima converte as restrições de obstáculo originais em cinco restrições, incluindo três restrições de desigualdade e duas restrições de igualdade. E introduzido e como variáveis ​​auxiliares. Do ponto de vista formal, as restrições acima são funções não lineares de x , e , então algumas ferramentas de otimização não linear são necessárias para resolvê-las.

Comentários:
O método OBCA converte com precisão restrições de obstáculos discretas e descontínuas em restrições não lineares suaves contínuas, para que possam ser resolvidas por otimizadores não lineares gerais. No entanto, o método OBCA também introduz um grande número de variáveis ​​auxiliares (o número de elementos é igual ao número de obstáculos multiplicado pelo número de lados dos obstáculos) e a complexidade da solução é relativamente grande. Além disso, o método OBCA ainda é um problema de programação não convexa, portanto existem inevitavelmente pontos extremos locais, de modo que os resultados da solução dependem da qualidade da solução inicial.

4 Método de processamento baseado no corredor de passagem do casco convexo

De acordo com minha observação, o método de processamento de restrição de obstáculos baseado no corredor de passagem do casco convexo é o método mais comumente usado na prática da engenharia. Tem algumas vantagens de princípio simples, resultados de solução estáveis ​​e velocidade de solução rápida.

O método de processamento de restrição de obstáculos baseado no corredor de passagem do casco convexo pode geralmente ser dividido em três etapas:

  • 1. De acordo com a posição espacial dos obstáculos, construa um corredor de passagem composto por cascos convexos

  • Observação 1: A forma do casco convexo pode ser variada, como círculo, retângulo, trapézio e outros polígonos convexos

  • Observação 2: Para garantir a segurança do Caminho final, geralmente é necessário haver sobreposição entre os cascos convexos adjacentes, e a união dos cascos convexos deve cobrir completamente a área de passagem do ponto inicial ao ponto final

  • Em segundo lugar, os pontos do caminho e os cascos convexos são combinados um a um, ou seja, a gama de atividades permitidas para cada ponto do caminho é especificada

  • Três, a restrição de desvio de obstáculos é convertida em uma restrição linear do ponto Path dentro do casco convexo

O princípio específico do método acima é muito simples de dizer, mas na operação real, cada etapa envolverá muitos problemas.

O primeiro ponto, em relação ao método de construção de um corredor convexo, a maioria dos esquemas precisa determinar a solução inicial por meio de alguns métodos com antecedência e expandir o casco convexo em torno do ponto Path na solução inicial. Portanto, isso requer que a solução inicial não seja muito ruim, caso contrário, é absolutamente impossível obter um bom resultado de planejamento no final. Em segundo lugar, mesmo que a qualidade da solução inicial seja boa, é necessário garantir que o envoltório convexo seja o maior possível ao gerar o envoltório convexo e cubra mais espaço de passagem, de modo a garantir que o caminho final tenha um grande espaço de ajuste. Além disso, quando o espaço de solução é muito estreito e pode não ser possível construir um corredor com um casco convexo que seja grande o suficiente e se sobreponha, como relaxar as restrições e garantir a resolubilidade do problema também precisa ser considerado.

O segundo ponto, em relação à correspondência de pontos de caminho e coberturas convexas, a maioria dos métodos vincula pontos de caminho e coberturas convexas um a um ao definir o problema de otimização e, no processo de resolução e otimização de todo o problema, todos são corrigidos. A vantagem disso é que a restrição de desvio de obstáculos pode ser completamente convertida em uma restrição convexa, o que melhora a velocidade da solução e a estabilidade do Path. No entanto, esse método depende da qualidade da solução inicial. Se os pontos do caminho da solução inicial estiverem dentro da cobertura convexa no início, é relativamente fácil realizar a correspondência um-para-um entre os pontos do caminho e a cobertura convexa . Mas se a solução inicial não estiver dentro do intervalo de restrição no início, será mais difícil determinar em qual envoltório convexo o ponto Path se move. Portanto, também existem alguns métodos que fornecem ideias de otimização iterativas.No início, um conjunto de correspondência entre os pontos do caminho e as cascas convexas é fornecido e, à medida que o caminho itera, essa correspondência é gradualmente trocada e finalmente estabilizada.

00332b4f14ac55a1e51dcb4dc0901d12.png

Finalmente, como considerar o envelope do veículo principal com base no método de processamento do corredor de casco convexo também é uma questão que vale a pena pensar.

Se o veículo principal for considerado como uma coleção de vários círculos de envelope, então o obstáculo pode ser expandido primeiro com o raio do círculo de envelope, o que equivale a retrair o limite do corredor convexo. Ao mesmo tempo, o carro principal também pode ser considerado um segmento de linha. O acompanhamento é garantir que cada segmento principal da linha do veículo caia dentro do mesmo alcance do casco convexo por meio da otimização. PS Isto requer que o alcance de cada envoltório convexo no corredor convexo seja maior, pelo menos para acomodar este segmento de linha. Obviamente, se não for possível garantir a geração de um envoltório convexo tão grande, também é possível deixar que os pontos no segmento de linha caiam em envoltórios convexos diferentes, mas essas restrições geralmente são mais rigorosas e uma certa quantidade de capacidade de tráfego será perdido.

Se o carro principal for considerado um retângulo, então, para lidar com essa situação, é necessário introduzir informações tridimensionais diferentes das coordenadas XY, ou seja, informações de proa. Porque se o carro principal colide com um obstáculo não está apenas relacionado à posição do carro principal, mas também intimamente relacionado ao seu rumo. Depois de introduzir as informações de proa, pode-se estabelecer o corredor de passagem do casco convexo no espaço tridimensional XY-Heading. Além disso, uma vez que o contorno do veículo principal é conhecido, esta informação pode ser considerada ao estabelecer a passagem do casco convexo XY-Heading, de modo que o veículo principal possa ser considerado como um ponto de massa com base na geração do corredor.

Por exemplo, no exemplo mostrado na figura abaixo, o veículo principal está no ponto A e no ponto B, que são duas posições possíveis de limite dentro do limite da estrada, e a faixa viável de Rumo nessas duas posições é de apenas 0 grau. No ponto C, o alcance viável do rumo do veículo principal é mais ou menos Pi. Portanto, no espaço XY-Heading, um espaço convexo tridimensional semelhante ao lado direito da figura abaixo pode ser construído para descrever o espaço de passagem, e o veículo principal pode ser considerado um ponto de massa.

6ff48596daa4232326e5e2b879c83464.png

Comentários:
O método de restrição de obstáculos baseado no corredor de tráfego de casco convexo adota o pensamento reverso, descrevendo o fato de que o veículo principal não pode invadir obstáculos e descreve que o veículo principal precisa permanecer em uma área segura. restrição O número é significativamente simplificado (o número de obstáculos pode ser muito grande, mas o número de cascos convexos é administrável). Além disso, como a área segura é um espaço convexo, o problema de prevenção de colisões é convertido em um problema convexo, o que melhora muito a velocidade e a estabilidade da solução. No entanto, o preço dessa simplificação é que precisamos fornecer corredores convexos de alta qualidade e soluções iniciais com antecedência. Se o próprio corredor convexo não for razoável, o caminho resultante será naturalmente muito estranho.

5 Método de processamento baseado em campo de distância com sinal (SDF)

O campo de distância do símbolo euclidiano é comumente usado no campo de planejamento. Esse campo de distância pode ser construído no espaço bidimensional ou tridimensional. O valor do campo de distância em qualquer ponto do espaço representa a distância do ponto ao ponto mais próximo obstáculo (geometria). A razão pela qual é chamado de campo de distância simbólica é definir o espaço interno do obstáculo. Quando o ponto espacial está dentro do obstáculo, a distância assume um valor negativo. Caso contrário, a distância é um número positivo normal.

Na prática da engenharia, vamos gradear o espaço bidimensional ou tridimensional e, em seguida, calcular o valor da distância com sinal de cada grade, de modo a estabelecer um campo de distância com sinal completo e armazená-lo no espaço de memória. Com base no campo de distância sinalizada pré-estabelecido, podemos obter detecção de colisão eficiente e calcular rapidamente as informações de gradiente e as informações de segunda derivada geradas pelas restrições de colisão. Mais importante, quando ocorre uma colisão, as informações de colisão dentro do obstáculo também são bem definidas, por isso é mais propício para o progresso suave do algoritmo de otimização.

De acordo com a descrição acima, para um único ponto, a definição do campo de distância com sinal é muito fácil e também muito conveniente de usar. Por exemplo, um drone geralmente usa um círculo para descrever seu contorno, e o drone pode ser simplificado até certo ponto, expandindo o obstáculo. Portanto, no planejamento de movimento de UAV, a figura do campo de distância simbólica pode ser vista com frequência.

No entanto, o erro operacional na redução do contorno a um único ponto é simplesmente grande demais para ser aceitável para um veículo. Se os quatro cantos do contorno retangular do veículo forem usados ​​diretamente de forma violenta, e sua distância de sinal for usada para julgar a colisão, sua segurança não pode ser garantida. É fácil construir um cenário em que nenhum dos quatro cantos colide, mas uma das arestas colide. Portanto, para utilizar este método, é necessário definir um campo de distância sinalizado do obstáculo ao contorno retangular do veículo. Obviamente, este campo de distância não está relacionado apenas à posição do veículo, mas também diretamente relacionado à atitude do veículo. Ou seja, para garantir a segurança dos resultados do planejamento do veículo, é necessário definir um campo de distância simbólico tridimensional relacionado a X, Y e ao Rumo do veículo principal. No momento, quase não vi nenhum trabalho nessa área. Se alguém souber, indique na área de comentários.

Comentários:
O método de restrição de obstáculos baseado no campo de distância simbólica euclidiana precisa gastar muitos recursos de computação e espaço de memória para construir o campo de distância simbólica antes da operação de otimização. Durante o processo de otimização, a avaliação do custo e da derivada pode ser realizada muito eficiente. calcular. Além disso, o método de planejamento baseado no campo de distância simbólica geralmente tem restrições relativamente fortes no contorno do objeto de planejamento e geralmente vê uma partícula, portanto, a precisão não é alta. Finalmente, o campo de distância com sinal estabelece uma função de campo potencial global que descreve o ambiente externo geral. Outros métodos geralmente consideram apenas obstáculos locais, o que é uma aproximação local do ambiente geral. Portanto, o planejamento sob o campo de distância sinalizado geralmente consegue obter melhores valores no ambiente geral, mas ainda depende fortemente da solução inicial.

6 Comparação abrangente

Com base na introdução anterior, um resumo e comparação dos quatro tipos de métodos acima podem ser feitos.

0fbaa52b2742cee62f404b157171259b.png

7 Referências

[1] Michael P. Vitus† et al. Tunnel-MILP: Planejamento de Caminhos com Politopos Convexos Sequenciais. 2008

[2] Xiaojing Zhang e outros. Estacionamento Autônomo usando Prevenção de Colisão Baseada em Otimização. 2018.

[3] Henrik Andreasson e outros. Suavização rápida e contínua do caminho do estado para melhorar a precisão da navegação. 2015.

[4] Zhichao Han et al. Planejamento de Trajetória Baseado em Planicidade Diferencial para Veículos Autônomos. 2022.

[5] Heechan Shin e outros. Planejamento de trajetória de conforto cinedinâmico para robôs semelhantes a carros. 2018.

revisão anterior

A revisão mais abrangente da história | Resumo dos algoritmos de detecção de alvos 3D! (monocular/binocular/LiDAR/multimodal/temporização/auto-supervisão semi-fraca)

(1) O curso em vídeo está aqui!

O Coração da Direção Autônoma reúne fusão de visão de radar de ondas milimétricas, mapas de alta precisão, percepção de BEV, calibração multissensor, implantação de sensor, percepção cooperativa de direção autônoma, segmentação semântica, simulação de direção autônoma, percepção L4, planejamento de decisão, previsão de trajetória , etc. Vídeos de aprendizado em cada direção, bem-vindo para fazer você mesmo (digitalize o código para entrar no aprendizado)

886f8ad4c70e4f7c3e2f7f2d24bf3ff9.png

(Escaneie o código para aprender o vídeo mais recente)

Site oficial do vídeo: www.zdjszx.com

(2) A primeira comunidade de aprendizado de direção autônoma na China

Uma comunidade de comunicação de quase 1.000 pessoas e mais de 20 rotas de aprendizado de pilha de tecnologia de direção autônoma, deseja aprender mais sobre a percepção de direção autônoma (classificação, detecção, segmentação, pontos-chave, linhas de pista, detecção de objetos 3D, Occpuancy, fusão multissensor, rastreamento de objetos, estimativa de fluxo óptico, previsão de trajetória), posicionamento e mapeamento de direção automática (SLAM, mapa de alta precisão), planejamento e controle de direção automática, soluções técnicas de campo, implementação de implantação de modelo AI, tendências da indústria, liberações de trabalho, bem-vindo ao escanear o Código QR abaixo, Junte-se ao planeta do conhecimento do coração da direção autônoma, este é um lugar com produtos secos de verdade, troque vários problemas para começar, estudar, trabalhar e trabalhar com os grandes da área, compartilhe papéis + códigos + vídeos diariamente , ansiosos pela troca!

87d588f08832b33d3905be595ae8cacf.jpeg

(3) [ Heart of Automated Driving ] Full-stack Technology Exchange Group

The Heart of Autonomous Driving é a primeira comunidade de desenvolvedores para direção autônoma, com foco na detecção de objetos, segmentação semântica, segmentação panorâmica, segmentação de instância, detecção de pontos-chave, linhas de pista, rastreamento de objetos, detecção de objetos 3D, percepção BEV, fusão multissensor, SLAM, estimativa de fluxo de luz, estimativa de profundidade, previsão de trajetória, mapa de alta precisão, NeRF, controle de planejamento, implantação de modelo, teste de simulação de direção automática, gerente de produto, configuração de hardware, busca e comunicação de trabalho AI, etc.;

44d1dfd7d1f34364930801e459e122c5.jpeg

Adicione o convite Wechat do assistente Autobot para ingressar no grupo

Observações: escola/empresa + direção + apelido

Acho que você gosta

Origin blog.csdn.net/CV_Autobot/article/details/131346200
Recomendado
Clasificación