roboligo
Loading...
Searching...
No Matches
roboligo::RobotState Class Reference

Represents the state and configuration of a robot. More...

#include <RobotState.hpp>

Collaboration diagram for roboligo::RobotState:

Public Member Functions

Modeget_mode (const std::string &mode_name)
 Retrieves a mode by name.
std::vector< Modeget_modes (void)
 Gets all available modes.
std::string get_name (void)
 Gets the robot name.
Triggerget_trigger (const std::string &trigger_name)
 Retrieves a trigger by name.
std::vector< Triggerget_triggers (void)
 Gets all available triggers.
bool is_available (void)
 Checks if the robot is available.
bool is_simulation (void)
 Checks if the robot is in simulation mode.
bool is_stamped (void)
 Checks if the robot uses time stamping.
 RobotState ()=default
 Default constructor.
void set_available (bool new_state)
 Sets the robot availability status.
void set_modes (std::vector< Mode > modes)
 Sets the available operational modes.
void set_name (std::string new_name)
 Sets the robot name.
void set_simulation (bool new_state)
 Sets the simulation mode status.
void set_stamp (bool new_state)
 Enables or disables time stamping.
void set_triggers (std::vector< Trigger > triggers)
 Sets the available triggers.
void show (void)
 Displays complete robot state information.
std::string show_modes (void)
 Returns a string representation of all modes.
std::string show_triggers (void)
 Returns a string representation of all triggers.
virtual ~RobotState ()=default
 Virtual destructor.

Public Attributes

std::shared_ptr< roboligo::Batterybattery
 Battery status monitor component.
std::shared_ptr< roboligo::NavSatgps
 Global Navigation Satellite System (GPS) sensor.
std::shared_ptr< roboligo::Imuimu
 Inertial Measurement Unit sensor component.
std::shared_ptr< roboligo::Inputinput
 Input sensor component.
std::shared_ptr< roboligo::Odomodom
 Odometry sensor component.
std::shared_ptr< roboligo::Outputoutput
 Output actuator component.
std::shared_ptr< roboligo::Outputposition_target
 Position target output component.

Detailed Description

Represents the state and configuration of a robot.

This class manages robot properties including name, operational modes, triggers, and various sensor/actuator components. It tracks availability, simulation status, and time-stamping capabilities.

Constructor & Destructor Documentation

◆ RobotState()

roboligo::RobotState::RobotState ( )
default

Default constructor.

◆ ~RobotState()

virtual roboligo::RobotState::~RobotState ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ get_mode()

Mode * roboligo::RobotState::get_mode ( const std::string & mode_name)

Retrieves a mode by name.

Parameters
mode_nameThe name of the mode to find.
Returns
Pointer to the Mode object, or nullptr if not found.

◆ get_modes()

std::vector< Mode > roboligo::RobotState::get_modes ( void )

Gets all available modes.

Returns
Vector of Mode objects.

◆ get_name()

std::string roboligo::RobotState::get_name ( void )

Gets the robot name.

Returns
The robot's name as a string.

◆ get_trigger()

Trigger * roboligo::RobotState::get_trigger ( const std::string & trigger_name)

Retrieves a trigger by name.

Parameters
trigger_nameThe name of the trigger to find.
Returns
Pointer to the Trigger object, or nullptr if not found.

◆ get_triggers()

std::vector< Trigger > roboligo::RobotState::get_triggers ( void )

Gets all available triggers.

Returns
Vector of Trigger objects.

◆ is_available()

bool roboligo::RobotState::is_available ( void )

Checks if the robot is available.

Returns
true if available, false otherwise.

◆ is_simulation()

bool roboligo::RobotState::is_simulation ( void )

Checks if the robot is in simulation mode.

Returns
true if in simulation, false otherwise.

◆ is_stamped()

bool roboligo::RobotState::is_stamped ( void )

Checks if the robot uses time stamping.

Returns
true if stamped, false otherwise.

◆ set_available()

void roboligo::RobotState::set_available ( bool new_state)

Sets the robot availability status.

Parameters
new_statetrue to mark as available, false otherwise.

◆ set_modes()

void roboligo::RobotState::set_modes ( std::vector< Mode > modes)

Sets the available operational modes.

Parameters
modesVector of Mode objects.

◆ set_name()

void roboligo::RobotState::set_name ( std::string new_name)

Sets the robot name.

Parameters
new_nameThe new name to assign.

◆ set_simulation()

void roboligo::RobotState::set_simulation ( bool new_state)

Sets the simulation mode status.

Parameters
new_statetrue to enable simulation mode.

◆ set_stamp()

void roboligo::RobotState::set_stamp ( bool new_state)

Enables or disables time stamping.

Parameters
new_statetrue to enable stamping.

◆ set_triggers()

void roboligo::RobotState::set_triggers ( std::vector< Trigger > triggers)

Sets the available triggers.

Parameters
triggersVector of Trigger objects.

◆ show()

void roboligo::RobotState::show ( void )

Displays complete robot state information.

◆ show_modes()

std::string roboligo::RobotState::show_modes ( void )

Returns a string representation of all modes.

Returns
Formatted string containing mode information.

◆ show_triggers()

std::string roboligo::RobotState::show_triggers ( void )

Returns a string representation of all triggers.

Returns
Formatted string containing trigger information.

Member Data Documentation

◆ battery

std::shared_ptr<roboligo::Battery> roboligo::RobotState::battery
Initial value:
= std::make_shared<roboligo::Battery>(
"battery", "battery_topic")

Battery status monitor component.

◆ gps

std::shared_ptr<roboligo::NavSat> roboligo::RobotState::gps
Initial value:
= std::make_shared<roboligo::NavSat>(
"gps", "gps_topic")

Global Navigation Satellite System (GPS) sensor.

◆ imu

std::shared_ptr<roboligo::Imu> roboligo::RobotState::imu
Initial value:
= std::make_shared<roboligo::Imu>(
"imu", "imu_topic")

Inertial Measurement Unit sensor component.

◆ input

std::shared_ptr<roboligo::Input> roboligo::RobotState::input
Initial value:
= std::make_shared<roboligo::Input>(
"input", "input_topic")

Input sensor component.

◆ odom

std::shared_ptr<roboligo::Odom> roboligo::RobotState::odom
Initial value:
= std::make_shared<roboligo::Odom>(
"odom", "odom_topic")

Odometry sensor component.

◆ output

std::shared_ptr<roboligo::Output> roboligo::RobotState::output
Initial value:
= std::make_shared<roboligo::Output>(
"output", "output_topic")

Output actuator component.

◆ position_target

std::shared_ptr<roboligo::Output> roboligo::RobotState::position_target
Initial value:
= std::make_shared<roboligo::Output>(
"position_target", "output_topic")

Position target output component.


The documentation for this class was generated from the following files: