3K Views
July 02, 24
スライド概要
講義動画:
https://youtu.be/6n9uMCOMNu8
2023年度に伊藤昌毅が東京大学で実施した講義「交通情報学特論」を一部を除いて一般公開します。
この講義は、情報技術との融合によって高度化が進んでいる交通関連技術について概観し、交通データ分析や交通シミュレーション、交通案内サービス構築に必要な技術を身に付けることを目的としています。交通工学や交通計画学など交通を支える技術や学問は、現代の情報技術と融合することで、リアルタイムに大量のデータを分析し、即応的に施策を実施する新しい形へと進化しはじめています。この講義では、交通データの収集、可視化、分析、社会システムへの応用について、最新の事例や研究成果を紹介するとともに、実際の交通データに触れながらプログラミングやデータ分析ツールの利用技術を学びます。交通を学ぶ学生だけでなく、交通に関わる社会人などにも有用であると考え、学生とのディスカッションなどを除き講義内容を広く公開します。
伊藤昌毅 東京大学 大学院情報理工学系研究科 附属ソーシャルICT研究センター 准教授。ITによる交通の高度化を研究しています。標準的なバス情報フォーマット広め隊/日本バス情報協会
東京大学 大学院情報理工学系研究科 創造情報学専攻 「交通情報学特論」 第11回 2023年6月28日 弥生キャンパス I-REF棟 Hilobby ミクロ交通流シミュレーションSUMO深掘り 東京大学 大学院情報理工学系研究科 附属ソーシャルICT研究センター 創造情報学専攻兼担 伊藤昌毅
オープンソースミクロ交通流 シミュレータ: SUMO
本日の目標 • SUMOで自在にネットワークや交通需要を作成する • SUMO内で起こっている事象を観測・把握する • Excelを用いて交通工学で用いられる表現に落とし込む
Netedit 基本操作: 道路ネットワーク作成
Netedit起動 • Windows • Mac – コマンドの後に & を付けるとバックグラウンドで起動 % netedit &
ネットワーク新規作成 • File → New (or Ctrl + N) – 白紙のネットワークが立ち上がる • 全般的にとても使いにくいので慣れる必要があります – オープンソースなのでやる気と時間があればもっといいUIを!
ファイル構成 • シミュレーションに必要なデータや設定などを複数ファイルに分けて保 存 – 実行時に指定することが出来る項目も多いが、シミュレーションを繰り返すことを考えると 設定ファイルに保存するのが望ましい – Neteditは複数ファイルを管理出来るが、UIが分かりにくい • ネットワーク: *.net.xml – ネットワークの幾何構造や属性などを保存 • 経路や移動需要: *.rou.xml – 車両、通行経路、台数やタイミングなどを保存 • 全体設定: *.sumocfg – どのようなファイルを利用するか – どのようなデータを出力するか
各ファイルのオープン・セーブ方法 • sumocfg ファイルで一括して読み込み、保存が可能
Neteditのモード • 大きく3つの編集モード – Network • ネットワークの編集 • 下位のモード – Inspect, Delete, Select, Move, Create Edge, Connection, Traffic Signal など • かなり独特の操作性なので慣れが必要 – Demand • 交通需要の設定 • 下位のモード – Data – Create Route, Create Vehicle, Create Personなど
初期設定: 左側通行 • Processing → Options → Processing • Lefthand を チェック • Neteditの設定自 体を保存するには “Save NETEDIT config”
Netedit 基本操作: 道路ネットワーク作成
ネットワーク作成基本操作 • クリック1: ノード(junction)1 を作成 • クリック2: ノード(junction)2 を作成し、ノード1→ノー ド2の間にEdgeを引き、Laneを1本設定する – 逆方向は異なるEdgeとなる • 誤ってノードを設定したときは、Escで取り消し • Control + Z で Undo (Macは Command + Z でないことに 注意)
ネットワーク作成のコツ その1 • 上り、下りが両方必要なときは、ノード2→ノード1の方向にマ ウスクリックで反対方向のノードも作成 – マウスを重ねたノードの周辺の色が変わるので、Edge/Laneを作成したいノード を差していることを確認 • Edge作成中も領域の拡縮、移動が可能。Shiftとマウス左ボタ ンを押しながらマウス操作で、地図を移動できる
ネットワーク作成のコツ その2 • グリッド – 有効にすることで100m区切りのグリッドを表示し、ノードの位置もグリッドの 交点のみになる • Edge Chain Mode – 3度目以降のクリックでもEdge/Laneの入力が続く – 終わらせたいときは Esc • Edge Opposite Direction – 上り下り両車線を同時に入力
Edge/Laneの分割 • Edgeの途中からいきなり分 岐は出来ない • Edge上で右クリック→Split edge in both direction で中 間にノードが追加される
属性の確認・変更 (Inspect) • クリック→属性表示 • 値を変更できる属性もある – numLanesの変更で複数車線化 • 構造のヒエラルキーにも注目
選択 (Select) • クリックで選択、再度クリックで選択解除 • Shift+マウスで領域選択 • Escでも選択解除 • 選択状態から別の操作 – Delete (Macなら Fn + BackSpace) で一括削除 – Moveでまとめて移動
削除 (Delete) • クリックした要素を削除 • 依存している要素も同時に削除される – 例: ノードを削除すると、そのノードに紐付いたEdge/Laneも削除される • まとめて削除する場合は 選択モードで
移動 (Move) • マウス操作でノードの移動 – 紐付いたEdge/Laneも移動される • 複数選択した状態での移動も可能 • 直線から曲線へ – Edge/Laneの途中をつまんで動かすことで、道路を曲線に出来る
ネットワークを作成してみよう
道路属性の設定 • 道路のレーン数、最高速度などは設定が必要 • 参考: 時速と秒速の変換 – 100km/h = 27.78m/s – 80km/h = 22.22m/s – 60km/h = 16.67m/s – 50km/h = 13.89m/s – 40km/h = 11.11m/s – 30km/h = 8.33m/s
ルート設定
ルートの作成 • ルートとして設定するEdgeを順に クリック – 右の色に従ってEdgeが選択状態になる • 選択が終了したら“Finish route creation” クリック
車両(デマンド)の設定 • 種類があるが、ここでは flow (over route)を利 用
ボトルネックの観察 • ボトルネックがある道路ネットワークを作成し、振る舞いを観 察しよう • ボトルネック – 車線の減少 – 上限速度の低下 – サグ部(SUMOでの再現は難しいかも) https://www.shutoko.jp/ss/shutokonews/archive/master/201809.html
XMLファイルを直接編集 • rouファイルに関しては、実 際には直接XMLファイルを 編集した方が作業の効率が 良くなる • Netファイルは必ずnetedit 経由で操作すること
シミュレーション結果の詳細
SUMOの動作ログの種類 • 設定することで、シミュレーションの状況を詳細なログに書き 出せる – 数十種類のログが定義されており、設定で出力可能 • FCD出力(Floating Car Data) – すべての車両の位置、速度、角度などの詳細な動きを記録 – 各車両の詳細なトラッキングを可能に • エミッション出力 – 各車両のエミッション(CO2、CO、NOxなどの排出物)情報を出力 • その他、レーンチェンジ、電気自動車のバッテリ状態、歩行者 状態など様々なデータを出力可能
ログファイル出力方法 • XML形式のsumocfg ファ イルを直接編集 • output の項を以下のよう に追加 <output> <fcd-output value="output.xml"/> </output>
コマンドラインからの実行 • ただログを得たい場合など、GUIが不要な状況もある • コマンドラインからSUMOを実行すれば、可能な限り高速でシ ミュレーション結果を得られる • -c オプションで設定ファイルを渡す % sumo -c simple4.sumocfg
出力されたログファイル • 出力されたXMLファイルはExcelで直接開ける
ログファイルの中身 • 全ての時間ステップで、全ての vehicle の以下のデータが記録 される • vehicle id: 車両ID • x, y: 車両のXY座標 • Angle: 車両の進行方向 • Type: 車両のタイプ • Speed: スピード m/s • Lane, pos: どのレーンのどの地点にいるか • Slope: 傾斜
交通流の可視化 • 位置(X座標)とtimestampを用いてグラフ作成可能
交通感知器の追加 • Additionalモードから InductionLoopの追加が可能 – Periodとしてデータ取得間隔、fileとして出力ファイル名を設定
Detectorから出力されるパラメータ • 取得間隔毎に以下の値が記録される • Flow: – 交通流率。1時間あたりの通過台数 • Occupancy: – 占有率。その点において車が存在した時間の割合(%) • Speed: – 平均速度 • harmonicMeanSpeed: – 調和平均速度 • Length: – 車両の平均長さ • nVehEnterd: – 通過車両台数
交通量累積図の視覚化 • 交通量を更に累積図にしてみよう
交差点と信号制御
信号交差点の観察 • 信号交差点を作成し、交通条件や交差点の状況が変わった場合 の変化を観察しよう • 交通量を増やしたら?減らしたら? • 信号制御の時間幅を伸ばしたら?縮めたら? • 交差点形状を変えたら? – 交差点そのものを大きくする、小さくする • 歩行者横断帯があったら?歩行者がいたら?
信号交差点の作成 • Traffic Light mode • 交差点を指定した状態 で”Create” • 交差点内の進路と階梯図が 自動作成される
複雑な交差点の作成 • 2車線以上の場合 • 右折レーン • 矢印信号 • 横断歩道
SUMOの発展例 • 公共交通データ – 時刻表に基づいた公共交通の導入が可能 • 均衡交通量配分 – コマンドラインツール duarouter により均衡交通量配分が可能 – 繰り返し計算による収束 • TraCI – シミュレーションの状況への介入やデータ取得がPythonプログラムから可能 – 動的な交通状況を再現したり、複雑な観測を行うためには必須
次回の案内
講義予定 (全13回) • • • • • • • • • • • • • 1. 交通情報学入門 2. 地理情報システム(GIS)と時空間データベース 1 3. 地理情報システム(GIS)と時空間データベース 2 4. 交通データと計測 1: 基盤データ編 5. ゲスト講義1: 交通事業者とMaaS(藤垣洋平・小田急電鉄株式会社) 6. 交通データと計測 2: 動的データ編 7. 経路検索アルゴリズムと応用 8. 交通シミュレーションの技術と演習 1 9. ゲスト講義2: 交通ビッグデータ分析と活用の実務(太田恒平・株式会社トラフィックブレイン) →第10回へ 10. 交通シミュレーションの技術と演習 2 11. 高度化する交通サービス: ITS(Intelligent Transport Systems)・MaaS (Mobility as a Service) ・自動運転 12. データに基づいた交通政策の可能性 13. 交通情報学の未来(ディスカッション)
本日の課題 • 授業の感想、質問、要望などをコメントしてください • 最終回は自由なディスカッションの時間にします。そこで議論 したいテーマを提案してください • LMSで提出 〜7月5日(水) 23:59まで
最終レポート予告 • 締切 – 8月2日(水)23:59 • 分量 – 中間レポートの1.5倍程度 • 課題 – 交通データを用いた政策提言 – 交通データを用いた交通現象の解明 • 条件 – 交通ビッグデータやGIS、交通シミュレーションなど授業で扱ったツールを活かしてくださ い • 準備: – 大都市交通センサスデータ: 3大都市圏分 – その他貸出可能なデータについては応相談