Template Class SemanticComponentCommandInterface

Class Documentation

template<typename MessageInputType>
class SemanticComponentCommandInterface

Public Functions

inline SemanticComponentCommandInterface(const std::string &name, const std::vector<std::string> &interface_names)
virtual ~SemanticComponentCommandInterface() = default
inline bool assign_loaned_command_interfaces(std::vector<hardware_interface::LoanedCommandInterface> &command_interfaces)

Assign loaned command interfaces from the hardware.

Assign loaned command interfaces on the controller start.

Parameters:

command_interfaces[in] vector of command interfaces provided by the controller.

inline void release_interfaces()

Release loaned command interfaces from the hardware.

inline const std::vector<std::string> &get_command_interface_names() const

Definition of command interface names for the component.

The function should be used in “command_interface_configuration()” of a controller to provide standardized command interface names semantic component.

\default Default implementation defined command interfaces as “name/NR” where NR is number from 0 to size of values;

Returns:

list of strings with command interface names for the semantic component.

inline bool set_values(const std::vector<double> &values)

Return all values.

Returns:

true if it gets all the values, else false (i.e., invalid size or if the method hardware_interface::LoanedCommandInterface::set_value fails).

virtual bool set_values_from_message(const MessageInputType&) = 0

Set values from MessageInputType.

Returns:

True if all values were set successfully, false otherwise.

Protected Attributes

std::string name_
std::vector<std::string> interface_names_
std::vector<std::reference_wrapper<hardware_interface::LoanedCommandInterface>> command_interfaces_