【Mission Planner】自動でSITL(ドローンシミュレータ)が動かないときは、コマンドラインから動かせばいい【Ardupilot】

SITL

Ardupilt のプログラムや、Mission Plannerでの飛行プランを試したりするのに、SITL(Software In The Loop)というシミュレータがあります。僕のページでも紹介してます。

【自作UAVへの道】ドローンをWindowsのシミュレータで動かすSITLを使ってみる(その3)【ArduPilot】

今は、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.

 

投稿者 tom2rd

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

Loading Facebook Comments ...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください