Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
TagDetectionHandler.h
Go to the documentation of this file.
1
11#ifndef TAG_DETECTION_HANDLER_H
12#define TAG_DETECTION_HANDLER_H
13
14#include "../vision/aruco/TagDetector.h"
15#include "RecordingHandler.h"
16
17
28{
29 private:
31 // Declare private class member variables.
33
34 std::shared_ptr<TagDetector> m_pTagDetectorMainCam;
35 std::shared_ptr<TagDetector> m_pTagDetectorRearCam;
36 std::unique_ptr<RecordingHandler> m_pRecordingHandler;
37
38 public:
40 // Define public enumerators specific to this class.
42
43 enum class TagDetectors // Enum for different cameras that detectors are being ran on.
44 {
45 TAGDETECTOR_START,
46 eHeadMainCam,
47 eRearCam,
48 TAGDETECTOR_END
49 };
50
52 // Declare public class methods and variables.
54
57 void StartAllDetectors();
58 void StartRecording();
59 void StopAllDetectors();
60 void StopRecording();
61
63 // Accessors.
65
66 std::shared_ptr<TagDetector> GetTagDetector(TagDetectors eDetectorName);
67
68 cv::Mat RequestDetectionOverlayFrame(TagDetectors eDetector = TagDetectors::eHeadMainCam);
69};
70
71#endif
Defines the RecordingHandler class.
The TagDetectionHandler class is responsible for managing all of the different detectors that Autonom...
Definition TagDetectionHandler.h:28
void StopAllDetectors()
Signals all detectors to stop their threads.
Definition TagDetectionHandler.cpp:125
void StopRecording()
Signal the RecordingHandler to stop recording video feeds from the TagDetectionHandler.
Definition TagDetectionHandler.cpp:147
void StartAllDetectors()
Signals all detectors to start their threads.
Definition TagDetectionHandler.cpp:96
void StartRecording()
Signal the RecordingHandler to start recording video feeds from the TagDetectionHandler.
Definition TagDetectionHandler.cpp:112
std::shared_ptr< TagDetector > GetTagDetector(TagDetectors eDetectorName)
Accessor for TagDetector detectors.
Definition TagDetectionHandler.cpp:163
TagDetectionHandler()
Construct a new TagDetectionHandler::TagDetectionHandler object.
Definition TagDetectionHandler.cpp:22
~TagDetectionHandler()
Destroy the TagDetectionHandler::TagDetectionHandler object.
Definition TagDetectionHandler.cpp:83
cv::Mat RequestDetectionOverlayFrame(TagDetectors eDetector=TagDetectors::eHeadMainCam)
Requests a snapshot of the current tag detection overlay. Blocks execution until the frame is ready.
Definition TagDetectionHandler.cpp:183