The Carter Closed Loop app runs Nvblox and uses its ESDF slices for navigation.
The app is part of the Navigation Stack and is defined here:
isaac/sdk/apps/amr/navigation_stack/BUILD
.
For general instructions on launching the Navigation Stack, refer to the Navigation Stack documentation.
To launch with Nvblox instead of LiDAR EGM, which is used by default in the Navigation Stack, insert “nvblox” between “occupancy” and “environment” in the app name.
For example, to launch in a custom environment using Nvblox for mapping, SSH into the robot and run the following:
docker run -it --gpus all --rm --network=host --privileged \
-v /dev:/dev \
-v /sys:/sys \
-v /tmp:/tmp \
nvcr.io/nvstaging/isaac-amr/carter_demo_occupancy_nvblox_environment_zurich:<IMAGE_TAG>
Note that “zurich” here should be replaced with the name of the environment you would like to deploy in, or “custom” for deploying in an environment for which you have a custom map.
Visualization
In your browser, open <hostname_of_carter>:3000
to visualize the reconstruction.
For development, it is useful to run apps without generating Docker images:
cd isaac/sdk/ &&
./../engine/engine/build/deploy.py -b bazel
-r <hostname_of_carter>
-c jetpack50
-t //extensions/navigation_stack/apps/navigation_stack
Replace the -h
argument with the host name of the Carter robot you want to deploy the app to.
Replace <ENVIRONMENT>
with the environment you want to navigate in (e.g. “environment_zurich”).
Run the App on a Carter Robot
SSH into the Carter robot:
ssh nvidia@<hostname_of_carter>
Run the app:
cd ~/deploy/<YOUR_USER_NAME>/navigation_stack
./run_navigation_stack.sh -c extensions/navigation_stack/apps/navigation_stack/config_real_world_nvblox.yaml