Implementación del Planificador de ruta de comportamiento del área transitable de Autoware Universe en la zona de pruebas de tráfico

introducción

Autoware Universe es una plataforma de software de conducción autónoma de código abierto que integra una variedad de funciones avanzadas, que incluyen planificación de trayectoria, percepción, posicionamiento y control. Esta plataforma no solo es adecuada para vehículos autónomos de tamaño real, sino que también se usa ampliamente en modelos de entorno de pruebas de transporte inteligente de conducción autónoma en miniatura. En el entorno en miniatura del entorno de pruebas de tráfico colaborativo inteligente en red entre vehículos y carreteras, Autoware Universe puede simular varios escenarios de conducción en el mundo real, proporcionando así un entorno experimental seguro y controlable para probar y verificar la tecnología de conducción autónoma.

En particular, el uso de vehículos autónomos colaborativos inteligentes conectados a la red y zonas de pruebas de tráfico inteligentes puede lograr el aprendizaje y la aplicación del reconocimiento y la percepción de "áreas transitables" en Autoware Universe. La percepción del área transitable es crucial para los vehículos autónomos ya que define el espacio en el que el vehículo puede viajar con seguridad. Al practicar este concepto en un entorno simulado, los investigadores y estudiantes pueden obtener una comprensión más profunda de cómo los vehículos autónomos navegan de forma segura en una variedad de condiciones de la carretera y escenarios de tráfico.

La zona de pruebas de tráfico de conducción autónoma colaborativa inteligente en red entre vehículos y carreteras proporciona una plataforma única para el aprendizaje y la experimentación. Permite a los desarrolladores e investigadores explorar y comprender la tecnología de conducción autónoma sin implicar los riesgos de los entornos de tráfico reales. Por ejemplo, a través de la caja de arena en miniatura de conducción autónoma colaborativa inteligente entre vehículos y carreteras, se pueden simular carreteras urbanas, intersecciones complejas y diversos escenarios de tráfico para probar y mejorar el algoritmo de detección de áreas transitables en Autoware Universe. Esta simulación no sólo profundiza la comprensión teórica, sino que también proporciona una forma eficaz de practicar y demostrar la tecnología de conducción autónoma.


Definición de área accesible

El área de conducción es un concepto central en la tecnología de conducción autónoma y se refiere al área donde un vehículo puede conducir de forma segura. En el módulo de planificación de rutas de comportamiento de Autoware Universe, este concepto es particularmente importante porque afecta directamente el proceso de planificación de rutas y toma de decisiones del vehículo.

definición

El área transitable generalmente se determina en función del entorno en el que se encuentra actualmente el vehículo (como carreteras, carriles, señales de tráfico y obstáculos circundantes). Incluye la porción de la superficie de la carretera sobre la cual los vehículos pueden viajar de manera segura sin conflicto con otros vehículos, peatones u obstáculos.

Papel en el módulo de planificación de rutas de comportamiento

En Autoware Universe, el módulo de planificación de rutas de comportamiento utiliza una variedad de algoritmos y datos de sensores para generar áreas transitables. Este proceso implica analizar la geometría del carril, las normas de tráfico, el entorno circundante, etc. para generar una ruta de conducción que sea segura y eficiente.

Combinando una mesa de arena con tráfico de red inteligente y un coche autónomo en miniatura

En los escenarios de aplicación de entornos de pruebas de transporte inteligentes en red y vehículos autónomos en miniatura, el concepto de áreas transitables se ha vuelto particularmente importante. Estos modelos en miniatura proporcionan una plataforma única para la enseñanza y la investigación, permitiendo a estudiantes e investigadores visualizar cómo los vehículos autónomos detectan e interpretan su entorno.

  1. Importancia didáctica : Al simular el entorno real de la carretera en el entorno de pruebas de conducción autónoma colaborativa colaborativa entre vehículos y carreteras en red inteligente en miniatura, los estudiantes pueden ver intuitivamente cómo los vehículos identifican las áreas transitables y cómo estas áreas afectan las decisiones de conducción del vehículo.

  2. Aplicaciones científicas : los investigadores pueden utilizar estos modelos para probar y optimizar algoritmos de conducción autónoma, especialmente en la identificación de áreas transitables y la planificación de rutas.

  3. Simule escenas complejas : la mesa de arena en miniatura de tráfico y los vehículos autónomos pueden simular diversas situaciones de tráfico complejas en el mundo real, incluidos diversos obstáculos estáticos y dinámicos, proporcionando una plataforma de experimentación y verificación para el desarrollo de tecnología de conducción autónoma.

A través de estas aplicaciones, los estudiantes e investigadores no sólo pueden obtener una comprensión más profunda de cómo funcionan los vehículos autónomos, sino también explorar y descubrir nuevos algoritmos y tecnologías para avanzar en el desarrollo de la tecnología de conducción autónoma.


importancia y propósito

En la enseñanza y la investigación científica sobre entornos de pruebas de transporte inteligentes en red y vehículos autónomos en miniatura, el concepto de "área transitable" desempeña un papel crucial. Este concepto está directamente relacionado con la seguridad y eficacia de los vehículos autónomos en entornos complejos, especialmente en entornos urbanos en miniatura simulados.

Claves para una conducción segura
  1. La base de la planificación de rutas : la zona transitable proporciona un campo de conducción claro y seguro para los vehículos autónomos. Ayuda al vehículo a identificar qué áreas son seguras y qué áreas pueden contener riesgos potenciales, como peatones, otros vehículos u obstáculos.

  2. Riesgo reducido de colisión : Las zonas accesibles reducen significativamente la probabilidad de colisión con otros vehículos u obstáculos al definir claramente el área en la que un vehículo puede viajar con seguridad.

  3. Responder a los cambios dinámicos : en un entorno de tráfico cambiante en tiempo real, el ajuste dinámico del área transitable permite a los vehículos responder rápidamente a los cambios en las condiciones de la carretera, como zonas de construcción temporal o emergencias.

La importancia de la docencia y la investigación científica.
  1. Experimentación y verificación : en el entorno de pruebas de transporte inteligente en red, los investigadores y estudiantes pueden utilizar automóviles autónomos en miniatura para experimentar y verificar la tecnología de identificación de áreas transitables. Este modelo en miniatura proporciona un entorno seguro y controlado para probar y optimizar algoritmos de conducción autónoma.

  2. Combinación de teoría y práctica : al simular situaciones de tráfico del mundo real en un entorno sandbox, los estudiantes pueden comprender mejor las teorías de la tecnología de conducción autónoma y aplicar estas teorías a la práctica.

  3. Innovación y exploración : En este entorno de simulación, se pueden probar libremente nuevas ideas y métodos para promover la innovación tecnológica y la investigación académica en el campo de la conducción autónoma.

  4. Recopilación y análisis de datos : los coches autónomos en miniatura pueden recopilar grandes cantidades de datos en un entorno simulado para que los investigadores analicen y optimicen los algoritmos de identificación de áreas transitables.

        La identificación de áreas transitables no sólo es crucial para el funcionamiento seguro de los vehículos autónomos, sino que también es de gran importancia en la enseñanza y la investigación científica de zonas de pruebas de tráfico inteligentes en red y vehículos autónomos en miniatura. Proporciona a estudiantes e investigadores una plataforma práctica para explorar, experimentar y validar tecnologías de conducción autónoma, especialmente en entornos urbanos complejos. A través de estas prácticas, podemos profundizar nuestra comprensión del comportamiento de los vehículos autónomos y promover el desarrollo de la tecnología de conducción autónoma.

Proceso de generación y supuestos.

En Autoware Universe, el proceso de generación y los supuestos del área conducible (Área conducible) son los componentes centrales del algoritmo de planificación de ruta de la plataforma. Estos supuestos y procesos definen las áreas en las que un vehículo puede viajar de manera segura y brindan orientación sobre cómo identificar y abordar estas áreas. La siguiente es una descripción detallada:

proceso de generacion

Generación de carriles transitables : antes de generar áreas transitables, es necesario clasificar los carriles transitables. Los carriles transitables se seleccionan en cada módulo ( , Lane Follow, Avoidance, Lane Change Goal Planner Pull Outetc.), por lo que se pueden encontrar más detalles sobre la selección de carriles transitables en la documentación de cada módulo. Usamos la siguiente estructura para definir carriles transitables.

struct DrivalbleLanes
{
    lanelet::ConstLanelet right_lanelet; // right most lane
    lanelet::ConstLanelet left_lanelet; // left most lane
    lanelet::ConstLanelets middle_lanelets; // middle lanes
};

A continuación se muestra una imagen de carriles transitables ordenados.

Tenga en cuenta que el orden de los carriles transitables se convierte en

drivable_lanes = {DrivableLane1, DrivableLanes2, DrivableLanes3, DrivableLanes4, DrivableLanes5}

Generación de área transitable : generateDrivableAreaLa función se encarga de generar áreas transitables. Esta función determina qué áreas son seguras según la información actual del carril y la ubicación y ruta del vehículo.

Cree áreas transitables utilizando carriles transitables dispuestos en el orden en que pasan los vehículos. Lo creamos desde el borde izquierdo del carril más a la izquierda y right_boundel borde derecho del carril más a la derecha left_bound. La imagen creada del área transitable será la línea azul a continuación. Tenga en cuenta que el área transitable se define en los mensajes Pathy PathWithLaneIdcomo

std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;

Cada punto en los límites derecho e izquierdo tiene una posición en el sistema de coordenadas absoluto.

Ampliación del área de conducción :

        Expansión estática : cada módulo puede expandir estáticamente los límites izquierdo y derecho del canal de destino según el valor definido por el parámetro. Esto permite a los vehículos grandes sortear curvas cerradas. La imagen de este proceso se puede describir como

Tenga en cuenta que solo ampliamos el límite derecho del carril más a la derecha y el límite izquierdo del carril más a la izquierda.

La expansión dinámica  del área transitable también se puede expandir dinámicamente basándose en un ancho mínimo calculado basándose en la curvatura de la trayectoria y las propiedades del vehículo ego. Si la expansión estática también está habilitada, la expansión dinámica se completará después de la expansión estática para que ambas expansiones se apliquen simultáneamente.

Sin expansión dinámica Con función de expansión dinámica

A continuación, detallamos el algoritmo utilizado para ampliar los límites del área transitable.

1 Calcular y suavizar la curvatura del camino.

Para evitar cambios repentinos en el área transitable que se expande dinámicamente, primero intentamos reutilizar la mayor cantidad posible del camino anterior y su curvatura calculada. Los puntos de ruta y la curvatura anteriores se reutilizan hasta que reuse_max_deviationel primer punto de ruta anterior se desvía de la nueva ruta en más que el parámetro. En esta etapa, los caminos también se vuelven a muestrear resampled_intervaly max_arc_lengthse recortan según . Utilizando los puntos de referencia preprocesados ​​resultantes y la curvatura anterior, la curvatura de los nuevos puntos de referencia se calcula utilizando el método de 3 puntos y curvature_average_windowse suaviza utilizando un promedio de ventana móvil con el tamaño de la ventana.

2 Para cada punto de ruta, calcule el segmento de límite más cercano y el ancho mínimo del área transitable

Proyecte cada punto de ruta en los límites originales del área transitable izquierda y derecha para calcular su índice de límite correspondiente, la distancia original al límite y el punto de proyección. Además, para cada punto de ruta, el ancho mínimo del área transitable se calcula usando la siguiente fórmula: donde es el ancho mínimo del área transitable, es el voladizo delantero de ego, es la distancia entre ejes de ego, es el ancho de ego y es la curvatura del camino. . Esta ecuación se deriva del trabajo de Lim, H., Kim, C. y Jo, A., “Autonomous Large Passenger Bus Lateral Control on Large Curvature Roads Based on Model Predictive Control”

3 Calcule la distancia de extensión máxima de cada punto límite en función del objeto dinámico y la cadena de líneas de la imagen vectorial (opcional)#

