44 std::shared_ptr<class VelocityManipulatingTorqueControllerConfiguration>;
79 float update(
const IceUtil::Time& sensorValuesTimestamp,
80 const IceUtil::Time& timeSinceLastIteration,
85 float actualPosition);
106 std::mutex pidParameterMutex;
110 double currentTargetVelocity = 0.0;
111 double lastAcceleration = 0.0;
112 double lastJerk = 0.0;
The Config class is the base class of all specialized configurations that have a direct key -> value ...
VelocityManipulatingTorqueControllerConfiguration()
static VelocityManipulatingTorqueControllerConfigurationPtr CreateTorqueConfigData(hardware_config::Config &config, bool limitless, float jointLimitLow, float jointLimitHigh)
double pid_proportional_gain
double pid_derivative_gain
std::vector< float > firFilterImpulseResponse
double getLastAcceleration() const
const PIDController & getPid()
float update(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration, float gravity, float actualTorque, float targetTorque, float actualVelocity, float actualPosition)
VelocityManipulatingTorqueController(const VelocityManipulatingTorqueControllerConfigurationPtr &torqueConfigData)
bool setTorqueConfigData(VelocityManipulatingTorqueControllerConfiguration configData)
double getLastJerk() const
VelocityManipulatingTorqueControllerConfiguration getTorqueConfigData() const
double getCurrentTargetVelocity() const
double calcJointLimitProtectionTorque(float actualPosition)
std::shared_ptr< class VelocityManipulatingTorqueControllerConfiguration > VelocityManipulatingTorqueControllerConfigurationPtr