diff --git a/.vscode/settings.json b/.vscode/settings.json index 58ff402a73cbab01aec46466db0a41bea2048ed4..6c2786aa3dce9c51c5660c36873f7ab01e2a8e4b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -114,7 +114,9 @@ "xtr1common": "cpp", "xtree": "cpp", "xutility": "cpp", - "BiasCorrector.C": "cpp" + "BiasCorrector.C": "cpp", + "numbers": "cpp", + "semaphore": "cpp" }, "editor.formatOnSave": true, "[c]": { diff --git a/skyward-boardcore b/skyward-boardcore index b692844ee50a2bd7619ee7be202a1d9641fa72f8..fdc5f4e20e937dfa3257493095300a2663b8e0c1 160000 --- a/skyward-boardcore +++ b/skyward-boardcore @@ -1 +1 @@ -Subproject commit b692844ee50a2bd7619ee7be202a1d9641fa72f8 +Subproject commit fdc5f4e20e937dfa3257493095300a2663b8e0c1 diff --git a/src Lynx/boards/DeathStack/NavigationAttitudeSystem/NAS.h b/src Lynx/boards/DeathStack/NavigationAttitudeSystem/NAS.h index 6c9a7b8120f304b75a1bc490d3c0031a489487fb..8924ed9abaff5846d324324333e3cdf8758c45b7 100644 --- a/src Lynx/boards/DeathStack/NavigationAttitudeSystem/NAS.h +++ b/src Lynx/boards/DeathStack/NavigationAttitudeSystem/NAS.h @@ -212,19 +212,19 @@ NASData NAS<IMU, Press, GPS>::sampleImpl() // update ekf with new accel and gyro measures if (imu_data.accelerationTimestamp != last_accel_timestamp && - imu_data.angularVelocityTimestamp != last_gyro_timestamp) + imu_data.angularSpeedTimestamp != last_gyro_timestamp) { last_accel_timestamp = imu_data.accelerationTimestamp; - last_gyro_timestamp = imu_data.angularVelocityTimestamp; + last_gyro_timestamp = imu_data.angularSpeedTimestamp; Eigen::Vector3f accel_readings(imu_data.accelerationX, imu_data.accelerationY, imu_data.accelerationZ); filter.predict(accel_readings); - Eigen::Vector3f gyro_readings(imu_data.angularVelocityX, - imu_data.angularVelocityY, - imu_data.angularVelocityZ); + Eigen::Vector3f gyro_readings(imu_data.angularSpeedX, + imu_data.angularSpeedY, + imu_data.angularSpeedZ); filter.predictMEKF(gyro_readings); } diff --git a/src Lynx/boards/DeathStack/TelemetriesTelecommands/TmRepository.cpp b/src Lynx/boards/DeathStack/TelemetriesTelecommands/TmRepository.cpp index 018552592d961483542a06e213e653184ba3e68e..0524c449b89967e56c6bdb84126ec7598c18bb97 100644 --- a/src Lynx/boards/DeathStack/TelemetriesTelecommands/TmRepository.cpp +++ b/src Lynx/boards/DeathStack/TelemetriesTelecommands/TmRepository.cpp @@ -293,9 +293,9 @@ void TmRepository::update<BMX160Data>(const BMX160Data& t) tm_repository.sensors_tm.bmx160_acc_x = t.accelerationX; tm_repository.sensors_tm.bmx160_acc_y = t.accelerationY; tm_repository.sensors_tm.bmx160_acc_z = t.accelerationZ; - tm_repository.sensors_tm.bmx160_gyro_x = t.angularVelocityX; - tm_repository.sensors_tm.bmx160_gyro_y = t.angularVelocityY; - tm_repository.sensors_tm.bmx160_gyro_z = t.angularVelocityZ; + tm_repository.sensors_tm.bmx160_gyro_x = t.angularSpeedX; + tm_repository.sensors_tm.bmx160_gyro_y = t.angularSpeedY; + tm_repository.sensors_tm.bmx160_gyro_z = t.angularSpeedZ; tm_repository.sensors_tm.bmx160_mag_x = t.magneticFieldX; tm_repository.sensors_tm.bmx160_mag_y = t.magneticFieldY; tm_repository.sensors_tm.bmx160_mag_z = t.magneticFieldZ; @@ -308,9 +308,9 @@ void TmRepository::update<BMX160WithCorrectionData>( tm_repository.bmx_tm.acc_x = t.accelerationX; tm_repository.bmx_tm.acc_y = t.accelerationY; tm_repository.bmx_tm.acc_z = t.accelerationZ; - tm_repository.bmx_tm.gyro_x = t.angularVelocityX; - tm_repository.bmx_tm.gyro_y = t.angularVelocityY; - tm_repository.bmx_tm.gyro_z = t.angularVelocityZ; + tm_repository.bmx_tm.gyro_x = t.angularSpeedX; + tm_repository.bmx_tm.gyro_y = t.angularSpeedY; + tm_repository.bmx_tm.gyro_z = t.angularSpeedZ; tm_repository.bmx_tm.mag_x = t.magneticFieldX; tm_repository.bmx_tm.mag_y = t.magneticFieldY; tm_repository.bmx_tm.mag_z = t.magneticFieldZ; @@ -318,9 +318,9 @@ void TmRepository::update<BMX160WithCorrectionData>( tm_repository.hr_tm.acc_x = t.accelerationX; tm_repository.hr_tm.acc_y = t.accelerationY; tm_repository.hr_tm.acc_z = t.accelerationZ; - tm_repository.hr_tm.gyro_x = t.angularVelocityX; - tm_repository.hr_tm.gyro_y = t.angularVelocityY; - tm_repository.hr_tm.gyro_z = t.angularVelocityZ; + tm_repository.hr_tm.gyro_x = t.angularSpeedX; + tm_repository.hr_tm.gyro_y = t.angularSpeedY; + tm_repository.hr_tm.gyro_z = t.angularSpeedZ; tm_repository.hr_tm.mag_x = t.magneticFieldX; tm_repository.hr_tm.mag_y = t.magneticFieldY; tm_repository.hr_tm.mag_z = t.magneticFieldZ; diff --git a/src Lynx/hardware_in_the_loop/HIL_sensors/HILSensorsData.h b/src Lynx/hardware_in_the_loop/HIL_sensors/HILSensorsData.h index 27036157c56b9bebd750dd8c8d6bc1b854a90d41..2dfd5f6598e523bfe0c82de10abc502e200ef75d 100644 --- a/src Lynx/hardware_in_the_loop/HIL_sensors/HILSensorsData.h +++ b/src Lynx/hardware_in_the_loop/HIL_sensors/HILSensorsData.h @@ -53,8 +53,8 @@ struct HILGyroscopeData : public GyroscopeData void print(std::ostream& os) const { - os << angularVelocityTimestamp << "," << angularVelocityX << "," - << angularVelocityY << "," << angularVelocityZ << "\n"; + os << angularSpeedTimestamp << "," << angularSpeedX << "," + << angularSpeedY << "," << angularSpeedZ << "\n"; } }; @@ -90,8 +90,8 @@ struct HILImuData : public HILAccelData, { os << accelerationTimestamp << "," << accelerationX << "," << accelerationY << "," << accelerationZ << "," - << angularVelocityTimestamp << "," << angularVelocityX << "," - << angularVelocityY << "," << angularVelocityZ << "," + << angularSpeedTimestamp << "," << angularSpeedX << "," + << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," << magneticFieldY << "," << magneticFieldZ << "\n"; } diff --git a/src Lynx/mocksensors/MockIMU.h b/src Lynx/mocksensors/MockIMU.h index 95b7ce716ac8b2ec901d54c91d2239b4adb53d1b..9bd7368c3b9fdd00b5d7f5580049eb4400973ccf 100644 --- a/src Lynx/mocksensors/MockIMU.h +++ b/src Lynx/mocksensors/MockIMU.h @@ -54,10 +54,10 @@ public: data.accelerationY = ACCEL_DATA[index][1]; data.accelerationZ = ACCEL_DATA[index][2]; - data.angularVelocityTimestamp = t; - data.angularVelocityX = GYRO_DATA[index][0]; - data.angularVelocityY = GYRO_DATA[index][1]; - data.angularVelocityZ = GYRO_DATA[index][2]; + data.angularSpeedTimestamp = t; + data.angularSpeedX = GYRO_DATA[index][0]; + data.angularSpeedY = GYRO_DATA[index][1]; + data.angularSpeedZ = GYRO_DATA[index][2]; data.magneticFieldTimestamp = t; data.magneticFieldX = MAG_DATA[index][0]; diff --git a/src Lynx/mocksensors/MockSensorsData.h b/src Lynx/mocksensors/MockSensorsData.h index de12014dca80e3095f7323e7683518d4b31247e7..2ac35879fd185c648f3f0ff709cf1a14e4ae6fbd 100644 --- a/src Lynx/mocksensors/MockSensorsData.h +++ b/src Lynx/mocksensors/MockSensorsData.h @@ -39,8 +39,8 @@ struct MockIMUData : public Boardcore::AccelerometerData, { os << accelerationTimestamp << "," << accelerationX << "," << accelerationY << "," << accelerationZ << "," - << angularVelocityTimestamp << "," << angularVelocityX << "," - << angularVelocityY << "," << angularVelocityZ << "," + << angularSpeedTimestamp << "," << angularSpeedX << "," + << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," << magneticFieldY << "," << magneticFieldZ << "\n"; } diff --git a/src/boards/Main/Sensors/Sensors.cpp b/src/boards/Main/Sensors/Sensors.cpp index 7e082d71a37cc41893944cc60dede4e78686d110..3b35e89d043b8d6b05f366109764b232d329dfab 100644 --- a/src/boards/Main/Sensors/Sensors.cpp +++ b/src/boards/Main/Sensors/Sensors.cpp @@ -84,18 +84,18 @@ BMX160WithCorrectionData Sensors::getBMX160WithCorrectionLastSample() auto imuData = state.imu->getLastSample(); BMX160WithCorrectionData data; - data.accelerationTimestamp = imuData.accelerationTimestamp; - data.accelerationX = imuData.accelerationX; - data.accelerationY = imuData.accelerationY; - data.accelerationZ = imuData.accelerationZ; - data.angularVelocityTimestamp = imuData.angularVelocityTimestamp; - data.angularVelocityX = imuData.angularVelocityX; - data.angularVelocityY = imuData.angularVelocityY; - data.angularVelocityZ = imuData.angularVelocityZ; - data.magneticFieldTimestamp = imuData.magneticFieldTimestamp; - data.magneticFieldX = imuData.magneticFieldX; - data.magneticFieldY = imuData.magneticFieldY; - data.magneticFieldZ = imuData.magneticFieldZ; + data.accelerationTimestamp = imuData.accelerationTimestamp; + data.accelerationX = imuData.accelerationX; + data.accelerationY = imuData.accelerationY; + data.accelerationZ = imuData.accelerationZ; + data.angularSpeedTimestamp = imuData.angularSpeedTimestamp; + data.angularSpeedX = imuData.angularSpeedX; + data.angularSpeedY = imuData.angularSpeedY; + data.angularSpeedZ = imuData.angularSpeedZ; + data.magneticFieldTimestamp = imuData.magneticFieldTimestamp; + data.magneticFieldX = imuData.magneticFieldX; + data.magneticFieldY = imuData.magneticFieldY; + data.magneticFieldZ = imuData.magneticFieldZ; return data; #endif diff --git a/src/boards/Main/TMRepository/TMRepository.cpp b/src/boards/Main/TMRepository/TMRepository.cpp index 89173c5b4563b59babdc7fd616497395f9a006b9..79a3b98d2a17479702322cf0020afa27901465c9 100644 --- a/src/boards/Main/TMRepository/TMRepository.cpp +++ b/src/boards/Main/TMRepository/TMRepository.cpp @@ -250,9 +250,9 @@ mavlink_message_t TMRepository::packSystemTm(SystemTMList tmId, uint8_t msgId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; @@ -383,9 +383,9 @@ mavlink_message_t TMRepository::packSensorsTm(SensorsTMList sensorId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; @@ -406,9 +406,9 @@ mavlink_message_t TMRepository::packSensorsTm(SensorsTMList sensorId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; @@ -429,9 +429,9 @@ mavlink_message_t TMRepository::packSensorsTm(SensorsTMList sensorId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; diff --git a/src/boards/Parafoil/NASController/NASController.cpp b/src/boards/Parafoil/NASController/NASController.cpp index c69cb48ce24bfba93a2be971420fb2ce693cce80..dfd868efdc240d72355a57e1838d3c8732e1e533 100644 --- a/src/boards/Parafoil/NASController/NASController.cpp +++ b/src/boards/Parafoil/NASController/NASController.cpp @@ -62,9 +62,8 @@ void NASController::update() // Extrapolate all the data Eigen::Vector3f acceleration(imuData.accelerationX, imuData.accelerationY, imuData.accelerationZ); - Eigen::Vector3f angularVelocity(imuData.angularVelocityX, - imuData.angularVelocityY, - imuData.angularVelocityZ); + Eigen::Vector3f angularSpeed(imuData.angularSpeedX, imuData.angularSpeedY, + imuData.angularSpeedZ); Eigen::Vector3f magneticField( imuData.magneticFieldX, imuData.magneticFieldY, imuData.magneticFieldZ); @@ -81,7 +80,7 @@ void NASController::update() Eigen::Vector3f biasAcc(-0.1255, 0.2053, -0.2073); acceleration -= biasAcc; Eigen::Vector3f bias(-0.0291, 0.0149, 0.0202); - angularVelocity -= bias; + angularSpeed -= bias; Eigen::Vector3f offset(15.9850903462129, -15.6775071377074, -33.8438469147423); magneticField -= offset; @@ -89,7 +88,7 @@ void NASController::update() } // Predict step - nas.predictGyro(angularVelocity); + nas.predictGyro(angularSpeed); if (gpsPos[0] < 1e3 && gpsPos[0] > -1e3 && gpsPos[1] < 1e3 && gpsPos[1] > -1e3) nas.predictAcc(acceleration); diff --git a/src/boards/Parafoil/TMRepository/TMRepository.cpp b/src/boards/Parafoil/TMRepository/TMRepository.cpp index 650e4c0cdd3de02aa5a7f64d4a02cbb4a46a1b05..501367a7a3815a1de3c6354cb556a729471c66a5 100644 --- a/src/boards/Parafoil/TMRepository/TMRepository.cpp +++ b/src/boards/Parafoil/TMRepository/TMRepository.cpp @@ -179,9 +179,9 @@ mavlink_message_t TMRepository::packSystemTm(SystemTMList reqTm) tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; @@ -313,9 +313,9 @@ mavlink_message_t TMRepository::packSensorsTm(SensorsTMList reqTm) tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; diff --git a/src/boards/Payload/Sensors/Sensors.cpp b/src/boards/Payload/Sensors/Sensors.cpp index 99617f16397dffcfe2ff6b37aedd2e27728a7689..c9af766b6f1097edc1b22c70d36a36ca5757e58f 100644 --- a/src/boards/Payload/Sensors/Sensors.cpp +++ b/src/boards/Payload/Sensors/Sensors.cpp @@ -77,18 +77,18 @@ BMX160WithCorrectionData Sensors::getBMX160WithCorrectionLastSample() auto imuData = state.imu->getLastSample(); BMX160WithCorrectionData data; - data.accelerationTimestamp = imuData.accelerationTimestamp; - data.accelerationX = imuData.accelerationX; - data.accelerationY = imuData.accelerationY; - data.accelerationZ = imuData.accelerationZ; - data.angularVelocityTimestamp = imuData.angularVelocityTimestamp; - data.angularVelocityX = imuData.angularVelocityX; - data.angularVelocityY = imuData.angularVelocityY; - data.angularVelocityZ = imuData.angularVelocityZ; - data.magneticFieldTimestamp = imuData.magneticFieldTimestamp; - data.magneticFieldX = imuData.magneticFieldX; - data.magneticFieldY = imuData.magneticFieldY; - data.magneticFieldZ = imuData.magneticFieldZ; + data.accelerationTimestamp = imuData.accelerationTimestamp; + data.accelerationX = imuData.accelerationX; + data.accelerationY = imuData.accelerationY; + data.accelerationZ = imuData.accelerationZ; + data.angularSpeedTimestamp = imuData.angularSpeedTimestamp; + data.angularSpeedX = imuData.angularSpeedX; + data.angularSpeedY = imuData.angularSpeedY; + data.angularSpeedZ = imuData.angularSpeedZ; + data.magneticFieldTimestamp = imuData.magneticFieldTimestamp; + data.magneticFieldX = imuData.magneticFieldX; + data.magneticFieldY = imuData.magneticFieldY; + data.magneticFieldZ = imuData.magneticFieldZ; return data; #endif diff --git a/src/boards/Payload/TMRepository/TMRepository.cpp b/src/boards/Payload/TMRepository/TMRepository.cpp index e548b8878027ad61e8192e315e20f43d580b6730..533871af5177b1b6af964197bd5e066b4ab15fcb 100644 --- a/src/boards/Payload/TMRepository/TMRepository.cpp +++ b/src/boards/Payload/TMRepository/TMRepository.cpp @@ -190,9 +190,9 @@ mavlink_message_t TMRepository::packSystemTm(SystemTMList tmId, uint8_t msgId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; @@ -338,9 +338,9 @@ mavlink_message_t TMRepository::packSensorsTm(SensorsTMList sensorId, tm.acc_x = imuData.accelerationX; tm.acc_y = imuData.accelerationY; tm.acc_z = imuData.accelerationZ; - tm.gyro_x = imuData.angularVelocityX; - tm.gyro_y = imuData.angularVelocityY; - tm.gyro_z = imuData.angularVelocityZ; + tm.gyro_x = imuData.angularSpeedX; + tm.gyro_y = imuData.angularSpeedY; + tm.gyro_z = imuData.angularSpeedZ; tm.mag_x = imuData.magneticFieldX; tm.mag_y = imuData.magneticFieldY; tm.mag_z = imuData.magneticFieldZ; diff --git a/src/hardware_in_the_loop/HIL_sensors/HILGyroscope.h b/src/hardware_in_the_loop/HIL_sensors/HILGyroscope.h index 840ace99aba1bfe89fa0f87243098355b59d1596..eff7ffd9dbcb7cdd8362e101a6addac1c848cb65 100644 --- a/src/hardware_in_the_loop/HIL_sensors/HILGyroscope.h +++ b/src/hardware_in_the_loop/HIL_sensors/HILGyroscope.h @@ -47,10 +47,10 @@ protected: * struct */ Boardcore::Vec3 matlabData = sensorData->gyro.measures[sampleCounter]; - tempData.angularVelocityX = matlabData.getX(); - tempData.angularVelocityY = matlabData.getY(); - tempData.angularVelocityZ = matlabData.getZ(); - tempData.angularVelocityTimestamp = updateTimestamp(); + tempData.angularSpeedX = matlabData.getX(); + tempData.angularSpeedY = matlabData.getY(); + tempData.angularSpeedZ = matlabData.getZ(); + tempData.angularSpeedTimestamp = updateTimestamp(); Boardcore::Logger::getInstance().log(tempData); diff --git a/src/hardware_in_the_loop/HIL_sensors/HILImu.h b/src/hardware_in_the_loop/HIL_sensors/HILImu.h index 81cc2550e02a9fc9fbb4e66c5aa046fd2346b28a..bfd23a688df042b180502f54f49ec798483a6f33 100644 --- a/src/hardware_in_the_loop/HIL_sensors/HILImu.h +++ b/src/hardware_in_the_loop/HIL_sensors/HILImu.h @@ -52,19 +52,19 @@ protected: tempData.accelerationY = matlabData.getY(); tempData.accelerationZ = matlabData.getZ(); - matlabData = sensorData->gyro.measures[sampleCounter]; - tempData.angularVelocityX = matlabData.getX(); - tempData.angularVelocityY = matlabData.getY(); - tempData.angularVelocityZ = matlabData.getZ(); + matlabData = sensorData->gyro.measures[sampleCounter]; + tempData.angularSpeedX = matlabData.getX(); + tempData.angularSpeedY = matlabData.getY(); + tempData.angularSpeedZ = matlabData.getZ(); matlabData = sensorData->magnetometer.measures[sampleCounter]; tempData.magneticFieldX = matlabData.getX(); tempData.magneticFieldY = matlabData.getY(); tempData.magneticFieldZ = matlabData.getZ(); - tempData.accelerationTimestamp = updateTimestamp(); - tempData.angularVelocityTimestamp = tempData.accelerationTimestamp; - tempData.magneticFieldTimestamp = tempData.accelerationTimestamp; + tempData.accelerationTimestamp = updateTimestamp(); + tempData.angularSpeedTimestamp = tempData.accelerationTimestamp; + tempData.magneticFieldTimestamp = tempData.accelerationTimestamp; Boardcore::Logger::getInstance().log(tempData); diff --git a/src/hardware_in_the_loop/HIL_sensors/HILSensorsData.h b/src/hardware_in_the_loop/HIL_sensors/HILSensorsData.h index 34b9ea3e58f3bcdf30767dff551fabc3f5dedc6e..83840430fc719e6f4c1f4bd1aab3439378b2f7a5 100644 --- a/src/hardware_in_the_loop/HIL_sensors/HILSensorsData.h +++ b/src/hardware_in_the_loop/HIL_sensors/HILSensorsData.h @@ -41,13 +41,13 @@ struct HILGyroscopeData : public Boardcore::GyroscopeData { static std::string header() { - return "timestamp,angularVelocityX,angularVelocityY,angularVelocityZ\n"; + return "timestamp,angularSpeedX,angularSpeedY,angularSpeedZ\n"; } void print(std::ostream& os) const { - os << angularVelocityTimestamp << "," << angularVelocityX << "," - << angularVelocityY << "," << angularVelocityZ << "\n"; + os << angularSpeedTimestamp << "," << angularSpeedX << "," + << angularSpeedY << "," << angularSpeedZ << "\n"; } }; @@ -72,8 +72,8 @@ struct HILImuData : public HILAccelData, static std::string header() { return "accelerationTimestamp,accelerationX,accelerationY," - "accelerationZ,angularVelocityTimestamp,angularVelocityX," - "angularVelocityY,angularVelocityZ,magneticFieldTimestamp," + "accelerationZ,angularSpeedTimestamp,angularSpeedX," + "angularSpeedY,angularSpeedZ,magneticFieldTimestamp," "magneticFieldX,magneticFieldY,magneticFieldZ\n"; } @@ -81,8 +81,8 @@ struct HILImuData : public HILAccelData, { os << accelerationTimestamp << "," << accelerationX << "," << accelerationY << "," << accelerationZ << "," - << angularVelocityTimestamp << "," << angularVelocityX << "," - << angularVelocityY << "," << angularVelocityZ << "," + << angularSpeedTimestamp << "," << angularSpeedX << "," + << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," << magneticFieldY << "," << magneticFieldZ << "\n"; } diff --git a/src/scripts/logdecoder/Main/logdecoder b/src/scripts/logdecoder/Main/logdecoder new file mode 100755 index 0000000000000000000000000000000000000000..bde49d6700c2073d17e0434e92c976daf436b04c Binary files /dev/null and b/src/scripts/logdecoder/Main/logdecoder differ diff --git a/src/scripts/logdecoder/Payload/logdecoder b/src/scripts/logdecoder/Payload/logdecoder new file mode 100755 index 0000000000000000000000000000000000000000..faa0d3e4eb4160b85bfd13e92650b18a16d31626 Binary files /dev/null and b/src/scripts/logdecoder/Payload/logdecoder differ diff --git a/src/tests/Main/calibration/test-bmx160-calibration.cpp b/src/tests/Main/calibration/test-bmx160-calibration.cpp index 07f5f0b323369418582b7a5a49374f04195fa5f3..40e57dc55447ef5165bfebdb252643d6c366125d 100644 --- a/src/tests/Main/calibration/test-bmx160-calibration.cpp +++ b/src/tests/Main/calibration/test-bmx160-calibration.cpp @@ -417,9 +417,8 @@ void calibrateGyroscope() auto data = fifo.at(i); Logger::getInstance().log(data); - calibrationModel.feed({data.angularVelocityX, - data.angularVelocityY, - data.angularVelocityZ}); + calibrationModel.feed({data.angularSpeedX, data.angularSpeedY, + data.angularSpeedZ}); count++; } }, diff --git a/src/tests/Main/sensors/test-bmx160.cpp b/src/tests/Main/sensors/test-bmx160.cpp index 8b99131638fc90af5bd1425e0428d2af73e4898e..71ffc3f11ba1ae03426a7d6774d40386118a4c54 100644 --- a/src/tests/Main/sensors/test-bmx160.cpp +++ b/src/tests/Main/sensors/test-bmx160.cpp @@ -110,9 +110,9 @@ int main() stats[0].add(data.magneticFieldX); stats[1].add(data.magneticFieldY); stats[2].add(data.magneticFieldZ); - stats[3].add(data.angularVelocityX); - stats[4].add(data.angularVelocityY); - stats[5].add(data.angularVelocityZ); + stats[3].add(data.angularSpeedX); + stats[4].add(data.angularSpeedY); + stats[5].add(data.angularSpeedZ); stats[6].add(data.accelerationX); stats[7].add(data.accelerationY); stats[8].add(data.accelerationZ); @@ -163,9 +163,8 @@ int main() data.magneticFieldZ); printf("Gyr [%.4f s]:\t%.2f\t%.2f\t%.2f\n", - data.angularVelocityTimestamp / 1000000.0f, - data.angularVelocityX, data.angularVelocityY, - data.angularVelocityZ); + data.angularSpeedTimestamp / 1000000.0f, data.angularSpeedX, + data.angularSpeedY, data.angularSpeedZ); printf("Acc [%.4f s]:\t%.2f\t%.2f\t%.2f\n", data.accelerationTimestamp / 1000000.0f, data.accelerationX, diff --git a/src/tests/Main/sensors/test-mpu9250.cpp b/src/tests/Main/sensors/test-mpu9250.cpp index e71fea7f7ce772eea174ea11d99ab013fbf40a97..b84063d87b96fd467982de5209937da24418bc70 100644 --- a/src/tests/Main/sensors/test-mpu9250.cpp +++ b/src/tests/Main/sensors/test-mpu9250.cpp @@ -83,9 +83,9 @@ int main() stats[0].add(data.magneticFieldX); stats[1].add(data.magneticFieldY); stats[2].add(data.magneticFieldZ); - stats[3].add(data.angularVelocityX); - stats[4].add(data.angularVelocityY); - stats[5].add(data.angularVelocityZ); + stats[3].add(data.angularSpeedX); + stats[4].add(data.angularSpeedY); + stats[5].add(data.angularSpeedZ); stats[6].add(data.accelerationX); stats[7].add(data.accelerationY); stats[8].add(data.accelerationZ); @@ -110,9 +110,8 @@ int main() MPU9250Data data = mpu9250.getLastSample(); printf("%lld,%f,%f,%f;", data.accelerationTimestamp, data.accelerationX, data.accelerationY, data.accelerationZ); - printf("%lld,%f,%f,%f;", data.angularVelocityTimestamp, - data.angularVelocityX, data.angularVelocityY, - data.angularVelocityZ); + printf("%lld,%f,%f,%f;", data.angularSpeedTimestamp, data.angularSpeedX, + data.angularSpeedY, data.angularSpeedZ); printf("%lld,%f,%f,%f\n", data.magneticFieldTimestamp, data.magneticFieldX, data.magneticFieldY, data.magneticFieldZ); diff --git a/src/tests/Main/sensors/test-vn100.cpp b/src/tests/Main/sensors/test-vn100.cpp index 29489bcd4b3ece61370e7463d85776d334b7df42..4a4eac990383b71113efc74919151e46e76ca6b6 100644 --- a/src/tests/Main/sensors/test-vn100.cpp +++ b/src/tests/Main/sensors/test-vn100.cpp @@ -61,8 +61,8 @@ int main() printf("[%.2f] acc: %.3f, %.3f, %.3f\n", sample.accelerationTimestamp / 1e6, sample.accelerationX, sample.accelerationY, sample.accelerationZ); - // printf("ang: %.3f, %.3f, %.3f\n", sample.angularVelocityX, - // sample.angularVelocityY, sample.angularVelocityZ); + // printf("ang: %.3f, %.3f, %.3f\n", sample.angularSpeedX, + // sample.angularSpeedY, sample.angularSpeedZ); sensor.sampleRaw(); // sampleRaw = sensor.getLastRawSample(); diff --git a/src/tests/Main/test-nas.cpp b/src/tests/Main/test-nas.cpp index d9849ad79ffe3cb3806a07ddea357b08acf63fb2..001e6c69c8285a5b35cd215a1a7d6d19ea070712 100644 --- a/src/tests/Main/test-nas.cpp +++ b/src/tests/Main/test-nas.cpp @@ -159,14 +159,14 @@ void step() Vector3f acceleration(imuData.accelerationX, imuData.accelerationY, imuData.accelerationZ); - Vector3f angularVelocity(imuData.angularVelocityX, imuData.angularVelocityY, - imuData.angularVelocityZ); + Vector3f angularSpeed(imuData.angularSpeedX, imuData.angularSpeedY, + imuData.angularSpeedZ); Vector3f magneticField(imuData.magneticFieldX, imuData.magneticFieldY, imuData.magneticFieldZ); // Calibration { - angularVelocity -= Vector3f{-0.00863, 0.00337, 0.01284}; + angularSpeed -= Vector3f{-0.00863, 0.00337, 0.01284}; Matrix3f A{{0.73726, 0, 0}, {0, 0.59599, 0}, {0, 0, 2.27584}}; Vector3f b{39.22325, -17.47903, -13.81505}; @@ -195,7 +195,7 @@ void step() } // Predict step - nas->predictGyro(angularVelocity); + nas->predictGyro(angularSpeed); nas->predictAcc(acceleration); // Correct step @@ -220,9 +220,9 @@ void print() auto nasState = nas->getState(); // auto imuData = imu->getLastSample(); - // printf("%f, %f, %f\n", imuData.angularVelocityX, - // imuData.angularVelocityY, - // imuData.angularVelocityZ); + // printf("%f, %f, %f\n", imuData.angularSpeedX, + // imuData.angularSpeedY, + // imuData.angularSpeedZ); // printf("%f, %f, %f, %f, %f, %f\n", nasState.n, nasState.e, nasState.d, // nasState.vn, nasState.ve, baroData.pressure);