Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

Latest commit

 

History

History
28 lines (14 loc) · 1.76 KB

README.md

File metadata and controls

28 lines (14 loc) · 1.76 KB

UT RoboMaster CV - Stampede

UT Stampede RoboMaster CV Repository

Code is written for BeagleBone AI-64

For questions about the BeagleBone AI-64, our code, history of development on the BeagleBone AI-64 for a full RoboMaster CV system, and tips on getting started, documentation, etc. please contact Paul Han (email: [email protected] Discord: @bornhater)

Code Organization

Our CV system is organized into subsystems that cover various tasks necessary for a full RoboMaster CV system

Subsystems are listed below, in order of being called in main.py which is a continuous loop, running our system:

(NOTE: Almost none of these tasks are performed inside main.py. These functions abstract out the tasks at hand and are merely called in main.py, making debugging and development significantly easier. Unit tests will be added in the future)

Image and Depth System - Retrieving images and depth values (how far away is the armor plate in meters) from RealSense camera through Python wrapper

Object Detection - On the retrieved images, detect armor plates through the use of YOLOv5, object detection machine learning model

Pixel To Point - Convert image-relative x, y coordinate values (i.e on the image, from which pixel to which pixel is the detected armor plate) to world-relative coordinates values (in x, y, z coordinates, how many meters away is the armor plate)

Object Log - Map detected armor plates to specific robots for logging, target selection, and prediction purposes

Prediction - Using an unscented Kalman Filter, estimate the next position, current velocity, and current acceleration of the detected robot

Communication - Through UART, send x, y, z position, velocity, and acceleration values for ballistics purposes