Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HILSを用いたアプリタイムの調整 #307

Closed
wants to merge 9 commits into from

Conversation

ogoogo
Copy link
Contributor

@ogoogo ogoogo commented May 18, 2024

Issue

詳細

HILSを用いてアプリタイムを計測し、それを加味してstep間隔を設定する

検証結果

ビルドチェック (どちらもチェック)

  • SILSでのビルドチェックに通った(CIで確認)
  • vMicroでのビルドチェックに通った

動作確認チェック (いずれかをチェック)

  • SILSでアルゴリズムが想定通りに動いた
  • 実機でアルゴリズムが想定通りに動いた
  • (テレコマ試験の場合)コマンドファイルを使った試験をパスした

試験結果詳細記述場所 or 詳細ログ保存場所へのリンク

https://docs.google.com/document/d/1EXPbVNo5I2UgfNvFslNAOUYlUCYKkXN6TTkVoMN0u90/edit

補足

NA

@ogoogo ogoogo added ✈️ priority::medium priority medium 🐬 minor update Minor update labels May 18, 2024
@ogoogo ogoogo self-assigned this May 18, 2024
@ogoogo ogoogo requested review from sksat and a team as code owners May 18, 2024 15:05
@ogoogo ogoogo requested review from 200km, seki-hiro, suzuki-toshihir0, t-hosonuma and conjikidow and removed request for a team May 18, 2024 15:05
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

check_coding_rule

src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|18| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|15| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_sun_vector_update.c|18| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|15| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|16| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|18| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|19| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|20| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|21| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|22| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|23| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|24| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|15| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|18| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|19| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|20| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|21| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|22| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|23| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_cdh_update.c|24| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|16| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|18| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_oem7600_update.c|18| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_mtq_update.c|16| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_mtq_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_mtq_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_mtq_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|16| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|18| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|19| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|20| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|21| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|18| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|19| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|20| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_basic_sensor_update.c|21| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|16| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|17| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|18| SPACE IS REQUIRED AFTER '//' OR '//!<'
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|16| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|17| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR
src/src_user/Settings/Modes/TaskLists/Elements/tl_elem_stt_update.c|18| SPACE IS REQUIRED BEFORE AND AFTER BINARY OPERATOR

@ogoogo ogoogo changed the title [WIP]HILSを用いたアプリタイムの調整 HILSを用いたアプリタイムの調整 May 21, 2024
@ogoogo ogoogo force-pushed the feature/test_apptime branch from c9307c7 to 9f4d708 Compare May 21, 2024 15:43
Copy link
Member

@200km 200km left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

一部のコメントだけですが、他も全て同様のコメントがつくと思うので、一旦これでレビュー返します。

BCL_tool_register_app(3, AR_APP_CURRENT_ANOMALY);
BCL_tool_register_app(4, AR_APP_THERMO_SENSOR);
BCL_tool_register_app(5, AR_APP_AOCS_MANAGER);
BCL_tool_register_app(0, AR_DI_MPU9250); // 4step以上
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NITS] コメントアウトのインデントを揃えてもらえると綺麗かなと思います。 (他も同様です)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あと、これまではこちらでメモとっていたことは把握していますかね?下記はオープンじゃないので直接コードに書いても良いかもですが、一応お伝えしておきます。

https://docs.google.com/spreadsheets/d/13fAz0aFXkwjRiu-oOnvo85XZ5n9_quoh8s3XFROh1HY/edit#gid=0

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

存じていなかったです.


// Bdotアプリ
BCL_tool_register_combine(40, BC_AC_MTQ_UPDATE); // 1step以上, MTQ駆動時間カウンタを20 [Hz]周期にするため入れている
BCL_tool_register_combine(50, BC_AC_MTQ_UPDATE); // 2step以上, MTQ駆動時間カウンタを20 [Hz]周期にするため入れている
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MUST] MTQ UPDATEは二つ入っているものの差が50になるように調整しています。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

変更します.

@@ -13,26 +13,26 @@
void BCL_load_bdot_mode(void)
{
// CDH必須アプリ
BCL_tool_register_combine(0, BC_AC_CDH_UPDATE); // 23step以上
BCL_tool_register_combine(0, BC_AC_CDH_UPDATE); // 30step以上
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Q] こちらはコードがほぼ変わっていないのに増えているのは何か想定外のことが起こっている気がします。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HILSでは増えていました.HILSより実機か過去のデータを参照すべきですか?

