1 minute read

Se ha estado intentando crear el primer dataset sintético a través de CARLA Simulator en un mapa creado desde 0.

World Machine

World Machine se trata de una aplicación de generación de terreno, que se ha utilizado para crear el landscape del mapa y tener un terreno realista. Para implementarlo en CARLA, se creo un nuevo nivel y en el modo landscape se seleccionó la opción de Import from file del archivo .r16 sacado de World Machine.

Landscape

Un problema que surgió es que para que el terreno se identificase con la etiqueta terrain en CARLA, era necesario exportar el landscape como static mesh e importarlo en Content/Carla/Static/Terrain para que a la hora de realizar la segmentación verdadera se identificase con dicha etiqueta. Tambien se realizó un camino de tierra mediante la opción de splines del modo landscape, que al exportar como static mesh se importo en la carpeta Ground.

Foliage

En el modo foliage se añadieron disitntos elementos como las rocas, los arbóles, el césped y los arbustos, todos dentro de la carpeta Vegetation de CARLA, por lo tanto todos son detectado como vegetación en la segmentación verdadera.

Archivo .xodr

Para realizar los códigos creados con la Python API de CARLA era necesario un archivo .xodr ya que define el camino que realiza el coche y la ubicación de los spawn point, como no se sabía como crear el archivo .xodr en un mapa personalizado se pidió ayuda a David Pascual Hernández que comento la relación entre las coordenadas de CARLA presente en metros y Unreal definidas en centímetros:

$$x_{Unreal} = (x_{CARLA} - 100) / 100$$

$$y_{Unreal} = -(y_{CARLA} - 175) / 100$$

$$z_{Unreal} = z_{CARLA} / 100$$

También envió el script unreal_pts_to_xodr_road.py, que al introducir un .json con las coordenadas obtenidas del editor de unreal transforma dichas coordenas en un camino para que siga el vehiculo en formato .xodr.

Formato del archivo .json:

```json
[[x0, y1, z0], [x1, y1, z1], [x2, z2 y2], ..., [xn, zn, yn]]
```

Código para ejecutar el script: bash python3 unreal_pts_to_xodr_road.py --unreal_pts <coordinates.json> \ --out_fname $CARLA_ROOT/Unreal/CarlaUE4/Content/Carla/Maps/OpenDrive/<unstructured_map_name>.xodr \ --unreal_origin <x0,y0>

Resultado

Finalmente, solo se modifico un poco el archivo o3d-lidarViz-manual-segmentation.py creado en anteriores semanas para que guardase las imágenes realizadas de la segmentación verdadera y los archivos .ply del sensor LiDar. Enlace Dataset