¿Qué es el archivo de definición de red de rutas (RNDF) para vehículos autónomos?

May 10 2022
Una de las 4 partes principales de una pila de software de auto conducción es la planificación. Y RNDF o archivo de definición de red de ruta es lo primero que usa PLANNING.

Una de las 4 partes principales de una pila de software de auto conducción es la planificación. Y RNDF o archivo de definición de red de ruta es lo primero que usa PLANNING.

Un RNDF es un archivo ASCII delimitado por tabulaciones. Básicamente define los Caminos y Zonas.

El formato típico de un archivo RNDF tiene el siguiente aspecto.

RNDF_name nombre de archivo (cadena)

núm_segmentos número_de_segmentos (entero>0)

núm_zonas número_de_zonas (entero≥ 0)

format_version format_version (cadena)

fecha_de_creación fecha_de_creación (cadena)

<segmento 1>

.

.

<segmento M>

<zona M+1>

.

.

<zona M+N>

end_file

Con solo mirar el formato, podemos ver claramente que el archivo RNDF contiene detalles sobre segmentos y zonas. Aquí hay un ejemplo del segmento de carretera.

Fig. 1: Un segmento de carretera (Segmento M) compuesto por dos carriles. Los carriles no tienen necesariamente el mismo número de waypoints. (https://www.grandchallenge.org/grandchallenge/docs/RNDF_MDF_Formats_031407.pdf)

Ahora veamos el formato de cada segmento. Debería empezar a tener sentido ahora.

segmento segment_id (entero>0)

núm_carriles número_de_carriles (entero>0)

nombre_segmento nombre_segmento (cadena)

<carril 1>

.

.

<carril n>

segmento_final

Pero no está completo Solo mirando la Figura 1, vemos que se necesita definir más información. Al igual que lane_width proporciona el ancho del carril en pies . También necesitamos definir el número de waypoints y su ubicación. Necesitamos un punto de control que indique que el punto de referencia es un punto de control con nombre. La palabra clave parada indica un punto de referencia asociado con una señal de alto. La palabra clave exit va seguida del nombre de exit_waypoint y entry_waypoint o entry_perimeterpoint relacionados asociados con el carril. Un carril puede tener varios puntos de control, señales de alto, puntos de paso de entrada, puntos de perímetro de entrada o puntos de paso de salida. Aquí tienes:

carril carril_id (xy; x,y∈ entero>0)

num_waypoints numero_de_waypoints (entero>0)

ancho_carril ancho_carril (entero≥ 0)

límite_izquierdo límite_izquierdo (cadena ∈ {amarillo_doble, amarillo_sólido, blanco_sólido, blanco_roto})

límite_derecho límite_derecho (cadena∈ {amarillo_doble, amarillo_sólido, blanco_sólido, blanco_roto})

punto de control waypoint_id (xyz; x,y,z∈ entero>0) checkpoint_id (entero>0) detener waypoint_id (xyz; x,y,z∈ entero>0)

salida exit_waypoint (waypoint_id) entrada_waypoint (waypoint_id)

salir exit_waypoint (waypoint_id)

entry_perimeterpoint (perimeterpoint_id)

<punto de ruta 1>

.

.

<punto de referencia n>

final_carril

En la pestaña <waypoint> , el waypoint se define de la siguiente manera. Los campos de latitud y longitud son puntos fijos con seis decimales y expresan las ubicaciones de los waypoints en grados decimales,

waypoint_id (xyz; x,y,z∈ entero>0) latitud (fija) longitud (fija)

Ahora puede saber por qué tantas entradas, salidas y paradas de waypoint. Porque un segmento puede fusionarse con otro o un carril en un segmento de carretera puede tener un callejón sin salida. Necesitamos saber que para planificar un giro en U y otras maniobras especiales

Aquí hay un ejemplo de un segmento completo.

Fig. 2: Intersección de la señal de alto del segmento 2 y el segmento 1. Los puntos rojos son los puntos de referencia de salida, los puntos azules son los puntos de referencia de entrada y los puntos verdes son otros puntos de referencia. (https://www.grandchallenge.org/grandchallenge/docs/RNDF_MDF_Formats_031407.pdf)

Nuevamente, volviendo al archivo original, podemos ver que hay otro segmento para Zone.

Pero qué es una zona. Aquí hay un ejemplo de una Zona.

Fig. 3: La Zona M contiene obstáculos que pueden estar en movimiento o estacionarios, pero cuyas ubicaciones no se especifican. Los puntos amarillo, azul y rojo que crean la zona poligonal son puntos perimetrales, algunos de los cuales también son puntos de entrada y salida a segmentos adyacentes. La línea de puntos muestra una de las muchas rutas de viaje posibles. (https://www.grandchallenge.org/grandchallenge/docs/RNDF_MDF_Formats_031407.pdf)

Una zona puede ser un lugar de estacionamiento o una zona de construcción o incluso un postre. Echemos un vistazo a la zona del lugar de estacionamiento y cómo se pueden conectar diferentes segmentos a ella.

Fig 5: Lugar de Estacionamiento como Zona. (https://www.grandchallenge.org/grandchallenge/docs/RNDF_MDF_Formats_031407.pdf)

zona zone_id (entero>0)

num_spots numero_de_plazas de estacionamiento (entero≥0)

zone_name zone_name (cadena)

<perímetro>

<lugar opcional 1>

.

.

<lugar opcional N>

zona final

Ahora probablemente se esté haciendo una idea de cómo se formatea todo el archivo RNDF. Así que analicemos la última parte.

perímetro perímetro_id (x.0; x∈ entero>0)

num_perimeterpoints number_of_perimeterpoints (entero>0)

exit exit_perimeterpoint (perimeterpoint_id) entry_waypoint (waypoint_id)

<punto perimetral>

perímetropoint_id (x.0.z; x,z∈ entero>0) latitud (fija) longitud (fija)

Y también la parte del lugar.

spot spot_id (xy; x,y∈ entero>0)

spot_width spot_width (entero>0)

punto de control waypoint_id (xyz; x,y,z∈ entero>0) checkpoint_id (entero>0)

end_spot

Con suerte, ahora está claro cómo podemos escribir nuestro propio archivo RNDF y ponerlo en nuestro automóvil para navegar con éxito.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved