From 33c5a29943a7065dd422259d54ade2754dcd3e29 Mon Sep 17 00:00:00 2001 From: fukudakazuya Date: Wed, 5 Mar 2025 16:20:16 +0900 Subject: [PATCH 1/5] Add clock bias --- .../components/gnss_receiver.ini | 5 +++- src/components/real/aocs/gnss_receiver.cpp | 24 +++++++++++++------ src/components/real/aocs/gnss_receiver.hpp | 18 ++++++++++---- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/settings/sample_satellite/components/gnss_receiver.ini b/settings/sample_satellite/components/gnss_receiver.ini index d5161d540..45451058e 100644 --- a/settings/sample_satellite/components/gnss_receiver.ini +++ b/settings/sample_satellite/components/gnss_receiver.ini @@ -24,7 +24,10 @@ antenna_model = SIMPLE // Antenna half width [deg] antenna_half_width_deg = 60 -// Random noise for pseudorange observation +// Random noise of receiver clock bias [s] +white_noise_standard_deviation_receiver_clock_bias_s = 10.0E-9 + +// Random noise for pseudorange observation [m] white_noise_standard_deviation_pseudorange_m = 10.0 // Random noise for simple position observation diff --git a/src/components/real/aocs/gnss_receiver.cpp b/src/components/real/aocs/gnss_receiver.cpp index 6ed704e06..963bf8a17 100644 --- a/src/components/real/aocs/gnss_receiver.cpp +++ b/src/components/real/aocs/gnss_receiver.cpp @@ -15,7 +15,7 @@ namespace s2e::components { GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double pseudorange_noise_standard_deviation_m, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, @@ -36,13 +36,14 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); } GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double pseudorange_noise_standard_deviation_m, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, - const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, + const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time) : Component(prescaler, clock_generator, power_port), @@ -61,6 +62,7 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); } void GnssReceiver::MainRoutine(const int time_count) { @@ -215,11 +217,17 @@ double GnssReceiver::CalcGeometricDistance_m(const size_t gnss_system_id) { return geometric_distance_m; } +double GnssReceiver::CalcClockBias_m(const size_t gnss_system_id) { + const double c_m_s = environment::speed_of_light_m_s; + double gnss_clock_bias_s = gnss_satellites_->GetClock_s(gnss_system_id); + return c_m_s * (receiver_clock_bias_random_noise_s_ - gnss_clock_bias_s); +} + double GnssReceiver::CalcPseudorange_m(const size_t gnss_system_id) { - // TODO: Add effect of clock bias // TODO: Add ionospheric delay double geometric_distance_m = CalcGeometricDistance_m(gnss_system_id); - double pseudorange_m = geometric_distance_m + pseudorange_random_noise_m_; + double clock_bias_m = CalcClockBias_m(gnss_system_id); + double pseudorange_m = geometric_distance_m + clock_bias_m + pseudorange_random_noise_m_; return pseudorange_m; } @@ -258,6 +266,7 @@ typedef struct _gnss_receiver_param { math::Vector<3> antenna_pos_b; math::Quaternion quaternion_b2c; double half_width_deg; + double receiver_clock_bias_noise_standard_deviation_s; double pseudorange_noise_standard_deviation_m; math::Vector<3> position_noise_standard_deviation_ecef_m; math::Vector<3> velocity_noise_standard_deviation_ecef_m_s; @@ -358,6 +367,7 @@ GnssReceiverParam ReadGnssReceiverIni(const std::string file_name, const environ gnssr_conf.ReadVector(GSection, "antenna_position_b_m", gnss_receiver_param.antenna_pos_b); gnssr_conf.ReadQuaternion(GSection, "quaternion_b2c", gnss_receiver_param.quaternion_b2c); gnss_receiver_param.half_width_deg = gnssr_conf.ReadDouble(GSection, "antenna_half_width_deg"); + gnss_receiver_param.receiver_clock_bias_noise_standard_deviation_s = gnssr_conf.ReadDouble(GSection, "white_noise_standard_deviation_receiver_clock_bias_s"); gnss_receiver_param.pseudorange_noise_standard_deviation_m = gnssr_conf.ReadDouble(GSection, "white_noise_standard_deviation_pseudorange_m"); gnssr_conf.ReadVector(GSection, "white_noise_standard_deviation_position_ecef_m", gnss_receiver_param.position_noise_standard_deviation_ecef_m); gnssr_conf.ReadVector(GSection, "white_noise_standard_deviation_velocity_ecef_m_s", gnss_receiver_param.velocity_noise_standard_deviation_ecef_m_s); @@ -371,7 +381,7 @@ GnssReceiver InitGnssReceiver(environment::ClockGenerator* clock_generator, cons GnssReceiverParam gr_param = ReadGnssReceiverIni(file_name, gnss_satellites, component_id); GnssReceiver gnss_r(gr_param.prescaler, clock_generator, component_id, gr_param.antenna_model, gr_param.antenna_pos_b, gr_param.quaternion_b2c, - gr_param.half_width_deg, gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, + gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, gr_param.velocity_noise_standard_deviation_ecef_m_s, gr_param.is_log_pseudorange_enabled, dynamics, gnss_satellites, simulation_time); return gnss_r; @@ -386,7 +396,7 @@ GnssReceiver InitGnssReceiver(environment::ClockGenerator* clock_generator, Powe power_port->InitializeWithInitializeFile(file_name); GnssReceiver gnss_r(gr_param.prescaler, clock_generator, power_port, component_id, gr_param.antenna_model, gr_param.antenna_pos_b, - gr_param.quaternion_b2c, gr_param.half_width_deg, gr_param.pseudorange_noise_standard_deviation_m, + gr_param.quaternion_b2c, gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, gr_param.velocity_noise_standard_deviation_ecef_m_s, gr_param.is_log_pseudorange_enabled, dynamics, gnss_satellites, simulation_time); return gnss_r; diff --git a/src/components/real/aocs/gnss_receiver.hpp b/src/components/real/aocs/gnss_receiver.hpp index 2b725ffcc..64771a67b 100644 --- a/src/components/real/aocs/gnss_receiver.hpp +++ b/src/components/real/aocs/gnss_receiver.hpp @@ -54,6 +54,7 @@ class GnssReceiver : public Component, public logger::ILoggable { * @param [in] antenna_position_b_m: GNSS antenna position at the body-fixed frame [m] * @param [in] quaternion_b2c: Quaternion from body frame to component frame (antenna frame) * @param [in] half_width_deg: Half width of the antenna cone model [deg] + * @param [in] receiver_clock_bias_noise_standard_deviation_s: Standard deviation of normal random noise for receiver clock bias [s] * @param [in] pseudorange_noise_standard_deviation_m: Standard deviation of normal random noise for pseudorange [m] * @param [in] position_noise_standard_deviation_ecef_m: Standard deviation of normal random noise for position in the ECEF frame [m] * @param [in] velocity_noise_standard_deviation_ecef_m_s: Standard deviation of normal random noise for velocity in the ECEF frame [m/s] @@ -63,7 +64,7 @@ class GnssReceiver : public Component, public logger::ILoggable { * @param [in] simulation_time: Simulation time information */ GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, const size_t component_id, const AntennaModel antenna_model, - const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, const double half_width_deg, + const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, @@ -78,6 +79,7 @@ class GnssReceiver : public Component, public logger::ILoggable { * @param [in] antenna_position_b_m: GNSS antenna position at the body-fixed frame [m] * @param [in] quaternion_b2c: Quaternion from body frame to component frame (antenna frame) * @param [in] half_width_deg: Half width of the antenna cone model [rad] + * @param [in] receiver_clock_bias_noise_standard_deviation_s: Standard deviation of normal random noise for receiver clock bias [s] * @param [in] pseudorange_noise_standard_deviation_m: Standard deviation of normal random noise for pseudorange [m] * @param [in] position_noise_standard_deviation_ecef_m: Standard deviation of normal random noise for position in the ECEF frame [m] * @param [in] velocity_noise_standard_deviation_ecef_m_s: Standard deviation of normal random noise for velocity in the ECEF frame [m/s] @@ -88,7 +90,7 @@ class GnssReceiver : public Component, public logger::ILoggable { */ GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double pseudorange_noise_standard_deviation_m, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time); @@ -159,6 +161,7 @@ class GnssReceiver : public Component, public logger::ILoggable { AntennaModel antenna_model_; //!< Antenna model // GNSS observation + randomization::NormalRand receiver_clock_bias_random_noise_s_; //!< Random noise for receiver clock bias [s] randomization::NormalRand pseudorange_random_noise_m_; //!< Random noise for pseudorange [m] std::vector pseudorange_list_m_{kTotalNumberOfGnssSatellite, 0.0}; //!< Pseudorange list for each GPS satellite bool is_logged_pseudorange_; //!< Flag for log output of pseudorange @@ -219,14 +222,21 @@ class GnssReceiver : public Component, public logger::ILoggable { */ void SetGnssInfo(const math::Vector<3> antenna_to_satellite_i_m, const math::Quaternion quaternion_i2b, const size_t gnss_system_id); /** - * @fn CalcGeometricDistance + * @fn CalcGeometricDistance_m * @brief Calculate the geometric distance between the GNSS satellite and the GNSS receiver antenna * @param [in] gnss_system_id: ID of target GNSS satellite * @return Geometric distance between the GNSS satellite and the GNSS receiver antenna [m] */ double CalcGeometricDistance_m(const size_t gnss_system_id); /** - * @fn CalcPseudorange + * @fn CalcClockBias_m + * @brief Calculate the clock bias term of the GNSS satellite and the GNSS receiver antenna + * @param [in] gnss_system_id: ID of target GNSS satellite + * @return Clock bias term of the GNSS satellite and the GNSS receiver antenna [m] + */ + double CalcClockBias_m(const size_t gnss_system_id); + /** + * @fn CalcPseudorange_m * @brief Calculate the pseudorange between the GNSS satellite and the GNSS receiver antenna * @param [in] gnss_system_id: ID of target GNSS satellite * @return Pseudorange between the GNSS satellite and the GNSS receiver antenna [m] From fea7db19565e54ba5d1201771bb63a8773f674ac Mon Sep 17 00:00:00 2001 From: fukudakazuya Date: Wed, 5 Mar 2025 16:21:30 +0900 Subject: [PATCH 2/5] Modify gnss receiver --- src/components/real/aocs/gnss_receiver.cpp | 23 ++++++++++++---------- src/components/real/aocs/gnss_receiver.hpp | 15 +++++++------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/components/real/aocs/gnss_receiver.cpp b/src/components/real/aocs/gnss_receiver.cpp index 963bf8a17..e37cdb979 100644 --- a/src/components/real/aocs/gnss_receiver.cpp +++ b/src/components/real/aocs/gnss_receiver.cpp @@ -15,8 +15,8 @@ namespace s2e::components { GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, - const math::Vector<3> position_noise_standard_deviation_ecef_m, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, + const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time) @@ -41,9 +41,9 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, - const math::Vector<3> position_noise_standard_deviation_ecef_m, - const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, + const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, + const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time) : Component(prescaler, clock_generator, power_port), @@ -367,7 +367,8 @@ GnssReceiverParam ReadGnssReceiverIni(const std::string file_name, const environ gnssr_conf.ReadVector(GSection, "antenna_position_b_m", gnss_receiver_param.antenna_pos_b); gnssr_conf.ReadQuaternion(GSection, "quaternion_b2c", gnss_receiver_param.quaternion_b2c); gnss_receiver_param.half_width_deg = gnssr_conf.ReadDouble(GSection, "antenna_half_width_deg"); - gnss_receiver_param.receiver_clock_bias_noise_standard_deviation_s = gnssr_conf.ReadDouble(GSection, "white_noise_standard_deviation_receiver_clock_bias_s"); + gnss_receiver_param.receiver_clock_bias_noise_standard_deviation_s = + gnssr_conf.ReadDouble(GSection, "white_noise_standard_deviation_receiver_clock_bias_s"); gnss_receiver_param.pseudorange_noise_standard_deviation_m = gnssr_conf.ReadDouble(GSection, "white_noise_standard_deviation_pseudorange_m"); gnssr_conf.ReadVector(GSection, "white_noise_standard_deviation_position_ecef_m", gnss_receiver_param.position_noise_standard_deviation_ecef_m); gnssr_conf.ReadVector(GSection, "white_noise_standard_deviation_velocity_ecef_m_s", gnss_receiver_param.velocity_noise_standard_deviation_ecef_m_s); @@ -381,7 +382,8 @@ GnssReceiver InitGnssReceiver(environment::ClockGenerator* clock_generator, cons GnssReceiverParam gr_param = ReadGnssReceiverIni(file_name, gnss_satellites, component_id); GnssReceiver gnss_r(gr_param.prescaler, clock_generator, component_id, gr_param.antenna_model, gr_param.antenna_pos_b, gr_param.quaternion_b2c, - gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, + gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, + gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, gr_param.velocity_noise_standard_deviation_ecef_m_s, gr_param.is_log_pseudorange_enabled, dynamics, gnss_satellites, simulation_time); return gnss_r; @@ -396,9 +398,10 @@ GnssReceiver InitGnssReceiver(environment::ClockGenerator* clock_generator, Powe power_port->InitializeWithInitializeFile(file_name); GnssReceiver gnss_r(gr_param.prescaler, clock_generator, power_port, component_id, gr_param.antenna_model, gr_param.antenna_pos_b, - gr_param.quaternion_b2c, gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, gr_param.pseudorange_noise_standard_deviation_m, - gr_param.position_noise_standard_deviation_ecef_m, gr_param.velocity_noise_standard_deviation_ecef_m_s, - gr_param.is_log_pseudorange_enabled, dynamics, gnss_satellites, simulation_time); + gr_param.quaternion_b2c, gr_param.half_width_deg, gr_param.receiver_clock_bias_noise_standard_deviation_s, + gr_param.pseudorange_noise_standard_deviation_m, gr_param.position_noise_standard_deviation_ecef_m, + gr_param.velocity_noise_standard_deviation_ecef_m_s, gr_param.is_log_pseudorange_enabled, dynamics, gnss_satellites, + simulation_time); return gnss_r; } diff --git a/src/components/real/aocs/gnss_receiver.hpp b/src/components/real/aocs/gnss_receiver.hpp index 64771a67b..6399ca0c9 100644 --- a/src/components/real/aocs/gnss_receiver.hpp +++ b/src/components/real/aocs/gnss_receiver.hpp @@ -64,10 +64,10 @@ class GnssReceiver : public Component, public logger::ILoggable { * @param [in] simulation_time: Simulation time information */ GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, const size_t component_id, const AntennaModel antenna_model, - const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, - const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, - const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, - const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, + const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, const double half_width_deg, + const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, + const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, + const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time); /** * @fn GnssReceiver @@ -90,9 +90,10 @@ class GnssReceiver : public Component, public logger::ILoggable { */ GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, const AntennaModel antenna_model, const math::Vector<3> antenna_position_b_m, const math::Quaternion quaternion_b2c, - const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, const double pseudorange_noise_standard_deviation_m, - const math::Vector<3> position_noise_standard_deviation_ecef_m, const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, - const bool is_log_pseudorange_enabled, const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, + const double half_width_deg, const double receiver_clock_bias_noise_standard_deviation_s, + const double pseudorange_noise_standard_deviation_m, const math::Vector<3> position_noise_standard_deviation_ecef_m, + const math::Vector<3> velocity_noise_standard_deviation_ecef_m_s, const bool is_log_pseudorange_enabled, + const dynamics::Dynamics* dynamics, const environment::GnssSatellites* gnss_satellites, const environment::SimulationTime* simulation_time); // Override functions for Component From 55e5a1095fa4abe667e299fb10c24f44e844e825 Mon Sep 17 00:00:00 2001 From: fukudakazuya Date: Wed, 5 Mar 2025 22:11:59 +0900 Subject: [PATCH 3/5] Modify gnss receiver --- src/components/real/aocs/gnss_receiver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/real/aocs/gnss_receiver.cpp b/src/components/real/aocs/gnss_receiver.cpp index e37cdb979..76ff96ed6 100644 --- a/src/components/real/aocs/gnss_receiver.cpp +++ b/src/components/real/aocs/gnss_receiver.cpp @@ -36,7 +36,7 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); - receiver_clock_bias_random_noise_s_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, randomization::global_randomization.MakeSeed()); } GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, @@ -62,7 +62,7 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); - receiver_clock_bias_random_noise_s_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, randomization::global_randomization.MakeSeed()); } void GnssReceiver::MainRoutine(const int time_count) { From 2fb80aa5c6dd5baa1d2d35f1fc58b2c599854322 Mon Sep 17 00:00:00 2001 From: fukudakazuya Date: Wed, 5 Mar 2025 22:28:18 +0900 Subject: [PATCH 4/5] Modify format --- src/components/real/aocs/gnss_receiver.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/real/aocs/gnss_receiver.cpp b/src/components/real/aocs/gnss_receiver.cpp index 76ff96ed6..0475d2c47 100644 --- a/src/components/real/aocs/gnss_receiver.cpp +++ b/src/components/real/aocs/gnss_receiver.cpp @@ -36,7 +36,8 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); - receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, + randomization::global_randomization.MakeSeed()); } GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clock_generator, PowerPort* power_port, const size_t component_id, @@ -62,7 +63,8 @@ GnssReceiver::GnssReceiver(const int prescaler, environment::ClockGenerator* clo randomization::global_randomization.MakeSeed()); } pseudorange_random_noise_m_.SetParameters(0.0, pseudorange_noise_standard_deviation_m, randomization::global_randomization.MakeSeed()); - receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, randomization::global_randomization.MakeSeed()); + receiver_clock_bias_random_noise_s_.SetParameters(0.0, receiver_clock_bias_noise_standard_deviation_s, + randomization::global_randomization.MakeSeed()); } void GnssReceiver::MainRoutine(const int time_count) { From f7f6e866c884e19d82f9c6fc77d5fdbd4b75c4d1 Mon Sep 17 00:00:00 2001 From: fukudakazuya Date: Mon, 31 Mar 2025 11:59:55 +0900 Subject: [PATCH 5/5] Update google-test --- .github/workflows/google-test.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/google-test.yml b/.github/workflows/google-test.yml index 22f5eb304..cdf0f1dbf 100644 --- a/.github/workflows/google-test.yml +++ b/.github/workflows/google-test.yml @@ -61,7 +61,7 @@ jobs: - name: cache extlib id: cache-extlib - uses: actions/cache@v4.1.2 + uses: actions/cache@v4.2.0 with: key: extlib-${{ runner.os }}-${{ hashFiles('./ExtLibraries/**') }}} path: ExtLibraries @@ -89,13 +89,15 @@ jobs: ls nrlmsise00/lib*/libnrlmsise00.a ls nrlmsise00/src - - name: build + - name: build example env: CC: ${{ steps.compiler.outputs.CC }} CXX: ${{ steps.compiler.outputs.CXX }} + working-directory: ./example run: | - cmake . -DEXT_LIB_DIR=./ExtLibraries -DBUILD_64BIT=ON -DGOOGLE_TEST=ON -DCORE_DIR_FROM_EXE=../s2e-core + cmake . -DEXT_LIB_DIR=../ExtLibraries -DBUILD_64BIT=ON -DGOOGLE_TEST=ON -DCORE_DIR_FROM_EXE=../s2e-core cmake --build . - name: run test - run: ./S2E_TEST + working-directory: ./example + run: ./S2E_TEST \ No newline at end of file