11#ifndef NAVIGATING_STATE_H
12#define NAVIGATING_STATE_H
14#include "../algorithms/controllers/PredictiveStanleyController.h"
15#include "../algorithms/planners/AStar.h"
16#include "../interfaces/State.hpp"
17#include "../util/GeospatialOperations.hpp"
18#include "../util/logging/PathTracer2D.hpp"
19#include "../util/states/StuckDetection.hpp"
20#include "../vision/aruco/TagDetector.h"
21#include "../vision/objects/ObjectDetector.h"
44 bool m_bFetchNewWaypoint;
47 std::vector<std::shared_ptr<TagDetector>> m_vTagDetectors;
48 std::vector<std::shared_ptr<ObjectDetector>> m_vObjectDetectors;
50 std::unique_ptr<logging::graphing::PathTracer> m_pRoverPathPlot;
51 std::unique_ptr<controllers::PredictiveStanleyController> m_pStanleyController;
52 std::unique_ptr<pathplanners::AStar> m_pAStarPlanner;
53 std::vector<geoops::Waypoint> m_vPathCoordinates;
59 void Start()
override;
The NavigatingState class implements the Navigating state for the Autonomy State Machine.
Definition NavigatingState.h:39
void Exit() override
This method is called when the state is exited. It is used to clean up the state.
Definition NavigatingState.cpp:61
NavigatingState()
Construct a new State object.
Definition NavigatingState.cpp:74
void Run() override
Run the state machine. Returns the next state.
Definition NavigatingState.cpp:107
States TriggerEvent(Event eEvent) override
Trigger an event in the state machine. Returns the next state.
Definition NavigatingState.cpp:357
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: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