Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
|
#include <arbitrator_state_machine.hpp>
Public Member Functions | |
ArbitratorStateMachine () | |
ArbitratorState | submit_event (ArbitratorEvent event) |
ArbitratorState | get_state () |
Private Attributes | |
const std::vector< ArbitratorStateTransition > | ARBITRATOR_TRANSITIONS |
ArbitratorState | current_state |
The ArbitratorStateMachine class is responsible for regulating the state transitions within the Arbitrator node. It processess events and correlates them against a list of legal transitions to generate the next state the Arbitrator will take. The transition list is defined internally and each transition must be unique/deterministic (each state/event pair must transition to one-and-only-one other state) or behavior is undefined.
Definition at line 74 of file arbitrator_state_machine.hpp.
|
inline |
Definition at line 77 of file arbitrator_state_machine.hpp.
ArbitratorState arbitrator::ArbitratorStateMachine::get_state | ( | ) |
Get the current state of the Arbitrator
Definition at line 23 of file arbitrator_state_machine.cpp.
References current_state.
ArbitratorState arbitrator::ArbitratorStateMachine::submit_event | ( | ArbitratorEvent | event | ) |
Submit an event for evaluation by the Arbitrator state machine.
The | event to process |
Definition at line 29 of file arbitrator_state_machine.cpp.
References ARBITRATOR_TRANSITIONS, and current_state.
|
private |
Private, fixed state transition table
Definition at line 96 of file arbitrator_state_machine.hpp.
Referenced by submit_event().
|
private |
Definition at line 115 of file arbitrator_state_machine.hpp.
Referenced by get_state(), and submit_event().