dynamicsoar's log

主に研究関係のメモ

論文読み: Optimization of avian perching manoeuvres

前置き

WIP ですがとりあえず公開。もうちょいアップデートしたい。

初めて論文紹介 podcast をやってみた(下記)が、その下調べとして書いたエントリ。podcast の extended show notes として読んでもいいと思う。 anchor.fm

初歩の空気力学・飛行力学の知識を暗黙に仮定してしまった気がする。researchat で話した自己紹介(下記)も参考になるかも(長いが…) researchat.fm

論文情報

概要

実験手法

撮影の概要はFig. 1 がわかりやすい。4羽の Harris' hawks(Parabuteo unicinctus, モモアカノスリ)の飛行を20台の Vicon Vantage 16 でモーションキャプチャした。飛行は室内で、2つの止まり木間の往復を撮影。全部で 1585 飛行ケース。止まり木の高さは 1.25 m で、止まり木間の水平距離は 5, 7, 9, 12 m と変動させている。ここは気を使っていて、まず 12 m で 100 フライトして慣熟させ、さらに2--3週はそのままの距離として、それから初めて 5, 7, 9 m でランダマイズしている(距離を変えても行動が consistent であることを見たいのだろう)。4羽のうち1羽だけが飛行に慣れたおとな(メス)だったが他の3羽は飛行経験に乏しい若鳥(オス)だったため、最初はとまり木の間を羽ばたき飛行で(高度を変えずに)飛んでしまっていたが、じきにおとなと同じスウーピング (swooping) という行動に変化した。これがこの論文のキモで、ざっくり「止まり木から飛び出したあと、羽ばたきつつ高度を下げ (powered dive)、そこからは羽ばたきをやめて上昇に転じて減速し (unpowered climb)、最後は胴体がほぼ地面と垂直に近い角度で止まり木に接地する」という一連の飛行行動を指すようだ。

マーカはいくつかついているが、この論文で使っているのは背中(重心位置に近い)のバックパックに載せた剛体板上の4つ。マーカは直径6.4 mmの球体。これで胴体の並進位置と回転角度という6自由度が特定できるのだろう(最低3点でいいように思うが)。撮影速度は 120 or 200 Hz で、高さ 3 m という飛行位置よりも上に取り付けて見下ろすように撮影している。Vicon なのでマーカへ照射する光の波長は850 nm の赤外であり、鳥には見えないはずで、撮影のための光が視覚刺激になってしまって行動に影響するということはない。さらに Vicon Vue という可視光を撮るカメラも4台、120 or 100 Hz で同期・撮影している。

実験結果

飛行軌道のうち前後方向(飛行方向)の距離と高さ(鉛直方向位置)に主に着目している。おそらく左右方向にはほとんど振動せずまっすぐ止まり木に向かったのだろう。最下点を羽ばたきダイブから無動力滑空への切り替えの参考点としており、この前後方向位置は止まり木間距離の約60%で、止まり木間距離 (5, 7, 9, 12 m) 自体には依存しなかった。一方、初期位置からどれだけ降下したかについては、Fig. 2b--e を見ると明確だが距離が離れるほど深くなっていた。個体差もないようで、となると「最適な軌道を学習した」と思いたくなる。では「最適」の目的関数はなんだろうか?というのが問いになっている。たとえば「エネルギ消費を最小化」「飛行時間を最小化」などが考えられるだろう。

「遅く飛ぶ方がエネルギ消費が大きい」?

Flying between perches is energetically demanding because of the high aerodynamic power requirements of slow flight,

には分野外の人には解説が必要だろうか。一言でいうと、「飛行速度が遅すぎてもかえってエネルギを使う」という事実がある。横軸に速度、縦軸に消費パワ(単位時間あたりの消費エネルギ)をとると、おおむね U とか J 字になる。だから、飛行機でも鳥でも離陸直後は(その前からもあるが)このパワーカーブの最下点を目指して加速する。しかしおそらくこの実験のセットアップでは距離が短すぎて十分に加速しきる前に羽ばたきをやめて減速に移らないといけないのだろう。

モデリング

何に最適化しているかを調べるのが次の目的。そのためにまずはシンプルなモデルを作成し、複数の最適条件での軌道を生成し、どれが一番実験値と近いか比較している。かなり大胆な単純化を行っており、とくに揚力とパワー(つまり抗力もってことか)は羽ばたきと滑空それぞれのフェイズ内で一定という大胆な仮定を設けている。モデルのプロシージャは Extended Data Fig. 3(以下EDF3)が割りとわかりやすい。

