Central engineering reference and operations manual for the MRDT Autonomy Software.
View the Project on GitHub MissouriMRDT/Autonomy_Software
Return to RoveSoDocs Guides for Today, Tomorrow, and Forever.
The RecordingHandler (src/handlers/RecordingHandler.h & RecordingHandler.cpp) manages the asynchronous recording of camera video feeds and computer vision detection overlays directly to disk.
cv::VideoWriter.AutonomyThread<void> to prevent video encoding overhead from degrading computer vision and control loop framerates.AutonomyConstants.cpp to conserve disk space and CPU resources.RecordingMode)enum class RecordingMode
{
eCameraHandler, // Records raw, unmodified RGB camera feeds
eTagDetectionHandler, // Records video feeds with ArUco and YOLO tag detection overlays
eObjectDetectionHandler // Records video feeds with YOLO prop detection overlays
};
eCameraHandler: Instantiated inside CameraHandler. Directly captures raw frames from ZEDCamera and BasicCamera streams for ground-truth review and simulation replay.eTagDetectionHandler: Instantiated inside TagDetectionHandler. Queries RequestDetectionOverlayFrame() from each TagDetector to capture video showing detected ArUco marker corners, decoded IDs, and estimated distances.eObjectDetectionHandler: Instantiated inside ObjectDetectionHandler. Captures video showing YOLO object bounding boxes, class labels (Mallet, Bottle, Rock Pick), and confidence scores.AutonomyThread<void>, executing ThreadedContinuousCode() at an iteration rate throttled by constants::RECORDER_FPS (typically 15 to 30 FPS).std::future<bool>), awaiting data transfer in the background without blocking the capture pipeline.logs/ (e.g., logs/YYYY-MM-DD_HH-MM-SS/).AutonomyConstants.cpp| Constant Name | Type | Purpose |
|---|---|---|
RECORDER_FPS |
int |
Framerate ceiling for disk video encoding. |
ZED_MAINCAM_ENABLE_RECORDING |
bool |
Enables raw recording of the main mast ZED camera. |
ZED_REARCAM_ENABLE_RECORDING |
bool |
Enables raw recording of the rear ZED camera. |
TAGDETECT_MAINCAM_ENABLE_RECORDING |
bool |
Enables recording of ArUco detection overlays on main camera. |
TAGDETECT_REARCAM_ENABLE_RECORDING |
bool |
Enables recording of ArUco detection overlays on rear camera. |
OBJECTDETECT_MAINCAM_ENABLE_RECORDING |
bool |
Enables recording of YOLO prop detection overlays on main camera. |
OBJECTDETECT_REARCAM_ENABLE_RECORDING |
bool |
Enables recording of YOLO prop detection overlays on rear camera. |