-
Notifications
You must be signed in to change notification settings - Fork 1
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
12末リリースに向けた作業リスト #25
Comments
プラント側の結果:横軸は パラメータ {
"plants": [
{
"comment": "Rotor",
"num": [
"2 * N * A * W0 * Kr"
],
"den": [
"Tr",
"1"
]
},
{
"comment": "Speed Altitude",
"num": [
"1"
],
"den": [
"m",
"d"
]
}
],
"controllers": [],
"constants": {
"m": 0.71,
"g": 9.81,
"N": 4,
"d": 0.05,
"A": 8.3e-07,
"Tr": 0.046,
"Kr": 2896,
"W0": 1448,
"Ix": 0.0061,
"Iy": 0.00653,
"Iz": 0.0116
}
} |
制御側の結果横軸は パラメータ {
"plants": [
{
"comment": "Rotor1",
"num": [
"1"
],
"den": [
"Tr",
"1"
]
},
{
"comment": "Speed Altitude",
"num": [
"1"
],
"den": [
"m",
"d"
]
}
],
"controllers": [
{
"num": [
"VAlt_Kd",
"VAlt_Kp",
"VAlt_Ki"
],
"den": [
"1",
"0"
]
}
],
"constants": {
"m": 0.71,
"g": 9.81,
"N": 4,
"d": 0.05,
"A": 8.3e-07,
"Tr": 0.046,
"Kr": 2896,
"W0": 1448,
"Ix": 0.0061,
"Iy": 0.00653,
"Iz": 0.0116,
"VAlt_Kp": 1.0,
"VAlt_Ki": 0.1,
"VAlt_Kd": 0.1,
}
} |
僕が手プロットしたときは、高周波は測定値が上振れしたが、今度は下振れしてますね。シミュレーションの解像度上げたのと、どちらにしてもシミュレーション周波数が、10^3なので限界なんでしょうね。 |
あー、プラントのシミュレーションは入力与えるだけで、フィードバックはない。 |
ステップ応答については、プラントはスキップします。 |
シミュレーションの方は、目標速度を1m/secに設定して実行したところ、そもそも浮上しない。。 |
あ、理論ベースの数式はホバリングしている状態だった。。 |
最新の評価ツールは、、こういうの対応出来る! "signals": {
"step1": {
"type": "step",
"parameters": {
"comment": "target speed z : 1 m/sec",
"offsets": [ 1 ]
}
},
"step2": {
"type": "step",
"parameters": {
"comment": "target speed z : 0 m/sec",
"offsets": [ 0 ]
}
},
"step3": {
"type": "step",
"parameters": {
"comment": "target speed z : 1 m/sec",
"offsets": [ 1 ]
}
}
},
"signal_input_timings": [
{
"name": "step1",
"duration_sec": 100.0
},
{
"name": "step2",
"duration_sec": 100.0
},
{
"name": "step3",
"duration_sec": 100.0
}
] |
時間スケールは一緒だけど、大きさは違うな。。うーん。 |
わかってきた。 理論ベースの伝達関数は、 Vz(s)/ΔD(s) だった。 ΔD(s) は、ホバリングするデューティ値(0.5)からの微小変化分。 これに対して、シミュレーションでは、直接デューティを与えているから、 Vz(s)/D(s) をみていることになる。 ボード線図や位相線図の計測する場合は、ホバリング値に対する変化量をみているから、問題ないけれど、ステップ応答だとこれが成り立たないのか。。 |
理論ベースのプラントの方程式を出してみるVzの運動方程式ローターの運動方程式スラスタの式 |
理論ベースのプラントのラプラス変換結果を出してみるVzロータースラスタ |
と、ここまできて、非線形だから伝達関数にならないことに気づいた。。 |
漸近する値のチェックをする微分方程式ベースで漸近値を出してみる。 初期値:Vz(t) = 0, T(0) ここで、
なので、Vzの運動方程式 は、入力を与えたところから以下のように表せる。 ラプラス変換する留数計算とすると、
|
逆ラプラス変換する展開すると、 となるので、 第二項は時間が経つと0になり、漸近する値は、 となる。 ここで、m=0.71, g = 9.81, d = 0.05 としているので、代入すると、
となるので、シミュレーション結果と一致する。 また、時定数は、第二項で決まるため、
秒となる。 |
プラントモデルの過渡特性は、伝達関数ベースで求めることは困難な気がしてきたし、これ以上やると沼に落ちそうなので、一旦、ペンディング。まとめに入る。 |
ゴールイメージ
背景
toppers/hakoniwa-px4sim#328
方向性
まずは高度速度制御で一巡できるようにする
作業リスト
作業リスト
The text was updated successfully, but these errors were encountered: