2017-09

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JMRIによる自動運転(その1)

JMRIによる自動運転を本格的にやり始めました。
とりあえず、テストケースとして以下のようなプランを考えてみました。
自動運転

いわゆる、単線の途中駅交換による上り下り運転で、始発駅を出発した列車は
途中駅にて対向列車と離合し終着駅に向かいます。
終着駅に到着した列車は折り返して最初に出発した駅に戻りこれを繰り返すパターン。
ローカル線にてよくあるシチュエーションですね。
ちなみに和歌山電鐵をモチーフにしてみました。
#始発駅は和歌山駅と貴志駅、途中駅は伊太祁曽駅な感じです。

この運転パターン。単純なようですが実は運転ロジックとして考えてみると難しい。
実物ではタブレット交換などでやっていた事をそのまま再現する必要があります。
鉄道ロジックの基礎が詰め込まれているようで、自動運転への練習には最適かもしれません。

前回「JMRIによる自動運転(序章)」で述べていた、複数の列車運転への課題ですが、
JMRIをいじってみた所、こういったローカル線的な制御は運転列車毎にスクリプトを用意し
マルチスレッドで運行するのが良さそうと判断しました。
#反対に幹線ではシングルスレッドのイベントドリブンによる制御が良さそうです。

今回は2列車なので、各々の列車を制御するスクリプトを用意し並列に走らせます。

次に線路設計です。
まず閉塞を考えます。列車を安全に運行するには1閉塞1列車が絶対規則です。
今回のパターンではすれ違いができるのは離合駅でのみですので、離合駅の分岐から両端
の駅が各々1閉塞になります。
そして離合駅の上り線側1閉塞、下り線側1閉塞とします。
また、ロジックを簡単にするため離合駅は必ず左側通行とするルールを設けています。
#実物では必ず左側通行でない場合があります。
#このロジックを採用したほうが、後にパターンの繰り返し処理が楽になる理由も(^^;
図に纏めるとこうなります。
閉塞

次に実際の線路設計です。
基本はこの閉塞の設計でいいのですが、自動運転するためブレーキングポイント等、
動作をさせる為のタイミングを計る点を追加します。
要は列車を検知するためのセンサーを用意する事でもあるんですが、私では在線検知する
BDL168という装置を使っていることもあり、閉塞とは異なりますが閉塞のような区間になります。
#BDL168は線路電流を検出するタイプですので区間になります。
#実物と同じ軌道回路のような感じです。

とりあえず、テストケースでもあるのであまり深く考えず区間を設けてみました。
図に纏めるとこうなります。
区間
①終着駅の在線検知区間
②終着駅へのアプローチ区間(ブレーキング)
③離合駅へのアプローチ区間
④離合駅の在線検知区間
⑤離合駅の在線検知区間
⑥離合駅へのアプローチ区間
⑦終着駅へのアプローチ区間
⑧終着駅の在線検知区間

こういう感じで線路は設計してみました。
次回はその2として閉塞制御です。

JMRIによる自動運転(序章)

