90 virtual public DHParameterOptimizationLoggerInterface
99 return "DHParameterOptimizationLogger";
106 void logData(
const Ice::Current& = Ice::emptyCurrent)
override;
110 void init(
const std::string& kinematicChainName,
111 const std::map<std::string, std::string>& neckMarkerMapping,
112 const std::map<std::string, std::string>& handMarkerMapping,
113 const std::string& loggingFileName,
114 bool logRepeatAccuracy,
115 const Ice::Current& = Ice::emptyCurrent)
override;
145 const Ice::Current& = Ice::emptyCurrent)
override;
147 const Ice::Current& = Ice::emptyCurrent)
override;
152 ObserverInterfacePrx robotUnitObserver;
156 std::string _filePath;
157 void setupFile(
const std::string& fileName);
162 StringVector3fMap _viconMarkerBuffer;
163 bool _viconBufferUpdated;
164 StringVector3fMap _filteredViconMarkerPositions_robotRootFrame;
165 bool _filteredViconMarkerPositionsUpdated;
166 IceUtil::Time _timeStampLastViconDataUpdate;
167 mutable std::mutex _bufferMutex;
168 bool _viconLoggingActive;
172 void logViconMarkerPositions(std::vector<float>&
data);
173 void logJointValues(std::vector<float>&
data)
const;
174 void logForwardKinematicToViconMarker(std::vector<float>&
data)
const;
175 void logErrorBetweenModelAndVicon(std::vector<float>&
data);
176 void logRawTorqueTicks(std::vector<float>&
data)
const;
177 void logTorqueValues(std::vector<float>&
data)
const;
179 void logFTSensorValues(std::vector<float>&
data)
const;
181 StringVector3fMap waitBlockingForAllMarkersFiltered();
184 VirtualRobot::RobotNodeSetPtr _kc;
185 NameList _jointNames;
186 NameList _neckMarker;
187 NameList _handMarker;
188 std::map<std::string, std::string> _neckMarkerMapping;
189 std::map<std::string, std::string> _handMarkerMapping;
190 VirtualRobot::RobotNodePtr getNeckMarkerRootNode()
const;
191 VirtualRobot::RobotNodePtr getHandMarkerRootNode()
const;
192 std::string _viconObjectName_neck;
193 std::string _viconObjectName_hand;
195 bool _logRepeatAccuracy;
196 Eigen::Matrix4f _lastObservedHandRootPose;
197 Eigen::Matrix4f _newObservedHandRootPose;
198 bool _observedHandPosesUpdated;
199 std::pair<float, float> calculateRepeatError();
201 Eigen::Matrix4f registration3d(
const Eigen::MatrixXf& matrixA,
202 const Eigen::MatrixXf& matrixB)
const;
204 transformViconMarkerPositionsIntoRobotRootFrame(
const StringVector3fMap& values)
const;
void init(const std::string &kinematicChainName, const std::map< std::string, std::string > &neckMarkerMapping, const std::map< std::string, std::string > &handMarkerMapping, const std::string &loggingFileName, bool logRepeatAccuracy, const Ice::Current &=Ice::emptyCurrent) override