Getting Started
Set up a development environment for the Viator rover software.
This is the software for Viator, Trickfire Robotics' rover for the University Rover Challenge, built on ROS 2 Humble.
Prerequisites
- Docker
- Visual Studio Code with the Dev Containers extension
Development happens inside a Docker container so every contributor gets the same ROS 2 Humble environment, regardless of host OS.
Set up the dev container
-
Clone the repo (with submodules):
Terminal $ git clone --recurse-submodules https://github.com/TrickfireRobotics/viator.git -
Open the folder in VS Code and choose Reopen in Container when prompted (or run Dev Containers: Reopen in Container from the command palette). This uses
.devcontainer/docker-compose.ymlto build.devcontainer/Dockerfile(which installs ROS 2 Humble, the CAN/motor tooling, and the myactuator_rmd library) and starts it as a container namedviator, so it's easy to find withdocker ps.
Build and launch
All common actions are exposed as make targets from the repo root — see Launching the Rover for the full workflow. The short version, from inside the container:
$ make build # colcon build --symlink-install
$ make launch # ros2 launch viator_launch robot.launch.pyNot using the dev container?
make container / make connect build and attach to a standalone trickfirerobot Docker
container instead of a VS Code dev container — useful when running directly on the rover's
onboard computer. See Launching the Rover for details.
Formatting and linting
Python is formatted/linted with Ruff and type-checked with mypy; shell scripts are formatted with shfmt. Install the recommended VS Code extensions when prompted, or run everything manually:
$ make formatRun make hooks once after cloning to install the pre-commit hooks that enforce this automatically at commit time.
Where to go next
- Architecture — what each ROS package does and how they fit together.
- Launching the Rover — the full build → CAN setup → launch workflow, including deploying to the onboard Orin.