2016-06-06 2 views
1

[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; 
} 
+0

Привет, Я также пытаюсь перенаправить свои транспортные средства после того, как они достигнут места назначения. Я хотел знать, что вы ввели в rList. Он содержит список значений ребер из .rou.xml? Как вы сделали rList и где вы назвали перенаправление. Спасибо. –

ответ

0

Новый маршрут для транспортного средства всегда нужно начинать на краю транспортного средства находится в данный момент. Если транспортное средство находится на перекрестке или так близко к узлу, что он не сможет остановиться перед ним, то ближайшая кромка после соединения должна быть отправной точкой. В противном случае перенаправление не удастся. Я признаю, что может быть трудно сказать, может ли транспортное средство все же остановиться, потому что это зависит от модели, используемой в автомобиле, но альтернативой будет аварийный тормоз в случае конфликтов/красных светофоров для нового направления. Это может привести к столкновениям, которые гораздо менее желательны. все статистические данные для транспортного средства будут основаны на конечном маршруте, поэтому вы не измените историю, установив новый маршрут.

Смежные вопросы