Как получить 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