https://samurai-human-go.com/gif/py_simu_traffic.gif
このプロジェクトは、PythonとPySide6を使用して構築された交通信号シミュレーターです。 基本的なシーケンス制御(定周期制御)による交差点の交通流を視覚化し、将来的には交通量に応じた信号制御の最適化アルゴリズムを研究・実装することを目的としています。
- GUIによる可視化: PySide6を用いたグラフィカルな画面で、車両や信号の動きをリアルタイムに確認できます。
- 現実的な車両挙動: 車両は信号を遵守し、先行車との安全な車間距離を保って停止します。
- 基本的な信号サイクル: 現実の信号機に近い、青・黄・赤のサイクルを再現しています。
- 4方向からの車両生成: 交差点の上下左右からランダムに車両が生成されます。
- Python 3.8 以上
- PySide6
-
リポジトリをクローン
git clone [https://github.com/](https://github.com/)[あなたのユーザー名]/[リポジトリ名].git cd [リポジトリ名] -
仮想環境の作成と有効化
python3 -m venv venv source venv/bin/activateWindowsの場合は
venv\Scripts\activate -
必要なライブラリをインストール
pip install PySide6
(もし
requirements.txtを作成した場合はpip install -r requirements.txt) -
シミュレーターの実行
python3 src/traffic_simulator/main.py
(ご自身のプロジェクトのパス構成に合わせてください)
アプリケーションが起動したら、「シミュレーション開始」ボタンをクリックしてください。シミュレーションが開始されます。もう一度クリックすると一時停止します。
- 右左折する車両の実装
- 交通量に応じて信号が変化する「交通感応式制御」の実装
- 強化学習を用いた信号サイクルの最適化
このプロジェクトは MIT License のもとで公開されています。ライセンスの全文については、LICENSE ファイルをご覧ください。
また、このプロジェクトはサードパーティ製のライブラリを利用しています。これらのライブラリのライセンス情報については、NOTICE.md ファイルに記載しています。
ブログ記事: ブログ