Как получить n автомобилей за x секунд симуляции, используя скрипт SUMO randomTrips?

Я использую симулятор Veins, для создания автомобилей с путем я использую следующие команды:

python c:/DLR/Sumo/tools/randomTrips.py -n test.net.xml -e 1200 -l
python c:/DLR/Sumo/tools/randomTrips.py -n test.net.xml -r test.rou.xml -e 1200 -l

Эта команда сгенерировала 1200 автомобилей за 1200 секунд симуляции, но я хочу сгенерировать 1200 автомобилей за 100 секунд симуляции. Как я могу это сделать?

2 ответа

Решение

Просто чтобы ответить на это (в основном перефразируя то, что Джулиан Хейновски сказал в комментариях)

randomTrips.py -n net.net.xml -o passenger.trips.xml -e 100

сгенерирует 100 поездок. Если вы хотите убедиться, что все они возможны (подключены к сети), вы можете добавить --validate но это удалит недопустимые поездки (и вы можете получить менее 100). Вы можете просто поиграть с номером тогда.

Чтобы все они начинались со секунды 0, вы можете отредактировать файл поездок, используя замену регулярного выражения, заменив все времена отправления на 0. На *nix, вероятно, подойдет следующее:

sed -i 's/depart="[0-9]*/depart="0/' passenger.trips.xml

Теперь вы можете начать сумо на любой срок

sumo -n net.net.xml -r passenger.trips.xml -e 1200

Количество транспортных средств, случайно распределенных за указанный период времени, можно сгенерировать с помощью параметров --begin, --end и --period.

Например, чтобы сгенерировать 1200 автомобилей за 100 секунд моделирования, можно использовать следующую команду:

      python randomTrips.py -n net.net.xml -r net.rou.xml -o net.trip.xml --begin=0 --end=100 --period=0.083333

Коротко,

      number of generated vehicles = (end - begin) / period
Другие вопросы по тегам