Para cada punto límite del área transitable, calculamos su distancia de extensión máxima como su distancia al "obstáculo" más cercano (una avoid_linestrings.typecadena de líneas de mapa de tipo o un contorno de objeto dinámico si dynamic_objects.avoidestá configurado en true). De lo contrario max_expansion_distance 0.0, utilice aquí menos distancia que la distancia hasta el obstáculo más cercano.

 

4 Calcule cuánto se debe alejar cada punto límite del camino#

Para cada punto límite se calcula una distancia de desplazamiento. Haga que el ancho final entre los puntos límite izquierdo y derecho correspondientes sea lo más cercano posible al ancho mínimo calculado en el paso 2, pero mantenga la distancia de desplazamiento individual por debajo de la distancia de expansión máxima calculada previamente.

 

5 Mueva los puntos del límite a los valores calculados en el paso 4 y elimine todos los bucles en el límite resultante.

Finalmente, cada punto límite está más alejado del camino la distancia calculada en el paso 4. Una vez que se han movido todos los puntos, el anillo se retira del límite y obtenemos el área transitable extendida final.

 

Visualizando el área máxima manejable (depuración)#

A veces, los desarrolladores pueden obtener resultados diferentes entre dos mapas, que pueden verse iguales durante la inspección visual.

Por ejemplo, en la misma zona, una persona puede realizar la evitación, pero otra no. Esto puede estar relacionado con problemas con el área máxima transitable debido a un diseño de mapas vectoriales no conforme por parte de los usuarios.

Para solucionar problemas, se pueden visualizar los límites máximos del área manejable.

 

/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/maximum_drivable_areaEl área máxima transitable se puede visualizar agregando marcadores

Ampliación para zonas con marcas viales sombreadas#

Si se define un área de señalización vial sombreada en el mapa de carriles, esta área se puede utilizar como área transitable. Debido a que el área está representada en el formato poligonal de Lanelet2, se requieren varios pasos para expandirla correctamente.

 

Ajuste dinámico : el tamaño y la forma del área transitable se ajustan dinámicamente según la ubicación actual del vehículo y la ruta de viaje esperada. Esto garantiza que el vehículo tenga un área de conducción despejada y segura en condiciones cambiantes de la carretera y del tráfico.

hipótesis
  1. Relevancia de los patrones de comportamiento actuales : el área transitable generada se basa en el patrón de comportamiento actual del vehículo. Por ejemplo, en el modo "Seguir carril", el área transitable normalmente no incluye carriles adyacentes.

  2. Secuencia de disposición de carriles : al generar un área transitable, los carriles deben organizarse en el orden en que pasan los vehículos. Esto ayuda a garantizar que el área generada refleje la trayectoria real del vehículo.

  3. Cobertura : Los límites izquierdo y derecho deben cubrir el frente y el final del camino para garantizar que el área generada sea continua y completa.

Configuración de parámetros

La generación de áreas transitables se ve afectada por una variedad de parámetros, incluidas las configuraciones de expansión estáticas y dinámicas. Por ejemplo, la longitud de avance del carril, la longitud de retroceso del carril, el margen del carril y la resolución de la imagen son todos configurables para adaptarse a diferentes escenarios de conducción.

