Coder Social home page Coder Social logo

watonomous / wato_monorepo Goto Github PK

View Code? Open in Web Editor NEW
61.0 9.0 0.0 584.37 MB

Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline

License: Apache License 2.0

Shell 14.01% Dockerfile 28.01% CMake 9.91% C++ 22.09% Python 24.85% Jupyter Notebook 1.13%
autonomous-driving computer-vision control deep-learning motion-planning perception sensor-fusion sensors-data-collection world-modeling

wato_monorepo's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wato_monorepo's Issues

Multimodal Object Detection

Run inference with BEVFusion. https://github.com/WATonomous/Perception-Research/tree/main/src/bevfusion

Obstacle.msg: https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/blob/develop/src/ros_msgs/common_msgs/msg/Obstacle.msg

  • Read in a lidar + camera scan from the /lidar + /camera topic
  • Run inference with bevfusion
  • output 3D bounding box predictions to /detections_3d

Another person will also need to help out with creating visualization tools, annotating the image directly and visualizing that.

Unify camera detections into one node

Instead of our three nodes for camera detection, we want one unified node that outputs one message with detections for resource efficiency, and temporal synchronization, or we could have a post processing node that applies a time synchronizer using http://wiki.ros.org/message_filters

June 13 2024

  • Running in foxglove with post-processing synchronization (?)
  • Still testing post-process temporal synchronization
  • Still working on getting SLURM + foxglove working on all machines

Camera Object Detection Node

Port over the camera object detection node for https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/tree/develop/src/camera_detection into our camera_object_detection node.

Dockerfile: https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/blob/develop/docker/camera_detection/Dockerfile

They make the distinct between left and right camera, you can ignore that for now. We will use the same format for Obstacle for now.

  • Read in an image from the /camera topic
  • Run inference with YOLO
  • output bounding box predictions to /detections_2d, Obstacle.msg is defined here

Another person will also need to help out with creating visualization tools, annotating the image directly and visualizing that.

Refer to https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/blob/develop/src/camera_detection/yolov5_detection.py

Address LiDAR Object Detection PR Comments

June 13 2024

  • Addressed most PR comments
  • Need to create labels server still
  • WHY AREN'T BUILDS BEING SAVED TO THE REGISTRY!!! I DON'T WANT TO WAIT 321312HRS FOR MY CONTAINER TO BUILD TO DO WORK!!!

Lidar Object Detection Node

Port over the lidar object detection node for https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/tree/perp/add-pp/src/lidar_cuda into our lidar_object_detection node. Original repo is here: https://github.com/open-mmlab/mmdetection3d

Obstacle.msg: https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/blob/develop/src/ros_msgs/common_msgs/msg/Obstacle.msg

  • Read in a lidar scan from the /lidar topic
  • Run inference with pointpillars
  • output 3D bounding box predictions to /detections_3d

Another person will also need to help out with creating visualization tools, annotating the image directly and visualizing that.

Velocity estimation

LiDAR velocity estimation which is redundancy for radar velocity detection

June 13 2024

  • Can't build due to docker filesystem error

Convert rosbags from ROS1 to ROS2

Bags can be found in /mnt/wato-drive/rosbags

You can also try this repo to start up a server and see rosbags: https://git.uwaterloo.ca/WATonomous/rosbag-server

Steps:

  1. Use https://gitlab.com/ternaris/rosbags to convert the rosbags. On the server, you can use the VM container from Perception Research to run the pip install rosbags command. Make sure everything is mounted properly in the docker-compose.yaml so the rosbags generated on the container can be accessed outside the container.
  2. Store the ros2 bags inside /mnt/wato-drive2/ros2bags
  3. Write a bag_bridge profile for monorepo_v2, essentially a port from https://git.uwaterloo.ca/WATonomous/wato_monorepo/-/blob/develop/profiles/docker-compose.bag_bridge.yaml, but we are using ROS2 now, and the mount paths are different (should be like this /mnt/wato-drive2/ros2bags:/bags)

In the end, the following command should work:

watod2 bag_bridge ros2 bag play -r 1.0 /path/to/bag

Monocular Depth Estimation

  1. Investigate SOTA dnn-based monocular depth estimation models and test performance on our GPUs
  2. Integrate model into ROS 2 node
  3. (separate task) Generating point clouds from depth estimation outputs

Old ros2 node for reference: WATonomous/deepracer_ws#2

June 13 2024
- Moving Forward:

  • Fix sourcing issue
  • Take in rosbag of nuscenes data and get real time predictions
  • Integrate into WATO infrastructure

Radar velocity detection

We don't care about object clustering here, we care about velocity detections.
Near scan and far scan filtering from radar pc

June 13 2024
Using Polymath driver

  • Working with reading from a file
  • Not set up or tested with radar data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.