техническое руководство к программе pathfinder 2012

реклама
ТЕХНИЧЕСКОЕ
РУКОВОДСТВО
К ПРОГРАММЕ
PATHFINDER 2012
Русский перевод
Pathfinder 2012
Technical Reference
ООО «СИТИС»
Переводчики:
Патрушева Н.А.
Сермягина Н.Б.
Слепушкин В.А.
Топорков А.С.
Редакторы:
Грачёв В.Ю.
Контарь Н.А.
Перевод от 18.06.2013
_____________________________________________________________________________________________________________________________________________________________________________________
2
Техническое руководство к программе Pathfinder 2012
СОДЕРЖАНИЕ
Обзор ........................................................................................................................................................ 4
Геометрия ................................................................................................................................................. 6
Прокладывание пути ................................................................................................................................. 8
Самый быстрый выход в зависимости от местонахождения....................................................................... 9
Предотвращение возврата ...................................................................................................................... 10
Передвижение людей в режиме управления движением......................................................................... 10
Движение людей в режиме SFPE ............................................................................................................. 14
Лифты..................................................................................................................................................... 17
Метод решения ....................................................................................................................................... 18
Формат файла ......................................................................................................................................... 19
Список литературы.................................................................................................................................. 23
Техническое руководство к программе Pathfinder 2012
3
ОБЗОР
Pathfinder представляет собой программу многоагентного имитационного моделирования эвакуации, использующую управляемое поведение для моделирования передвижения людей. Она состоит из трех модулей:
графического интерфейса пользователя, моделирующей программы, и программы трехмерной визуализации
результатов.
В Pathfinder используются две основные опции передвижения людей: режим SFPE и режим управления
движением. Режим SFPE реализует идеи «Руководства SFPE по проектированию противопожарной защиты»
(SFPE, Society of Fire Protection Engineers − Общество инженеров противопожарной защиты) [Нельсон и Маурер, 2002]. В данной модели потока скорость движения определяется плотностью людского потока в пределах
каждого помещения и поток, проходящий через двери, регулируется шириной двери.
Режим управления движением основан на инверсном управляемом поведении. Понятие «управляемого поведения» (steering behaviors) было впервые представлено в работе Крэйга Рэйнольдса «Направления движения автономных персонажей» (Steering Behaviors For Autonomous Characters) [Рейнольдс, 1999] и позднее развито в «инверсное управляемое поведение» в работе Хени Бен Амора [Амор и др., 2006]. При режиме управления движением в Pathfinder может естественным образом возникнуть модель более сложного поведения как
побочный продукт алгоритмов движения, устраняющий необходимость расчетов, связанных с образованием
очередей перед дверями и плотностью потока.
Тестовая задача номер 10 Международной морской организации (IMO)
Для изучения последующей информации часто полезно иметь некоторый пример для иллюстрации определенных моментов. Одним из часто упоминаемых примеров, является тестовая задача номер 10 Международной морской организации (IMO) [IМО, 2002].
В данной тестовой задаче показана секция коридора между каютами, как показано на рис. 1. Каюты заселены людьми, как указано на рисунке. Люди, населяющие каюты − мужчины от 30 до 50 лет, минимальная
скорость движения которых составляет 0,97 м/с, средняя скорость − 1,30 м/с, и максимальная скорость − 1,62
м/с. Задержка реакции отсутствует, а скорости движения равномерно распределяются между 23 людьми в
диапазоне от минимальной до максимальной. Пассажирам кабин 5 и 6 предписан запасный выход; все остальные пассажиры используют главный выход. Ожидаемый результат заключается в том, что распределенные
пассажиры двигаются в направлении соответствующих выходов.
Рис. 1. Зона кают (из тестовой задачи
Международной морской организации (IMO), 2002 год)
Изображение движения людей, рис. 2, действительно показывает, что люди выбрали предписанные им
выходы. На этом изображении показаны пути всех людей, с выделением пути движения некоторых выбранных
людей. По оценке режима управления движением, все люди покинули коридор в течение 18,6 секунд.
Результаты режима SFPE продемонстрированы на рис. 3. При режиме SFPE пассажиры из очереди у главного выхода и поток через эту дверь регулируют время выхода. По оценке SFPE, все пассажиры вышли за 21,8
секунд. При режиме SFPE, может происходить частичное перекрытие одного человека другим в пространстве
во время движения и при формировании очереди.
_____________________________________________________________________________________________________________________________________________________________________________________
4
Техническое руководство к программе Pathfinder 2012
Рис. 2. Результаты при режиме управления движением
для задачи номер 10 Международной морской организации (IMO),
показывающие движение людей. Следует обратить внимание на то,
каким образом выделенные пассажиры двигаются к предписанным выходам.
Рис. 3. Результаты при режиме SFPE для задачи
номер 10 Международной морской организации (IMO).
Следует обратить внимание на то, что многие
пассажиры могут занимать одно и то же пространство.
Техническое руководство к программе Pathfinder 2012
5
ГЕОМЕТРИЯ
Pathfinder использует трехмерную геометрическую модель. В данной геометрической модели задается навигационная сетка, представляющая собой непрерывную двухмерную триангулированную поверхность, называемую «навигационной сеткой». Движение людей происходит по данной навигационной сетке, которая представляет собой сложную одностороннюю поверхность, представленную соединенными треугольниками.
На рис. 4 представлена модель городского дома и соответствующая ей навигационная сетка. Программа
Pathfinder поддерживает рисование или автоматическое создание навигационной сетки из импортированной
геометрии, включая файлы программы FDS (Fire Dynamics Simulator (FDS) – Моделирование динамики пожара)
[МакГрэттэн и др., 2007 год], файлы программы PyroSim и формат обмена рисунками (DXF) компании
Autodesk, а также файлы DWG.
а. Трехмерная геометрическая модель
б. Навигационная сетка
Рис. 4. Простая модель здания и соответствующая ей навигационная сетка
Как видно из рис. 4, препятствия в программе Pathfinder отображаются неявно с помощью пробелов в навигационной сетке. Поскольку люди могут передвигаться только по навигационной сетке, данный метод позволяет предотвратить воздействие любых накладываемых изображений монолитных объектов на процесс
моделирования. В случае если навигационная сетка создается путем импортирования геометрических данных,
любая область сетки, блокируемая монолитным объектом, автоматически удаляется. Что касается верхних
препятствий: генератор сетки рассматривает в качестве препятствия любой объект, находящийся на расстоянии 1,8 метра (6 футов) от пола.
Подгруппы элементов геометрии
Навигационная геометрия образует помещения сложной формы. Каждое помещение имеет границы, за которые люди не могут выходить. Перемещение между соседними помещениями осуществляется через двери.
Дверь, не соединяющая двух помещений, а установленная на внешней границе помещения, является выходом. Выходов может быть несколько. Когда люди проходят через дверь выхода в режиме SFPE, они выстраиваются в очередь у двери и удаляются со скоростью потока, установленной режимом SFPE. Люди, проходящие
через дверь выхода в реагирующем режиме управления движением, сразу же удаляются из моделирования.
На рис. 5 представлены данные понятия для тестовой задачи номер 10 Международной морской организации (IMO). Помещения (и коридоры) окрашены в разные цвета. Двери, ведущие из отдельных помещений в
коридор (который представляет собой еще одно помещение в модели) обозначены широкой оранжевой линией. Двери выходов обозначены широкой светло-зеленой линией. Люди обозначены синими точками. На геометрическую модель наложена навигационная сетка.
_____________________________________________________________________________________________________________________________________________________________________________________
6
Техническое руководство к программе Pathfinder 2012
Рис. 5. Помещения, двери, выходы и навигационная сетка
к тестовой задаче номер 10 Международной морской организации (IMO)
Каждый участок навигационной сетки может быть отнесен к одному из четырех типов местности: открытое
пространство, двери, лестницы и выходы. Пандусы и помещения относятся к открытым пространствам. Каждый тип местности воздействует на поведение людей на данном участке сетки.
Открытое пространство (помещения и пандусы)
Открытое пространство не имеет явных препятствий для передвижения. Помещения состоят из открытого
пространства. В режиме SFPE максимальная скорость движения людей представляет собой функцию плотности людей в помещении.
Двери (соединяющие помещения)
Двери соединяют соседние помещения. В режиме SFPE они выступают в качестве основного механизма,
регулирующего поток (как описано в разделе «Движение через двери»), однако в режиме управления движением двери используются только для регистрации скорости потока между помещениями для наблюдения за
результатами.
Лестницы
Лестницы соединяют помещения, находящиеся на разных уровнях. Они обозначают участки, где максимальная скорость движения людей регулируется с помощью специального вычислительного метода для лестниц. Данный метод вычисления скорости движения приведен в разделе лестницы для каждого режима моделирования.
Сверху и у основания каждой лестницы находятся две двери, редактирование которых невозможно напрямую в пользовательском интерфейсе. Эти двери связывают сетку лестницы с прилегающей сеткой и функционируют точно так же, как обычные двери, соединяющие помещения.
Двери (выходы)
Выходы представляют собой особый тип дверей, обозначающих выходы из здания.
Техническое руководство к программе Pathfinder 2012
7
ПРОКЛАДЫВАНИЕ ПУТИ
В начале моделирования в Pathfinder каждый человек прокладывает траекторию, которую он затем будет
использовать для движения по направлению к выходу. Для прокладывания пути Pathfinder использует поисковый алгоритм А* [Харт и др., 1968] и триангулированную навигационную сетку. Полученная в результате
траектория представлена как последовательность точек на ребрах треугольников сетки. Эти точки будут составлять «ломаную» траекторию к цели человека.
Для сглаживания такой «ломаной» траектории Pathfinder затем применяет вариацию техники, известной
как вытягивание струны [Джонсон, 2006]. Это позволит выровнять точки так, чтобы получившаяся в результате траектория будет лишь огибать углы препятствий и, в то же время, оставаться, по крайней мере, на расстоянии радиуса человека от этих препятствий. Примеры таких конечных точек, называемых точками, показаны на рис. 6.
На рис. 6 показан проложенный путь человека в простом прямоугольном помещении. Человек стоит в
нижнем левом углу и намеревается выйти через нижний правый угол. Навигационная сетка показана тонкими
линиями, которые образуют треугольники внутри прямоугольной области. Прямому движению человека мешает препятствие. Планируемый путь человека показан черной линией, а точки показаны кружками. Для каждого ребра, которое пересекает траекторию, генерируется точка.
После того, как эти точки найдены, Pathfinder удаляет промежуточные точки, лежащие между двумя другими точками на прямой линии. Это создает последовательность точек только там, где направление движения
будет меняться.
Рис. 6. Планируемый путь движения человека с указанными точками.
При движении по траектории выполняются следующие шаги:
1.
Определяются две точки: (1) текущая точка, которая изначально является самой дальней точкой,
которую человек может увидеть и достичь без контакта с какими-либо препятствиями и (2) следующая точка, которая визуально определяется из текущей точки (находится в пределах видимости и достижимости без контакта с препятствиями).
2. Человек пытается определить следующую точку, находясь на текущей точке. Это можно выполнить, если человек способен двигаться по прямой от своей текущей позиции к следующей точке
без взаимодействия с какими-либо препятствиями или, если эти препятствия находятся в пределах определенной допустимости от текущей точки. В режиме SFPE такая допустимость практически равна нулю, так как отсутствует ограничение на накладывание людей друг на друга, так что
ожидается, что люди точно достигнут каждой точки. В режиме управления движением такая допустимость равна 1 метру, поскольку ожидается, что в процессе движения и обхода препятствий и
других людей, человек будет несколько отклоняться от своей траектории.
3. Человек проверяет необходимость повторного прокладывания пути. Люди должны прокладывать
путь заново в случае, если они не могут визуально определить прямую линию к своей текущей
точке или, если они отклоняются от своей текущей прогнозируемой траектории движения более,
чем на 1 метр.
4. Для определения желаемого движения генерируется кривая поиска. В режиме SFPE эта кривая
является простым прямым отрезком от текущей позиции до текущей точки. В режиме управления
движением – это квадратичный B-сплайн, содержащий текущую позицию, текущую точку и контрольную точку, которая прокладывается в обратном направлении от текущей до следующей точки.
5. Человек пытается двигаться по касательной по направлению к текущей кривой поиска. Это движение во многом зависит от режима движения (SFPE или режим управления движением) и обсуждается в следующих разделах.
На рис. 7 показаны траектории движения и точки, относящиеся к тестовой задаче номер 10 Международной морской организации (IMO), как для режима SFPE, так и для режима управления движением. Зеленые
линии обозначают текущие кривые поиска для каждого человека. Красные линии и точки обозначают будущие траектории движения и точки. Отметим прямоту кривой поиска в режиме SFPE по сравнению со сплайном, использующимся в режиме управления движением.
_____________________________________________________________________________________________________________________________________________________________________________________
8
Техническое руководство к программе Pathfinder 2012
а. режим SPPE
б. режим управления движением
Рис. 7. Траектории движения и точки для расчета к тестовой задаче
номер 10 Международной морской организации (IMO)
САМЫЙ БЫСТРЫЙ ВЫХОД В ЗАВИСИМОСТИ ОТ МЕСТОНАХОЖДЕНИЯ
Некоторые помещения имеют множество дверей, которые служат в качестве эвакуационных путей с очень
близким по величине расстоянием до выхода. В таких случаях использование критериев выбора пути, основанных лишь на длине путей, приводит к образованию неестественно больших людских потоков, когда ближайшая к выходу дверь принимает почти весь поток, а в остальных дверях, находящихся на расстоянии всего
нескольких футов от выхода, может не быть практически никакого движения людей. Для предотвращения
подобного варианта Pathfinder позволяет людям выбирать пути эвакуации из помещения, в котором они находятся, при помощи сравнения данных о времени достижения каждой из дверей.
При оценке пути до выхода из помещения люди выполняют оценку времени для каждого пути/двери. Эта
оценка учитывает:

