Получение угла поворота автомобиля в SUMO с Traci4j

Я хочу работать вместе с SUMO и OMNeT++, чтобы создать симуляцию VANET. Для этой цели я использую библиотеку Traci4j для Java (доступна по адресу https://github.com/egueli/TraCI4J), которая позволяет взаимодействовать с SUMO с удаленного порта.

Прежде всего, я хотел бы заявить, что я знаю, что вены существуют, но мне настоятельно необходимо сделать это с помощью Java как части моего бакалаврского тезиса.

На данный момент я могу получить все транспортные средства, которые едут по моей сети, и определить их скорость и положение (X,Y). Тем не менее, я также хотел бы получить направление (угол), в котором движутся эти машины.

Я просматривал различные методы, содержащиеся в Traci4j, но ничего не нашел. Единственная связанная часть кода, которую я нашел, находится в классе Constants:

/** angle (get: vehicle) */
public static final int VAR_ANGLE = 0x43;

Но я не очень понимаю, для чего это нужно. Как вы думаете, возможно ли получить этот атрибут из транспортных средств?

Буду признателен за любую помощь. Спасибо!

1 ответ

Решение

Атрибут угла доступен через TraCI, но соответствующее сообщение не реализовано в TraCI4J. Возможно, вы захотите переключиться на TraaS, в котором реализована эта функция и в целом считается лучше с точки зрения функционального охвата протокола TraCI. Этот (непроверенный) фрагмент может помочь:

 import de.tudresden.sumo.cmd.Vehicle;
 import it.polito.appeal.traci.SumoTraciConnection;

 SumoTraciConnection conn = new SumoTraciConnection(sumo_bin, config_file);
 conn.runServer();

 //load routes and initialize the simulation
 conn.do_timestep();

 double angle = (double) conn.do_job_get(Vehicle.getAngle("v0"));
Другие вопросы по тегам