Моделирование динамики толпы в областях со сложной геометрией — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Ссылки)
 
(не показана 41 промежуточная версия 1 участника)
Строка 1: Строка 1:
 +
Выполнил: [[Цветков_Денис|Цветков Д. В.]]
 +
 +
Научный руководитель: [[Антон_Кривцов|Кривцов А. М.]]
 +
 +
Презентация: [[media: Presentation7.ppt|Моделирование динамики толпы]]
 +
 
== Введение ==
 
== Введение ==
  
В работе исследуются способы более оптимальной организации движения людей, особенно в условиях паники ведь в таком случае появляется большой риск получения людьми увечий вследствие увеличения «давления» в толпе.
+
В работе исследуются способы оптимизации движения людей, особенно в условиях паники ведь в таком случае появляется большой риск получения людьми увечий вследствие увеличения «давления» в толпе.
 +
 
 +
Толпа — бесструктурное скопление людей, лишенных ясно осознаваемой общности целей, но взаимно связанных сходством эмоционального состояния и общим объектом внимания.  <ref name="def"/>
 +
 
 +
Давка — Скопление теснящихся в беспорядке, давящих друг на друга людей. <ref name="def2"/> Давка может привести к получению увечий людьми, поэтому движение должно быть организовано так, чтобы обеспечить умеренное «давление» в толпе.  
  
Актуальность данной проблемы подтверждается, например, событиями в 2010 году в Дуйсбурге на фестивале «Love Parade», в ходе которого образовалась давка, в результате которой погиб 21 человек, и было ранено около 500 человек.
+
Актуальность данной проблемы подтверждается, например, событиями в 2010 году в Дуйсбурге на фестивале «Love Parade», в ходе которого образовалась давка, в результате которой погиб 21 человек, и было ранено около 500 человек. <ref name="LP"/>
  
 
== Цель ==
 
== Цель ==
  
Цель работы – смоделировать и исследовать движение толпы при различных условиях, найти лучшие способы организации движения в таких местах, как проход в метрополитен, фойе театра, проход в концертный зал, и в других местах, предполагающий переход большого количества людей через некий узкий проём.
+
Цель работы — разработать математическую модель и с её помощью исследовать движение толпы при различных условиях, найти лучшие способы организации движения в таких местах, как проход в метрополитен, фойе театра, проход в концертный зал, и в других местах, предполагающих переход большого количества людей через некий узкий проём.
 +
 
 +
Данный вопрос рассматривается в книге <ref name="book"/>, а также в исследованиях группы «GAMMA research group» и некоторых других исследованиях, однако до сих пор нет ясности, как распределяется давление в толпе и как влияет геометрия прохода на время прохождения толпы.
 +
 
 +
В работе <ref name="cellular"/> для моделирования толпы людей, а также препятствий на их пути, используется клеточный автомат на основе окрестности фон Неймана. Всё пространство делится на “клетки”, состояние каждой клетки определяется её соседями, а также состоянием клетки на предыдущем шаге. Данная модель достаточно проста в реализации, однако, с её помощью трудно достаточно точно определить время, требуемое для прохождения толпой определенного препятствия.
  
 
== Реализация ==
 
== Реализация ==
[[Файл: MDC_vect_field.png|100px|thumb|right|Векторное поле модели]]
+
[[Файл: MDC_vect_field.png|150px|thumb|right|Векторное поле модели]]
 
Для моделирования данной задачи используется программа, написанная на языке Java с использованием библиотеки OpenGL.
 
Для моделирования данной задачи используется программа, написанная на языке Java с использованием библиотеки OpenGL.
Для описания взаимодействия частиц (людей) используется положительная часть потенциала Леннарда-Джонса частицы отталкиваются друг от друга, но не притягиваются.
+
 
Чтобы смоделировать стремление людей попасть в определенную область – на моделирующей области задано векторное поле сил, устремляющее частицу к «выходу»
+
Java - Объектно-ориентированный язык программирования. Приложения Java могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.
 +
 
 +
OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
 +
 
 +
Для описания взаимодействия частиц (людей) между собой (или со стенками геометрии) используется положительная часть потенциала Леннарда-Джонса <ref name="LJ"/> — частицы отталкиваются друг от друга (или от стенок), но не притягиваются:
 +
 
 +
<math>U_p (r) = \left\{ \begin{gathered} U(r),    U(r)\ge 0 \hfill \\  0,    U(r)<0 \hfill \\ \end{gathered}  \right.</math>
 +
 
 +
 
 +
 
  
 
----
 
----
  
 
[[Файл: MDC_prog_visual.png|150px|thumb|right|Графическая составляющая программы]]
 
[[Файл: MDC_prog_visual.png|150px|thumb|right|Графическая составляющая программы]]
Для более наглядного отображения результатов моделирования разработаны средства визуализации, позволяющие отобразить достаточное количество частиц и требуемую геометрию области
+
Для более наглядного отображения результатов моделирования разработаны средства визуализации, позволяющие отобразить достаточное количество частиц и требуемую геометрию области.
  
 
Для оценки ситуации измеряются две величины – время прохождения частиц через отверстие, и давление, возникающее в группе частиц. Требуется достичь минимального времени, однако при этом давление не должно превышать некоторого критического значения – чтобы максимально снизить риск травмирования людей в толпе.
 
Для оценки ситуации измеряются две величины – время прохождения частиц через отверстие, и давление, возникающее в группе частиц. Требуется достичь минимального времени, однако при этом давление не должно превышать некоторого критического значения – чтобы максимально снизить риск травмирования людей в толпе.
Строка 28: Строка 51:
 
<math>p = -\frac{1}{d}tr(\underline{\underline{\tau}}) = -\frac{1}{2Vd}\sum_{\alpha}A_\alpha \cdot F_\alpha</math>
 
<math>p = -\frac{1}{d}tr(\underline{\underline{\tau}}) = -\frac{1}{2Vd}\sum_{\alpha}A_\alpha \cdot F_\alpha</math>
  
 +
где d – размерность задачи (в нашем случае d = 2),
 +
 +
Fα - воздействие на частицу от окружающих её частиц α,
 +
 +
Aα – расстояние от рассчитываемой частицы до окружающих её частиц,
 +
 +
V – собственное пространство частицы (площадь многоугольника, построенного на половинах расстояний до ближайших частиц)
 +
 +
[[Файл: MDC_particle_space.png|150px]]
 +
 +
----
 +
 +
[[Файл: MDC_pressure_visual.png|150px|thumb|right|Визуализация давления на частицы]]
 +
Для визуализации давлений, действующих на частицу, используется цвет этой частицы – чем больше давление, тем больше смещение к красному концу спектра
 +
 +
[[Файл: MDC_demo.png|150px|thumb|right|Режим демонстрации]]
 +
Также есть режим демонстрации. В этом режиме вместо сферы используется модель человека, взятая с сайта 3dmodelfree.com. Шаги модели анимированы с использованием системы 3Ds Max, а повороты и скорость шага смоделированы с помощью специально разработанной программной системы визуализации.
 +
 +
== Сбор результатов расчетов ==
 +
 +
После каждого расчета полученные в ходе расчета данные записываются в файл результатов.
 +
 +
Программа может последовательно изменять какие-либо параметры начальной системы – например, можно задать начальное количество частиц – 30, конечное – 60 и шаг – 10. Тогда в автоматическом режиме будут посчитаны системы для 30, 40, 50 и 60 частиц, и после каждого расчета в файл результатов будут добавлены результаты эксперимента (время, затраченное частицами на «выход из комнаты», давления, возникающие в системе.) и его начальные условия. Таким же образом можно изменять и другие параметры – ширину прохода, количество расчетов одной системы, и др.
 +
 +
Для ускорения расчета ресурсоемких систем сделан режим запуска программы без визуализации, также предполагается сделать запись каждого шага в файл, чтобы можно было подробнее рассматривать шаги решения уже рассчитанной системы.
 +
 +
== Результаты ==
 +
 +
'''I. Время прохождения частиц в зависимости от начального положения.'''
 +
 +
Проведен ряд экспериментов, в ходе которых установлено, что отдельные частицы, находящиеся в точках A и D (см. рисунок), достигают прохода примерно на 25-30% быстрее, чем частицы, находящиеся в точках B и C.
 +
 +
[[Файл: MDC_experiment.png]]
 +
 +
Данные результаты близки к результатам исследований, проведенных [[Денисова Вита|В. А. Денисовой]] в работе [[Денисова Вита|«Моделирование социальных процессов»]], где был проведен и снят на видеокамеру ряд экспериментов у метро «Василеостровская»
 +
 +
----
 +
 +
'''II. Время прохождения частиц в зависимости от геометрии прохода.'''
 +
 +
Проведены эксперименты, измеряющие зависимость скорости преодоления частицами прохода в зависимости от геометрии прохода. Единицей измерения времени в данном эксперименте взят шаг интегрирования N. В качестве изменяемой величины геометрии прохода взят угол наклона α стенок у прохода.
 +
 +
<gallery widths=250px heights=153px perrow=3>
 +
Файл: MDC_geom_45.png|Геометрия при α = 45°
 +
Файл: MDC_geom_-25.png|Геометрия при α = -25°
 +
</gallery>
 +
 +
Эксперименты проводились в автоматическом режиме с выводом значений в файл. Для каждого угла α проведено 5 экспериментов, и проведено усреднение.
 +
 +
Результаты:
 +
 +
[[Файл: MDC_findings.png]]
 +
 +
Видно, что при угле поворота от -85° до 15° время преодоления прохода практически одинаково, а при больших углах это время уменьшается с линейной зависимостью.
 +
Однако, визуально можно заметить, что при α < 0 давление у входа много меньше, чем при α > 0.
 +
 +
<gallery widths=240px heights=217px perrow=3>
 +
Файл: MDC_pressure_45.png|Давление при α = 45°
 +
Файл: MDC_pressure_-25.png|Давление при α = -25°
 +
</gallery>
 +
 +
В предельной ситуации (при α = -90°) получаются вертикальные бортики, которые используются у входа некоторых станций метрополитена.
 +
 +
<gallery widths=240px heights=160px perrow=3>
 +
Файл: MDC_borders.png|Бортики у входа в метрополитен
 +
</gallery>
 +
 +
== Самое интересное ==
 +
Здесь можно запустить саму программу в различных конфигурациях и посмотреть, как она работает.
 +
Чтобы запустить программу, нужно иметь установленный JRE (JAVA), скачать его можно отсюда [http://www.java.com/ru/]
 +
 +
[[MDCrowd_square|Квадратная геометрия]], 60 частиц, модель человека
 +
 +
[[MDCrowd_expand|Расширяющаяся геометрия]], 60 частиц, модель шара
 +
 +
[[MDCrowd_contract|Сужающаяся геометрия]], 60 частиц, модель шара
 +
 +
[[MDCrowd_borders|Геометрия с бортиками]], 40 частиц, модель шара
 +
 +
[[MDCrowd_White_hall|Геометрия белого зала]], 90 частиц, модель человека
 +
 +
[[Файл: MDC_1.7.0-x300w.gif]]
 +
 +
{{#widget:YouTube|id=VjZEgjfEvcQ}}
 +
 +
[[media: MDC_1.7.0w.avi|Скачать видео]]
 +
 +
 +
[[Файл: MDC_Anim500.gif‎]]
 +
 +
{{#widget:YouTube|id=1N2bIw0QRWE}}
 +
 +
[[media: MDC_White_hall.avi‎|Скачать видео]]
 +
 +
== Список использованной литературы==
 +
 +
<references>
 +
<ref name="def"> [http://vocabulary.ru/dictionary/852/word/tolpa Психологический лексикон. Энциклопедический словарь в шести томах]
 +
</ref>
 +
<ref name="def2"> [http://dic.academic.ru/dic.nsf/ogegova/44126 Толковый словарь Ожегова] </ref>
 +
<ref name="LP"> [http://ru.wikipedia.org/wiki/Парад_любви Love Parade] </ref>
 +
<ref name="book">Холщевников В. В., Самошин Д. А. Эвакуация и поведение людей при пожарах: Учеб. пособие. — М.: Академия ГПС МЧС России, 2009. — 212 с.</ref>
 +
<ref name="cellular">Степанцов М.Е. Математическая модель направленного движения группы людей // Математическое моделирование, 2004, т.16, №3, с. 43-49</ref>
 +
<ref name="LJ">Кривцов А. М. Деформирование и разрушение твердых тел с микроструктурой. — М.: ФИЗМАТЛИТ, 2007. — 304 с.</ref>
 +
 +
</references>
 +
 +
== Благодарности ==
 +
*[[Вита Денисова]]
 +
*[[Виталий Кузькин]]
 +
 +
== См. также ==
  
[[MDCrowd_K1|Конфигурация с бортиками]]
+
* [[Моделирование динамики толпы]]

Текущая версия на 14:18, 26 июля 2014

Выполнил: Цветков Д. В.

Научный руководитель: Кривцов А. М.

Презентация: Моделирование динамики толпы

Введение[править]

В работе исследуются способы оптимизации движения людей, особенно в условиях паники — ведь в таком случае появляется большой риск получения людьми увечий вследствие увеличения «давления» в толпе.

Толпа — бесструктурное скопление людей, лишенных ясно осознаваемой общности целей, но взаимно связанных сходством эмоционального состояния и общим объектом внимания. [1]

Давка — Скопление теснящихся в беспорядке, давящих друг на друга людей. [2] Давка может привести к получению увечий людьми, поэтому движение должно быть организовано так, чтобы обеспечить умеренное «давление» в толпе.

Актуальность данной проблемы подтверждается, например, событиями в 2010 году в Дуйсбурге на фестивале «Love Parade», в ходе которого образовалась давка, в результате которой погиб 21 человек, и было ранено около 500 человек. [3]

Цель[править]

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

Данный вопрос рассматривается в книге [4], а также в исследованиях группы «GAMMA research group» и некоторых других исследованиях, однако до сих пор нет ясности, как распределяется давление в толпе и как влияет геометрия прохода на время прохождения толпы.

В работе [5] для моделирования толпы людей, а также препятствий на их пути, используется клеточный автомат на основе окрестности фон Неймана. Всё пространство делится на “клетки”, состояние каждой клетки определяется её соседями, а также состоянием клетки на предыдущем шаге. Данная модель достаточно проста в реализации, однако, с её помощью трудно достаточно точно определить время, требуемое для прохождения толпой определенного препятствия.

Реализация[править]

Векторное поле модели

Для моделирования данной задачи используется программа, написанная на языке Java с использованием библиотеки OpenGL.

Java - Объектно-ориентированный язык программирования. Приложения Java могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.

OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.

Для описания взаимодействия частиц (людей) между собой (или со стенками геометрии) используется положительная часть потенциала Леннарда-Джонса [6] — частицы отталкиваются друг от друга (или от стенок), но не притягиваются:

[math]U_p (r) = \left\{ \begin{gathered} U(r), U(r)\ge 0 \hfill \\ 0, U(r)\lt 0 \hfill \\ \end{gathered} \right.[/math]




Графическая составляющая программы

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

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

Для расчета давления в системе, используется формула из главы «Техника моделирования» книги А. М. Кривцова «Деформирование и разрушение твердых тел с микроструктурой».

[math]\underline{\underline{\tau}} = -\frac{1}{2V}\sum_{\alpha}A_\alpha F_\alpha[/math]

[math]p = -\frac{1}{d}tr(\underline{\underline{\tau}}) = -\frac{1}{2Vd}\sum_{\alpha}A_\alpha \cdot F_\alpha[/math]

где d – размерность задачи (в нашем случае d = 2),

Fα - воздействие на частицу от окружающих её частиц α,

Aα – расстояние от рассчитываемой частицы до окружающих её частиц,

V – собственное пространство частицы (площадь многоугольника, построенного на половинах расстояний до ближайших частиц)

MDC particle space.png


Визуализация давления на частицы

Для визуализации давлений, действующих на частицу, используется цвет этой частицы – чем больше давление, тем больше смещение к красному концу спектра

Режим демонстрации

Также есть режим демонстрации. В этом режиме вместо сферы используется модель человека, взятая с сайта 3dmodelfree.com. Шаги модели анимированы с использованием системы 3Ds Max, а повороты и скорость шага смоделированы с помощью специально разработанной программной системы визуализации.

Сбор результатов расчетов[править]

После каждого расчета полученные в ходе расчета данные записываются в файл результатов.

Программа может последовательно изменять какие-либо параметры начальной системы – например, можно задать начальное количество частиц – 30, конечное – 60 и шаг – 10. Тогда в автоматическом режиме будут посчитаны системы для 30, 40, 50 и 60 частиц, и после каждого расчета в файл результатов будут добавлены результаты эксперимента (время, затраченное частицами на «выход из комнаты», давления, возникающие в системе.) и его начальные условия. Таким же образом можно изменять и другие параметры – ширину прохода, количество расчетов одной системы, и др.

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

Результаты[править]

I. Время прохождения частиц в зависимости от начального положения.

Проведен ряд экспериментов, в ходе которых установлено, что отдельные частицы, находящиеся в точках A и D (см. рисунок), достигают прохода примерно на 25-30% быстрее, чем частицы, находящиеся в точках B и C.

MDC experiment.png

Данные результаты близки к результатам исследований, проведенных В. А. Денисовой в работе «Моделирование социальных процессов», где был проведен и снят на видеокамеру ряд экспериментов у метро «Василеостровская»


II. Время прохождения частиц в зависимости от геометрии прохода.

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

Эксперименты проводились в автоматическом режиме с выводом значений в файл. Для каждого угла α проведено 5 экспериментов, и проведено усреднение.

Результаты:

MDC findings.png

Видно, что при угле поворота от -85° до 15° время преодоления прохода практически одинаково, а при больших углах это время уменьшается с линейной зависимостью. Однако, визуально можно заметить, что при α < 0 давление у входа много меньше, чем при α > 0.

В предельной ситуации (при α = -90°) получаются вертикальные бортики, которые используются у входа некоторых станций метрополитена.

Самое интересное[править]

Здесь можно запустить саму программу в различных конфигурациях и посмотреть, как она работает. Чтобы запустить программу, нужно иметь установленный JRE (JAVA), скачать его можно отсюда [1]

Квадратная геометрия, 60 частиц, модель человека

Расширяющаяся геометрия, 60 частиц, модель шара

Сужающаяся геометрия, 60 частиц, модель шара

Геометрия с бортиками, 40 частиц, модель шара

Геометрия белого зала, 90 частиц, модель человека

MDC 1.7.0-x300w.gif

Скачать видео


MDC Anim500.gif

Скачать видео

Список использованной литературы[править]

  1. Психологический лексикон. Энциклопедический словарь в шести томах
  2. Толковый словарь Ожегова
  3. Love Parade
  4. Холщевников В. В., Самошин Д. А. Эвакуация и поведение людей при пожарах: Учеб. пособие. — М.: Академия ГПС МЧС России, 2009. — 212 с.
  5. Степанцов М.Е. Математическая модель направленного движения группы людей // Математическое моделирование, 2004, т.16, №3, с. 43-49
  6. Кривцов А. М. Деформирование и разрушение твердых тел с микроструктурой. — М.: ФИЗМАТЛИТ, 2007. — 304 с.

Благодарности[править]

См. также[править]