оценку времени, необходимого для достижения двери;

оценку задержки, обусловленной образованием очереди у двери, а также

оценку времени, необходимого для достижения действующего выхода после достижения двери.
При выборе двери, находящейся в непосредственной близости, люди сравнивают время, необходимое для
преодоления кратчайшего пути до двери, со временем движения в очереди. Время до входа в помещение,
находящееся за дверью, принимается как большая из этих двух величин.
Для расчета времени достижения выхода при движении от одной из находящихся вблизи дверей, Pathfinder использует расчет расстояния от двери до выхода. Этот расчет не учитывает скопление людей или образовавшиеся очереди, и представляет собой наименьшее возможное время. Люди запрашивают эти данные
о расстоянии и, для оценки времени движения, сопоставляют величину расстояния со своей максимальной
скоростью движения.
Алгоритм расчета расстояния от двери до выхода состоит из следующих этапов:
Из помещения r, для нахождения пути от двери d до выхода e...

Начиная от средней точки d, используется поиск A* на треугольной сетке для определения кратчайшего пути p до e, если первый треугольник вдоль p не лежит в r, используйте p в качестве пути, в обратном случае не используйте p, и

Начиная от средней точки d, используйте ограниченный поиск A*, при котором нельзя повторно
войти в любое из помещений для нахождения кратчайшего пути p до e.
Полученный путь затем распрямляют и используют для расчета расстояния от d до e.
После оценки времени локального движения и времени за пределами помещения, используемого в текущий момент, люди выбирают дверь, выход через которую обеспечивает наименьшую затрату времени для
достижения цели. В случаях, когда время движения через разные двери близко по величине, человек выбирает путь, проходящий через ближайшую «подходящую» дверь.
Техническое руководство к программе Pathfinder 2012
9
ПРЕДОТВРАЩЕНИЕ ВОЗВРАТА
Люди знают о размере очереди только в используемом ими помещении. Когда они входят в другое помещение, знание о предыдущем помещении сменяется знанием о помещении, в котором они находятся в текущий момент. Без использования некоторого способа предотвращения возврата людей длинные очереди могут
привести к перемещению людей туда и обратно между двумя помещениями, возможно в течение длительных
промежутков времени (до момента, когда предыдущая комната не будет пустой). При использовании Pathfinder, как только люди сумели покинуть помещение через определенный выход, они следуют по избранному
пути эвакуации, придерживаясь следующих правил:
1. Следующая ближайшая дверь, которую выбирает человек, должна вести по более краткому пути к
одному из предписанных для этого человека выходов, и эта дверь не может вести обратно в покинутое помещение. Если это правило исключает все варианты (например, человек был вынужден
вернуться назад и покинуть путь, который оказался слишком узким), тогда
2. Следующая ближайшая дверь, которую выбирает человек, не может вести в покинутое помещение. Если это правило исключает все варианты выбора ближайших дверей (например, человек
попал в кладовое помещение), тогда
3. Опция предотвращения возврата отключается, человек может выбирать любую из ближайших
дверей.
ПЕРЕДВИЖЕНИЕ ЛЮДЕЙ В РЕЖИМЕ УПРАВЛЕНИЯ ДВИЖЕНИЕМ
Pathfinder использует сочетание расчета траектории движения, механизмы управления движением, и
управление столкновениями для регулирования движения людей. Каждый человек Pathfinder придерживается
пути, соединяющего его текущее местоположение с точкой (или помещением), соответствующим его текущей
цели. Этот путь регулирует траекторию движения человека в процессе моделирования. Другие факторы, такие как столкновения с другими людьми, могут явиться причиной отклонения человека от его предполагаемой
траектории движения, но передвижение человека по-прежнему приближенно соответствует выбранному им
пути. Если расстояние между человеком и ближайшей точкой, находящейся на пути, превышает пороговое
значение, для адаптации к новой ситуации путь прокладывается заново.
Максимальная скорость и ускорение
По мере движения людей по путям по сетке, они рассчитывают свою максимальную скорость. Ее величина
зависит от зоны текущего пребывания людей и заданной максимальной скорости (vmax). Полученное значение
максимальной скорости затем используется для расчетов управления движением.
Максимальная скорость рассчитывается таким же образом как скорость в режиме SFPE, v(D), за исключением того, что плотность потока людей устанавливается равной 0. Дальнейшая информация представлена в
разделах «Движение по открытому пространству» и «Движение по лестницам».
Максимальное ускорение (и замедление) является постоянной функцией максимальной скорости:
 max  2  vmax