nombre tipo describir persistencia
~/debug/avoidance_debug_message_array
/avoidance_debug_message_array
tier4_planning_msgs::msg::AvoidanceDebugMsgArray Mensajes de depuración a evitar. No se puede generar la ruta del motivo para evitar la notificación por parte del usuario. volatile
~/debug/lane_change_debug_message_array
/lane_change_debug_message_array
tier4_planning_msgs::msg::LaneChangeDebugMsgArray Mensaje de depuración para cambio de carril. Notificar a los usuarios sobre motivos inseguros durante los cambios de carril volatile
~/debug/maximum_drivable_area visualization_msgs::msg::MarkerArray Muestra el área de conducción estática máxima. volatile
~/debug/turn_signal_info visualization_msgs::msg::MarkerArray por confirmar volatile
~/depurar/enlazado visualization_msgs::msg::MarkerArray Depuración de áreas transitables estáticas volatile
~/planificación/ruta_candidato/*
~/ruta_candidato/*
autoware_auto_planning_msgs::msg::Path Camino antes de la aprobación. volatile
~/planificación/ruta_referencia/*
ruta_referencia/*
autoware_auto_planning_msgs::msg::Path Rutas de referencia generadas para cada módulo. volatile

Funcionamiento interno del algoritmo

El algoritmo para generar áreas transitables implica cálculos complejos, como el cálculo de la curvatura del camino y la expansión dinámica de los límites. Estos algoritmos ajustan el área transitable en función de la posición dinámica del vehículo y las condiciones ambientales, asegurando que el vehículo siempre viaje dentro de un área segura.

El área transitable se utiliza para determinar el área en la que puede viajar el vehículo del ego. El objetivo principal de la expansión del área transitable estática es garantizar una conducción segura generando un área que contenga solo el espacio requerido para el comportamiento actual del vehículo, excluyendo áreas no esenciales. Por ejemplo, cuando avoidanceel módulo está en funcionamiento, el área transitable incluye el espacio adicional necesario para sortear obstáculos y limita el comportamiento al no extender la ruta de evitación más allá del área del carril.

Lógica dinámica del área transitable 

Los vehículos grandes requieren más espacio, lo que en ocasiones provoca que se desvíen de su carril actual. Un ejemplo clásico es el de un autobús que gira en una esquina. En este caso, confiar en áreas transitables estáticas no es suficiente porque los métodos estáticos se basan en la información de carril proporcionada por mapas HD. Para superar las limitaciones de los métodos estáticos, el algoritmo dinámico de expansión del área de conducción ajusta el espacio navegable de los vehículos autónomos en tiempo real. Ahorra potencia de cálculo al reutilizar los datos de ruta calculados previamente y actualizarlos solo cuando hay un cambio significativo en la posición del vehículo. El sistema evalúa el ancho mínimo del carril requerido para adaptarse al radio de giro del vehículo y otros factores dinámicos. Luego calcula la extensión óptima de los límites del área transitable para garantizar que haya suficiente espacio para maniobrar con seguridad, teniendo en cuenta la curvatura de la trayectoria del vehículo. La velocidad a la que estos límites pueden expandirse o contraerse se ajusta para mantener la estabilidad en la navegación del vehículo. El algoritmo está diseñado para maximizar el uso del espacio para conducir evitando obstáculos fijos y cumpliendo con las restricciones legales de conducción. Finalmente, aplica estos ajustes de límites y suaviza los cálculos de curvatura de la ruta para garantizar que se mantenga una ruta navegable segura y que cumpla con la ley durante la operación del vehículo.

Aplicación práctica

En un entorno de simulación de espacio aislado inteligente conectado a una red, aprender a identificar y percibir áreas transitables a través de automóviles autónomos en miniatura es una aplicación innovadora. Esto no sólo facilita la investigación y los fines educativos, sino que también demuestra el potencial de aplicar estas tecnologías en entornos viales reales.

  1. Pruebas en un entorno de simulación : en la zona de pruebas de tráfico de la red inteligente, se pueden utilizar vehículos autónomos en miniatura para probar y verificar la eficacia del algoritmo de reconocimiento de áreas transitables. Este entorno simulado proporciona un lugar de prueba seguro y controlado para la investigación.

  2. Optimización y verificación de algoritmos : mediante la aplicación en un entorno de simulación de espacio aislado, los desarrolladores pueden recopilar datos, analizar el rendimiento del algoritmo de reconocimiento de áreas transitables y optimizarlos y ajustarlos en consecuencia.

  3. Educación y formación : el entorno sandbox proporciona una plataforma práctica para que estudiantes e investigadores aprendan tecnología de conducción autónoma, especialmente en términos de identificación de áreas transitables y planificación de rutas.

Resumir

En términos generales, el área transitable es de gran importancia en la tecnología de conducción autónoma, especialmente en aplicaciones en entornos simulados, como escenarios de pruebas de redes inteligentes. De esta manera, los algoritmos de conducción autónoma se pueden probar y verificar en un entorno seguro y controlado, proporcionando una base sólida para aplicaciones prácticas en carretera.

Supongo que te gusta

Origin blog.csdn.net/yang8767/article/details/135347569
Recomendado
Clasificación