This repository contains multiple ROS2 workspaces for robotics with Boston Dynamics Spot, ZED cameras, RealSense, and Isaac Sim simulation.
- Main workspace for Spot ROS2 + RealSense + MoveIt
- Workspace for ZED + Isaac ROS + NVBlox
- Workspace for Isaac Sim + ZED Isaac Sim
# Clone with all submodules
git clone --recursive https://github.com/murilo-vinicius04/spot-teleop.git
cd spot-teleop
# Or if you already cloned, initialize the submodules
git submodule update --init --recursive
# Configure Git LFS for isaac_ros_nitros
cd zed_ws/src/isaac_ros_nitros
git lfs install
git lfs pull
cd ../../..
- Docker
- Docker Compose
- NVIDIA Docker Runtime (for GPU)
# Build all containers
docker-compose build
# Or build individually
docker-compose build spot-ros2
docker-compose build zed
docker-compose build isaac-sim
docker-compose up -d spot-ros2
docker-compose up -d zed
docker-compose up -d isaac-sim
docker-compose up -d
isaac_ros_nitros
- NVIDIA Isaac ROS Nitrosnegotiated
- Negotiated QoSzed-ros2-wrapper
- ZED ROS2 Wrapperisaac_ros_nvblox
- NVIDIA Isaac ROS NVBloxzed-ros2-interfaces
- ZED ROS2 Interfacesisaac_ros_common
- NVIDIA Isaac ROS Common
spot_ros2
- Boston Dynamics Spot ROS2moveit2
- MoveIt2 Motion Planningmoveit_msgs
- MoveIt2 Messagesmoveit_resources
- MoveIt2 Resourcesmoveit_task_constructor
- MoveIt Task Constructormoveit2_tutorials
- MoveIt2 Tutorials
zed-isaac-sim
- ZED Isaac Sim Integration
-
Source the ROS2 environment:
source /opt/ros/humble/setup.bash
-
Build the workspace with symlink install:
colcon build --symlink-install
-
If encountering any errors, update and install dependencies:
rosdep update rosdep install --from-paths src --ignore-src -r -y --rosdistro humble
-
Source the local install:
source install/setup.bash
-
To plan and execute with MoveIt:
ros2 launch spot_moveit_config spot_moveit_all.launch.py
-
To run MoveIt Servo:
ros2 launch spot_moveit_config spot_pose_tracking.launch.py
-
Navigate to the
zed-isaac-sim
folder and build:cd zed-isaac-sim ./build.sh
-
After the build completes, start Isaac Sim:
cd /isaac-sim ./runapp.sh
-
When Isaac Sim opens, go to:
Windows -> Extensions -> Third Party -> Settings
- Add a User Dir pointing to:
/workspace/zed-isaac-sim/exts
(Follow the official ZED Isaac Sim README for reference.)
-
Enable the extensions and set them to Auto Load.
-
Restart Isaac Sim.
-
Open the provided scene:
File -> Open
- Select:
/workspace/zed_streamer_warehouse
-
The scene should load and be ready for streaming. Click Play and check the terminal where Isaac Sim was launched. If you see:
[Streaming] Use Transport layer mode : 0
The container is correctly set up.
-
Ensure the ROS2 environment is sourced:
source /opt/ros/humble/setup.bash
-
Build the workspace with the recommended flags:
colcon build --merge-install --symlink-install
-
Source the local install:
source install/setup.bash
-
With Isaac Sim streaming, launch the ZED wrapper:
ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedx sim_mode:=true use_sim_time:=true
This will optimize the ZED neural mode for your GPU. It may take several minutes on the first run.
-
To visualize the NVBlox map, run the ZED example:
ros2 launch nvblox_examples_bringup zed_example.launch.py use_sim_time:=true