Это уравнение показывает, что люди могут достичь свой максимальной скорости из положения стоя на
месте за 0,5 секунд. Аналогичным образом они могут остановиться, полностью прекратив движение, на максимальной скорости за 0,5 секунд.
Управление движением
Система управления движением Pathfinder задает движение людей таким образом, что они достигают текущей цели, к которой движутся, и могут реагировать на изменение окружающей их среды. Инверсное управление движением, используемое Pathfinder, представляет собой процесс оценки набора отдельных направлений движения человека, и выбора направления, минимизируещего функцию затрат. См. рис. 8, на котором
представлен пример вариантов направлений. Оценка функции затрат выполняется при помощи сочетания
нескольких типов управляемого поведения для получения величины затрат. Используемые типы управляемого поведения определяются текущим состоянием человека. Количество вариантов направлений зависит от
состояния человека и его текущей скорости. Более подробная информация о состояниях представлена на стр.
20, в разделе «Состояния человека».
Рис. 8. Пример направлений инверсного управляемого движения
Pathfinder определяет четыре типа управляемого поведения: поиск, разделение, уклонение от стен и уклонение от столкновений с людьми. Каждый тип поведения определяет величину затрат в диапазоне от 0 до 1
_____________________________________________________________________________________________________________________________________________________________________________________
10
Техническое руководство к программе Pathfinder 2012
за каждый вариант направления. Чистые затраты одного направления являются взвешенной суммой этих значений.
Поиск
Режим поиска направляет человека на движение по кривой поиска. При заданном варианте направления v
и кривой поиска sc затраты на работу в режиме поиска устанавливаются в соответствии с величиной угла между v и касательной к sc. Затраты рассчитываются следующим образом:
SC 
где
t
2
SC − затраты на работу в режиме поиска и  t − угол между v и касательной к sc. Коэффициент .5 да-
ет режиму поиска меньше веса в оценке общих затрат.
Разделение
Поведение типа «разделение» направляет человека на сохранение желаемой дистанции между ним и другими людьми. Этот режим работает в некоторой степени за пределами системы инверсного управления движением, поскольку до рассмотрения вариантов направления режим разделения рассчитывает желаемый абсолютный вектор движения (направление и расстояние). Этот вектор движения рассчитывается как среднее
значение векторов расстояния между людьми:
m
1 nocc
 ml
nocc i 1
где nocc − количество людей, от которых хотел бы сохранять дистанцию человек. Если iтый человек бездействует, то
ml
рассчитывается следующим образом:
Dgap  p  pi  r  ri
ml  ( Dgap  Dsep )
где
p  pi
p  pi
p − местонахождение человека, r − радиус человека, Dsep − желаемое расстояние от человека до дру-
гих людей (которое может быть задано через входной параметр comfortDist).
Если iтый человек осуществляет поиск,
ml
вместо этого рассчитывается таким образом, чтобы параметр
был перпендикулярен направлению движения iтого человека, и величина
образом:
ml
ml
определяется следующим
ml  r  ri  Dsep  D path
где Dpath − расстояние от человека до ближайшей точки на касательной к кривой поиска iтого человека.
Как только определен вектор движения, режим разделения начинает работать таким же образом, как другие режимы инверсного управляемого поведения. Затраты рассчитываются следующим образом:
Cost  1  ml  d s 
где ds − вариант направления.
Уклонение от стен
Режим поведения «уклонение от стен» определяет местонахождение стен и направляет человека, помогая
избегать столкновений с ними. Этот режим проецирует движущийся цилиндр впереди человека в направлении намеченной точки. Затраты, требуемые для этого типа поведения, зависят от расстояния, которое человек может преодолеть в направлении намеченной точки, в то же время находясь на комфортном расстоянии
от стен.
Затраты определяются следующим образом:
DC  DCS 
Cost  1 
vcurr
DCW  DCS 
vmax
2 max Dh  DC 
vmax
где Dcs − комфортное расстояние до стены, которое человек стремится сохранять (задается заранее, равным 1 футу), Dcw − комфортное расстояние до стены при движении (задается заранее, равным 5 футам), vcurr
− текущая скорость человека, vmax − максимальная скорость человека в зоне текущего пребывания, amax −
максимальное ускорение в зоне текущего пребывания, и Dh− расстояние до ближайшего места столкновения
со стеной в данном варианте направления.
Уклонение от столкновений с людьми
Тип поведения «уклонение от столкновений с людьми» помогает человеку избегать подобных столкновений. Этот режим поведения сначала создает список людей в пределах усеченного конуса, форма и размер
которого регулируется скоростью человека. Затем этот режим проецирует движущийся цилиндр перед человеком, перемещающимся в определенном варианте направления. Этот цилиндр испытывается по отношению
Техническое руководство к программе Pathfinder 2012
11
к другим цилиндрам, движущимся перед каждым из находящихся поблизости людей. Если никакие из движущихся цилиндров не сталкиваются, затраты равны нулю, в обратном случае затраты зависят от того, насколько далеко человек может переместиться до момента столкновения. Чем ближе эта точка столкновения, тем
выше затраты этого типа управляемого поведения.
Величина затрат зависит от самого раннего столкновения с другим человеком, движущимся в этом варианте направления, и рассчитываются следующим образом:
Dmin  Dsep 
Vcurr 2
2 max
v 2

