class RobotInterfaceBase
Declaration
class RobotInterfaceBase { /* full declaration omitted */ };Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:24
Member Variables
- private std::mutex update_sensor_mtx_ = {}
- private std::mutex update_control_mtx_ = {}
- private const std::string name_ = {}
- private const mc_rtc::Configuration config_
- private const double dt_ = {}
- private const uint8_t buffer_size_ = {}
- private int state_
- private int command_
- private int communication_
- protected robot_manager::ControlMode control_mode_ = POSITION
Method Overview
- public RobotInterfaceBase(std::string name, mc_rtc::Configuration config, uint8_t buffer_size)
- public RobotInterfaceBase()
- public RobotInterfaceBase(const robot_manager::RobotInterfaceBase &)
- public RobotInterfaceBase(robot_manager::RobotInterfaceBase &&)
- public uint8_t bufferSize() const
- public robot_comm::Communication & communication()
- public const mc_rtc::Configuration & config() const
- public virtual std::string connectionError() const
- public template <typename cm>void control()
- public void controlThread(robot_controller::Controller & controller, std::mutex & startM, std::condition_variable & start_cv_, bool & start)
- public double dt() const
- public virtual void init()
- public virtual bool isInitialized() const
- public void loadConfig(const mc_rtc::Configuration & config)
- public const std::string & name() const
- public virtual void reset()
- public void setCommunication(int communication)
- public virtual void stop()
- public virtual void updateControl(robot_controller::Controller & gc)
- public virtual void updateSensors(robot_controller::Controller & gc)
- public virtual ~RobotInterfaceBase()
Methods
¶RobotInterfaceBase(std::string name,
mc_rtc::Configuration config,
uint8_t buffer_size)
RobotInterfaceBase(std::string name,
mc_rtc::Configuration config,
uint8_t buffer_size)Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:32
Parameters
- std::string name
- Robot name (its key under `Robots:`).
- mc_rtc::Configuration config
- The robot's configuration entry.
- uint8_t buffer_size
- Size of the state buffer.
¶RobotInterfaceBase()
RobotInterfaceBase()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:27
¶RobotInterfaceBase(
const robot_manager::RobotInterfaceBase&)
RobotInterfaceBase(
const robot_manager::RobotInterfaceBase&)Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:37
Parameters
¶RobotInterfaceBase(
robot_manager::RobotInterfaceBase&&)
RobotInterfaceBase(
robot_manager::RobotInterfaceBase&&)Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:39
Parameters
¶uint8_t bufferSize() const
uint8_t bufferSize() constDeclared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:108
¶robot_comm::Communication& communication()
robot_comm::Communication& communication()Description
Communication used to talk to the robot.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:114
¶const mc_rtc::Configuration& config() const
const mc_rtc::Configuration& config() constDescription
The robot's configuration entry.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:99
¶virtual std::string connectionError() const
virtual std::string connectionError() constDescription
Why the connection to the robot counts as lost, or empty while it is fine. The manager stops the controller as soon as one robot reports an error. Updated by updateSensors().
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:61
¶template <typename cm>
void control()
template <typename cm>
void control()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:82
Templates
- cm
¶void controlThread(
robot_controller::Controller& controller,
std::mutex& startM,
std::condition_variable& start_cv_,
bool& start)
void controlThread(
robot_controller::Controller& controller,
std::mutex& startM,
std::condition_variable& start_cv_,
bool& start)Description
Method in charge of robot sensors and commands update
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:70
Parameters
- robot_controller::Controller& controller
- std::mutex& startM
- std::condition_variable& start_cv_
- bool& start
¶double dt() const
double dt() constDescription
Robot control period [s] (`controller.time_step`).
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:104
¶virtual void init()
virtual void init()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:42
¶virtual bool isInitialized() const
virtual bool isInitialized() constDescription
True once the robot's first state has been passed to the controller. The controller only runs once every robot is initialized.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:53
¶void loadConfig(
const mc_rtc::Configuration& config)
void loadConfig(
const mc_rtc::Configuration& config)Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:85
Parameters
- const mc_rtc::Configuration& config
¶const std::string& name() const
const std::string& name() constDescription
Robot name.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:94
¶virtual void reset()
virtual void reset()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:43
¶void setCommunication(int communication)
void setCommunication(int communication)Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:88
Parameters
- int communication
¶virtual void stop()
virtual void stop()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:44
¶virtual void updateControl(
robot_controller::Controller& gc)
virtual void updateControl(
robot_controller::Controller& gc)Description
Send the controller's command to the robot.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:49
Parameters
¶virtual void updateSensors(
robot_controller::Controller& gc)
virtual void updateSensors(
robot_controller::Controller& gc)Description
Pass the latest robot state to the controller.
Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:47
Parameters
¶virtual ~RobotInterfaceBase()
virtual ~RobotInterfaceBase()Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:36