#ifndef LOWLEVELSTATE_HPP #define LOWLEVELSTATE_HPP #include #include #include "common/math/mathTools.h" #include "common/enumClass.h" #include "common/math/Filter.h" struct LowlevelState{ public: LowlevelState(double dt); ~LowlevelState(); std::vector q; std::vector dq; std::vector ddq; std::vector tau; std::vector> q_data; std::vector> dq_data; std::vector> ddq_data; std::vector> tau_data; std::vector temperature; std::vector errorstate; std::vector isMotorConnected; std::vector qFiltered; std::vector dqFiltered; std::vector ddqFiltered; std::vector tauFiltered; LPFilter *qFilter; LPFilter *dqFilter; LPFilter *ddqFilter; LPFilter *tauFilter; void resizeGripper(double dt); void runFilter(); bool checkError(); Vec6 getQ(); Vec6 getQd(); Vec6 getQdd(); Vec6 getTau(); Vec6 getQFiltered(); Vec6 getQdFiltered(); Vec6 getQddFiltered(); Vec6 getTauFiltered(); double getGripperQ(); double getGripperQd(); double getGripperTau(); double getGripperTauFiltered(); private: size_t _dof = 6; int temporatureLimit = 80.0;// centigrade std::vector _isMotorConnectedCnt; std::vector _isMotorLostConnection; }; #endif //LOWLEVELSTATE_HPP