Dmax  DS  max  max , vcurr tcr 
 2 max

Ccoll  Dmin
Cost  1 
Dmax  Dmin
где Dsep − желаемое расстояние между человеком и другим человеком, с которым может произойти столкновение (может быть задано через входной параметр comfortDist), tcr − максимальное время, за которое человек реагирует на столкновение (может быть задано через входной параметр collisionResponseTime), и Dcoll −
расстояние до точки столкновения. Итоговые затраты находятся в диапазоне от 0 до 1.
Оценка движения
Как только определено направление с наиболее низкими затратами, рассчитываются скорость и ускорение
управляемого движения, которые перемещают человека в управляемом направлении.
Наряду с затратами каждый режим управляемого поведения рассчитывает максимальное расстояние, которое должно быть пройдено в определенном варианте направления. Это максимальное расстояние затем
следующим ниже образом используется для определения значения желаемой скорости,
Dstop 
vdes 
vdes :
vcurr 2
2 max
0, Dmax  Dstop
{v
max,
Dmax  Dstop
vdes  vdes d des
где Dmax − максимальная протяженность варианта направления с наименьшими затратами,
направления с наименьшими затратами, и
d des − вариант
vcurr − текущая скорость человека.
Ускорение рассчитывается следующим образом [Рейнольдс, 1999]::
 
vdes  vcurr
 max
vdes  vcurr
Для расчета скорости и метаположения каждого человека для следующего временного интервала по его
управляемому ускорению используется явный метод интегрирования Эйлера. Скорость и местоположение рассчитываются следующим образом:
где
t
− размер временного интервала,
vnext  vcurr   t
pnext  pcurr  vnext t
pcurr − текущее местоположение, и pnext − местоположение по-
сле временного интервала.
Состояния людей
В зависимости от поведения людей, заданного сценарием в текущий момент времени, они могут находиться в одном из двух состояний:
а. Поиск пути – люди пытаются придерживаться пути к месту назначения.
б. Бездействие – люди находятся в состоянии ожидания в течение заданного промежутка времени.
Воздействие состояния людей на управляемое движение
От состояния человека напрямую зависит, какое сочетание типов управляемого поведения используется
для определения направления движения с наименьшими затратами.
В состоянии бездействия поведение людей включает в себя разделение, обход других людей и стен, что
позволяет им сохранять дистанцию с другими людьми, отдаляться от них, если те будут пытаться искать путь
в их направлении и, в то же время, не приближаться к другим людям и стенам.
В состоянии поиска пути поведение людей включает в себя поиск, обход других людей и стен, что позволяет им избегать столкновений и следовать по своей кривой поиска. В некоторой степени, поведение, направленное на обход других людей, включает в себя разделение, таким образом, нет необходимости допол_____________________________________________________________________________________________________________________________________________________________________________________
12
Техническое руководство к программе Pathfinder 2012
нительно его учитывать. В процессе поиска пути люди могут временно переходить в состояние бездействия, в
случае если они замечают другого человека с более высоким приоритетом или при движении касаются другого человека. Временно переходя в состояние бездействия, они могут отдаляться от других людей, чтобы сохранять желаемую дистанцию.
Воздействие состояния людей на варианты направления
Состояние людей также воздействует на количество вариантов направления движения, используемых при
инверсном управлении движением.
В состоянии бездействия рассматриваются 8 вариантов направления движения с интервалом в 45°, а также «нулевое» направление, которое предполагает нахождение на месте. Это позволяет людям двигаться в
любую сторону на 360°, чтобы они могли легко сохранять дистанцию с другими людьми.
Находясь в состоянии поиска пути, люди рассматривают другой ряд направлений, который зависит от их
скорости движения. В качестве начального направления используется касательная к кривой поиска пути. При
относительно малой скорости движения людей количество вариантов направлений движения возрастает на 7
с интервалом 45°, как в состоянии бездействия. В случае если их скорость выше, варианты направлений делятся с интервалом 30°, до 60° в обе стороны, образуя 5 вариантов направлений движения. Скорость людей
оценивается как малая, если верно следующее уравнение:
vcurr  f slow v max
Где
f slow
может устанавливаться с помощью входного параметра «slowFactor», а
vmax
– максимальная
скорость движения людей. Кроме вариантов направлений движения, снова рассматривается нулевое направление (нахождение на месте) при поиске пути.
Система приоритетов
В программе Pathfinder предусмотрена система приоритетов, которая основана на присвоении дискретных
уровней приоритета каждому человеку. Когда люди встречают других людей с тем же уровнем приоритета,
что у них, они ведут себя так, как описано выше (в обычных условиях). Однако если они замечают рядом с
собой или впереди себя человека с другим приоритетом, их поведение может несколько изменяться.
Встретившись с человеком с меньшим приоритетом, человек не будет стремиться отдалиться от него и будет использовать комфортное расстояние, равное нулю, что позволит ему при необходимости эффективно
продвигаться навстречу другим людям. Поскольку в программе отсутствует понятие применения силы к другим, другой человек должен действовать соответствующим образом.
Таким образом, в обратном случае, если один человек замечает другого человека с большим приоритетом
в своей зоне комфорта, он пренебрегает поведением поиска пути в пользу поведения, направленного на сохранение дистанции, даже если его цель вынуждает его находиться в состоянии поиска пути. Это позволяет
ему отступить от человека с более высоким приоритетом, уступив ему дорогу.
Уровни приоритетов полностью относительны. Например, при встрече трех человек с приоритетами 5, 7 и
12 их поведение по отношению друг к другу будет точно таким же, как если бы их приоритеты были равны 0,
1 и 2, соответственно. Люди с более высоким значением приоритета имеют приоритет перед другими людьми.
Предотвращение конфликтных ситуаций при движении людей
Существует ряд сценариев, которые, при отсутствии специальных мер, могут приводить к сбоям в моделировании. Такие ситуации могут возникать в случаях, когда поведение людей приводит к блокированию движения (никто не может двигаться). Одним из примеров является случай, когда люди стремятся двигаться в
одном направлении, однако вследствие заужений в навигационной геометрии (таких, как узкий дверной проем или коридор), они предпочитают находиться неподвижно, чтобы не столкнуться с другими людьми. В другом примере люди двигаются в противоположных направлениях по узкому коридору. Данные примеры приведены на рис. 9. В Pathfinder используются специальные методы, предотвращающие подобные конфликтные
ситуации при движении и позволяющие возобновлять моделирование.
а. Люди направляются к общей точке.
б. Люди направляются в противоположные
концы узкого коридора.
Рис. 9. Потенциальные сценарии возникновения конфликтных ситуаций
Техническое руководство к программе Pathfinder 2012
13
С точки зрения каждого отдельного человека данный подход осуществляется следующим образом:
1. Человек ищет путь и вычисляет управляемое направление с наименьшими затратами, используя
свой исходный уровень приоритета.
2. Движение в выбранном управляемом направлении с наименьшими затратами не приближает его к
цели поиска пути, что означает, что направление либо задает нулевое расстояние движения, либо
ведет в противоположном направлении от кривой поиска пути.
3. Человек выполняет расчет «свободного прохода», о котором рассказывается далее. Если человек
находит свободный проход, он переходит к 4-му шагу. В противном случае, он заново рассчитывает направление управляемого движения.
4. Человек заново рассчитывает направление управляемого движения на этот раз с учетом присваиваемого ему локально повышенного приоритета. Локально повышенный приоритет представляет
собой приоритет, кажущийся более высоким другим людям с тем же уровнем приоритета, однако
по отношению к людям с более высокими уровнями приоритета, данный человек по-прежнему
имеет меньший приоритет.
5. Если человек успешно движется по заново рассчитанному управляемому направлению, он повышает свой уровень приоритета до локально повышенного уровня и производит новое вычисление
управления движением. Кроме того, при начале его движения запускается таймер обратного отсчета (устанавливаемый с помощью входного параметра persistTime). А также с помощью коэффициента уменьшения сокращается радиус зоны комфорта человека (устанавливаемый с помощью входного параметра minSqueezeFactor во входном файле или «коэффициент уменьшения» в
предпроцессоре), что позволяет человеку протискиваться между другими людьми. При обнаружении рядом собой человека с уменьшенным радиусом зоны комфорта, другие люди также уменьшат
свой радиус с помощью своих коэффициентов уменьшения. Однако в случае если человеку не
удается продвинуться в поиске пути и на этот раз, он переходит к 6-му шагу.
6. Если время, установленное на таймере человека, еще не истекло с предыдущего вычисления
управления движения, человек остается на месте с локально повышенным приоритетом в ожидании, что другие люди расступятся, учитывая его локально повышенный приоритет. Однако если
время установленное на таймере истекло, или таймер не был установлен, данный человек лишается повышенного приоритета и возвращается к первоначальному результату управляемого движения.
Свободный проход
В режиме управления движением человек получает свободный проход, если для всех людей, находящихся
рядом, выполняется, хотя бы, одно из следующих условий:
а. Другой человек имеет более низкий приоритет.
б. Другой человек обладает таким же приоритетом и имеет меньше шансов достичь пересечения
траекторий движения раньше рассматриваемого человека.
Избегание столкновений/реакция при столкновениях
Поведение, направленное на обход препятствий, стен и других людей, не всегда может оказаться успешным. Часто это происходит в ситуациях с помещениями, переполненными людьми, когда люди оказываются
плотно прижатыми к стенам или другим людям и не могут этого избежать. В таких ситуациях, необходима
дополнительная обработка столкновений, чтобы моделирование не перешло в недопустимое состояние. Существуют два типа сценария обработки столкновений: в первом – в столкновении участвуют два или более
человек, во втором – человек сталкивается с границей навигационной сетки (например, стеной).
При включенном режиме обработки столкновений человек приостановит движение на определенный промежуток времени при первом столкновении со стеной или другим человеком. При выключенном режиме обработки столкновений человек остановится только при столкновении со стеной.
ДВИЖЕНИЕ ЛЮДЕЙ В РЕЖИМЕ SFPE
Pathfinder предоставляет возможность рассчитывать движение в режиме SFPE. Данный режим реализует
принципы моделирования на основе потока, представленные в «Руководстве SFPE по проектированию противопожарной защиты» [Нельсон и Моурер, 2002] и Техническом руководстве SFPE по поведению людей при
пожаре» [SFPE, 2003]. Расчет SFPE, как описано в руководстве, является поточной моделью, в которой определяются скорость ходьбы и скорость движения потока людей через двери и коридоры.
В Pathfinder навигационная геометрия может быть сгруппирована по трем типам компонентов: двери, помещения и лестницы. Помещения представляют собой открытые пространства, в которых могут перемещаться
люди. Лестницы могут рассматриваться как особые помещения, в которых наклон ступеней ограничивает скорость движения людей. Двери представляют собой ограничители движения потока, соединяющие помещения
и лестницы. Специальный тип коридора, представленный в руководстве SFPE, здесь отсутствует. Вместо этого, коридоры моделируются как помещения с дверями на каждом конце. Таким образом, коридоры обрабатываются таким же образом, как помещения с потоком, регулируемым с помощью дверей.
По умолчанию несколько человек могут занимать одно и то же пространство. Использование в Pathfinder
расчетов SFPE позволяет добавить некоторые улучшения. Например, можно установить ограничения потока
через двери и добавить опцию «Управление столкновениями», чтобы люди физически выстраивались в очередь напротив двери.
_____________________________________________________________________________________________________________________________________________________________________________________
14
Техническое руководство к программе Pathfinder 2012
Параметры режима SFPE
В режиме SFPE используются следующие параметры.
Обработка столкновения (вкл/выкл, по умолчанию = выкл). Данный параметр активирует поведение избегания столкновений. Он работает в точности так же, как в реагирующем режиме управления движением (см.
пункт «Избегание столкновений/Реакция при столкновениях»). Когда данная опция активирована, используется тот же расчет скорости движения и очередей у дверей, однако вследствие избегания столкновений ответы могут незначительно отличаться от тех, что даны в режиме SFPE с отсутствием столкновений.
Максимальная плотность в помещении (0,0 < Dmax, по умолчанию = 3,55 чел./м2) – параметр, регулирующий количество людей, которые могут войти в помещение через двери и лестницы. Pathfinder использует
плотность помещения для определения скорости движения. Если данная плотность увеличится до 3,8 чел./м2,
уравнение скорости снизится до нуля, и движение в помещении остановится * . В случае, если один или более
дверных проемов позволяют людям войти в помещение быстрее, чем они могут из него выйти, данная дверь
(двери) не позволит людям войти, поскольку это увеличит плотность до значения, превышающего Dmax. Использование низких значений Dmax (например, 2,8 чел./м2) приводит к искусственно ускоренному времени
эвакуации.
Граничный слой двери (0,0 <= BL) – параметр, регулирующий эффективную ширину каждой двери в моделировании, включая двери, связанные с лестницами. Эффективная ширина двери равна W – 2*BL, где W –
это фактическая ширина двери. Эффективная ширина двери регулирует скорость, с которой люди могут пройти через дверь.
Скорость движения потока через двери, максимальный поток (вкл/выкл, по умолчанию = вкл). Данный параметр управляет расчетом удельного потока через двери с учетом плотности. Если данный параметр активирован, то двери всегда будут использовать максимальный удельный поток.
Скорость потока через двери, расчет по плотности (вкл/выкл, по умолчанию = выкл) – параметр, регулирующий расчет удельного потока через дверь с учетом плотности. Если данный параметр активирован,
удельный поток рассчитывается с учетом плотности. Данный расчет рассматривается в разделе о движении
через двери.
Минимальная плотность (0,0 <= Dmin <= Dmax) – значение, применяемое для ограничения плотности, используемой для расчета удельного потока для дверей. Поскольку уравнение удельного потока является параболическим, возможность снижения значения данного уравнения ниже 1,9 чел./м2 сокращает скорость потока
через дверь.
Максимальная плотность (Dmin <= Dmax) – значение, применяемое для ограничения плотности, используемой для расчета удельного потока через двери. Возможность увеличения данного значения выше 3,5 позволит при расчетах удельного потока приблизиться к нулю, что может привести к окончательной остановке людей у дверей при выходе из переполненных помещений.
Движение по открытому пространству
Каждый человек имеет максимальную скорость (vmax), указанную в интерфейсе пользователя. Если человек находится в помещении, где плотность людского потока менее 0,55 чел./м2, то скорость устанавливается
следующим образом:
vD   vmax
2
Если плотность (D) составляет 0,55 чел./м или выше, то скорость человека определяется при помощи следующего уравнения:
vD   vmax 
k  0,266  k  D
1,19
В обоих уравнениях k = 1,40 м/с для помещений и уклонов (помещений с уклонами).
При помощи этих уравнений скорости можно рассчитать масштабные коэффициенты скорости, основанные
на максимальной скорости 1,19 м/с и применять эти масштабные коэффициенты по отношению к максимальной скорости человека.
Движение по лестницам
В Pathfinder движение вверх и вниз по лестницам управляется таким же образом, как движение по открытому пространству. Единственным отличием является тот факт, что значение k рассчитывается в соответствии
с величиной угла наклона лестницы. Значения k представлены в следующей ниже таблице.
Высота ступени
(в дюймах)
7,5
7,0
6,5
6,5
Ширина проступи
(в дюймах)
10,0
11,0
12,0
13,0
k
1,00
1,08
1,16
1,23
*
Верно только для помещений с несколькими людьми; отдельный человек всегда может двигаться с максимальной скоростью.
Техническое руководство к программе Pathfinder 2012
15
Для пар высота ступени/ширина проступи, представленных в таблице, используется указанное значение k.
Если требуемое значение высоты ступени и ширины проступи не представлено в таблице, k рассчитывается с
использованием линейной интерполяции или экстраполяции, в зависимости от угла наклона неизвестной лестницы и значений, указанных в таблице.
Движение через двери
При использовании Pathfinder в режиме SFPE скорость людского потока через двери задана в руководстве
SFPE. Этот режим применяется с использованием таймера задержки, регулирующего скорость прохождения
людей через двери. Этот таймер в исходном положении устанавливается на ноль. Когда человек проходит
через дверь, программа рассчитывает время задержки, исходя из удельного потока двери. Это время задержки добавляется к двери, и оно должно истечь до того момента, когда другому человеку будет позволено пройти через дверь.
Если в Door Flow Rate («Скорость прохождения потока через дверь») активируется опция Use Max Flow
(«Использовать максимальный поток») удельный поток через дверь составляет 1,32 человек в секунду на
метр эффективной ширины. Если в Door Flow Rate («Скорость прохождения потока через дверь») активируется опция Calculate from Density («Рассчитать на основе плотности») удельная пропускная способность двери
равна Fs = (1 – 0,266 * D) * k * D. Параметр D, используемый для расчета времени задержки, представляет
собой помещение, из которого появляется человек, выходящий через дверь.
Время, которое требуется n-ному числу людей пройти через дверь с эффективной шириной We, составляет
T = (n -1) * (1,0/Fs). Значение n снижается на 1, поскольку первому человеку, проходящему через дверь, не
нужно пережидать время задержки.
В случаях встречного потока человек из помещения R1 может стоять в очереди, чтобы войти в помещение
R2, в то время, как человек из помещения R2 может ожидать входа в помещение R1. В этом случае очереди
осуществляют равный обмен своих следующих по очереди людей и оба человека пропускаются через дверь.
Время задержки, определяемое для очереди у двери, становится суммой значений времени задержки из проходов каждого из этих людей, что сохраняет соответствующую скорость потока для выполнения моделирования.
Управление столкновениями/Отклик
В режиме SFPE существуют потенциальные сценарии, в которых происходит столкновение людей с другими людьми или стенами. Если включено управление столкновениями, люди справляются с ситуациями столкновения как со стенами, так и с людьми; если эта опция отключена, люди справляются лишь с ситуациями
столкновения со стенами.
Управление столкновениями применяется в два этапа. Первый этап − до попытки движения во временном
интервале, и второй этап − во время движения. Для этапа до начала движения устанавливается скорость
движения для того, чтобы заставить человека продвигаться вдоль любых преград. Если преградой является
стена, новая скорость заставит человека плавно продвигаться вдоль стены. Если преградой является другой
человек, скорость заставит человека плавно двигаться вокруг встреченного человека. Как только скорость
движения для плавного перемещения вдоль и вокруг препятствий установлена, человек пытается двигаться,
используя новую скорость. На этапе движения все еще возможно возникновение столкновений, поэтому человек прекратит движение в самом начале столкновения.
Разрешение конфликтных ситуаций при движении
Так же как и режим управления движением, режим SFPE с включенной опцией столкновений представляет
потенциальные конфликтные ситуации, возникающие при движении, в которых могут задержаться люди. Одним из примеров вероятных конфликтов является ситуация, при которой множество людей направляется в
одну и ту же точку, задевая друг друга, и, по меньшей мере, двое из них задевают стены. Еще одним таким
примером является встречный поток в переполненных коридорах. Некоторые сценарии вероятных конфликтов представлены на рис. 9.
Все конфликты разрешаются при предоставлении свободного прохода одному или двум людям, находящимся в подобных ситуациях. Свободный проход позволяет человеку игнорировать столкновения с людьми
при передвижении по навигационной сетке. Человек (OccA) может получить сводный проход до начала движения при возникновении одного из следующих условий для каждого второго человека, с которым он может
столкнуться (OccB):
а. OccA и OccB имеют разные цели.
б. OccB бездействует.
а. OccA находится ближе либо к своей текущей точке либо к текущей путевой точке OccB, чем OccB
к своей текущей путевой точке или путевой точке OccA.
б. OccA пытается удалиться от цели OccB.
_____________________________________________________________________________________________________________________________________________________________________________________
16
Техническое руководство к программе Pathfinder 2012
ЛИФТЫ
Лифты в Pathfinder состоят из зоны выхода и любого количества уровней лифта. Вместо моделирования
лифтов с помощью динамических геометрических элементов (например, этажей, движущихся вверх и вниз),
лифты в Pathfinder представлены с помощью обычных помещений. Людей, вошедших в лифт на посадочном
уровне, лифт отправляет прямо в зону выхода через геометрию других помещений посадки и через пустое
пространство, где отсутствует вычислительная сетка. «Помещения» лифтов, которые в настоящий момент не
обслуживаются, блокируются с помощью закрытых дверей.
Для координации времени движения лифта и изменений его состояния модель лифта в Pathfinder использует несколько таймеров и состояний.
В целях соответствия номинальным нагрузкам для лифтов, установленным пользователем, Pathfinder применяет коэффициент масштабирования (по умолчанию равный 1,0) к людям при входе в лифт. В случае если
пользователь запрашивает номинальную нагрузку ниже нагрузки по умолчанию, коэффициент масштабирования будет больше 1,0, в результате чего люди будут занимать больше места, когда они войдут в лифт. В случае если пользователь запрашивает номинальную нагрузку, превышающую нагрузку по умолчанию, коэффициент масштабирования будет меньше 1,0, позволяя большему количеству людей разместиться в лифте. В
ходе тестирования значения меньше 0,6 и больше 1,2, как правило, приводили к затруднениям в моделировании, связанным с определением пути и обходом препятствий при входе или выходе из лифта.
Коэффициенты масштабирования не вводятся пользователем напрямую. Вместо этого, пользователем вводится значение номинальной нагрузки (измеряемую количеством человек), а Pathfinder определяет соответствующий коэффициент масштабирования, основанный на корреляции между коэффициентом масштабирования
и плотностью. На следующих графиках показано соответствие, использованное в Pathfinder 2011 года.
Рис. 10. Плотность заполнения лифта и масштабный коэффициент
для людей с размером по умолчанию (радиус = 0,2279 м)
при четырех разных размерах квадратных лифтов.
Техническое руководство к программе Pathfinder 2012
17
Рис. 11. Линия степенного ряда для описания зависимости
между плотностью и масштабным коэффициентом.
Она используется в Pathfinder при определении
масштабного коэффициента из номинальной нагрузки.
«Средний» набор данных представляет собой среднее значение
данных из испытаний с четырьмя типами помещений, представленных ранее.
МЕТОД РЕШЕНИЯ
Pathfinder выполняет цикл моделирования, в процессе которого осуществляется расчет движения в дискретных временных интервалах. Для каждого временного интервала выполняются следующие шаги:
1. Обновление координат текущей конечной точки для каждого человека. Этот шаг занимает наибольшее количество времени в первом временном интервале, поскольку каждый человек должен
найти путь к своей цели.
2. Расчет скорости управляемого движения каждого человека. Скорость управляемого движения
рассчитывается по-разному, в зависимости от активированного режима − режима SFPE или режима реагирующего управления движением.
3. Увеличение текущего временного интервала.
4. Передвижение каждого из людей. Для этого требуются несколько промежуточных шагов:
5. Расчет скорости для текущего времени. Если режим управления движением активирован, то выполняется расчет желаемого усилия для управления движением на основе желаемой скорости, и
затем используется метод интегрирования для расчета текущей скорости. В режиме SFPE эта величина просто задается согласно желаемой скорости.
6. Если включена опция «избегания столкновений», выполняется определение потенциальных ситуаций столкновения, и во избежание столкновений изменяется желаемая скорость.
7. Интегрирование конечной скорости для поиска максимального расстояния передвижения, а также
движение по сетке до момента полного прохождения этого расстояния или до первого столкновения.
8. Обновление файлов выходных данных.
_____________________________________________________________________________________________________________________________________________________________________________________
18
Техническое руководство к программе Pathfinder 2012
ФОРМАТ ФАЙЛА
Часть программы Pathfinder, отвечающая за моделирование, может по выбору использовать входной файл
для выполнения моделирования. Этот входной файл пишется по умолчанию каждый раз, когда выполняется
моделирование. В настоящем разделе представлено описание входного файла, включая его формат и все параметры.
NODES (УЗЛЫ)
Помещения, двери, лестницы представлены в виде узлов. В любое заданное время в процессе моделирования каждый человек находится либо внутри одного из следующих узлов, либо уже не участвует в процессе
моделирования.
[nodes]
name
…
name : string
Имя узла
VERTS (ВЕРШИНЫ)
В настоящем разделе перечислены все вершины, которые используются геометрией (треугольники и грани) во входном файле.
[verts]
xyz
…
x : float
y : float
z : float
координата x
координата y
координата z
NAVMESH << NODES, VERTS
В этом разделе определяется проходимое пространство в рамках моделирования.
[navmesh]
ixnode ttype ixverta ixvertb ixvertc
…
ixnode : int
ttype : string
ixverta : int
ixvertb : int
ixvertc : int
Индекс узла, относящегося к этому треугольнику
Тип зоны: [открытое пространство, лестница]
Индекс первой вершины
Индекс второй вершины
Индекс третьей вершины
Примечание: Порядок трех вершин очень важен. Следует использовать упорядочивание против часовой
стрелки (т.е. правило правой руки) для определения вершины элемента сетки.
GEOMMESH (опционально) << NODES, VERTS
Определение настоящего раздела полностью идентично определению раздела NAVMESH. Если таковая
имеется, сетка, определяемая в данном разделе, используется для поиска геометрических параметров во
время моделирования. Это может повысить эффективность работы программы, если сетка является более
грубой, чем в случае NAVMESH.
[geommesh]
ixnode ttype ixverta ixvertb ixvertc
…
(то же самое, что NAVMESH)
Техническое руководство к программе Pathfinder 2012
19
DOORS (опционально) « NODES
В данном разделе определяются двери, которые будут использоваться, если включена опция
use_door_queues («использовать очереди у дверей»). Если вход в дверь ассоциируется с определенным узлом,
это приводит к тому, что этот узел распознается моделирующей программой как узел «дверь», и предотвращается использование расчета плотности потока для регулирования скорости людей внутри треугольников,
относящихся к этому узлу. В этом разделе не определяются геометрические грани, которые характерны для
двери (см. Примечание).
Двери выхода должны определять только одно примыкающее помещение, а внутренние двери должны определять два таких помещения. Эти входы используются для предотвращения переполнения помещений
людьми во время перемещения людей между помещениями, а также для обеспечения более тщательных расчетов смешивания.
[doors]
ixnode eff_width ixnodeA ixnodeB
…
ixnode : int
eff_width : float
ixnodeA : int
ixnodeB : int
Индекс узла, относящегося к данной двери
Эффективная ширина данной двери
Индекс помещения, примыкающего к двери (использовать пробел "-" при отсутствии
такового)
Индекс помещения, примыкающего к двери (использовать пробел "-" при отсутствии
такового)
Примечание: Люди не встают в очередь перед дверью, за исключением случаев, когда они пересекают
определенную грань двери (определение дано в разделе EDGES (ГРАНИ)).
EDGES (опционально) << NODES, VERTS
В данном разделе описана геометрическая часть объектов, которые в NAVMESH определены как «грани».
[edges]
etype <depends on etype>
…
etype : string
Тип грани: [Граница, дверь, дверь выхода]
boundary ixverta ixvertb
Данный тип грани описывает границу, которую люди не пересекают.
ixverta : int
ixvertb : int
Индекс первой вершины
Индекс второй вершины
door ixnode ixverta ixvertb
Этот тип грани представляет внутреннюю дверь. Двери такого типа не включены в поиск ближайшего выхода, и должны иметь два примыкающих узла, определяемых в записи соответствующей двери.
ixnode : int
ixverta : int
ixvertb : int
Индекс узла, соответствующего данной двери
Индекс первой вершины
Индекс второй вершины
exit_door ixnode ixverta ixvertb
Этот тип грани представляет дверь выхода. Двери такого типа включены в поиск ближайшего выхода и
должны иметь один примыкающий узел, определяемый в записи соответствующей двери.
ixnode : int
ixverta : int
ixvertb : int
Индекс узла, соответствующего данной двери
Индекс первой вершины
Индекс второй вершины
Примечание: Определения грани должны совпадать с определениями грани в NAVMESH. Если дверь формируется тремя вершинами A, B, и C, она должны быть представлена в виде двух ребер: A-B и B-C. Грани,
которые не соответствуют граням в NAVMESH (например, A-C) не являются действительными, и могут явиться
причиной аварийного завершения программы, или к ее неожиданному режиму работы.
_____________________________________________________________________________________________________________________________________________________________________________________
20
Техническое руководство к программе Pathfinder 2012
PARAM (опционально)
Данный раздел позволяет преобразовывать параметры глобального моделирования. Формат представляет
собой список парных ключевых значений.
[param]
key value
…
key : string
value : mixed
Наименование параметра моделирования
Значение параметра моделирования (тип зависит от ключа)
max_time
0
Предельное время моделирования в секундах (0= неограниченное)
show_vis
0
Включить/выключить отладку визуализации (0=выкл, 1=вкл)
out_time_history
vis.out
Выходные данные воспроизведения видео (динамика изменений)
out_node_pop
nodes.csv
Населенность узлов с течением времени
out_clear_times
clear.csv
Время очистки для каждого узла
dt_init
0.025
Размер шага времени моделирования (c)
dt_vis
0.25
Частота выходных данных визуализации (c)
dt_wall_meta
0.5
Частота метаданных процесса моделирования (c)
dt_csv_data
1.0
Временной интервал печати данных в формате CSV (с)
handle_collisions
1
Включить/выключить устранение столкновений (0=выкл, 1=вкл)
reactive_steering
1
Включить/выключить
(0=выкл, 1=вкл)
inertia
1
Включить/выключить параметр инерции (0=выкл, 1=вкл)
vel_from_density
1
Включить/выключить вычисление скорости на основе плотности
(0=выкл, 1=вкл). Применяется при выключенном параметре
инерции.
use_door_queues
0
Включить/выключить очередь перед дверью (0=выкл, 1=вкл)
wall_slide
1
Включить/выключить скольжение вдоль стены (0=выкл, 1=вкл)
density_max
3.55
Максимальная плотность заполнения помещения. Применимо
только в случае, если активированы очереди перед дверью.
реагирующее
управление
движением
PROFILES « NODES
Данные параметры представляют собой определения искусственного интеллекта для агентов моделирования.
[profiles]
goto [ixnode | nearest]
…
goto
lxnode : int
nearest
Единственная форма искусственного интеллекта, допускаемая моделирующей программой в настоящее время.
Показатель целевого узла
Данный параметр заставляет людей искать ближайший выход
OCCUPANTS << PROFILES, NODES (непрямой), NAVMESH (непрямой)
В данном разделе представлены люди, присутствующие в начале моделирования. Начальный узел для каждого человека предполагается на основе местоположения данного человека.
[occupants]
name ixprofile x y z
…
name : string
ixprofile : int
x : float
Наименование человека
Индекс соответствующего профиля
Координаты местоположения человека по оси x
Техническое руководство к программе Pathfinder 2012
21
y : float
z : float
Координаты местоположения человека по оси y
Координаты местоположения человека по оси z
ПРОЧИЕ ПРИМЕЧАНИЯ
Строки, начинающиеся с символа комментария ("#") будут проигнорированы.
Строки следует разделять пробелами и запятыми. Строки, содержащие пробелы и запятые, должны быть
заключены в двойные кавычки. Следующие три определения VERT идентичны для восприятия программой.
1, 1, 0
1.0 1. 0.
1, 1 0
ПРИМЕР ФАЙЛА ВХОДНЫХ ДАННЫХ
# Sample 0
# Pathfinding with edge exits test case
[nodes]
"R1"
"e2"
[doors]
1 1.32 0 –
[verts]
0. 0. 0.
1. 0. 0.
1. 1. 0.
0. 1. 0.
[navmesh]
0 open 0 1 2
0 open 2 3 0
[geommesh]
0 open 0 1 2
0 open 2 3 0
[edges]
#type ixNode ixVert1 ixVert2
exit_door 1 1 2
[param]
show_vis 1
handle_collisions 1
reactive_steering 1
inertia 1
vel_from_density 0
use_door_queues 0
[profiles]
#goto <ixNode>
goto nearest
[occupants]
#name ixProfile x y z
"001" 0 0.25 0.75 0.
_____________________________________________________________________________________________________________________________________________________________________________________
22
Техническое руководство к программе Pathfinder 2012
СПИСОК ЛИТЕРАТУРЫ
[Amor et al., 2006] Heni Ben Amor, Jan Murray, and Oliver Obst, "Fast, Neat, and Under Control: Arbitrating Between Steering Behaviors," AI Game Programming Wisdom 3, ed. S. Rabin. pp. 221-232 ([Амор и др., 2006] Хе-
ни Бен Амор, Ян Мюррей и Оливер Обст, «Быстрый, аккуратный, управляемый: Выбор типов управляемого
поведения», AI Game Programming Wisdom 3, изд. С. Рабина. стр. 221-232).
[Hart et al., 1968] P. E. Hart, N. J. Nilsson, B. Raphael, 1968. A Formal Basis for the Heuristic Determination of
Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics (SSCA). SSC-4 (2). pp. 100-107
([Харт и др. 1968] П.Е. Харт, Н. Д. Нильсон, Б. Рафаэль, 1968. «Формальная основа для эвристического оп-
ределения траекторий с минимальными затратами». Протоколы по Системотехнике и Кибернетике (SSCA)
Института инженеров по электротехнике и электронике SSC-4 (2). стр. 100-107).
[IMO, 2002] Interim Guidelines for Evacuation Analyses for New and Existiing Passenger Ships. June 6, 2002. International Maritime Organization. 4 Albert Embankment London Great Britain. MSC/Circ.1033 ([IMO, Междуна-
родная морская организация, 2002] «Временные нормы расчета эвакуации для новых и существующих
пассажирских судов». 6 июня, 2002. Международная морская организация (IMO). 4 Albert Embankment
Лондон, Великобритания. MSC/Circ.1033).
[Johnson, 2006] Geraint Johnson, "Smoothing a Navigation Mesh Path," AI Game Programming Wisdom 3, ed. S.
Rabin. pp. 129-139, 2006 ([Джонсон, 2006] Герайнт Джонсон, «Сглаживание траектории навигационной
сетки», AI Game Programming Wisdom 3, изд. С. Рабина. стр. 129-139, 2006).
[Kuligowski and Peacock, 2005] Erica D. Kuligowski and Richard D. Peacock, "A Review of Building Evacuation
Models," National Institute of Standards and Technology, Fire Research Division, Building and Fire Research Laboratory, Technical Note 1471, July, 2005. Available for download at http://fire.nist.gov/bfrlpubs/ ([Кулиговски и
Пикок, 2005] Эрика Д. Кулиговски и Ричард Д. Пикок, «Обзор моделей эвакуации из зданий», Национальный институт стандартов и технологий, отдел пожарных исследований, Лаборатория по строительным и
пожарным исследованиям. Техническая записка 1471, июль, 2005. Доступна для скачивания по адресу
http://fire.nist.gov/bfrlpubs/).
[McGrattan et al., 2007] Kevin McGrattan, Bryan Klein, Simo Hastikka, and Jason Floyd. Fire Dynamics Simulator
(Version 5) User's Guide. July, 2007. NIST Building and Fire Research Laboratory. Gaithersburg Maryland USA.
NIST Special Publication 1019-5 ([МакГрэттен и др., 2007] Кевин МакГрэттен Брайан Кляйн, Симо Хастикка, и
Джейсон Флойд. «Руководство пользователя программы моделирования динамики пожара FDS (Версия
5)», Июль, 2007, Национальный институт стандартов и технологий, Лаборатория по строительным и пожарным исследованиям, Гейтерсберг Мэриленд, США. Специальное издание Национального института
стандартов и технологий 1019-5).
[Nelson and Mowrer, 2002] Nelson, H. E., and Mowrer, F. W. "Emergency Movement." The SFPE Handbook of
Fire Protection Engineering Ed. DiNenno, P., and Walton, D. W. National Fire Protection Association 2002. 3-367 3-380 ([Нельсон и Маурер, 2002] Нельсон Г.Е и Маурер Ф.В. «Движение в чрезвычайных ситуациях» Руко-
водство SFPE по проектированию противопожарной защиты ред. ДиНенно П. и Уолтон, Д.В. Национальная
ассоциация противопожарной защиты, 2002. 30367-3-380).
[Reynolds, 1999] Craig W. Reynolds, "Steering Behaviors For Autonomous Characters." Proceedings of the Game
Developers Conference 1999. 1999, Miller Freeman Game Group, San Francisco, California, pp. 763-782 ([Рэй-
нольдс, 1999] Крэйг Рэйнольдс «Направления движения автономных персонажей». Материал Конференции
Разработчиков Игр 1999. Miller Freeman Game Group. Сан-Франциско, Калифорния. стр. 763 -782..
[Santos and Aguirre, 2004] Gabriel Santos and Benigno E. Aguirre," A Critical Review of Emergency Evacuation
Simulation Models," NIST Workshop on Building Occupant Movement during Fire Emergencies, June 9-10, 2004
([Сантос и Агирре, 2004] Габриэль Сантос и Бениньо Э. Агирре «Критический обзор типов моделирования
аварийной эвакуации», Семинар Национального института стандартов и технологий по организации движения людей во время чрезвычайных пожарных ситуаций, 9-10 июня, 2004).
[SFPE, 2003] Engineering Guide - Human Behavior in Fire. June, 2003. Society of Fire Protection Engineers. 7315
Wisconsin Avenue, Suite 620E Bethesda Maryland USA 1-301-718-2910 ([SFPE, 2003] «Техническое руково-
дство SFPE по поведению людей при пожаре», Июнь, 2003. Общество инженеров по пожарной безопасности. 7315 Висконсин Авеню, номер 620E, Вифезда, Мэриленд, США 1-301-718-2910.).
Техническое руководство к программе Pathfinder 2012
23
Скачать