fc2ブログ
鉄道模型 自動運転への道
鉄道模型ビギナー・電子回路アマチュア・ソフトウェアそこそこの管理人が、鉄道模型の自動運転・自動運行を最終目標にあれこれ試しています。
PCからの自動運転 何とか第一歩
やっとこさ、何とか自動運転と呼べるものを作ってみた。
というわけでその動画。


以下、おさらいでもあるけど、私が目指している自動運転の仕組み。

概要
・車両の制御はDCCによる。
・運行の制御はWindows PC上のソフトで行っている。
・USB-LocoNetアダプタ(自作)を用いてPCをLocoNetに接続している。
※LocoNetは、Digitrax製DCC機器間のデータ送受信に使うインターフェース。
・PCソフトの開発環境はC#、.NET Framework。

車両検出センサー

DigitraxのBDL162・BDL168と同等の信号をLocoNetに送出する自作の車両センサーを使用。
ただし、本家BDL162/BDL168は「在線」を検知するが、このセンサーは赤外LEDの光が車両に遮られることによって「車両が通過したこと」を検知する。(フォトインタラプタ式)
接触不良等が原因でBDL16「在線」の検知は必ずしも正確ではないため、この種の自動運転ではこの方式でも充分だと思っている。

センサーの使用法

ソフト上で、各センサーのアクションを定義する。
アクションは基本的には加速・減速させるための定義で、次のようなものを用意した。
 ・減速(駅接近)
 ・停止準備
 ・停止
各センサーを車両が通過すると、そのセンサーに定義された速度まで加速・減速する。
その速度にするまでの加速度・減速度(km/h/s)も定義できる。

運行の制御
上記のセンサーによる制御の他、停止状態で一定時間(今回は5秒)経過したら発車させる。
ソフト内部では閉塞の情報も持っており、ソフトは列車がどの閉塞にいるか検知している。
閉塞を確保しなければ発車できないようにする予定で、単線での上下方向同時運行が可能となる。
※閉塞…線路上の区間で、同時には1列車しか入れない。鉄道はこれによって列車同士の衝突を防ぐ仕組みになっている。

速度制御
スケール速度とそれに対応するDCC速度値のテーブルを車両ごとに持っている。
センサーのアクションなどは、スケール速度(km/h)で定義している。
これらをDCCの速度値そのままで持たないのは、実際の速度は車両によって異なるためで、車両ごとの速度特性の違いを上記テーブルで吸収している。

今後
ソフトの構造としては複数の列車の並列制御が可能なので、ソフトに閉塞確保の仕組みを実装すれば、目指している「単線での上下方向同時運行」が実現する。
…のだが、自作「BDL162/BDL168モドキ」はセンサー8個までしか対応していない。
エンドレスに交換駅二つという最低システムを構築するにはセンサーが12個必要。
そろそろ本物のBDL168を入手する時が来たのかもしれない。
関連記事
コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
トラックバック
copyright © 2024 鉄道模型 自動運転への道 all rights reserved.
Powered by FC2ブログ.