Copy link
Member

@200km 200km May 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここはHILSか実機かは関係ない部分なので、最新の実験結果を用いるというのが良いと思います。

cdh_updateの方に記入してくれている時間の総合計で30にしてくれているのだと思います。ここはAppCombinerなので、maxを全て足していくと過剰になってしまう可能性があります。
なのでACでまとめた場合の時間を決めるのは難しく、ある程度の見積もりのもと3-3が出続けないラインまで短くしていったりしています。その差で7step分が生まれた可能性もありますが、元の23stepでずっと3-3アノマリが出続けるようでしたらやはりながくする必要はあるということになります。


// AOCS必須アプリ
BCL_tool_register_combine(25, BC_AC_BASIC_SENSOR_UPDATE); // 7step以上
BCL_tool_register_app (35, AR_APP_AOCS_MM_BDOT); // 1step以上
BCL_tool_register_combine(30, BC_AC_BASIC_SENSOR_UPDATE); // 10step以上
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Q] こちらもコードは変わっていないように思います。また、センサーデータの取得はHILSではなく実機で試験した方が良いと思いますが、実機でも3stepも伸びているのでしょうか?

Copy link
Contributor Author

@ogoogo ogoogo May 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

いえ,HILSで3step伸びています.本日書き込み,明日実機電気試験予定なのですが,明日の実機の電気試験よりも前に601で作業してapptimeを確認した方が良いでしょうか?
もしそうであれば,今からやるので,他にも実機のを採用すべきアプリがあれば教えていただけると助かります.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DIなど実機センサと直接通信するものは、実機で測定するのが良いと思います。HILSの場合、HILS側の遅延が実機の遅延と一致していない可能性があるかなと思います。
特にI2Cは、DIの中でSlave側から返答があるまで待機します。そのSlave側からの返答スピードについて実機とHILSとで完璧に合わせれてはいないと思います。とはいえ、以前は実機側に合わせたらHILS側で3-3アノマリが出るなどはなく、「実機>HILS」だったのだと思います。

@ogoogo
Copy link
Contributor Author

ogoogo commented May 21, 2024

今から変更を行うとそれぞれのモードで1時間待機して33アノマリが出るかどうかという試験もやり直しになりますか...

BCL_tool_register_app(0, AR_APP_TIME_SPACE_CALCULATOR); // 3step以上
BCL_tool_register_app(1, AR_APP_ORBIT_CALCULATOR); // 4step以上
BCL_tool_register_app(2, AR_APP_SUN_DIR_ECI_CALCULATOR); // 2step以上
BCL_tool_register_app(3, AR_APP_GEOMAG_ECI_CALCULATOR); // 7step以上
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここのアプリが全体的に長くなっているのは気になりますね。TIME_SPACEもORBITもほとんど修正していない気がしています。

GEOMAGは一部の計算をdoubleにする修正が入っていますが、それだけで2stepも伸びてしまうのかなと思っています。これもHILS/実機関係ないところなので、最新の計測結果が正しいということになるとは思います。

BCL_tool_register_combine(47, BC_AC_SUN_VECTOR_UPDATE); // 合計4step以上必要ある?
BCL_tool_register_combine(51, BC_AC_INERTIAL_REF_UPDATE); // 11step以上
BCL_tool_register_combine(48, BC_AC_SUN_VECTOR_UPDATE); // 6step以上
BCL_tool_register_combine(54, BC_AC_INERTIAL_REF_UPDATE); // 17step以上(initial mode)→16step以上(fine three axis)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここも全て足すと17かもですが、ACなので過剰ということになっているかもしれません。それで6stepも差が生まれるのかなとは思いますが、元々の11stepで3-3アノマリが出続けるか見てみても良いかなとは思います。

@ogoogo
Copy link
Contributor Author

ogoogo commented May 24, 2024

実機試験の結果必要なくなったのでcloseします

@ogoogo ogoogo closed this May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

アプリタイムの再調整
4 participants