0
シミュレーション時間の後、車両はシミュレーションシナリオから離れる。私はシナリオを離れた後、以前の同じIDと情報を持つ同じ車両をVEINSに再入力したいと思います。シナリオを終了した後、同じ車両を再利用する方法はありますか?シナリオを離れるとVEINSに車両を再投入したい。
シミュレーション時間の後、車両はシミュレーションシナリオから離れる。私はシナリオを離れた後、以前の同じIDと情報を持つ同じ車両をVEINSに再入力したいと思います。シナリオを終了した後、同じ車両を再利用する方法はありますか?シナリオを離れるとVEINSに車両を再投入したい。
シミュレーションを終了した車両は、車両全体を別の場所にコピーするため、再挿入しないでください。これにより、同じ車両が突然別の場所にあるため、VANETアプリケーションが正しく動作しなくなります。
トラフィックを増やす場合は、別のSUMOシナリオに切り替えることをお勧めします(this scenarioはさらに大きく、実際のトラフィックに近似しています)。
また、既存のSUMOシミュレーションを直接変更することもできます。たとえば、挿入される車両の量を増やしたり、車両の動作を変更したりすることができます(SUMO入力を変更することによってVEINSと一緒に)。
何らかの理由で同じ車両を使用したい場合は、他の場所に再配線したいと思うかもしれません(thisメソッドを使用してTraCIで行うことができます)。
ありがとうございます。あなたの答えは非常に便利です。実際には、この車両が他の車両に複数回出会うように同じ車両のリルートを必要とする何らかのシナリオで作業しています。私はこのようにしてみました:voidTraCI :: reroute(std :: list rList) { bool reroute; reroute = traciVehicle-> changeVehicleRoute(rList); }この場合、いくつかのrListを挿入する必要がありますが、どうすればrListを置くことができますか?どこでこの関数を呼び出すべきですか? void TraCI :: finish(){}か他の場所。ありがとうございました –
私は本当にどのように経路変更が正確に働くのかわかりません - 何が起こるべきか疑問に思うのは、SUMOに新しい経路を渡し、その経路は通常、車両が使用する道路セグメントで構成されています。 TraCIのドキュメントをチェックしたり、シミュレーションの開始時にルートを取得することをお勧めします(表現は似ているはずです) –