SITL
Ardupilt のプログラムや、Mission Plannerでの飛行プランを試したりするのに、SITL(Software In The Loop)というシミュレータがあります。僕のページでも紹介してます。
今は、Mission Plannerから自動で動くんですけど。。
結構、なにかの拍子で、Mission Plannerから動かなくなることがあります。
https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html
https://ardupilot.org/dev/docs/using-sitl-for-ardupilot-testing.html
https://discuss.ardupilot.org/t/failed-to-connect-to-sitl-instance/61519
同じような症状で、Instanceが動かないとか、コネクションが取れないとか出てきます。
Paramファイルが開けないとか。。いろいろ出てくるのですが。。
コマンドラインで動かしちゃう。
説明をいろいろ読んでいると。。sim_vehicle.py を動かせとか出てくるんですが。。
https://ardupilot.org/dev/docs/copter-sitl-mavproxy-tutorial.html
ソース見てみると。。どうも。。
https://github.com/ArduPilot/ardupilot/blob/master/Tools/autotest/sim_vehicle.py
Windowsの場合、ArduCopter.exeを動かせばいいようです。
このあたりも参考になります。
https://github.com/ArduPilot/MissionPlanner/blob/master/Scripts/example9%20-%20sitl.py
ArduCopter.exe自体の引数は次の通り
--help|-h display this help information --wipe|-w wipe eeprom --unhide-groups|-u parameter enumeration ignores AP_PARAM_FLAG_ENABLE --speedup|-s SPEEDUP set simulation speedup --rate|-r RATE set SITL framerate --console|-C use console instead of TCP ports --instance|-I N set instance of SITL (adds 10*instance to all port numbers) --synthetic-clock|-S set synthetic clock mode --home|-O HOME set start location (lat,lng,alt,yaw) or location name --model|-M MODEL set simulation model --config string set additional simulation config string --fg|-F ADDRESS set Flight Gear view address, defaults to 127.0.0.1 --disable-fgview disable Flight Gear view --gimbal enable simulated MAVLink gimbal --autotest-dir DIR set directory for additional files --defaults path set path to defaults file --uartA device set device string for UARTA --uartB device set device string for UARTB --uartC device set device string for UARTC --uartD device set device string for UARTD --uartE device set device string for UARTE --uartF device set device string for UARTF --uartG device set device string for UARTG --uartH device set device string for UARTH --uartI device set device string for UARTI --uartJ device set device string for UARTJ --serial0 device set device string for SERIAL0 --serial1 device set device string for SERIAL1 --serial2 device set device string for SERIAL2 --serial3 device set device string for SERIAL3 --serial4 device set device string for SERIAL4 --serial5 device set device string for SERIAL5 --serial6 device set device string for SERIAL6 --serial7 device set device string for SERIAL7 --serial8 device set device string for SERIAL8 --serial9 device set device string for SERIAL9 --rtscts enable rtscts on serial ports (default false) --base-port PORT set port num for base port(default 5670) must be before -I option --rc-in-port PORT set port num for rc in --sim-address ADDR set address string for simulator --sim-port-in PORT set port num for simulator in --sim-port-out PORT set port num for simulator out --irlock-port PORT set port num for irlock --start-time TIMESTR set simulation start time in UNIX timestamp --sysid ID set SYSID_THISMAV --slave number set the number of JSON slaves
こんなパラメータで動くようですが。。最低限のパラメータは、モデル選択と、paramファイルです。
ちなみに。。
SITLのインストールは、Mission PlannerのSimulationタブ(上)から、モデルを選んで押すとインストール(本当はそのまま動く)されます。
Multirotorをクリックすると、インストールされます。
ディレクトリは、
C:\Users\Usernameはそれぞれ\ドキュメント\Mission Planner\sitl
そして、デフォルトのパラメータは、\sitl\default_params の下に、copter.parmがあるので、sitlの下(Arducopter.exe)があるところにコピーして置くといいです。
最低限のパラメータは、これで動きます。
Arducopter.exe -M copter
例えば、Homeの緯度経度高さ方向などを指定する場合は、これです。
Arducopter.exe -M copter -O 36.643342,136.624265,0,0
あとは、デフォルトで動きます。 右上のConnectを押すと。。IPアドレスとPortを聞かれますが。。デフォルトです。
Paramがきちんと入っていないと、ここで、ARMができません(笑) あと、このバッテリーのエラーを消さないといけないのですが。。 いろいろConfigとか、copter.parmでいじってみてください(笑)
SIMのパラメータ
ConfigのSimで検索すると、いろいろパラメータいじれます。
https://ardupilot.org/copter/docs/parameters.html
メモ
config.xml
Settings are stored in user’s Documents/Mission Planner/config.xml file.
コメントを残していただけるとありがたいです