DCCのツールパッケージであるJMRIを使った自動運転にチャレンジしています。
スクリプトを用いて車輌の走行、ポイントの転換、在線検知と出来るようになりました。
しかし、まだまだプログラムとしては甘チャンで、自分のイメージから遠いレベルです。(^^;

今動いているプログラムはシーケンシャル制御で、1列車につき与えたコマンドを順番にこなす
初歩的なものです。
とりあえず、線路上を列車が往復する(前進・停車・後進・停車のくりかえし)レベルは出来ま
した。

これから複数列車を制御させるように発展させていくつもりなんですが、スクリプトを理解して
るのがごく一部でして課題の連続です。(--;

今の課題としては・・・
1.複数列車を管理する方法
  列車毎にスクリプトを用意しスレッドで同時に運行するのがいいのか、一つのスクリプトで
  イベントドリブンで運行するのがいいのか。

2.閉塞制御、閉塞に対する排他制御の方法
  信号テーブルという機能があるので、それを流用するのがいいのか、自前で制御するのか。

3.列車の選別方法
  列車番号を取得はできるのですが、それを使っていかに料理するのか。
  列車アドレスを今はプログラムに直接入力していますので、運用の自由度が低い。

4.初期化
  電源をいれた直後など、列車の位置や方向がバラバラになります。
  制御プログラムは方向が分かりません。(DCCならではの悩みですが・・・)
  いかに初期状態?途中から運行復帰させるのか。

頭では制御方法のイメージが出来てはいるんですが、それをスクリプトに表現できないでいます(^^;
まだまだ修行が足りません。

オブジェクト指向は苦手です

DCCではJMRI(ジャムリ)をいうパッケージを使って、PCからいろいろと操作をやって
いるんですが、車輌の操作/管理、ポイントの管理等とJMRIを完全に使いこなしている
とはいえません。
JMRIにはデコーダの設定管理、ポイントのルート設定、レイアウトパネルの表示、
スクリプトによる自動運転などの機能もあります。

そろそろ自動運転のほうのプログラミングを始めたいなと思いつつ、サンプルプログラム
とか眺めて見るんですが・・・
使われている言語がオブジェクト指向のために拒否反応が・・・
#JMRIにはpython(パイソン)というプログラミング言語が搭載されています。

私自身はプログラマでもあるので、プログラミングは普通に行えるのですが、
扱ってる言語がアセンブラ、C言語とCPUに直結している方面なんで、
オブジェクト指向の言語だけは未だに理解できません。
大抵のプログラムは見てたら処理内容のイメージが大体は摘めるんですがねぇ
抽象化され(すぎてる?)オブジェクト指向言語ははっきりいって分かりません(--;
#少し違いますがCOBOLもプログラム眺めてみたけど「これはムリ」と思いました。
Pythonと同じくオブジェクト指向型の言語であるRubyも扱ったことありますが
やはり苦手です。

うう。
C言語ライクな、せめてPascalとかみたいな構造にならんか?(なりません)
#オブジェクト指向なんて日本人には向かない言語だと思います(きりっ

なんとかしたいなぁ・・・(--;

黒船来航(って何回目だよ

少しずつではあるけど、DCC搭載車輌を増やしつつある京きとです。みなさんいかがお過ごしでしょうか。
最近は車輌ばかり増備され、肝心の頭脳がない車輌が増えてきておりました。
予定上はしばらく増備車もないことから、こことぞ予算を頭脳に振り向けてみたのでございます。
今回はデコーダをまとめて手に入れようと、亜米利加からの手配にしてみました。
亜米利加では欧州と並びDCCの本場の一つでもあります。
国内では手に入らない頭脳なども入手できるとあって、それはそれはうらやましく思う土地です。
円高もあることですしかなり纏めて注文してみましたが、さてさて、どうなることやら。

#って、誰だよこのキャラ。疲れるぞ。
ふぅ・・・ orz

CIMG3550.jpg

えーと、デコーダは国内ではおなじみデジトラックスの製品からチョイスしていますが、
国内で流通しているものだと、国内の車輌に付けるには小改造が必要だったりするんですが。
向こうのデータシートなどを眺めているとデコーダのリビジョンが上がってたりして、こっちを
採用すると無改造でいけそうなデコーダが幾つかあったので、最新のやつを試しに注文してみました。
Nサイズの機関車向けサウンドデコーダもあったりして、技術の進歩を感じてます。

こちらの搭載例はまだこちらで公開するつもりですので、暫くのお待ちを。

ところで・・・
USPSの箱ってカッコイイよね。
なんとか残してみたいんだけど、紙質もあまりよくないし税関の書類とか貼り付けされるので
それらを剥がすとボロボロになるのがちょっと惜しいです。(^^;
CIMG3549.jpg

公開運転会のお知らせ

来る10月の10~11日に所属するクラブの公開運転会があります。
特に凄いとか目新しいものはありませんが、体験運転も行いますのでお子様のおられる方などいかがでしょうか。

BRMCお知らせ

«  | ホーム |  »

プロフィール

京キト

Author:京キト
鉄道模型(主にNとHO)でだらだらとやっております。
走っている模型を眺めるのが好きで、その目論見のためにDCCを導入。
将来的には自動運転でJR西のアーバンネットワークのようなアクロバティックなダイヤ運転が出来ればと考えていますが、いつになるやら。
眺めているだけでなく、改造や加工といった工作類も好きなので、自分で出来る範囲をチョコチョコとやっています。

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
その他 (4)
DCC (12)
実車 (3)
改造&工作 (2)
運転会 (4)

ブロとも一覧


あれ?な車両センター通信

旅行と模型と日常

本宮機関区運行日誌

線路脇の小道

自遊人の妄想日記

京鶴急行ファインテック工場長の独り言

千葉緑機関区運行日誌

街並みの記憶をつくる

とーちんがんばってます。

ぶらり鉄道趣味日記

夜行寝台急行「大和」

藻庫川重工のへっぽこ製作記

枝川製作所の日誌

だらだらガラクタ箱

B-Waterの暇つぶし車両製作記

山奥の寿司屋

鉄道模型大好き人(TMD)のいろいろ

雪風の壱里毎日記(ひとりごと日記)

秋空鉄道ブログ

検索フォーム

リンク

このブログをリンクに追加する

RSSリンクの表示

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。