はじめに(車間通信とは?)
車間通信とは文字通り車どうしの通信のことなのですが,交通事故や道路状況をより早く伝えたり動画などのコンテンツをより効率的送信したりする用途で使用されます.この車間通信が可能になると,
1. 渋滞情報をより早く知れる(今は無線が飛んでいるスポットに車が通るまでわからなかった)
2. 動画などの大容量コンテンツを効率的に共有できる(今は電波のロスが大きく,動画などの品質は低い)
3. 事故が発生した時に事故車両の情報を共有し,いち早く次の行動を決断することができる(今は目視などに頼る面が大きかった)
などなど様々な面でメリットを受けられるのですが
###一方で解決すべき課題も多くあり
1. 無線のルーティングをどうするか(携帯などの低速で動く無線端末と異なり,高速に動く車ではルーティングが難しい)
2. 品質をどう担保するか(高速で動く車は,ドップラ効果などで無線周波数が移動したりなど品質の確保が難しい)
3. 送信されてきた情報が本当か嘘かをどう見抜くか(嘘の情報が混在すると道路状況が乱れる)
などなど解決すべき課題も多く,情報分野でのホットトピックでもあります.
使用される言語やシミュレータは?
上記の問題を解決するためには
1. 車の移動を再現し
2. それぞれの車が通信しあう
という状況を作る必要がありそのためによく使われるシミュレータが
1. SUMO
2. ns3, omnet++
となっています.
ns3やomnet++は無線のシミュレータなので使用者を選ぶという感じなのですが,SUMOは車の移動を再現するシミュレーターであり,使っていて楽しいのでSUMOをメインに紹介していこうと思います.
#SUMOの基本的な使い方
sumoは車の移動を再現するシミュレータであり,簡単な直線上の移動からマンハッタンの道路を読み込み車を移動させたりと車の移動を再現するといった場合の幅の広さが特徴です.しかし基本的な流れはどれも共通であり,
1. 道の元となる「点」を作成(nodファイルの作成)
2. 「点」を繋ぐ「エッジ」を作成(egeファイルの作成)
3. nodファイルとedeファイルを合成し,「道」を作る(netファイルの作成)
4. 「道」を走る「車の移動」を定義(rouファイルの作成)
5. netファイルとrouファイルを結合し,車が作成した道の上を走るシミュレーションファイルを作成(sumocfgファイルの作成)
6. 実行
という流れになっています.
#ダウンロードからサンプルファイルの実行まで
まずはダウンロードからです,以下ページからダウンロードをしましょう.この方法がOSを選ばないのでいいと思います.pythonの環境もなければこの段階でインストールしておくといいと思います.
http://sumo.dlr.de/wiki/Downloads
次にダウンロードしたファイルを解凍し解凍先のファイルに入り,さらにtutorial/quickstart/dataまで移動するとチュートリアル用のファイルがあります.以下のファイルが存在すると思います.
ここで
sumo-gui quickstart.sumocfg
を実行すれば車が動き出すはずです