クレーン模型制御ソフトCraneMonitorの使い方
はじめに
Maker Faireへのクレーン模型の展示向けに作成してきた制御ソフト「CraneMonitor」の使い方説明書です。
なぜ、このブログで制御ソフトのマニュアルを公開するのかというと、それは私自身が忘れないためと、いざというときに会場で参照するためです。
マニュアルをちゃんと書いておいても、置いてある場所が分かっていないといけませんが、例えばパスワードがかかった場所に置いてあったりすると、結局読めなかったりしますので、誰もが分かる場所になければなりません。
また、現状このソフトは、私(=inrabbit)しか操作できないため、私がいないとセットアップできない状況なのですが、それを今後なるべく属人化を回避した状態に持っていきたいためです。もし我々が使い方で悩んでいたら、これを読んでもらったお客さんに教えてもらえる、みたいなのが理想的な形かなと思います。(笑)
GitHubリポジトリ
CraneMonitorのソースコードと実行バイナリは以下にあります。Visual Studioの.Net FrameworkのWPFを使って書かれています。言語はC#です。
システム構成
自作したデバイスとPCとの通信にはUSBシリアルが用いられています。それに加えてUSBカメラ2台が接続されています。
ノートPCの設定
展示中、ノートPCには外部ディスプレイを接続して使っており、PC本体は触っていないため、ノートPCの画面を閉じても電源が切れないようにしておく必要があります。
画面構成
起動時の画面です。セキセイインコの写真は設計時に表示する画像がないから適当に入れたもので、USBカメラからの動画が表示されれば消えます。
デバイスとPCの接続
設定ファイルは、CraneMonitor.exeと同一フォルダまたは、1つフォルダ階層が上の場所中にSetting.xmlという名称であるものとする。
起動時に自動読み込みされ、存在しなければデフォルト値となる。
Joystickとはゲーム用の普通のジョイスティックのことであり、Controllerとはオリジナルの操作卓のことである。JoystickとControllerは同時に接続しないこと。
モーター設定
6つ接続できるモータードライバのチャネルに、ジョイスティックや操作卓などの指令値をどのように割り当てるかを指定します。設定は、回転の向きと、直接PWM指令値を指定する動作モードか、速度を指定するフィードバック制御にするのかです。フィードバック制御をする場合、モーターの回転軸に位置検出用のエンコーダが取り付けられていなくてはならないです。ポテンショメーターを取り付けると、可動範囲を自動制限するリミッタ機能として利用できるようになっています。(リミッタ機能はこれまで使われたことがないので動作しないかもしれない。)
また、選択した3チャネルの動作状況をグラフィカルなメーター表示にすることができます。
操作卓とジョイスティックの指令値番号
モーター設定におけるジョイスティックの指令値は以下の表に従います。この値を選んでxmlファイルに書き込みます。本来なら、設定ファイル読み込みではなくて変更可能なUIにすべきなんでしょうが、展示用にはこれで機能的に十分なのでやめました。
表示切替
展示の運用の際に不要な設定ボタンや、使っていない不要な機能を隠せるようになりました。
ランキング機能
グラップル方位角表示機能
グラップルへの指令は操作卓側からの赤外線経由なので、CraneMonitorは関与しない。しかし操作卓への設定値は全てPC側に送られるようになっているため、画面上に操作卓のエンコーダの設定値を表示だけはしている。