Foxglove Visualization

Foxglove is a popular framework to visualize ROS running applications similar to Rviz. It provides a web-based visualization client and a desktop app.

Many Isaac ROS tutorials use Foxglove for the visualization.

Foxglove Setup

Use the following steps to visualize a ROS application in Foxglove.

  1. On your visualization computer install Foxglove Studio and launch it:

foxglove_studio
  1. Click on the Open connection button. If you are running the ROS application on a different machine than the one that is running Foxglove you’ll have to adjust the Websocket URL. In that case, replace localhost with the IP of the ROS machine.

foxglove_connect
  1. You can now add a 3D panel and select which topics to visualize in the left bar.

  2. Some tutorials also provide a pre-configured Foxglove layout in the form of a JSON file. To use those make sure you have the repository containing the tutorial cloned on your visualization machine. Import the layout file by clicking on the Import from file... in the layout drop-down menu and choosing the layout file from the correct folder.

foxglove_import_layout

Installing Additional Extensions

Some visualizations require additional extensions. You can install those extensions by clicking on the user icon in the top right corner and then opening the extensions menu. There you will find a list of all available extensions. An extension can be installed by clicking on it and pressing the install button.

We provide the following extensions:

  • Nvblox Foxglove: Allows to visualize Nvblox meshes in Foxglove.

Rosbag Visualization

To visualize a rosbag, images need to be converted from sensor_msgs/msg/CompressedImage to foxglove_msgs/msg/CompressedVideo.

  1. Set up your development environment by following the instructions in getting started.

  2. Clone isaac_ros_common under ${ISAAC_ROS_WS}/src.

    cd ${ISAAC_ROS_WS}/src && \
       git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
    
  3. (Optional) Install dependencies for any sensors you want to use by following the sensor-specific guides.

    Note

    We strongly recommend installing all sensor dependencies before starting any quickstarts. Some sensor dependencies require restarting the Isaac ROS Dev container during installation, which will interrupt the quickstart process.

  1. Launch the Docker container using the run_dev.sh script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.sh
    
  2. Install the prebuilt Debian package:

    sudo apt-get update
    
    sudo apt-get install -y ros-humble-isaac-ros-data-replayer
    
  3. Convert the rosbag.

    ros2 run isaac_ros_data_replayer foxglove_converter.py <input> <output>
    
  4. Launch Foxglove Studio and click on the Open local file button.

foxglove_studio
  1. Navigate to the converted rosbag and select the MCAP file to visualize it in Foxglove.

foxglove_rosbag