AtsEXによる時素制御信号の再現

おーとま氏開発のAtsExを利用して、営団地下鉄の打子式ATS路線で使用されていた時素制御信号をBVE Trainsimで再現しました。

時素制御信号は、打子式ATSにて速度照査を実現する機構です。以下では、打子式ATSの基本機能から時素制御信号の概要、そしてBVE上での再現結果までを説明します。

(2023-07-17更新: サンプルシナリオについて、AtsEx v0.19.30520.1で動作するよう修正)

“AtsEXによる時素制御信号の再現” の続きを読む

Tsutsuji Trackcomputer v1.4.0

Tsutsuji Trackcomputer version 1.4.0をリリースしました。

https://github.com/konawasabi/tsutsuji-trackcomputer

Version 1.4.0では、背景画像として表示する画像データを国土地理院地図やOpenStreetMapなどのマップタイルサービスから自動で取得する機能を追加しました。詳しくは https://konawasabi.github.io/tsutsuji-trackcomputer/tutorial_maptile.html を参照ください。

使い勝手の面でこなれていない部分が多々ありますが、お試しいただければと思います。

Tsutsuji Trackcomputer v1.3.0

Tsutsuji Trackcomputer version 1.3.0をリリースしました。Version 1.3.0で追加された主な機能は以下の2点です。

https://github.com/konawasabi/tsutsuji-trackcomputer

CurveTrack Solverでの緩和曲線長の計算

CurveTrack SolverにMode 6, 7を追加しました。このModeでは、曲線軌道始点(α)、終点(β)、経由点(γ)の3点を通る最適な曲線軌道を、緩和曲線を含めて計算します。

Mode 6と、従来からあるMode 1の動作概略図を次に示します。Mode 1では単純な円軌道を求めているのに対し、Mode 6では緩和曲線を追加してγ点を通過できる曲線軌道を求めています。

座標データから他軌道データを生成

軌道の各点座標を記したデータを読み込み、他軌道データに変換する機能を追加しました。

読み込めるファイルは、Google earthや国土地理院地図を使って作成した折れ線データをKML形式で保存したもの、各点のxyz座標をCSV形式で保存したものに対応しています。

この機能のサンプルデータとしてkml-csv_sample.zipを用意しました。含まれているkml-csv.cfgをtsutsujiで開くと、以下のような軌道データが読み込まれます。

なお、読み込んだ座標データは、自軌道データには変換できません。ご了承ください。

Tsutsuji/Kobushi インストールガイド

はじめに

Tsutsuji trackcomputer / Kobushi trackviewerはターミナルから動かすことを前提にしたプログラムで、インストールにもターミナルからコマンドを実行する必要があり、慣れていない方にはちょっと敷居が高く感じるかもしれません。

このガイドでは、Tsutsuji / Kobushiのインストールに必要な作業を、順を追って説明しています。この手順に従えば、ほとんどの場合問題なくインストールが完了するはずですので、参考にしていただければと思います。

なお、このガイドではWindows 11 Homeへのインストールを想定していますが、Windows 10, 8, 7でも同じ手順でインストールできるはずです。

1. Python3インストーラのダウンロード

