Class Plugin
Defined in File arm.hpp
Inheritance Relationships
Derived Types
public hebi::arm::plugin::DoubledJoint
(Class DoubledJoint)public hebi::arm::plugin::DynamicsCompensationEffort
(Class DynamicsCompensationEffort)public hebi::arm::plugin::EffortOffset
(Class EffortOffset)public hebi::arm::plugin::GravityCompensationEffort
(Class GravityCompensationEffort)public hebi::arm::plugin::ImpedanceController
(Class ImpedanceController)
Class Documentation
-
class Plugin
Abstract base class representing a plugin to be used for an Arm object. Each implementation should also implement two static functions, and be included in the ArmPluginMap list below:
static std::unique_ptr<T> create(const PluginConfig&);
static std::string pluginTypeName(); // For matching robot config file entries
Plugins allow extending an arm object with custom functionality not supported in the base class
The PluginConfig structure can have the following optional parameters used by this base Plugin class, in addition to those defined for classes that inherit from Plugin. optional:
enabled: (bool) Represents the starting state of the plugin, either enabled (true) or disabled.
ramp_time: (float) A value in seconds that indicates how long it takes to transition between enabled and disabled states. Different plugins may scale their effects based on this ramped enable/disable effect. Must be positive.
Subclassed by hebi::arm::plugin::DoubledJoint, hebi::arm::plugin::DynamicsCompensationEffort, hebi::arm::plugin::EffortOffset, hebi::arm::plugin::GravityCompensationEffort, hebi::arm::plugin::ImpedanceController
Public Functions
-
inline Plugin(const std::string &name)
-
virtual ~Plugin() = default
-
inline std::string name() const
-
inline bool enabled() const
-
inline void setEnabled(bool enabled)
-
inline float enabledRatio()
-
bool setRampTime(float ramp_time)
-
inline float rampTime()
-
inline virtual bool send()
Protected Functions
-
bool applyParameters(const PluginConfig &config, std::set<std::string> required_parameters)
-
inline virtual bool applyParameterImpl(const std::string&, bool)
-
inline virtual bool applyParameterImpl(const std::string&, const std::vector<bool>&)
-
inline virtual bool applyParameterImpl(const std::string&, double)
-
inline virtual bool applyParameterImpl(const std::string&, const std::vector<double>&)
-
inline virtual bool applyParameterImpl(const std::string&, const std::string&)
-
inline virtual bool applyParameterImpl(const std::string&, const std::vector<std::string>&)