Class RobotDriverInterface
Defined in File robot_driver.hpp
Inheritance Relationships
Derived Type
public husarion_ugv_hardware_interfaces::RoboteqRobotDriver(Class RoboteqRobotDriver)
Class Documentation
-
class RobotDriverInterface
Abstract class for managing different robot drivers.
Subclassed by husarion_ugv_hardware_interfaces::RoboteqRobotDriver
Public Functions
-
virtual void Initialize() = 0
Initialize robot driver.
- Throws:
std::runtime_error – if boot fails
-
virtual void Deinitialize() = 0
Deinitialize robot driver.
-
virtual void Activate() = 0
Activate procedure for the driver.
- Throws:
std::runtime_error – if any procedure step fails
-
virtual void UpdateCommunicationState() = 0
Updates current communication state with the drivers.
- Throws:
std::runtime_error – if error was detected
-
virtual void UpdateMotorsState() = 0
Updates current motors’ state (position, velocity, current).
- Throws:
std::runtime_error – if error was detected
-
virtual void UpdateDriversState() = 0
Updates current driver state (flags, temperatures, voltage, battery current)
- Throws:
std::runtime_error – if error was detected
-
virtual const DriverData &GetData(const DriverNames name) = 0
Get data feedback from the driver.
- Parameters:
name – name of the data to get
- Throws:
std::runtime_error – if data with the given name does not exist
- Returns:
data feedback
-
virtual void SendSpeedCommands(const std::vector<float> &speeds) = 0
Write speed commands to motors.
- Parameters:
speeds – vector of motor speeds in rad/s
- Throws:
std::runtime_error – if vector has invalid size or send command fails
-
virtual void TurnOnEStop() = 0
Turns on E-stop.
- Throws:
std::runtime_error – if any operation returns error
-
virtual void TurnOffEStop() = 0
Turns off E-stop.
- Throws:
std::runtime_error – if any operation returns error
-
virtual void AttemptErrorFlagReset() = 0
Attempt to clear driver error flags. If driver faults still exist, the error flags should remain active.
-
virtual bool CommunicationError() = 0
Check if communication with drivers is working properly.
- Returns:
true if communication error occurred
-
virtual void Initialize() = 0