Главная » Просмотр файлов » Пояснительная записка(21.06) новая

Пояснительная записка(21.06) новая (1214932), страница 8

Файл №1214932 Пояснительная записка(21.06) новая (Сравнительный анализ протоколов маршрутизации в телекоммуникационных сетях транспортных средств) 8 страницаПояснительная записка(21.06) новая (1214932) страница 82020-10-04СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 8)

$node_(87) set Y_ 988.36

$node_(87) set Z_ 0

$ns_ at 0.0 "$node_(87) setdest 1761.5 988.36 0.00"

$node_(88) set X_ 2298.08

$node_(88) set Y_ 950.67

$node_(88) set Z_ 0

$ns_ at 0.0 "$node_(88) setdest 2298.08 950.67 0.00"

$node_(89) set X_ 2111.03

$node_(89) set Y_ 575.51

$node_(89) set Z_ 0

$ns_ at 0.0 "$node_(89) setdest 2111.03 575.51 0.00"

$node_(90) set X_ 1626.37

$node_(90) set Y_ 1135.45

$node_(90) set Z_ 0

$ns_ at 0.0 "$node_(90) setdest 1626.37 1135.45 0.00"

$ns_ at 1.0 "$node_(0) setdest 76.69 -0.52 1.83"

$ns_ at 1.0 "$node_(1) setdest 2015.64 1400.35 1.38"

$ns_ at 1.0 "$node_(2) setdest 568.49 614.95 1.35"

$ns_ at 1.0 "$node_(3) setdest 2179.34 799.92 1.93"

$ns_ at 1.0 "$node_(4) setdest 1697.52 933.14 2.36"

$ns_ at 1.0 "$node_(5) setdest 1995.48 1355.44 1.86"

$ns_ at 1.0 "$node_(6) setdest 1777.59 1381.27 1.84"

Из представленной структуры следует, для инициализации узла используется код по типу:

$node_(L) set X_ XXX

$node_(L) set Y_ YYY

$node_(L) set Z_ ZZZ

$ns_ at T "$node_(L) setdest XXX YYY SSS",

где L – уникальный идентификатор узла, T – время в секундах определяющее момент размещения узла в нужной позиции с точностью до десятых секунд, XXX, YYY – координаты в которые будет помещён узел по осям X, Y соответственно, ZZZ – отображает положение по оси Z и обычно принимается равным нулю при симуляциях, а SSS в общем случае – скорость с которой узел двигается в указанные координаты, с учётом того что узел в данном случае инициализируется, скорость установлена на 0.

Для задания движения узла используется следующая команда:

$ns_ at T "$node_(L) setdest XXX YYY SSS",

в которой все обозначения совпадают с аналогичными для команды инициализации узла.

Важно отметить, что для корректности работы симулятора с созданным файлом движения узлов, необходимо, чтобы команды внутри файла имели структуру с постепенно возрастающим временем T, либо не изменяющимся. Так, например, если после команды с временем 40,1 с. написать команду время в которой задано меньше 40,1, то симулятор не сможет корректно интерпретировать эти команды и узлы будут двигаться не так как задано в файле движения.

Таким образом, такой файл можно сделать самостоятельно, однако для упрощения процесса рекомендуется написать небольшое приложение которое будет генерировать файл движения для этого сценария, помимо упрощения генерации одного сценария линии, это также позволит обеспечить легкость изменения конфигурации сценария, ведь согласно поставленной задаче необходимо провести симуляцию для четырёх сценариев магистрали, в которых будет установлена разная скорость движения узлов. Для начала следует составить схему создаваемой магистрали, эта схема представлена на рисунке 17.

Рисунок 17 – Схема магистрали и расположения на ней узлов

Далее выполнить задание базовых переменных. Это точки для начала магистрали по осям X и Y. После этого необходимо вычислить шаг по оси X как отношение длины участка к количеству узлов. Шаг по оси Y, отвечает за ширину магистрали, а также за расстояние между машинами, и, в данном случае, принимается равным 20 м.

Далее в цикле производится инициализация узлов, согласно схеме. После инициализации необходимо определить момент поворота, он вычисляется по следующей формуле:

где – время поворота, – длина магистрали, – скорость узла, – порядковый номер узла, – шаг по оси X.

Также необходимо определить длительность поворота по формуле:

После завершения поворота машины возвращаются в исходную позицию, но уже на другой полосе, время начала для возврата определяется как .

Стоит учесть, что момент поворота для каждого узла индивидуален, в связи с этим осуществлять вывод непосредственно в цикле невозможно. Для вывода данных о поворотах, необходимо после выполнения основного цикла задать ещё один в котором будут последовательно перебираться все элементы, и после будет выводиться элемент с наименьшей меткой времени, иначе как говорилось ранее симулятор не сможет считать данные файла движения.

Теперь можно перейти непосредственно к написанию кода. Созданный код представлен в приложении А, а интерфейс приложения можно наблюдать на рисунке 18.

Рисунок 18 – Интерфейс приложения для создания файла движения магистрали

Теперь достаточно указать в интерфейсе приложения требуемые значения скорости и сгенерировать файлы движения для симулятора. Стоит отметить что сгенерировать таким образом файл для стационарных узлов не получится, однако учитывая, что узлы не движутся и потому время поворота для них рассчитывать не нужно, достаточно сгенерировать файл с любой скоростью и осуществить удаление участков отвечающих за движение узлов. Таким образом сгенерировано 4 файла движения для каждой скорости, предполагаемой к использованию в симуляции.

2.2.3.2 Подготовка карты города

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

– обзор симуляторов дорожного трафика, с выбором одного из них для дальнейшей работы;

– получение данных об участке карты выбранном для симуляции;

– выполнение конвертации выбранного участка в формат симулятора трафика;

