Class supervisor_fsm
Defined in File supervisor_fsm.hpp
Inheritance Relationships
Base Types
public rpfsm::simple_fsm
public rer::client< supervisor_fsm >
Class Documentation
-
class supervisor_fsm : public rpfsm::simple_fsm, public rer::client<supervisor_fsm>
An FSM used supervise robot operation.
In normal operation, the cta::taskable object is just executed. If a non-standard event is received (implemented in derived classes), then normal operation can be replaced by something else (e.g., stopping all robot motion if a robot malfunction event is received).
Public Functions
-
supervisor_fsm(const supervisor_fsm&) = delete
-
explicit supervisor_fsm(csubsystem::base_saa_subsystem *saa)
-
void event_malfunction(void)
Signal that the cta::taskable object should not be run every timestep until the robot has been repaired.
-
void event_repair(void)
Signal that the cta::taskable object should not be run every timestep until the robot has been repaired.
-
void event_stop(void)
Signal that the cta::taskable object should not be run again until the robot is reset, AND that all sensors and actuators should be disabled.
-
supervisor_fsm &operator=(const supervisor_fsm&) = delete
-
inline void run(void)
-
inline bool state_is_stopped(void) const
-
supervisor_fsm(const supervisor_fsm&) = delete