![]() |
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.
|
Namespace containing all state machine related classes. More...
Classes | |
class | ApproachingMarkerState |
The ApproachingMarkerState class implements the Approaching Marker state for the Autonomy State Machine. More... | |
class | ApproachingObjectState |
The ApproachingObjectState class implements the Approaching Object state for the Autonomy State Machine. More... | |
class | AvoidanceState |
The AvoidanceState class implements the Avoidance state for the Autonomy State Machine. More... | |
class | IdleState |
The IdleState class implements the Idle state for the Autonomy State Machine. More... | |
class | NavigatingState |
The NavigatingState class implements the Navigating state for the Autonomy State Machine. More... | |
class | ReversingState |
The ReversingState class implements the Reversing state for the Autonomy State Machine. More... | |
class | SearchPatternState |
The SearchPatternState class implements the Search Pattern state for the Autonomy State Machine. More... | |
class | State |
The abstract state class. All states inherit from this class. More... | |
class | StuckState |
The StuckState class implements the Stuck state for the Autonomy State Machine. More... | |
class | TimeIntervalBasedStuckDetector |
This class should be instantiated within another state to be used for detection of if the rover is stuck. Stuck detection is solely based off of a check interval on the current velocity and rotation. If the velocity and rotation are non-moving for more then a maximum interval count, we are considered stuck. More... | |
class | VerifyingMarkerState |
The VerifyingMarkerState class implements the Verifying Marker state for the Autonomy State Machine. More... | |
class | VerifyingObjectState |
The VerifyingObjectState class implements the Verifying Object state for the Autonomy State Machine. More... | |
class | VerifyingPositionState |
The VerifyingPositionState class implements the Verifying Position state for the Autonomy State Machine. More... | |
Enumerations | |
enum class | States { eIdle , eNavigating , eSearchPattern , eApproachingMarker , eApproachingObject , eVerifyingPosition , eVerifyingMarker , eVerifyingObject , eAvoidance , eReversing , eStuck , NUM_STATES } |
The states that the state machine can be in. More... | |
enum class | Event { eStart , eReachedGpsCoordinate , eReachedMarker , eReachedObject , eMarkerSeen , eObjectSeen , eMarkerUnseen , eObjectUnseen , eVerifyingComplete , eVerifyingFailed , eAbort , eRestart , eObstacleAvoidance , eEndObstacleAvoidance , eNoWaypoint , eNewWaypoint , eReverse , eReverseComplete , eSearchFailed , eStuck , eUnstuck , NUM_EVENTS } |
The events that can be triggered in the state machine. More... | |
Functions | |
std::string | StateToString (States eState) |
Converts a state object to a string. | |
void | LoadDetectedObjects (std::vector< objectdetectutils::Object > &vDetectedObjects, const std::vector< std::shared_ptr< ObjectDetector > > &vObjectDetectors) |
Aggregates all detected objects from each provided object detector. | |
int | IdentifyTargetObject (const std::vector< std::shared_ptr< ObjectDetector > > &vObjectDetectors, objectdetectutils::Object &stObjectTarget, const geoops::WaypointType &eDesiredDetectionType=geoops::WaypointType::eUNKNOWN) |
Identify a target object in the rover's vision, using Torch detection. | |
void | LoadDetectedTags (std::vector< tagdetectutils::ArucoTag > &vDetectedArucoTags, const std::vector< std::shared_ptr< TagDetector > > &vTagDetectors) |
Aggregates all detected tags from each provided tag detector for both OpenCV and Tensorflow detection. | |
int | IdentifyTargetMarker (const std::vector< std::shared_ptr< TagDetector > > &vTagDetectors, tagdetectutils::ArucoTag &stArucoTarget, tagdetectutils::ArucoTag &stTorchTarget, const int nTargetTagID=static_cast< int >(manifest::Autonomy::AUTONOMYWAYPOINTTYPES::ANY)) |
Identify a target marker in the rover's vision, using OpenCV detection. | |
Namespace containing all state machine related classes.
|
strong |
The states that the state machine can be in.
|
strong |
The events that can be triggered in the state machine.
|
inline |
Converts a state object to a string.
eState | - |
|
inline |
Aggregates all detected objects from each provided object detector.
vDetectedObject | - Reference vector that will hold all of the aggregated detected objects. |
vObjectDetectors | - Vector of pointers to object detectors that will be used to request their detected objects. |
|
inline |
Identify a target object in the rover's vision, using Torch detection.
vObjectDetectors | - The vector of object detectors to use for detection. |
stObjectTarget | - The detected object marker from Torch. |
eDesiredDetectionType | - The desired detection type to check for. |
|
inline |
Aggregates all detected tags from each provided tag detector for both OpenCV and Tensorflow detection.
vDetectedArucoTags | - Reference vector that will hold all of the aggregated detected Aruco tags. |
vTagDetectors | - Vector of pointers to tag detectors that will be used to request their detected tags. |
|
inline |
Identify a target marker in the rover's vision, using OpenCV detection.
vTagDetectors | - The vector of tag detectors to use for detection. |
stArucoTarget | - The detected target marker from OpenCV. |
stTorchTarget | - The detected target marker from Torch. |
nTargetTagID | - The ID of the target tag to identify. If -1, the closest tag will be chosen. |