-
Notifications
You must be signed in to change notification settings - Fork 3
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
fix reset timing for torque integration in MTQ controller #309
fix reset timing for torque integration in MTQ controller #309
Conversation
@suzuki-toshihir0 |
ロジック的には不要なのですが、OBSERVE --> CONTROL --> STANDBYがこの順に回るというのがこのファイルからだと読み取りにくいというのはあるので、分かりやすさのために追加するのはアリだと思います。そうしておきましょう。 |
細沼さんと別で話し、もう少し丁寧に考えるべき可能性が出てきたので、一旦整理し直す。 |
もとの問題は、指令トルク積分値が解放されたあと、以下でzero checkに抵触していたこと。 c2a-aobc/src/src_user/Library/ControlUtility/cross_product_control.c Lines 39 to 44 in cfda144
|
2dba3ed
to
3e15a76
Compare
鈴木君と相談の上,ローカルで先行実施した応急処置と結果が一致することを確認しましたので,Approveします. |
ありがとうございます!マージしました。 |
Issue
詳細
起こっていた問題
これまでの
mtq_seiren_controller.c
の実装では、APP_AOCS_MANAGER_MAGNETIC_EXCLUSIVE_CONTROL_STATE_OBSERVE
のケースに複数回連続で入ると、「トルクから出力磁気モーメントを計算 --> 指令トルク積分値をリセット」というサイクルを複数回繰り返してしまい、指令トルクがリセットされた状態で出力磁気モーメントを再計算されてしまうという問題があった。c2a-aobc/src/src_user/Applications/UserDefined/AOCS/HardwareDependent/ActuatorControllers/mtq_seiren_controller.c
Lines 79 to 86 in cfda144
本PRにおける対応
APP_AOCS_MANAGER_MAGNETIC_EXCLUSIVE_CONTROL_STATE_OBSERVE
の間は指令トルク積分値をリセットせず、APP_AOCS_MANAGER_MAGNETIC_EXCLUSIVE_CONTROL_STATE_CONTROL
に入った初回で指令トルク積分値がリセットされるように変更した。こうすることで、出力磁気モーメントを計算するときには 積分値がリセットされないことを保証している。検証結果
ビルドチェック (どちらもチェック)
動作確認チェック (いずれかをチェック)
試験結果詳細記述場所 or 詳細ログ保存場所へのリンク
補足
何かあれば書く。なければ
NA
とする。