TrickFire Robotics

Launching the Rover

Build, bring up CAN, and launch the full node graph.

This walks through the full workflow for getting Viator's software running end to end: starting mission control on your own machine, connecting to the rover, bringing up the CAN bus, and launching the ROS 2 node graph. It assumes you've already done the one-time dev container setup from Getting Started.

Start mission control

Mission control lives in its own repo, separate from viator.

If you don't already have it, clone mission-control and install its dependencies:

Terminal
$ git clone https://github.com/TrickfireRobotics/mission-control.git
$ cd mission-control
$ npm install

Start it:

Terminal
$ npm run dev

Once it's open, go to the settings tab and point the websocket at the rover's address (the same one you'll SSH into below). The connection indicator turns green once the rover's rosbridge_server is up and reachable.

Run this on your own machine

Mission control is a plain Node/Vite project - run it on your host, not inside the viator dev container.

Connect to the rover

Terminal
$ ssh [email protected]
$ cd ~/viator

Bring up the CAN bus

Open a second terminal on the rover (SSH in again) and start watching the bus before you bring it up, so you can see traffic appear as soon as it's live:

Terminal 2
$ candump any

Using any instead of a specific interface name means this keeps working no matter which CAN line (can0, can1, ...) ends up carrying traffic. Leave it running; it'll pick up traffic as soon as the interface comes up in the next step.

Back in the first terminal, bring the CAN interface up:

Terminal 1
$ make can-setup

This loads the can/can_raw/mttcan kernel modules, brings can0 up at a 1 Mbit bitrate, and sends enable + speed-mode commands to the drivebase motors (CAN IDs 0x155-0x15A). You should see that traffic show up in the candump terminal.

Build and launch

Build and attach to the rover's container:

Terminal 1
$ make container

Inside the container, build the ROS 2 workspace:

Terminal 1 (in container)
$ make build

Launch the full node graph:

Terminal 1 (in container)
$ make launch

It's working

candump should now show a steady stream of CAN traffic, and mission control's websocket indicator should be green - the full chain from rover hardware to mission control is live.

Reconnecting later

Once the container exists, make connect re-attaches to it without rebuilding - use that instead of make container for subsequent sessions.

On this page