WATonomous

WATonomous Cheatsheet

This is complimentary to the commands on the wato_monorepo. These commands might be out of date.

Perception

  • Vehicle Detection
  • LiDAR detection with pointpillars (get it in 3D)
  • Object Tracking (2D tracker, and 3D tracker)
  • Lane detection

SLURM Stuff

This works for me, training for Poker AI

srun --cpus-per-task 64 --mem 32G --gres tmpdisk:20480 --time 6:00:00 --pty bash

Using 98 cores messes with things

srun --cpus-per-task 98 --mem 32 --gres tmpdisk:40960,shard:8192 --time 3:00:00 --pty bash

From Dan’s shortcuts

Starting SLURM for WATO stuff

srun --cpus-per-task 10 --mem 16G --gres tmpdisk:40960,shard:8192 --time 2:00:00 --pty bash

To actually do things in docker we need to start the Docker daemon manually since the SLURM environment does not provide user-space systemd for managing background processes like the Docker daemon.

slurm-start-dockerd.sh

Main Commands

Port forwarding from foxglove

lsof -ti:34400 | xargs kill -9
ssh -NfL 34400:localhost:34400 s36gong@trpro-ubuntu2.cluster.watonomous.ca

Launch watod with dev setup (files mounted)

watod -dev up <name_of_container>
  • use the dev_overrides for the docker compose

Then enter the terminal

watod -t lidar_object_detection

I have an an alias to use ros2

alias ros2="watod run data_stream ros2"

Perception Beginner Guide

Set ACTIVE_MODULES inside watod_config.sh to:

ACTIVE_MODULES="infrastructure perception"
  • This specifies the various docker-compose.yaml files to look for when you use watod commands

Set the Foxglove Port (Optional, I don’t do it anymore)

FOXGLOVE_BRIDGE_PORT=8765
watod build <name_of_container>
  • Calls docker-compose build, and builds all the images with the modules that you’ve configured inside watod_config.sh

This will likely take very long, so you can specify the specific docker image(s) you want to build, ex:

watod build camera_object_detection foxglove data_stream

Then, to bring up the containers, run

watod up

Playing a rosbag

Also see WATonomous Rosbags.

Foxglove

lsof -ti:34400 | xargs kill -9
ssh -NfL 34400:localhost:34400 s36gong@trpro-ubuntu2.cluster.watonomous.ca
watod run data_stream ros2 bag play -l ./nuscenes/NuScenes-v1.0-mini-scene-0061/NuScenes-v1.0-mini-scene-0061_0.mcap

Year 3 data

ros2 bag play -l ~/ament_ws/rosbags2/year3/test_track_days/W20.0/public_road_to_TT

Other

Pushing images to a registry

watod push <SERVICE>

Infrastructure 2 Main Things:

  1. Running your rosbag (playing back the data) (through the data_stream container)
  2. Visualizing your data (through the foxglove container)
  3. Running your ROS nodes (through the container, camera_object_detection, lidar_object_detection, etc.)