11#ifndef APPROACHING_OBJECT_STATE_H
12#define APPROACHING_OBJECT_STATE_H
14#include "../interfaces/State.hpp"
15#include "../util/GeospatialOperations.hpp"
16#include "../util/states/StuckDetection.hpp"
17#include "../util/vision/ObjectDetectionUtility.hpp"
18#include "../vision/objects/ObjectDetector.h"
41 std::vector<std::shared_ptr<ObjectDetector>> m_vObjectDetectors;
50 double m_dHeadingSetPoint;
51 bool m_bDriveBackwards;
55 bool m_bHasLastGeolocatedPosition;
56 bool m_bHasSeenTarget;
59 std::chrono::system_clock::time_point m_tmLastSeenTime;
60 std::chrono::system_clock::time_point m_tmLastLogTime;
61 bool m_bAlreadyPrintedLost;
62 bool m_bAlreadyPrintedVisualLostFallback;
65 void Start()
override;
The ApproachingObjectState class implements the Approaching Object state for the Autonomy State Machi...
Definition ApproachingObjectState.h:38
void Exit() override
This method is called when the state is exited. It is used to clean up the state.
Definition ApproachingObjectState.cpp:73
void Start() override
This method is called when the state is first started. It is used to initialize the state.
Definition ApproachingObjectState.cpp:32
States TriggerEvent(Event eEvent) override
Trigger an event in the state machine. Returns the next state.
Definition ApproachingObjectState.cpp:245
ApproachingObjectState()
Construct a new State object.
Definition ApproachingObjectState.cpp:85
void Run() override
Run the state machine. Returns the next state.
Definition ApproachingObjectState.cpp:106
The abstract state class. All states inherit from this class.
Definition State.hpp:110
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:52
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:423