Use steady clock for computing velocity (#59)

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
This commit is contained in:
Jacob Perron 2021-03-25 16:04:41 -07:00 committed by GitHub
parent cc95ad35a0
commit fd1d0a220f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -80,7 +80,7 @@ namespace create {
float totalLeftDist; float totalLeftDist;
float totalRightDist; float totalRightDist;
bool firstOnData; bool firstOnData;
std::chrono::time_point<std::chrono::system_clock> prevOnDataTime; std::chrono::time_point<std::chrono::steady_clock> prevOnDataTime;
Matrix poseCovar; Matrix poseCovar;

View file

@ -93,12 +93,12 @@ namespace create {
prevTicksLeft = GET_DATA(ID_LEFT_ENC); prevTicksLeft = GET_DATA(ID_LEFT_ENC);
prevTicksRight = GET_DATA(ID_RIGHT_ENC); prevTicksRight = GET_DATA(ID_RIGHT_ENC);
} }
prevOnDataTime = std::chrono::system_clock::now(); prevOnDataTime = std::chrono::steady_clock::now();
firstOnData = false; firstOnData = false;
} }
// Get current time // Get current time
auto curTime = std::chrono::system_clock::now(); auto curTime = std::chrono::steady_clock::now();
float dt = static_cast<std::chrono::duration<float>>(curTime - prevOnDataTime).count(); float dt = static_cast<std::chrono::duration<float>>(curTime - prevOnDataTime).count();
float deltaDist, deltaX, deltaY, deltaYaw, leftWheelDist, rightWheelDist, wheelDistDiff; float deltaDist, deltaX, deltaY, deltaYaw, leftWheelDist, rightWheelDist, wheelDistDiff;