Navigation Stack Configuration

The Isaac Navigation Stack has many configuration options, which allow you to employ it in different situations and use cases.

To configure the Navigation Stack, you can pass it different command line arguments or a configuration YAML.

Copy
Copied!
            

--robot, -r {carter} The type of robot being used with the navigation stack. --physics-engine {flatsim, isaac-sim, real-world} The physics engine used to simulate the robot. --route-planner {onboard, cloud} The type of route planner used. --waypoint-graph-generator {grid-map, semantic-map} The type of waypoint graph generator used. --omap-path <path> The path of the occupancy map. --omap-cell-size <float> The size of a cell in the occupancy map in meters. --semantic-map-path <path> The path of the semantic map. Default: "apps/assets/maps/default_semantic_map.json" --dry-run Dry run the graph. This can be used to lint-check the graph. --config-path, -c <path> The path to the config file. The config file can be used to store default arguments for the CLI args, so that they don't have to be retyped everytime.

I don’t like writing long command-line arguments, is there an easier way?

Yes, you can create a YAML file that contains all the command line options instead. You can then pass the single CLI argument -c <path/to/config>, and the Navigation Stack will use the configuration from the YAML file. When using a YAML config file, you can still pass CLI arguments, which will override the values provided in the YAML file.

The following is an example of a default YAML configuration:

Copy
Copied!
            

robot: carter physics_engine: flatsim route_planner: onboard waypoint_graph_generator: grid-map omap_path: apps/assets/maps/test.png semantic_map_path: apps/assets/maps/test_semantic_map.json omap_cell_size: 0.1

How do I use the Navigation Stack in a custom map?

To use the Navigation Stack in a custom map, you need to pass the map information to the navigation stack using the following CLI args:

Copy
Copied!
            

--omap-path=<path/to/occupancy-grid-map> --omap-cell-size=<cell-size-of-omap-in-meters> --semantic-map-path=<path/to/semantic-map>

In a YAML configuration file, the same options would be as follows:

Copy
Copied!
            

omap_path: <path/to/occupancy-grid-map> omap_cell_size: <cell-size-of-omap-in-meters> semantic_map_path: <path/to/semantic-map>

© Copyright 2018-2023, NVIDIA Corporation. Last updated on Oct 23, 2023.