1

次のように、omnet++/veins に実装されていないように見えるいくつかの相撲/traci コマンドを使用したいと思います。

  • たとえば、信号機コマンド setRedYellowGreenState(tlsID, state)
  • ジャンクションコマンド
  • およびその他のコマンド

これらのコマンドを omnet++/veins から使用できるようにする最も簡単な方法は何ですか?

助けてくれてありがとう。よろしく:)

4

1 に答える 1

2

たとえば、TL プログラムを設定するために、TraCICommandInterface.cc で SUMO と対話するための既存のクライアント ソース コードを見つけることができます。

TraCIBuffer buf = connection->query(CMD_SET_TL_VARIABLE, TraCIBuffer()
  << static_cast<uint8_t>(TL_PROGRAM) 
  << trafficLightId 
  << static_cast<uint8_t>(TYPE_STRING)
  << program
);

対応するサーバーのソース コードは、TraCIServerAPI_TLS.cpp にあります。たとえば、TL プログラムを設定します

// variable & id
int variable = inputStorage.readUnsignedByte();
std::string id = inputStorage.readString();
// [...] case TL_PROGRAM:
server.readTypeCheckingString(inputStorage, subID)

vars.switchTo(tlsControl, subID);

サーバーがクライアントとやり取りする準備ができている方法 (およびクライアントが既にサーバーとやり取りしている方法) を調査することで、希望に応じてクライアントを拡張できるはずです。

于 2016-04-20T13:27:25.747 に答える