Skip to content

Commit

Permalink
Merge pull request #514 from ut-issl/feature/fix-mtq-interference-for…
Browse files Browse the repository at this point in the history
…-multi-sensors

Modify for multi-sensors and multi-MTQs interference
  • Loading branch information
200km committed Oct 14, 2023
2 parents b42ab50 + df36a05 commit dda8a42
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[MTQ_MAGNETOMETER_INTERFERENCE]
[MTQ_MAGNETOMETER_INTERFERENCE_0]

// x: MTQ output vector at MTQ component frame [Am2]
// y: Additional bias at magnetometer component frame [nT]
Expand Down
9 changes: 5 additions & 4 deletions src/components/real/aocs/mtq_magnetometer_interference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,20 @@

#include "library/initialize/initialize_file_access.hpp"

MtqMagnetometerInterference::MtqMagnetometerInterference(const std::string file_name, Magnetometer& magnetometer, const Magnetorquer& magnetorquer)
MtqMagnetometerInterference::MtqMagnetometerInterference(const std::string file_name, Magnetometer& magnetometer, const Magnetorquer& magnetorquer,
const size_t initialize_id)
: magnetometer_(magnetometer), magnetorquer_(magnetorquer) {
// Read ini file
IniAccess ini_file(file_name);
const char* section = "MTQ_MAGNETOMETER_INTERFERENCE";
std::string section = "MTQ_MAGNETOMETER_INTERFERENCE_" + std::to_string(static_cast<long long>(initialize_id));

polynomial_degree_ = (size_t)ini_file.ReadInt(section, "polynomial_degree");
polynomial_degree_ = (size_t)ini_file.ReadInt(section.c_str(), "polynomial_degree");

for (size_t degree = 1; degree <= polynomial_degree_; degree++) {
const std::string key_name = "additional_bias_by_mtq_coefficients_" + std::to_string(static_cast<long long>(degree));
libra::Vector<9> additional_bias_by_mtq_coefficients_vec;
libra::Matrix<3, 3> additional_bias_by_mtq_coefficients;
ini_file.ReadVector(section, key_name.c_str(), additional_bias_by_mtq_coefficients_vec);
ini_file.ReadVector(section.c_str(), key_name.c_str(), additional_bias_by_mtq_coefficients_vec);
for (size_t i = 0; i < 3; i++) {
for (size_t j = 0; j < 3; j++) {
additional_bias_by_mtq_coefficients[i][j] = additional_bias_by_mtq_coefficients_vec[i * 3 + j];
Expand Down
3 changes: 2 additions & 1 deletion src/components/real/aocs/mtq_magnetometer_interference.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ class MtqMagnetometerInterference {
* @brief Constructor
* @param[in] ini_file: initialize file
*/
MtqMagnetometerInterference(const std::string file_name, Magnetometer& magnetometer, const Magnetorquer& magnetorquer);
MtqMagnetometerInterference(const std::string file_name, Magnetometer& magnetometer, const Magnetorquer& magnetorquer,
const size_t initialize_id = 0);

/**
* @fn UpdateInterference
Expand Down

0 comments on commit dda8a42

Please sign in to comment.