50 public yarp::os::Thread,
51 public yarp::dev::IMultipleWrapper
87 bool open(yarp::os::Searchable& config)
override;
88 bool close()
override;
96 bool attachAll(
const yarp::dev::PolyDriverList& device2attach)
override;
105 std::string _portPrefix =
"/fineCalibrationChecker";
106 std::string _robotName=
"";
107 std::string _deviceName=
"fineCalibrationChecker";
108 std::string _remoteRawValuesPort =
"";
109 bool _withGui =
false;
113 yarp::os::Bottle _axesNamesList = yarp::os::Bottle();
114 yarp::os::Bottle _goldPositionsList = yarp::os::Bottle();
115 yarp::os::Bottle _encoderResolutionsList = yarp::os::Bottle();
116 yarp::os::Bottle _calibrationDeltasList = yarp::os::Bottle();
118 std::vector<std::string> _robotSubpartsWrapper = {
"setup_mc",
"head",
"left_arm",
"right_arm",
"torso",
"left_leg",
"right_leg"};
119 std::map<std::string, std::vector<std::int32_t>> rawDataValuesMap;
121 std::map<std::string, std::array<int32_t, 2>> axesRawGoldenPositionsResMap;
122 std::string _rawValuesTag =
"eoprot_tag_mc_joint_status_addinfo_multienc";
129 yarp::dev::IMotor*
_imot {
nullptr };
130 yarp::dev::IEncoders*
_ienc {
nullptr };
131 } remappedControlBoardInterfaces;
136 std::unique_ptr<yarp::dev::PolyDriver> _remappedControlBoardDevice;
137 std::unique_ptr<yarp::dev::PolyDriver> _rawValuesPublisherDevice;
139 void evaluateHardStopPositionDelta(
const std::string& key,
const std::string& outputFileName);
140 void generateOutputImage(
int frameWidth,
int frameHeight,
const std::vector<ItemData>& items);
143 cv::Scalar getColorForDelta(int32_t delta, int32_t threshold_1, int32_t threshold_2);
145 bool attachToAllControlBoards(
const yarp::dev::PolyDriverList& polyList);