WATonomous / wato_monorepo

Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Apache License 2.0
81 stars 1 forks source link
autonomous-driving computer-vision control deep-learning motion-planning perception sensor-fusion sensors-data-collection world-modeling

WATonomous Monorepo v2

Dockerized ROS2 setup for the WATonomous Autonomous Vehicle Software Pipeline

Getting Started

Read the following:

  1. docs/setup.md How to setup our repo.

TLDR: Clone the monorepo, specify active modules, watod up. Everything is containerized, so there's little need to setup any dependencies on your end :).

  1. docs/monorepo.md What is a monorepo? Why a monorepo?
  2. docs/how_to_dev.md How to develop in the monorepo.

Description of Important Files and Directories

Below is a tree diagram of the Monorepo.

wato_monorepo_v2
├── watod-setup-env.sh
├── docker
│   ├── samples
│   │   └── cpp
│   │       ├── Dockerfile.aggregator
│   │       ├── Dockerfile.producer
│   │       └── Dockerfile.transformer
│   └── wato_ros_entrypoint.sh
├── docs
├── modules
│   └── docker-compose.samples.yaml
├── scripts
├── src
│   ├── motion_planning_and_control
│   ├── perception
│   ├── wato_msgs
│   │   └── sample_msgs
│   │       ├── CMakeLists.txt
│   │       ├── msg
│   │       └── package.xml
│   ├── samples
│   │   └── cpp
│   │       ├── aggregator
│   │       ├── image
│   │       ├── producer
│   │       ├── README.md
│   │       └── transformer
│   ├── sensor_interfacing
│   ├── simulation
│   ├── tools
│   └── world_modeling
└── watod

Documentation

Setup Docs

docs/setup

Important Topics for Developers

docs/dev

Using Foxglove

Foxglove is used to visualize ROS messages on a local machine.

Add infrastructure as an ACTIVE_MODULES and watod up.

It exposes the port specified by the FOXGLOVE_BRIDGE_PORT variable, which you will need to forward to your local machine. This can either be done in the ports section of VS Code or by running the command ssh -L 8765:localhost:8765 <username>@<machine>-ubuntu1.watocluster.local on your local machine.

Then, open foxglove and add a connection localhost:8765, and it should connect.

Playing Rosbags

Add infrastructure as an ACTIVE_MODULES and watod run. An example of the command, feel free to change the mcap file being run. ./watod run data_stream ros2 bag play ./nuscenes/NuScenes-v1.0-mini-scene-0061/NuScenes-v1.0-mini-scene-0061_0.mcap

Monorepo Info

docs/monorepo.md

Technical Specification

Docker, Continuous Integration: tech_spec.md

FAQ

docs/faq.md