– изменение параметров карты на необходимые;

– генерация трафика;

– получение файла мобильности.

2.2.3.2.1 Обзор симуляторов дорожного трафика

Существует большое количество симуляторов, позволяющих генерировать трафик на дорогах. Однако на данный момент на официальном сайте документации NS3 [ CITATION Док \l 1049 ], приведён список из трёх симуляторов трафика, поддерживающих формат файла мобильности NS3:

– BonnMotion;

– SUMO;

– TraNS.

BonnMotion – это программное обеспечение, написанное на Java, приспособленное для создания и анализа сценариев движения и часто используется в качестве инструмента для исследования характеристик сетей VANET. Созданные сценарии движения можно экспортировать в несколько сетевых симуляторов, таких как ns-2, ns-3, GloMoSim/QualNet и некоторых других. BonnMotion разработан совместно группой коммуникационных систем Боннского университета в Германии, группой Toilers Горного университета Колорадо в США и группой распределённых систем Оснабрюкского университета в Германии. Данным симулятором движения поддерживаются несколько моделей движения, а именно:

– модель случайного перемещения между точками;

– модель случайной перемещения;

– модель Гаусса-Маркова;

– модель Манхэттенской сетки;

– модель района бедствия;

– модель случайно сгенерированных улиц;

– и другие.

TraNS (Traffic and Network Simulation Environment) – это инструмент с графическим интерфейсом, который объединяет симулятор сети NS2 с симулятором трафика SUMO (Simulation of Urban MObility) для создания реалистичных симуляций VANET.

Существует также TraNSLite – урезанная версия TraNS, подходящая для быстрого создания файлов движения для NS2/NS3 на основе SUMO.

SUMO – это портативный пакет для детального моделирования дорожного движения с открытым исходным кодом, в котором может использоваться очень большое количество машин, которые впоследствии составят сеть VANET. Его можно использовать в большинстве существующих на данный момент операционных систем, например, Windows, Linux и так далее. Благодаря портативности и бесплатной лицензии GNU General public license SUMO стал очень популярным и наиболее широко используемым симулятором движения для автомобильных сетей. Сейчас он развился в полнофункциональный набор средств моделирования дорожного трафика, использующий собственные форматы данных для описания дорог и утилиты для задания движения машин. Основными достоинствами SUMO является то, что он работает на основе OpenGL, имеет свободную лицензию, открытый исходный код, обеспечивает легкость в настройке симуляции, имеет много портативных библиотек, поддерживает различные форматы импорта, может обеспечивать движение без столкновений машин между собой и большое количество примеров карт, вместе с хорошей документацией.

Таким образом далее для генерации файла движения NS3 будет использоваться симулятор движения SUMO, так как он не требует установки за счёт портативности, обладает хорошей документацией, объясняющей разные аспекты его использования, а также имеет широкий набор утилит и прост в использовании.

2.2.3.2.2 Работа с симулятором движения

Для начала следует загрузить SUMO. Учитывая, что работа проводится в ОС Linux, установку также следует осуществлять версии для этой системы. При первоначальной проверке выяснилось, что SUMO имеется по умолчанию в каталоге приложений Linux, что показано на рисунке 19. Поэтому для установки достаточно нажать кнопку загрузки.

Рисунок 19 – SUMO в каталоге приложений Linux

SUMO, может воссоздать цифровую карту некоторой области, используя данные о ней полученные с сервиса OpenStreetMap.org. Этот сервис предоставляет возможность просмотра карт различных мест по всему миру, его основным отличием от аналогов, является то что любой пользователь может свободно редактировать данные в картах, изменяя типы улиц, исправляя логические ошибки при составлении карты, которые могли быть допущены ранее и многое другое.

В качестве города для подготовки карты выбран участок города Ноттингем размеров 2000x1200 м, приведённый на рисунке 20. Для получения данных в цифровом виде о выделенном участке с сайта «OpenStreetMap.org», достаточно нажать кнопку «Экспорт» и участок в данный момент присутствующий на экране будет экспортирован в формате «.osm».

Рисунок 20 – Участок города Ноттингем выбранный для проведения симуляции

После получения данных о карте можно осуществить их конвертацию в формат используемый для работы в SUMO. Для этого достаточно воспользоваться командой:

netconvert --osm-files map.osm --output-file map.net.xml

После выполнения команды будет сгенерирован файл карты в формате .xml. При этом будут использованы настройки SUMO по умолчанию, что подразумевает возможное несоответствие требуемым параметрам для симуляции. Приведённая выше команда использует файл несущий информацию о типах дорог с различными параметрами для них, такими как скорость, количество полос, приоритет наличие одностороннего движения, а также определение трафика, которому запрещено использовать дорогу. Учитывая, что для симуляции требуется различные значения скоростей, необходимо сделать копию этого файла и поместить в каталог с конвертируемой картой для возможности задания своих настроек, а также для сохранения оригинальных настроек симулятора движения. Для этого следует сначала изучить структуру файла со стандартными настройками. Файл с настройками по умолчанию находится по адресу «SUMO_HOME/data/typemap/osmNetconvert.typ.xml», где SUMO_HOME – это путь к каталогу SUMO. Структура файла настроек для дорог представлена ниже:

<types xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/types_file.xsd">

<type id="highway.motorway" numLanes="2" speed="44.44" priority="13" oneway="true" disallow="pedestrian bicycle moped rail rail_urban rail_electric tram ship"/>

<type id="highway.motorway_link" numLanes="1" speed="22.22" priority="12" oneway="true" disallow="pedestrian bicycle moped rail rail_urban rail_electric tram ship"/>

<type id="highway.trunk" numLanes="2" speed="27.78" priority="11" oneway="false" disallow="pedestrian bicycle rail rail_urban rail_electric tram ship"/>

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее