13#ifndef __ICUB_PARAMETRIC_CALIBRATOR__
14#define __ICUB_PARAMETRIC_CALIBRATOR__
19#include <yarp/dev/DeviceDriver.h>
20#include <yarp/dev/CalibratorInterfaces.h>
21#include <yarp/dev/ControlBoardInterfaces.h>
26 class parametricCalibrator;
60 bool calibrate(DeviceDriver *dd)
override;
68 virtual bool open (yarp::os::Searchable& config)
override;
74 virtual bool close ()
override;
76 virtual bool park(DeviceDriver *dd,
bool wait=
true)
override;
99 std::mutex calibMutex;
102 bool calibrateJoint(
int j);
103 bool goToZero(
int j);
104 bool checkCalibrateJointEnded(std::list<int> set);
105 bool checkGoneToZeroThreshold(
int j);
106 bool checkHwFault(
int j);
108 yarp::dev::PolyDriver *dev2calibrate;
109 IControlCalibration *iCalibrate;
111 IEncoders *iEncoders;
112 IPositionControl *iPosition;
113 IControlMode *iControlMode;
114 IAmplifierControl *iAmp;
116 std::list<std::list<int> > joints;
126 double *original_max_pwm;
127 double *limited_max_pwm;
132 double *zeroPosThreshold;
136 bool skipCalibration;
139 int totJointsToCalibrate;
140 std::string deviceName;
141 yarp::os::Bottle calibJointsString;
142 std::list<int> calibJoints;
parametricCalibrator: implement calibration routines for the iCub arm(s) (version 1....
parametricCalibrator()
Default constructor.
virtual bool homingSingleJoint(int j) override
virtual bool calibrateSingleJoint(int j) override
virtual bool parkSingleJoint(int j, bool _wait=true) override
virtual bool close() override
Close the device driver.
virtual bool quitPark() override
~parametricCalibrator()
Destructor.
virtual bool park(DeviceDriver *dd, bool wait=true) override
virtual bool calibrateWholePart() override
virtual bool parkWholePart() override
virtual yarp::dev::IRemoteCalibrator * getCalibratorDevice()
bool calibrate(DeviceDriver *dd) override
Calibrate method.
virtual bool homingWholePart() override
virtual bool quitCalibrate() override
virtual bool open(yarp::os::Searchable &config) override
Open the device driver.
Copyright (C) 2008 RobotCub Consortium.