26 #include <condition_variable> 28 #include <yarp/os/all.h> 29 #include <yarp/dev/all.h> 30 #include <yarp/sig/all.h> 95 bool init(
const double Ts,
const double Q,
const double R,
96 const double P0,
const yarp::sig::Vector &x0);
106 bool init(
const double P0,
const yarp::sig::Vector &x0);
118 yarp::sig::Vector
estimate(
const double u,
const double y);
126 yarp::sig::Vector
get_x()
const {
return _x; }
133 yarp::sig::Matrix
get_P()
const {
return P; }
159 yarp::dev::IControlLimits *
ilim;
163 yarp::dev::ICurrentControl *
icur;
197 void applyStictionLimit();
200 void threadRelease();
256 virtual bool configure(yarp::dev::PolyDriver &driver,
const yarp::os::Property &options);
264 virtual bool reconfigure(
const yarp::os::Property &options);
285 virtual bool isDone();
293 virtual bool waitUntilDone();
308 virtual bool getResults(yarp::sig::Vector &results);
322 virtual bool getInfo(yarp::os::Property &info);
355 yarp::dev::IControlLimits *
ilim;
357 yarp::dev::IPositionControl *
ipos;
358 yarp::dev::IPositionDirect *
idir;
361 yarp::dev::ICurrentControl *
icur;
369 yarp::os::BufferedPort<yarp::sig::Vector>
port;
371 yarp::sig::Vector
x0;
399 controller_validation
402 void commandJoint(
double &enc,
double &u);
405 void threadRelease();
463 virtual bool configure(yarp::dev::PolyDriver &driver,
const yarp::os::Property &options);
515 virtual bool tuneController(
const yarp::os::Property &options, yarp::os::Property &results);
534 virtual bool startPlantEstimation(
const yarp::os::Property &options);
564 virtual bool startPlantValidation(
const yarp::os::Property &options);
583 virtual bool startStictionEstimation(
const yarp::os::Property &options);
629 virtual bool startControllerValidation(
const yarp::os::Property &options);
636 virtual bool isDone();
643 virtual bool waitUntilDone();
669 virtual bool getResults(yarp::os::Property &results);
yarp::dev::IControlLimits * ilim
double controller_validation_stiction_up
virtual bool isConfigured() const
Check the configuration status.
int controller_validation_cycles_to_switch
double controller_validation_ref_sustain_time
virtual ~OnlineStictionEstimator()
Destructor.
yarp::dev::ICurrentControl * icur
General structure of parallel (non-interactive) PID.
yarp::dev::IControlMode * imod
yarp::dev::IPWMControl * ipwm
yarp::dev::IControlLimits * ilim
yarp::sig::Vector meanParams
OnlineDCMotorEstimator plant
yarp::dev::IControlMode * imod
OnlineDCMotorEstimator()
Default constructor.
virtual void stopOperation()
Stop any ongoing operation.
yarp::dev::ICurrentControl * icur
bool init(const double Ts, const double Q, const double R, const double P0, const yarp::sig::Vector &x0)
Initialize the estimation.
virtual void stopEstimation()
Stop the estimation procedure.
yarp::dev::IEncoders * ienc
yarp::sig::Vector stiction
virtual bool isConfigured() const
Check the configuration status.
Classic Kalman estimator.
A class for defining a saturated integrator based on Tustin formula: .
yarp::sig::Matrix get_P() const
Return the estimated error covariance.
bool controller_validation_stiction_yarp
OnlineStictionEstimator stiction
yarp::dev::IPidControl * ipid
yarp::sig::Vector get_x() const
Return the estimated state.
yarp::dev::IPositionControl * ipos
std::condition_variable cv_doneEvent
Adaptive window linear fitting to estimate the first derivative.
yarp::dev::IPWMControl * ipwm
yarp::os::BufferedPort< yarp::sig::Vector > port
Online Compensator Design.
yarp::dev::IPidControl * ipid
double controller_validation_stiction_down
double controller_validation_ref_period
yarp::sig::Vector estimate(const double u, const double y)
Estimate the state vector given the current input and the current measurement.
Generator of approximately minimum jerk trajectories.
Adaptive window quadratic fitting to estimate the second derivative.
This file contains the definition of unique IDs for the body parts and the skin parts of the robot...
virtual bool startEstimation()
Start off the estimation procedure.
yarp::sig::Vector get_parameters() const
Return the system parameters.
Online DC Motor Parameters Estimator.
int controller_validation_num_cycles
yarp::dev::IEncoders * ienc
bool controller_validation_ref_square
Online Stiction Estimator.
yarp::dev::IPositionDirect * idir
std::condition_variable cv_doneEvent