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

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.)