11#ifndef SEARCH_PATTERN_STATE_H
12#define SEARCH_PATTERN_STATE_H
14#include "../algorithms/controllers/PredictiveStanleyController.h"
15#include "../interfaces/State.hpp"
16#include "../util/GeospatialOperations.hpp"
17#include "../util/logging/PathTracer2D.hpp"
18#include "../util/states/StuckDetection.hpp"
19#include "../vision/aruco/TagDetector.h"
20#include "../vision/objects/ObjectDetector.h"
23#include <matplot/matplot.h>
50 enum class SearchPatternType
63 std::vector<std::shared_ptr<TagDetector>> m_vTagDetectors;
64 std::vector<std::shared_ptr<ObjectDetector>> m_vObjectDetectors;
65 std::vector<geoops::Waypoint> m_vSearchPath;
67 SearchPatternType m_eCurrentSearchPatternType;
69 std::unique_ptr<logging::graphing::PathTracer> m_pRoverPathPlot;
75 void Start()
override;
The SearchPatternState class implements the Search Pattern state for the Autonomy State Machine.
Definition SearchPatternState.h:43
void Exit() override
This method is called when the state is exited. It is used to clean up the state.
Definition SearchPatternState.cpp:77
States TriggerEvent(Event eEvent) override
Trigger an event in the state machine. Returns the next state.
Definition SearchPatternState.cpp:293
void Start() override
This method is called when the state is first started. It is used to initialize the state.
Definition SearchPatternState.cpp:35
SearchPatternState()
Construct a new State object.
Definition SearchPatternState.cpp:93
void Run() override
Run the state machine. Returns the next state.
Definition SearchPatternState.cpp:120
The abstract state class. All states inherit from this class.
Definition State.hpp:115
This class should be instantiated within another state to be used for detection of if the rover is st...
Definition StuckDetection.hpp:43
Namespace containing all state machine related classes.
Definition State.hpp:23
Event
The events that can be triggered in the state machine.
Definition State.hpp:54
States
The states that the state machine can be in.
Definition State.hpp:31
This struct is used by the WaypointHandler class to store location, size, and type information about ...
Definition GeospatialOperations.hpp:392