##Arduinoを用いた簡易的な自動運転
Arduinoを用いて、プラレールの閉塞システムを作ってみた。目標は同一レール上でできるだけ多くの車両を走らせ、東海道新幹線のような過密な運行を再現することとした。今回のシステムにおいて、サーボやセンサーの取り付けは外付け方式とし、プラレールの製品には加工を加えないことを目指した。
##実際の動画
プラレールで作った自動閉塞システム
— Rail_tech700 (@RTech700) September 10, 2020
自動で退避、相互発着を繰り返します。
Arduino Unoとセンサー、自動化した部品を組み合わせて、レール上に5つの閉塞を定め、4本の車両走らせてます。車両の改造は全くしていません。
試運転の時に撮った映像です。#プラレール#閉塞運転 pic.twitter.com/uCXJNQdLDy
##自動運転のアルゴリズム
プラレールのレイアウト上をいくつかの閉塞に区切り、車両を走らせていく。この時、1閉塞には1車両しか入れないというルールがある。これは実際の鉄道と同じである。
理論的にはn個の閉塞を用意した時、最大n-1本の車両が走ることが可能である。閉塞の間には車両を検知するセンサーを設置し、車両の位置を検出する。車両はストップレールを用いて動きを調整する。閉塞情報は配列で管理しており、空いている閉塞があったらストップレールを操作して車両を入れるという動作を繰り返している。
今回は5閉塞を定め、4本の車両を走らせる。レイアウト上には2つの駅を設置し、一つは通過待ちのある待避駅、もう一つは全ての列車が設置する相互発着駅とした。
閉塞の位置
- 相互発着駅の1番線
- 相互発着駅の2番線
- 相互発着駅から退避駅までの区間
- 待避線上
- 退避駅から相互発着駅の区間
##製作した閉塞システムのパーツ
1. ポイント
2つのポイントを作成した。複線幅広ポイントレールと単線複線ポイントレールである。安定性は悪いが、加工を加えない条件があるので、両面テープを用いてサーボの固定を行った。サーボのウィングと分岐器は針金で固定した。
図1 簡易的に自動化した単線複線ポイントレール(レールに加工は加えていない)
2. センサー
最も悩んだところである。暗い場所でも検知ができるようにフォトリフレクターを使用した。当初は小型のセンサーを直線レールに埋め込んでいたが、モジュール化するのに時間がかかることとセンサーの反応が悪いことにより、別のセンサーを作成した。
試行錯誤した結果、小型のブレットボード上にセンサーを取り付けることとした。使用したブレットボードはプラレールの複線橋脚の溝にはまるので固定も簡単である。これにより1つ5分以内でセンサー作成が可能となった。
3. ストップレール
これは単純にストップレールのレバーにサーボをテープを用いて直付けしただけである。
4. 駅
待避駅は乱数を用いて車両の優等に抜かされる本数を決めている。相互発着駅では車両は必ず停車し、順に出ていく。(キューのような構造)待避駅や相互発着駅では最低停車時間を定めている。→最低停車時間が長いほど車両が渋滞する原因ではある。
##レイアウト
二つの駅を設けたレイアウトを作成した。当初は通過線上にも閉塞を定めていたため、5編成走行可能だったが、過密運転のため通過線上で止まってしまうので、なくすこととなった。レイアウトが小さいため、常に渋滞しているが、東京の過密運転のようで見ていて楽しい。
##今後の課題
PCから自由に操作できるようにしたらさらに面白くなると思った。部品のモジュール化。渋滞の改善。ホームドアの連動など。
##使用したパーツ
- Arduino UNO
- SG-90
- フォトリフレクタLBR-127HLD
- ミニブレッドボード 25穴
など