GithubHelp home page GithubHelp logo

Comments (12)

kenjihiranabe avatar kenjihiranabe commented on August 23, 2024 1

@tmori さん、第一バージョンとして、ホバー位置で線形化して、dx/dt = Ax +Bu の形で動く物理モデルを作りました。
インターフェイスは matlab i/f を使っています。ソースコードは1本のみ。

matlab で mi_drone_acceleration() 関数を呼び出している位置で、drone_acceleration_by_linear_at_hover() 関数を呼び出してください。並進と回転のごくごく簡単なテストをして、既存の物理モデルと大きな乖離がないかだけ確かめました。

CMakeList.txt も書き換えていますので、注意してください。本体とのリンク方法はよくわからなかったので、加えていません。
以下、コミット分です。
d6c16d2

from hakoniwa-px4sim.

kenjihiranabe avatar kenjihiranabe commented on August 23, 2024 1

ありがとう!おどろくほど似てますね。びっくり。結局フィードバック制御さえしていれば、おおまかな線形化と変わらないんですね。

from hakoniwa-px4sim.

kenjihiranabe avatar kenjihiranabe commented on August 23, 2024

$u,v,w$$0$ に近くないが、 $p,q,r$ を近似的に $0$ にすると上記は消える。強く回転していない、という仮定にすることは妥当なのか、判別がつかない。

from hakoniwa-px4sim.

kenjihiranabe avatar kenjihiranabe commented on August 23, 2024

線形化するには、2つの方針がありそう。

  1. cos θ =1, sin θ = θ (角度の傾きはほんのちょっと)、また、(p, q, r) = 0( 回転していない)として x' = Ax + Bu を作る。これは、結果的にコリオリ力、ジャイロ効果を無視することになる。(おそらく金沢の赤坂先生はこの方法か?証拠:d(φ, θ, ψ)/dt と(p, q, r)の関係する行列Aの成分が、単位行列になっているので、少なくとも角度についてはその方針。)
  2. 水平飛行定常状態(p=p0, q=q0, r=r0, θ=θ0...)からの差分Δp, Δq, Δr, Δθ、で立式する。結果としては、x=x0+Δx として計算出力することになる。
    https://www.docswell.com/s/Kouhei_Ito/KDVNVK-2022-06-15-193343#p4

本当は、2でやるのが正確。まずは、1と赤坂先生モデルでやって比較してみるか(これはすぐできる)。

from hakoniwa-px4sim.

kenjihiranabe avatar kenjihiranabe commented on August 23, 2024

検討中。1 の場合、ほとんど何も加工しないで、thrust と torque を それぞれ w, (φ,θ, ψ) の時間微分に伝えるだけのシンプルなもでるになった。(しかし赤坂先生の行列とはずれている)
2の場合の導出を手で行なった。両方あっていると思われる。
ここに、計算シートを置いておく。
計算したシート
image
シート現物
https://docs.google.com/spreadsheets/d/1cSYqam0Fsw-jFBFTIRoHwVEYEov8a7Phhk8fHwuOqeA/edit?usp=sharing

計算過程

drone_linearization.pdf

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

ひとまず、こんな感じでリンクできるようにしました。

DRONE_SIMPLE_PHYSICSの定義を有効化してもらえればリンクされます。(デフォルトは従来のもの)

b04f4dd

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

ログを取りました。

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

Z軸

従来

スクリーンショット 2024-07-08 16 07 13

線形モデル

スクリーンショット 2024-07-08 16 07 39

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

ロール

従来

スクリーンショット 2024-07-08 16 09 23

線形モデル

スクリーンショット 2024-07-08 16 09 46

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

ピッチ

従来

スクリーンショット 2024-07-08 16 10 38

線形モデル

スクリーンショット 2024-07-08 16 11 02

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

ヨー

従来

スクリーンショット 2024-07-08 16 13 09

線形モデル

スクリーンショット 2024-07-08 16 13 31

from hakoniwa-px4sim.

tmori avatar tmori commented on August 23, 2024

全体的にほぼ同じですが、ロールがちょっと違いますね。

from hakoniwa-px4sim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.