Add a new map

Users of CARLA can create custom maps and use them to run simulations. There are several ways to import custom maps in CARLA. The method to be used will depend on whether you are using a packaged version of CARLA or a version built from source. This section gives an overview of what you need to start the process, the different options available to import, and customization and pedestrian navigation tools available.


Overview

Using custom maps in CARLA involves four main processes:

  1. Generation
  2. Importation
  3. Customization
  4. Pedestrian Navigation

Read on further for additional general information on each process.


Generation

CARLA requires map geometry information in .fbx format and OpenDRIVE information in .xodr format. The current recommended software to generate these files is RoadRunner.

This guide explains how to use RoadRunner to generate the map information.


Importation

There are several ways to import your map into CARLA.

If you are using a package version of CARLA, you will import your map using Docker. This option is only available in Linux, and you will not have the ability to customize the map using the Unreal Editor. You will find the guide here.

If you are using a source build version of CARLA, there are three methods available to import your map:

  1. Using the automatic make import process (recommended). You will find the guide here.
  2. Using the RoadRunner plugin. You will find the guide here.
  3. Manually importing the map into Unreal Engine. You will find the guide here.

The following video explains some of the methods available to import maps into CARLA:



Customization

As well as hundreds of static meshes ready to be added to the landscape, CARLA provides several tools and guides to help you customize your map:

  • Add sub-levels: Sub-levels will allow multiple people to work on the same map at the same time. They will also allow you to toggle layers of your map with the Python API, just like the CARLA layered maps. You will find the guide here.
  • Set default weather: Experiment with different weather presets, and when you find the right combination, set the default weather for your map. You will find the guide here.
  • Populate landscape: Use blueprints to populate the landscape with repeating meshes such as street lights, power lines, and walls. You will find the guide here.
  • Paint the roads: Paint the roads with a master material that blends different textures. Add decals and meshes such as fallen leaves, cracks, or manholes. You will find the guide here.
  • Add procedural buildings: Add buildings with a custom size, amount of floors, and variable mesh combinations using the procedural building blueprint. You will find the guide here.
  • Add traffic lights and signs: Add traffic lights and signs and configure their area of influence. Group traffic lights at junctions. You will find the guide here.

Generate pedestrian navigation

For pedestrians to be spawned and navigate the map, you need to generate the pedestrian navigation information using the tool provided by CARLA. Pedestrian navigation should be generated after you complete the customization of your map so that obstacles are not created over the top of navigation paths. You can find the guide here.


If you have any questions about the above process, feel free to post these in the forum.