[1] Я пытаюсь назначить новый маршрут для транспортного средства, используя TraCE Command Interface::Vehicle::change Vehicle Route(const std::list<std::string>& edges)
, но ничего не происходит.Добавить новый список маршрутов в Транспортные средства в Вены 4.3 Omnet5
Я получаю текущий маршрут и ['6/7to6/6', '6/6to5/6', '5/6to4/6', '4/6to3/6', '3/6to3/7 ',' 3/7to3/8 ',' 3/8to3/9 ',' 3/9to2/9 ',' 2/9to2/8 '] вычислить новое и отправить [' 6/7to6/6 ',' 6/6to5/6 ',' 5/6to4/6 ',' 4/6to3/6 ',' 3/6to2/6 ',' 2/6to2/7 ',' 2/7to2/8 ',' 2/8to3/8 ',' 3/8to3/9 ',' 3/9to2/9 ',' 2/9to2/8 '].
но changeVehicleRoute(edges)
возврат 0, поэтому новый маршрут не назначен.
Ниже представлен фрагмент моего кода. Кто-нибудь может мне помочь?
Больше вопросов,
[2] Если мой текущий маршрут [a , b, c, d, e, f]
и транспортное средство тока в c
таким образом, что, когда я вычислить новый маршрут [a,b,c,H,I,f]
, я могу назначить все маршруты [a,b,c,H,I,f]
или только остальное из них [c,H,I,f]
?
[3] Если я поставлю только остальное, это повлияет на статистику SUMO маршрута Длина, расстояние, топливо ...?
rot.h
TraCIMobility* mobility;
TraCICommandInterface* traci;
TraCICommandInterface::Vehicle* traciVehicle;
...
rot.cc
initialize(int stage){
...
mobility = TraCIMobilityAccess().get(getParentModule());
assert(mobility);
traci = mobility->getCommandInterface();
traciVehicle = mobility->getVehicleCommandInterface();
...
}
...
reroute(std::list<std::string> rList){
bool rota;
rota = traciVehicle->changeVehicleRoute(rList);
std::cout << rota << findHost()->getFullName() << std::endl;
}
Привет, Я также пытаюсь перенаправить свои транспортные средства после того, как они достигнут места назначения. Я хотел знать, что вы ввели в rList. Он содержит список значений ребер из .rou.xml? Как вы сделали rList и где вы назвали перенаправление. Спасибо. –