SUMO文檔010:什麼是TraCI?


1、關於TraCI

TraCI是“Traffic ControlInterface”的縮寫。可以運行道路交通仿真,允許檢索仿真物體的值然後在線修改它們的行爲。

2、使用TraCI

2.1 SUMO啓動

TraCi通過基於客戶端-服務器的TCP協議架構和SUMO通信。從而,SUMO作爲服務器,通過命令行設置啓動:–remote-port <int>,這裏的數字爲SUMO的接口,用於接收傳入的信息。

當執行了命令–remote-port <int>,SUMO只是準備仿真,等待依一個外部程序,接管控制。請注意,當SUMO作爲服務器工作時,–end命令是被忽略的。直到客戶端要求仿真結束SUMO才停止。

當使用SUMO-GUI最爲服務器,仿真必須通過響應的按鈕操作。或者在執行前設置—start命令。

2.2協議規範(需要詳細閱讀)

請閱讀:TraCI Protocol Specification (包括:Basic FlowMessagesData Types

2.3TraCI的命令

Control-relatedcommands:基本的操作步驟,關閉連接。

針對以下APIs,ID和SUMO輸入文件裏定義的ID相等。在這,你能發現他們的一般結構 generalstructure.

值檢索(valueretrieval)

1.        感應迴路值檢索(Induction loop value retrieval):檢索關於感應迴路的信息;

2.        車道面積檢測器值檢索(lane area detector value retrieval):檢索車道面積檢測器的信息;

3.        多輸入/多出口檢測器值檢索(muli-entry/multi-exit detector valueretrieval):檢索多輸入多出口檢測器的相關信息;

4.        交通燈值檢索(traffic lights value retrieval):檢索交通信號燈的信息;

5.        車道值檢索(lane value retrieval):檢索車道值信息;

6.        車輛值檢索(vechicle value retrieval):檢索關於車輛的信息;

7.        人羣值檢索(person value retrieval):檢索關於人羣的信息

8.        車輛類型值檢索(vehicle type value retrieval):根據以上類推!!!

9.        路由值檢索(route value retrieval):

10.    興趣點值檢索(PoI value retrieval):point-of-interest興趣點

11.    多邊形值檢索(polygon value retrieval):

12.    結點值檢索(junction value retrieval):

13.    街道值檢索(edge value retrieval):

14.    仿真值檢索(simulation value retrieval):

15.    GUI值檢索(GUI valueretrieval):

狀態改變statechanging

1.        change lane state:

2.        change traffic lights state:

3.        change vehicle state:

4.        change vehicle type state:

5.        change route state:

6.        change PoI state:

7.        change Polygon state:

8.        change Edge state:

9.        change simulation state:

10.    change GUI State:

訂閱subscriptions

1.     TraCI/Object VariableSubscription

2.     TraCI/Object ContextSubscription

訪問accessing

Generic Parameters

3、例子

例子1:

使用TraCI的交通燈自適應(使用python) tutorial onusing TraCI for adaptive traffic lights

例子2:給車輛分配新路線(使用python) Tutorials/CityMobil

例子3:建立一個十字路口,用行人觸發的交通燈。Tutorials/TraCIPedCrossing

4、資源

4.1編程語言接口

l  python:the package tools/traci允許通過python可以和SUMO進行交互。(這個庫滿足日常測試。支持所有的TraCI命令)。

l  java:TraCI4J是關於TraCI的java應用。文檔: API documentation is here

l  java,.net…….任何的符合SOAP(簡單對象訪問協議)的語言都可以。是一個TraCI的web服務適配器,自動適配多種語言。API完整性比TraCI4J要好,由於代碼的產生基於Python的客戶端。TraaS可以單獨用作一個TraCI客戶端,替代TraCI4J。

l  Matlab: TraCI4Matlab

l  C++:The C++ TraCIAPI是SUMO源碼的一部分,爲一個客戶端庫。

l  C++:The Veinsproject 提供使用 OMNET++編譯SUMO的中間件。作爲基礎設施的一部分,提供針對TraCI API的C++客戶端庫。

4.2 V2X仿真

TraCI允許SUMO結合網絡通信模擬器甚高頻全向指標,用於模擬車載通信 vehicular communication。查看進一步信息: Topics/V2X

原文:TraCI allows to use SUMO in combinationwith communication network simulators vor simulating vehicular communication. See Topics/V2X for a list of available solutions.

4.3其他資源

SUMOTraCI服務是平原分佈(the plain distribution)的一部分。源代碼位於文件夾src/traci-server.

5、工具書類

§  AxelWegener, Michal Piorkowski, Maxim Raya, Horst Hellbrück, Stefan Fischer andJean-Pierre Hubaux. TraCI: A Framework for Coupling Road Traffic and NetworkSimulators. Proceedings of the 11thCommunications and Networking Simulation Symposium,April 2008. Availableat ACM Digital Library

§  AxelWegener, Horst Hellbrück, Christian Wewetzer and Andreas Lübke: VANETSimulation Environment with Feedback Loop and its Application to Traffic LightAssistance. Proceedings of the 3rdIEEE Workshop on Automotive Networking and Applications,New Orleans, LA, USA, 2008. Soon available at IEEEXplore

6、故障排除

6.1輸出文件沒有關閉

這個錯誤發生於客戶端訪問正在關閉中的文件。等關閉文件後再訪問即可。

6.2過時的APIs

有兩代TraCI命令。第一代,主要使用字符串內部映射,在SUMO中使用的string類型的ID和外部的基於int的表現。該映射是在內部完成的。

第二代,使用string類型ID等同於SUMO讀取的。如果綁定到第一代的(例如,如果你想使用TraNS)你只能使用SUMO最高版本0.12.3,更多信息訪問:FAQ

 

 

         轉載   http://blog.csdn.net/renguoqing1001/article/details/52743179
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章