クレーン模型制御ソフトCraneMonitorの使い方

はじめに

 Maker Faireへのクレーン模型の展示向けに作成してきた制御ソフト「CraneMonitor」の使い方説明書です。

f:id:inrabbit:20190818001521j:plain

動作中の画面キャプチャ

 なぜ、このブログで制御ソフトのマニュアルを公開するのかというと、それは私自身が忘れないためと、いざというときに会場で参照するためです。

 マニュアルをちゃんと書いておいても、置いてある場所が分かっていないといけませんが、例えばパスワードがかかった場所に置いてあったりすると、結局読めなかったりしますので、誰もが分かる場所になければなりません。

 また、現状このソフトは、私(=inrabbit)しか操作できないため、私がいないとセットアップできない状況なのですが、それを今後なるべく属人化を回避した状態に持っていきたいためです。もし我々が使い方で悩んでいたら、これを読んでもらったお客さんに教えてもらえる、みたいなのが理想的な形かなと思います。(笑)

 

GitHubリポジトリ

 CraneMonitorのソースコードと実行バイナリは以下にあります。Visual Studio.Net FrameworkWPFを使って書かれています。言語はC#です。

github.com

 

システム構成

 自作したデバイスとPCとの通信にはUSBシリアルが用いられています。それに加えてUSBカメラ2台が接続されています。

f:id:inrabbit:20190818111030p:plain

システム構成と機器接続

 

ノートPCの設定

 展示中、ノートPCには外部ディスプレイを接続して使っており、PC本体は触っていないため、ノートPCの画面を閉じても電源が切れないようにしておく必要があります。

f:id:inrabbit:20190818111221p:plain

ノートPCの設定での注意点

 

画面構成

 起動時の画面です。セキセイインコの写真は設計時に表示する画像がないから適当に入れたもので、USBカメラからの動画が表示されれば消えます。

f:id:inrabbit:20190818111548p:plain

起動時の画面

 

バイスとPCの接続

f:id:inrabbit:20190818111715p:plain

バイスとPCの接続方法
 起動初期にCOMポートとセンサは自動接続される。COMポートは何も機器接続されていなくとも接続成功してしまうが、そのままだと機能しないので、切断してから機器接続し、再接続すること。
 ポート名などは、接続時(ボタン点灯時)に指定された名称で接続される。ファイルからのロードは任意のタイミングで可能であるが、点灯状態のままファイルロードしてポート名が変わっても、接続は旧設定のまま維持されるので注意。
 動作中にポートを変えるには、「接続解除⇒ファイルロード⇒再接続」の手順を踏む必要がある。
 設定ファイルは、CraneMonitor.exeと同一フォルダまたは、1つフォルダ階層が上の場所中にSetting.xmlという名称であるものとする。
 起動時に自動読み込みされ、存在しなければデフォルト値となる。

 Joystickとはゲーム用の普通のジョイスティックのことであり、
Controllerとはオリジナルの操作卓のことである。JoystickとControllerは同時に接続しないこと。

 

モーター設定

 6つ接続できるモータードライバのチャネルに、ジョイスティックや操作卓などの指令値をどのように割り当てるかを指定します。設定は、回転の向きと、直接PWM指令値を指定する動作モードか、速度を指定するフィードバック制御にするのかです。フィードバック制御をする場合、モーターの回転軸に位置検出用のエンコーダが取り付けられていなくてはならないです。ポテンショメーターを取り付けると、可動範囲を自動制限するリミッタ機能として利用できるようになっています。(リミッタ機能はこれまで使われたことがないので動作しないかもしれない。)

 また、選択した3チャネルの動作状況をグラフィカルなメーター表示にすることができます。

f:id:inrabbit:20190818112018p:plain

モーターの設定

 

操作卓とジョイスティックの指令値番号

 モーター設定におけるジョイスティックの指令値は以下の表に従います。この値を選んでxmlファイルに書き込みます。本来なら、設定ファイル読み込みではなくて変更可能なUIにすべきなんでしょうが、展示用にはこれで機能的に十分なのでやめました。

f:id:inrabbit:20190818112103p:plain

操作卓とジョイスティックの指令値番号

 

 表示切替

 展示の運用の際に不要な設定ボタンや、使っていない不要な機能を隠せるようになりました。

f:id:inrabbit:20190818112152p:plain

画面表示切替

 

ランキング機能

 ランキング用のボタンは、設定次第で操作卓と連動させることができる。非動作時に消灯し、動作中/登録が完了した有効時に点灯する(消灯しているからといって押せないという意味ではない)
 ランキング情報はexeと同じフォルダ内に、記録ごとに別のxmlファイルとして保管される。現状、手作業によるXmlファイルの書き換えや削除をした後の更新は、プログラム再起動のタイミングのみに行われる。

f:id:inrabbit:20190818112222p:plain

ランキング機能

 

グラップル方位角表示機能

 グラップルへの指令は操作卓側からの赤外線経由なので、CraneMonitorは関与しない。しかし操作卓への設定値は全てPC側に送られるようになっているため、画面上に操作卓のエンコーダの設定値を表示だけはしている。

f:id:inrabbit:20190818112245p:plain

グラップル方位角の表示機能