Create a ROS Noetic Container with ROS 1 Bridge

  1. Clone the isaac_ros_common repository and ros1_bridge under ROS 1 workspace:

    mkdir -p ~/workspaces/ros1_ws/isaac_ros-dev/src && \
     cd ~/workspaces/ros1_ws/isaac_ros-dev/src && \
     git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common && \
     git clone https://github.com/ros2/ros1_bridge
    
  2. Clone the isaac_ros_noetic_interfaces and isaac_ros_nitros_bridge repositories under the ROS 1 workspace:

    mkdir -p ~/workspaces/ros1_ws/isaac_ros_1-dev/src && \
     cd ~/workspaces/ros1_ws/isaac_ros_1-dev/src && \
     git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_noetic_interfaces.git isaac_ros_noetic_interfaces && \
     git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros.git isaac_ros_nitros
    

    Note

    The ROS 1 packages within isaac_ros_nitros_bridge are excluded by COLCON_IGNORE. In this Dockerfile, COLCON_IGNORE is automatically removed to build ROS 1 workspace. If you intend to build these packages in your own environment, ensure that you remove the COLCON_IGNORE file first.

  3. Build the Noetic Docker:

    cd ~/workspaces && \
     docker build --build-arg USER_UID=$(id -u) --build-arg USER_GID=$(id -g) -t nitros_bridge -f ros1_ws/isaac_ros_1-dev/src/isaac_ros_nitros/isaac_ros_nitros_bridge/docker/Dockerfile.ros1_noetic .