この結果まずは「羽ばたきフェイズから滑空フェイズへの遷移点、の群れとしての曲線*1」が得られる。

失速距離の最適化という仮説・検証

エネルギ最小化・時間最小化(速度最大化)のいずれをとるにしても、後半の滑空フェイズ、のとくに終盤では、揚力係数が大きくなる。エネルギ最小化の場合は飛行速度低下に合わせて、時間最小化の場合は減速のために。ここでは揚力係数 $C_L$ が4を超える状態(失速と呼称している…本当に失速してるかは不明)の距離を最小化する、という新たな仮説を提示している、というか実際に先に仮説を提示したのかはよくわからないがとにかくこうするとモデルの飛行軌跡が実際の deep swooping な飛行軌跡によく一致する。

図表解説

Fig. 4

  1. まず各行は止まり木間距離(上から5, 7, 9, 12 m)。各列は個体。横軸は着地止まり木からの距離なので全てマイナス、縦軸はパワー(を質量で割った値)。赤の実線がモデルで仮定した「各フェイズ内で一定のパワー(滑空フェイズは0と仮定)」。背後のヒストグラムが実測値を使って計算したパワー。
  2. 各行は a と同じく止まり木間距離。それぞれが更に個体別に行わけされている。各列は左からパワー(質量あたり)・飛行時間・失速後距離。各プロット内のヒストグラムは実測値(をもとにした計算値)で、縦の線は赤がエネルギ最小化・青が時間最小化・黒が失速最適化の各モデルにおける最適値。

Extended Data Fig. 5

縦軸は揚力を体重で割った load factor で、Lund の人たちなどが weight support と呼んでいたものに近い。正確には $L$ は上を向いているとは限らないのでこの定義だと weight support と一致するとは限らないが。

Extended Data Fig. 6

いや  C_L = 4 の線引いてくれよ…

感想

1600ケースというのがやはり圧倒的。

横から見た軌道について別の色付けを見たかった。たとえば胴体角や飛行速度 (magnitude, u-vel, w-vel, or flight-direction-vel) で色を付けるとどう見えるか?これは僕が Marco と話してたら言っていたかもしれない、というか言ったかもしれない。

マーカや撮影の飛行への影響

  • 重さ
  • マーカやテンプレートの空気抵抗
  • ハーネスの影響←いちばんありそうな気がする
  • とはいえ、飛んでるし着地してる

地面効果の無視

確かに「この実験」では無視は合理的だが、果たしてそれが「鳥の飛行」に対して適切かどうかはまた別の問題だろう。実際には、特に滑空する鳥たちはなるべく地面効果を多く使おうとするはずで、そこは今後観察・計測とモデリングをしていく必要があるだろう。

モデルの設定

羽ばたきと滑空という2つの飛行フェイズは ⊿x, ⊿y, ⊿V が一致するように接続してるが、これはつまり G1 であって G2 つまり加速度は接続できてない…のか?これは遷移点での加速度がほぼ0だからたまたまうまくいっているだけで、本当はモデルに陽に入れた方がいいのではないか?と思ったけどたまたまではなく遷移点では加速度は必ず0になる、のか…?←公開されてる MATLAB コードが大量にあるのでよく読むとわかるとは思う。

$g$ は重力加速度、とだけ言ってその具体的な値が書いていない。ほとんどすべての飛行バイオメカニクス論文がそうだと思うが(自分もやったと思う…)、これはよくない。9.81 m/s2 なのか、9.80665 なのか?僅かな違いだろって?そのとおり。でも全く何も書かないのはダメだろ…と思ったがコードに書いてあるか。まぁそうね。それでいいか。⇒ 書いてた。9.81 だった。

stall?

stall というのは微妙だと思う。失速してるとは限らないのでは?同時に、なぜ body angle のデータを見せなかったのかが解せない。せめて extended data figure に載せてもよかったのではないか?もしかしたらコードには載ってるかもだが…  C_L > 4 と large body angle は相当相関すると思うので、データリポジトリではなく論文本文かサプリで見たかった。

*1:the line of feasible transition points, EDF3 では curve of transitions, Fig. 3 でグレーの実線