21 #ifndef _MOTORSTICTION_H_
22 #define _MOTORSTICTION_H_
26 #include <yarp/robottestingframework/TestCase.h>
27 #include <yarp/dev/ControlBoardInterfaces.h>
28 #include <yarp/dev/PolyDriver.h>
29 #include <yarp/sig/Vector.h>
30 #include <yarp/os/Bottle.h>
31 #include <yarp/sig/Matrix.h>
44 stiction_data() {jnt=0; cycle=0; pos_test_passed=
false; neg_test_passed=
false; pos_opl=0; neg_opl=0;}
47 class MotorStiction :
public yarp::robottestingframework::TestCase
51 virtual ~MotorStiction();
53 virtual bool setup(yarp::os::Property& property);
55 virtual void tearDown();
60 void setMode(
int desired_control_mode, yarp::dev::InteractionModeEnum desired_interaction_mode);
61 void setModeSingle(
int i,
int desired_control_mode, yarp::dev::InteractionModeEnum desired_interaction_mode);
62 void verifyMode(
int desired_control_mode, yarp::dev::InteractionModeEnum desired_interaction_mode, std::string title);
63 void saveToFile(std::string filename, yarp::os::Bottle &b);
66 void OplExecute(
int i, std::vector<yarp::os::Bottle>& dataToPlotList, stiction_data& current_test,
bool positive_sign);
69 void OplExecute2(
int i, std::vector<yarp::os::Bottle>& dataToPlotList, stiction_data& current_test,
bool positive_sign);
72 std::string robotName;
75 std::vector<stiction_data> stiction_data_list;
76 yarp::sig::Vector jointsList;
77 yarp::sig::Vector home;
78 yarp::sig::Vector opl_step;
79 yarp::sig::Vector opl_max;
80 yarp::sig::Vector opl_delay;
81 yarp::sig::Vector movement_threshold;
82 yarp::sig::Vector max_lims;
83 yarp::sig::Vector min_lims;
87 yarp::dev::PolyDriver *dd;
88 yarp::dev::IPositionControl *ipos;
89 yarp::dev::IAmplifierControl *iamp;
90 yarp::dev::IControlMode *icmd;
91 yarp::dev::IInteractionMode *iimd;
92 yarp::dev::IEncoders *ienc;
93 yarp::dev::IPWMControl *ipwm;
94 yarp::dev::IControlLimits *ilim;