CameraS88のチュートリアルをご紹介いたします。CameraS88を使って、気楽に自動運転をしよう!という試みです。Webカメラとパソコン、DSmainもしくはDCC/MM2シールドがあれば、すぐに試せます。
・Desktop StationとCameraS88をダウンロード
英語でかかれてますが、赤枠の2箇所からダウンロードできます。バージョンがあがっている場合は、最新版をお使いください。
ファイルを選択し右クリックして、ZIPファイルを解凍してください。
線路を用意してください。なお、車両はまだ置かないでください。
USBケーブル、線路との配線を行います。配線作業をしていると、カメラのケーブルを引っ掛けてずれてしまうリスクがあるため、先に線路とPCとを繋いでしまいます。
線路が見渡せるところ、もしくはセンサで反応させたい範囲が映る位置にカメラを置きます。
ブースター・トラックボックスとなる、DSmain等を用意しておきます。
CameraS88.exeをダブルクリックして起動します。
CameraS88のStartボタンを押して、Webカメラの映像が表示されているか確認します。
ここで、位置等を調整してください。カメラの位置や向きが確定したら固定して、簡単には動かないようにしてください。
車両を置いた状態では、絶対にRegisterボタンを押さないでください。この場合、車両がいなくなるとセンサが反応してしまいます。
CameraS88で、センサ範囲の登録をしていきます。画面上をDragすることで、センサ範囲を新規追加していけます。ダブルクリックで、細かい調整ができます。センサのアドレス(仮想的なS88アドレス)を、きちんと割り振ってください。Desktop Stationで使用します。
以下のビデオで示すように、線路上に領域を登録していきます。位置の微調整は選択してドラッグするとできます。サイズの微調整は、ダブルクリックしてWidthとHeightを編集します。
車両と背景の色が似ていて溶け込んでしまう場合や、ある程度、大きな面積でないと反応しない場合があります。
反応すると、登録した領域が黄色に変わります。赤色は選択している領域です。
CameraS88はそのまま起動しておき、Desktop Stationを起動します。Startボタンを押して、線路に電力を供給します。
Desktop StationとCameraS88は自動的に通信します。特に設定は不要です。CameraS88が起動していない時は、Desktop StationはDSmainのS88の入力を優先します。なお、Desktop Station上のS88の取り込み周期の設定の有無に関わらず、CameraS88のセンサ情報は取り込まれます。
機関車を動かして、CameraS88上で反応していることを確認します。同時に、Desktop Stationのイベントスクリプト画面の中にあるS88センサ情報を確認し、該当するセンサアドレスが反応していることを確認します。
CameraS88でセンサ3領域に電車がいるとき、メーター下のセンサ3が緑になっている:
CameraS88でセンサ1領域に電車がいるとき、メーター下のセンサ1が緑になっている:
イベントスクリプトを編集していきます。
操作例のビデオを参考に、機関車の速度や進行方向などを編集していきます。
操作例:
以下に、そのままコピペできるスクリプトを掲載します。
センサ1 (STATION-1):
DESKTOPSTATION,SCRIPT,2013
SPEED,0,64,0
WAIT,2,,0
SPEED,0,64,0
WAIT,2,,0
DIRECTION,0,2,0
WAIT,20,,0
SPEED,0,128,0
センサ2 (STATION-2):
DESKTOPSTATION,SCRIPT,2013
SPEED,0,128,0
WAIT,2,,0
SPEED,0,64,0
WAIT,2,,0
ACCESSORY,6,0,0
DIRECTION,0,1,0
WAIT,20,,0
SPEED,0,128,0
センサ3 (STATION-3):
DESKTOPSTATION,SCRIPT,2013
SPEED,0,128,0
WAIT,2,,0
SPEED,0,64,0
ACCESSORY,6,1,0
WAIT,2,,0
DIRECTION,0,1,0
WAIT,20,,0
SPEED,0,128,0
・実際に動かしている様子
・実際に動かしている様子2
CameraS88の反応レベルを微調整することが可能です。使用するのは、Thresholdのボックス内の2つのパラメータです。
Matchingの値:
色の変化量の閾値を示します。たとえば、予め登録した画像と、監視中のカメラの画像を比較し、色の違いがこの閾値以上ある場合、変化があると見なします。0~255の値を指定します。初期値は32です。およそ、12.5%の色の変化がある場合に反応します。この値を大きくすると、反応しにくくなります。反応が過敏な場合に、たとえば48とか64のように少しずつ値を調整してください。
Blockの値:
領域内で反応したブロック数のボーダーラインを規定します。0~255の値を指定します。128とすると、半分の領域が反応したとき、ブロックに変化が起こったと見なします。64の場合、1/4以上が反応した場合に領域に変化が起きた(機関車が入ってきた or そこにいる)と判断します。この値を大きくすると、反応しにくくなります。