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.
On your visualization computer install Foxglove Studio and launch it:
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.
You can now add a 3D panel and select which topics to visualize in the left bar.
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 thelayout
drop-down menu and choosing the layout file from the correct folder.
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.
Set up your development environment by following the instructions in getting started.
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
(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.
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Install the prebuilt Debian package:
sudo apt-get update
sudo apt-get install -y ros-humble-isaac-ros-data-replayer
Convert the rosbag.
ros2 run isaac_ros_data_replayer foxglove_converter.py <input> <output>
Launch Foxglove Studio and click on the Open local file button.
Navigate to the converted rosbag and select the MCAP file to visualize it in Foxglove.