【Ardupilot】Lua Script 関連 プログラムを読んでみる SITLで実験できた。【勉強】

スポンサーリンク
広告

降下を早くするLua Script

アトラックラボさんとRandyさんが実験している降下を8m/sにするLua Script

Copter-4.2 and "Fast Descent"
This is a quick video demonstrating a new copter-fast-descent Lua script included in ArduPilot Copter-4.2 that is currently in beta testing. (sorry about the v...

Lua Script自体は、こちら

https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/examples/copter-fast-descent.lua

ざっくり読むと。。

“command ID” to “42702”  NAV_SCRIPT_TIME のミッションが入っているところで

GuidedモードかNavモードの時に、

半径をだんだん大きくしながら。。加速度・速度・場所を計算しながら、動き

if (rel_pos_home_NED) then 
 if (-rel_pos_home_NED:z() <= alt_above_home_min:get() and (speed_xy==0) and (speed_z==0)) then

の条件を満たすまで実行されるってことですね。

ふと。。ArdupilotのFirmwareのParameterの

PILOT_SPEED_DN
WPNAV_SPEED_DN

とかとの関係はどうなるんだろう??

speed_z は。。

ん? ちょっと勉強というか、動かしてみないとわからないな。。

ううう。。SITLで。。ディレクトリが違うのかな??

どうもわからないので。。

とりあえず、こちらのForumに質問投げてみました。

Fast Descent Lua Script in STIL?
I try to activate a Lua Script using STIL. However, I can’t find the FDST_ parameters in Config. The directories and lua script are in the STIL directory. ...

Lua Scriptの構文など勉強しようと思うんですが。。実際飛ばすの怖いしな。。っと(笑)

Simulation in the loop (Mission Planner 1 3 77 build 1 3 8110 38294 ArduCopter V4 1 5 1)

SITLは動いてそうなんだけどなぁ

つづく。。

ちゃんとsim_vehicle.pyで動かしてみるか?

開発環境もWSL2で、入れ直してみたことだし

【Ardupilot】開発環境をWindows Ubuntuに入れてみる。EKFでWind Estimationさせる方法を知りたい【メモ】
避けてましたが。。 ちょっとEKFのこともう少し知りたくて。。 Windows WSLに入れる入れ方と、 Ubuntuに入れる入れ...

sim_vehicle.pyで、動かしてみましたら。。。

Luaの読み込みでエラーが出ていることがわかりました。

(ArduCopter.exe はCopter4.1.5なのと、今回のはCopter4.2。。その違いかな??)

ってことで、もう一度、Luaスクリプトをダウンロードし直して、sim_vehicle.py を実行したらFDST_のパラメータも出てきました。

例題通りに Unknown のIDに、42702を入れたミッションを作成

で。。。

Scriptは動くようなんだが。。。 螺旋降りに移行できない。。Guidedにならないといけないんだけど。。。

Messageを見ていると、Missionの2番で、FastDescentはStartするけど、すぐに。。RTLに入る。。 なぜ???

つづく。。

Lua ScriptはScriptsに複数いれると駄目っぽい?

あとで試そうと思って。。scriptsフォルダの中に。。

  • copter-circle-speed.lua
  • copter-fast-descent.lua
  • copter-fly-vertical-circle.lua
  • copter-nav-script-time.lua
  • copter-wall-climber.lua

の5つのScriptをscriptsフォルダに入れていまして。。これを

copter-fast-descent.lua

だけにしてみました。←はじめからそうしろよ!!

動かした様子です。 50mのところまでは、螺旋状に素早く降りてきています。

FastDescent Lua Script Mission Planner SITL ArduCopter V4 3

風の影響あるのかな??と思って

ParameterのSIM_WIND_SPEEDを5にしてみてやってみました。

FastDescent Lua Script Wind Speed 5m/s Mission Planner SITL ArduCopter V4 3

かなり、円が乱れますね。。 当然ですが。。。

上空の風の舞を少し予測しながらできるといいな。。と。。

あるいは、性能以上の風速になると、戻ってくるなどの機構が必要かも?? まずは使いこなせるように、勉強しておかないとな。。 まだ今年のこともわからないですが。。

謝辞

伊豆さん(Attrac Labさん)Randyさんありがとうございます。

また、Twitterでいろいろ教えていただいた@fujihideさん、本当にありがとうございました。


WSLから動かす時 メモ

PowerShellで

$wsl

ArduCopter ArduRover2 ArduPlaneなどのディレクトリに移動して、実行

$ cd ~/ardupilot/ArduCopter 
$ sim_vehicle.py -w

カスタムロケーション

sim_vehicle.py -w --custom-location=35.XXX,139.xxx,17,353 --map

コンソール

sim_vehicle.py -w --custom-location=35.XXX,139.xxx,17,353 --map --console

オプション –help でも出ますが

Using SITL — Dev documentation
スポンサーリンク
広告
広告

フォローする

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。