11#ifndef NAVIGATING_STATE_H
12#define NAVIGATING_STATE_H
14#include "../algorithms/controllers/PredictiveStanleyController.h"
15#include "../algorithms/planners/GeoPlanner.h"
16#include "../interfaces/State.hpp"
17#include "../util/GeospatialOperations.hpp"
18#include "../util/states/StuckDetection.hpp"
19#include "../vision/aruco/TagDetector.h"
20#include "../vision/objects/ObjectDetector.h"
44 bool m_bWithinWaypointRadius;
45 bool m_bFetchNewWaypoint;
48 std::vector<std::shared_ptr<TagDetector>> m_vTagDetectors;
49 std::vector<std::shared_ptr<ObjectDetector>> m_vObjectDetectors;
51 std::unique_ptr<controllers::PredictiveStanleyController> m_pStanleyController;
52 std::vector<geoops::Waypoint> m_vPathCoordinates;
58 void Start()
override;
The NavigatingState class implements the Navigating state for the Autonomy State Machine.
Definition NavigatingState.h:38
void Exit() override
This method is called when the state is exited. It is used to clean up the state.
Definition NavigatingState.cpp:56
NavigatingState()
Construct a new State object.
Definition NavigatingState.cpp:69
void Run() override
Run the state machine. Returns the next state.
Definition NavigatingState.cpp:96
States TriggerEvent(Event eEvent) override
Trigger an event in the state machine. Returns the next state.
Definition NavigatingState.cpp:359
void Start() override
This method is called when the state is first started. It is used to initialize the state.
Definition NavigatingState.cpp:33
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