This repo is set up as a ROS 2 colcon workspace (packages live in src/).
- roverarm - Rover arm assembly setup with ROS Jazzy and MoveIt.
- sam_bot_tutorial - Completed tutorial branch following the sam_bot ROS 2 navigation example (see below).
This repo ships with a VS Code devcontainer that uses a prebuilt Docker image (lichunho00/perception_playground) with ROS 2 Jazzy + Nav2 already installed. A lightweight desktop is exposed locally via VNC/noVNC so you can run GUI tools (RViz/Gazebo) without host-side ROS setup.
- Install Docker Desktop + VS Code + the “Dev Containers” extension.
- Open this repo in VS Code.
- Run: “Dev Containers: Reopen in Container”.
- Once the container finishes starting, open the GUI (choose one):
- Browser (noVNC):
http://localhost:6080/vnc.html - TigerVNC: install TigerVNC Viewer (https://tigervnc.org/), then connect to
localhost:5901(no password)
- Browser (noVNC):
Note: the devcontainer uses .devcontainer/.env for optional environment overrides; it will be auto-created from .devcontainer/.env.example if missing.
The VNC server is started automatically by the devcontainer (postStartCommand), but you can also run it manually inside the container:
start-vnc.shIn the container terminal:
export ROS_DISTRO=${ROS_DISTRO:-jazzy}
source /opt/ros/$ROS_DISTRO/setup.bash
ros2 launch nav2_bringup tb3_simulation_launch.py headless:=FalseIf Nav2 does not autostart, click the “Startup” button in RViz.
After you’re in the devcontainer, verify Nav2 is available:
source /opt/ros/$ROS_DISTRO/setup.bash
ros2 pkg list | grep -E '^nav2_|^navigation2$'- If
http://localhost:6080/vnc.htmldoesn’t load, check VS Code’s “Ports” panel and ensure6080is forwarded. - If a native VNC client can’t connect, ensure port
5901is forwarded, then connect tolocalhost:5901. - If you stop the VNC services inside the container, restart them with
start-vnc.sh.
src/perception_playground/: minimal ROS 2 package placeholderscripts/: helper scripts for rosdep + colcon.devcontainer/: devcontainer config (prebuilt image + VNC/noVNC)
cd /workspace/HMS_Perception/worlds#
gz sim rubicon.sdf