まず、Python公式サイト( https://www.python.org/downloads/ )にアクセスして、最新のPython3インストーラをダウンロードします。

2. Python3のインストール

ダウンロードしたインストーラ(ここではpython-3.10.4-amd64.exe)を起動し、“Add Python 3.x to PATH”にチェックを入れてから、“Install Now”を実行します。

インストールが完了すれば次の画面が出るので、Closeしてインストーラを終了します。”Disable path length limit”は実行しなくても問題ありません。

“Add Python 3.x to PATH”にチェックせずにインストールした場合、ターミナルからPythonを起動できない可能性があります。その場合はインストーラをもう一度実行し、Modify → Advanced Optionsを開いてAdd Python to environment variables にチェックを入れ、Installを実行してください。その後、ターミナルを再起動して必要なコマンドを実行すれば上手くいくはずです。

3. Pythonの起動テスト

ここから先はターミナルを使って作業します。

Windowsキー+ xキーを押すと次のメニューが現れるので、”Windows ターミナル”を実行します。ここではPowershellが起動しますが、コマンドプロンプト(cmd)に慣れている方はそちらでも同様に作業できます。

起動したターミナルに python --version と入力してEnterキーを押してください。Python3のインストールに成功していれば、以下のようにインストールしたバージョン番号が表示されます。

PS C:\Users\hoge> python --version
Python 3.10.4

もしバージョン番号として2.7.xが表示された場合、お使いのPCにはPython 2.7がインストールされています。Tsutsuji/KobushiはPython 2.7では動作しないので、その場合はPython 3をインストールしなおしてください。

4. Tsutsuji/Kobushiのインストール

ターミナルに pip install tsutsuji-trackcomputer と入力してEnterキーを押してください。Tsutsuji trackcomputerと、動作に必要なライブラリが自動でインストールされます。

Tsutsujiをインストールすると、Kobushi trackviewerも自動でインストールされます。Kobushiだけを使いたい!という方も、特別の事情がなければ上記の手順でTsutsujiと一緒にインストールしてもらえればと思います。

インストールが正常に進めば、以下のようなメッセージがターミナルに表示されます。最後にWARNINGが表示される場合がありますが、これは無視して問題ありません。(パッケージ管理ユーティリティpipの新しいバージョンが利用できることを示しています)

PS C:\Users\hoge> pip install tsutsuji-trackcomputer
Collecting tsutsuji-trackcomputer
  Using cached tsutsuji_trackcomputer-1.2.0-py3-none-any.whl (40 kB)
Collecting kobushi-trackviewer==1.1.3
  Using cached kobushi_trackviewer-1.1.3-py3-none-any.whl (41 kB)
Collecting numpy
  Downloading numpy-1.22.4-cp310-cp310-win_amd64.whl (14.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.7/14.7 MB 21.8 MB/s eta 0:00:00
Collecting scipy
  Downloading scipy-1.8.1-cp310-cp310-win_amd64.whl (36.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 36.9/36.9 MB 21.1 MB/s eta 0:00:00
Collecting matplotlib
  Downloading matplotlib-3.5.2-cp310-cp310-win_amd64.whl (7.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2/7.2 MB 24.2 MB/s eta 0:00:00
Collecting lark
  Using cached lark-1.1.2-py2.py3-none-any.whl (104 kB)
Collecting ttkwidgets
  Using cached ttkwidgets-0.12.1.tar.gz (73 kB)
  Preparing metadata (setup.py) ... done
Collecting pyparsing>=2.2.1
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Collecting fonttools>=4.22.0
  Using cached fonttools-4.33.3-py3-none-any.whl (930 kB)
Collecting packaging>=20.0
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting kiwisolver>=1.0.1
  Downloading kiwisolver-1.4.2-cp310-cp310-win_amd64.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.3/55.3 KB ? eta 0:00:00
Collecting cycler>=0.10
  Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting python-dateutil>=2.7
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting pillow>=6.2.0
  Downloading Pillow-9.1.1-cp310-cp310-win_amd64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 23.2 MB/s eta 0:00:00
Collecting six>=1.5
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Using legacy 'setup.py install' for ttkwidgets, since package 'wheel' is not installed.
Installing collected packages: lark, six, pyparsing, pillow, numpy, kiwisolver, fonttools, cycler, ttkwidgets, scipy, python-dateutil, packaging, matplotlib, kobushi-trackviewer, tsutsuji-trackcomputer
  Running setup.py install for ttkwidgets ... done
Successfully installed cycler-0.11.0 fonttools-4.33.3 kiwisolver-1.4.2 kobushi-trackviewer-1.1.3 lark-1.1.2 matplotlib-3.5.2 numpy-1.22.4 packaging-21.3 pillow-9.1.1 pyparsing-3.0.9 python-dateutil-2.8.2 scipy-1.8.1 six-1.16.0 tsutsuji-trackcomputer-1.2.0 ttkwidgets-0.12.1
WARNING: You are using pip version 22.0.4; however, version 22.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

5. Tsutsuji/Kobushiを起動する

使いたいプログラムに応じて、ターミナルに次のコマンドを入力してEnterキーを押します。インストールに成功していれば、それぞれのアプリケーションが起動します。

  • Tsutsuji trackcomputerを起動
    • python -m tsutsuji
  • Kobushi trackviewerを起動
    • python -m kobushi

お疲れ様でした。

Tsutsuji Trackcomputer v1.2.0

Tsutsuji Trackcomputer version 1.2.0をリリースしました。

https://github.com/konawasabi/tsutsuji-trackcomputer

version 1.2.0での主な変更点は次のとおりです。

  • プロット関係
    • 他軌道への変換結果を描画
      • 例:
      • オレンジ: 入力軌道、黒: 他軌道への変換結果
    • 軌道ごとの半径、勾配制御点などを描画
      • 例:
  • 軌道の表示On/Off, 表示色を制御するtrackウィンドウの実装
  • 曲線半径ソルバーにモード4, 5を追加
    • 指定した曲線半径、曲線長の軌道について、起点or終点の座標を求める
  • 非対話モードの実装
    • GUIを経由せずに、他軌道への変換のみを実行する

詳細については下記リンクを参照してください。

https://github.com/konawasabi/tsutsuji-trackcomputer/blob/master/CHANGELOG.md

https://konawasabi.github.io/tsutsuji-trackcomputer/

Tsutsuji Trackcomputer v 1.1.0

Tsutsuji Trackcomputer version 1.1.0をリリースしました。インストール・アップデート方法は下記リンクを参照してください。

https://github.com/konawasabi/tsutsuji-trackcomputer

version 1.1.0では、次の機能の拡充を行いました。

  • 測量機能(measure)
    • マウスで指定した位置の座標、距離程の表示
    • 2点間の距離、方角の測定
    • 任意の点から最も近い軌道上の点までの距離の測定
    • 2点を通過する曲線軌道の探索
  • 背景画像機能
    • 軌道プロットウィンドウの背景に任意の画像を表示する
    • 設定情報の書き出し、読み込み機能の追加
    • プロットウィンドウのy軸拡大率に合わせた画像の伸縮

詳しくは、下記リンクを参照してください。

https://konawasabi.github.io/tsutsuji-trackcomputer/

Tsutsuji Trackcomputer公開

Bve trainsim 5/6向けマップファイルの制作支援Pythonスクリプトを公開しました。

このスクリプトの主な機能は、 全ての軌道を自軌道構文で記述し、一つの軌道を基準とした他軌道構文に変換することです。詳しくはチュートリアル( https://konawasabi.github.io/tsutsuji-trackcomputer/tutorial.html ) を参照してください。簡単な作例も載せています。

インストール方法は https://github.com/konawasabi/tsutsuji-trackcomputer/ を参照してください。動作させるには最新のPython3をインストールする必要があります。Python3インストール時の注意事項をこちらにまとめてあります。

まだまだ開発途上のスクリプトですが、これ以上煮詰めているといつまで経ってもリリースできそうにないので、最低限の機能が実装できた今の段階で公開いたします。このスクリプトが何らかの役に立てれば幸いです。

名前の由来

Kobushi trackviewer v1.0.3

Kobushi trackviewer version 1.0.3をリリースしました。このバージョンでは、以下の問題が修正されています。

  • Curve.SetFunction関数の指定によらず、すべての緩和曲線が直線逓減として計算される
  • Curve要素が存在しないマップを読み込むとエラーが発生する

https://github.com/konawasabi/kobushi-trackviewer/tree/ver1.0.3

アップデートする場合は、コマンドライン上でpip install -U kobushi-trackviewer を実行してください。

Kobushi trackviewer v1.0.1

先日公開したKobushi trackviewerについて、細かい部分を修正したversion 1.0.1をリリースしました。

https://github.com/konawasabi/kobushi-trackviewer

このバージョンでは、線路断面図・縦断面図のレイアウトを見直し、ウィンドウサイズを少し小さく(面積比で0.8倍)するとともに、ウィンドウのリサイズに対応しました。また、リファレンスにいくつかの補足事項を追加しました。基本的な機能はversion 1.0 と全く同一です。

アップデートする場合は、pip install -U kobushi-trackviewer を実行してください。

Python本体のインストールについて

Kobushi trackviewerを実行するにはPython3をあらかじめインストールする必要がありますが、この際インストーラ上でAdd Python 3.x to PATH というチェックボックスを必ず選択してください(下記スクリーンショット参照)。選択しなかった場合、Powershell上でpythonに関係するコマンド(pip, python etc.)が実行できなくなってしまいます。

Pythonインストール時にAdd Python 3.x to PATH を必ずチェック

Pythonのインストール時にAdd Python 3.x to PATHを選択していなかった場合は、インストーラをもう一度実行し、Modify → Advanced Optionsを開いてAdd Python to environment variables にチェックを入れ、Installを実行してください。その後、Powershellを再起動して必要なコマンドを実行すれば上手くいくはずです。

Kobushi trackviewer 公開

BVE Trainsim 5/6 のマップファイルから、線路平面図・線路縦断面図を作成するPython スクリプトを公開しました。インストール方法、使用方法は以下のリンクを参照してください。

動かすためには、最新のPython3をあらかじめインストールする必要があります。

https://github.com/konawasabi/kobushi-trackviewer

JR内房線マップを読み込んだ場合のスクリーンショットです。

JR 内房線、全区間表示例
JR内房線、千葉駅表示例

名前の由来