17#include <nlohmann/json.hpp>
42 creos::RobotClock::time_point
time;
70NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(State, time, ready_state, current_action)
The messages that are used in the communication between the agent and the client.
Definition accel.hpp:22
The state of the robot.
Definition state.hpp:28
std::string current_action
A textual description of the current action the robot is performing.
Definition state.hpp:52
auto operator<=>(const State &other) const =default
Compare two messages.
creos::RobotClock::time_point time
The moment in time when the state was last updated.
Definition state.hpp:42
Ready ready_state
The ready state of the robot.
Definition state.hpp:47
Ready
Definition state.hpp:29
@ kUnknown
The ready state is unknown.
@ kFailsafe
A safety system has been triggered, and the robot is in a failsafe state.
@ kActive
The robot is ready to perform operations.
@ kNotReady
The robot is not ready to perform operations. e.g. when the robot is booting.
@ kError
The robot has a platform error and is not able to perform operations. This should not be used for sof...
@ kWaiting
The robot is operational, but waiting for user input.
@ kPreArm
The robot is in a safety state where checks are being performed. User interaction may be required.