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

Methods

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()

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:27

RobotInterfaceBase(
    const robot_manager::RobotInterfaceBase&)

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:37

Parameters

const robot_manager::RobotInterfaceBase&

RobotInterfaceBase(
    robot_manager::RobotInterfaceBase&&)

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:39

Parameters

robot_manager::RobotInterfaceBase&&

uint8_t bufferSize() const

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:108

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

Description

The robot's configuration entry.

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:99

virtual std::string connectionError() const

Description

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()

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)

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

Description

Robot control period [s] (`controller.time_step`).

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:104

virtual void init()

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:42

virtual bool isInitialized() const

Description

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)

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:85

Parameters

const mc_rtc::Configuration& config

const std::string& name() const

Description

Robot name.

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:94

virtual void reset()

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:43

void setCommunication(int communication)

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:88

Parameters

int communication

virtual void stop()

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:44

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

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

robot_controller::Controller& gc

virtual ~RobotInterfaceBase()

Declared at: robot_manager/include/robot_interface/RobotInterfaceBase.h:36