Показать сообщение отдельно
Старый 15.01.2013, 00:31   #40
Любитель
Опытный
 
Регистрация: 21.05.2008
Адрес: Москва
Сообщений: 277
Вы сказали Спасибо: 944
Поблагодарили 76 раз(а) в 58 сообщениях
Любитель стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Любитель Посмотреть сообщение
Решил создать реалистичную ботовую сессию по маршруту Балезино-Мосты дневной...
Вначале составил техническое задание, в котором описываются требования, предъявляемые к проекту.

1.Цель проекта - построение любительской сессии, где в качестве пассажира (за кружечкой coffee) можно будет понаблюдать за работой машинистов, прокатиться по маршруту, ощутить атмосферу железнодорожной поездки и сопутствующих событий:
- спешащие грузчики с круглым жетоном с пустыми багажными тележками и встречающие, направляющиеся к платформе, к которой должен подойти поезд;
- провожающие;
- опаздывающий пассажир, запрыгивающий в дверь последнего вагона поезда;
- электропогрузчики с вереницей почтово-багажных тележек;
- маневровые работы на станции;
- маневровая горка на сортировочной;
- электропоезд отправляющийся с платформы, пересекающий главный путь во встречном направлении;
- электропоезд, после остановки отправляющийся в противоположном направлении на ответвление;
- совмещенная станция, участок ДЖД или узкоколейки вблизи от главной магистрали;
- флажки, сигнализирующие знаки;
- ремонтные и станционные работники, монтеры пути;
- путевой обходчик с фонарем, жилой дом обходчика,во дворе с колодец, садом и огородом на перегоне;
- объявления c музыкальным сигналом на вокзале, радиоточка в поезде;
- вид из окна тамбура последнего вагона на уходящие вдаль рельсы;
- хорошо слышимые ночные переговоры по селектору, привязанные к различным станционным событиям и к поездам, эхом разносящиеся по всей станции;
- звуковой эффект при движении в выемке, среди высокого леса, стонущие рельсы;
- обходчики на станциях с молотком простукивающие буксы;
- составитель поездов, едущий на подножке вагона, фиксирующий автосцепку и разговаривающий затем по рации с машинистами маневрового;
- подача маневровым поезда к платформе, на тупиковых вокзалах отцепляющийся и ожидающий отправления поезда;
- прицепление и погрузка-разгрузка багажных и почтовых вагонов;
- отцепление транзитных вагонов;
- смена локомотивных бригад;
- элеватор;
- козловые краны на сортировочной и в порту;
- железнодорожный раздвижной мост работающий как в вертикальном, так и в горизонтальном направлениях;
- железнодорожный паром с маневрами при погрузке вагонов;
- канатная дорога;
- фуникулер;
- веерное депо с работающим механизмом;
- автобус, отправляющийся через некоторое время после прибывшего поезда;
- железнодорожные пути с примыкающей автодорогой и станция расположенные на территории дамбы между водохранилищами, отдыхающие вдали на пляже, лодки с рыбаками, прогулочные катера;
- в ровной степи- панорама большого города уменьшающегося при удалении;
- тоннель под проливом;
- продавцы, предлагающие купить ведро груш, яблок и др. на станции;
горячие пирожки;мягкие игрушки и др.
- применение эффекта контрастной смены с помощью тоннельной связки - равнина, тоннель, горы или дорога проложенная на морской косе, тоннель, мост над высоким ущельем и т.п.;

Применение спецэффектов типа fantasy (совмещение аркады в сессии), сюрреализм, мистика:
- тоннели сходятся у начала подземной узловой станции, затем расходятся с выездом на поверхность вблизи различных станций на поверхности;
- подземные коммуникации (метро2);
- мост над подземной рекой;
- автомобильные дороги с передвигающимся транспортом, баны, железнодорожные переезды под землей;
- подземный город;
- подземный причал с катерами и субмариной;
- подземный аэроклуб с самолетами на летном поле;
- тоннель, переходящий в подземную горную пещеру;
- помещение в стене тоннеля со зрительным залом и киноэкраном с демонстрацией ролика, фильма и т.д. (вид из окна поезда на киноэкран);
- через портал тоннеля, начинающегося после одного из разъездов в степи (Rob River Iron) попадаешь в подземное ущелье с буйной растительностью (Пандорра), железнодорожные пути проходят по берегу подземной реки;
- совмещенные подземные станции с возможностью пересадки на локомотив с вагонетками узкоколейки горной разработки с разветвленной сетью штреков и с крутыми виражами, спусками, подъемами (аттракцион, аналог 5d) с выездом на поверхность вблизи одной из станций и обратной пересадкой на тот же поезд (проезжают через общую станцию, разными дорогами);
- использование относительного географического положения ж.д. в качестве смотровой площадки (вид на удаленные объекты, находящиеся гораздо ниже уровня ж.д.) , высокий склон, мост;
- тоннель проходящий по дну моря, реки, пролива с прозрачными стенами(аналог океанариума) - экранами скринсейвера Aquarium и т.п.


одним словом - все то, что можно назвать скромным обаянием ж.д.

2. Для пассажира (не профессионала) главное - общий визуальный фон, ситуационная картинка без зацикливания на каких-то мелких деталях и технических особенностях, что для профессионалов может быть неприемлемым.
Таким образом, за счет снижения уровня качества графической визуализации объектов можно добиться значительной экономии системных ресурсов.

3.Поскольку для меня железнодорожное моделирование-хобби, которому я могу уделить лишь некоторую часть свободного времени, то основной критерий при разработке проекта - максимально возможное сокращение сроков выполнения на всех его стадиях.
Оптимизация затраченных временных ресурсов включает в себя, поиск наиболее простых методов моделирования, согласующихся с требованиями визуализации, (описанными в п.2), по возможности, без привлечения дополнительных объектов с минимальным количеством внесения изменений и дополнений в текущей сессии.

В плане технической реализации, задачи на маневрирование оказались достаточно сложными. Так как маршрутные маркеры Z7 работают с объектами сигнализации той же линейки Z7, а в сессии в основном используется KDA, то перестановка сигналки с KDA на Z7 с последующей настройкой логики (вопрос очень большого времени) для меня не подходит.
Решение искал, с помощью повторяющегося алгоритма: открывал редактор сессии вносил изменения в ее структуру (команды машинисту, список команд, команды триггеру, совокупность различных системных переменных,например, увеличение либо сокращение времени ожидания поездов, расстояния, время начала игры, перераспределение приоритетов как поездов, так и путей и др.). Затем сохранял и переходил к режиму "машинист".
Определял причины затягивания процессов, переключался назад в "Редактор" и опять вносил изменения (классический метод проб и ошибок).
Для оптимизации действий разработчиков на этом этапе неплохо было бы ввести "Динамический редактор", и рассматривать не глобальные, в масштабах всей сессии, а лишь локальные задачи (например, маршрут передвижения маневрового тепловоза на одной из станций), где требуется ограниченное количество взаимодействующих объектов, соответственно, с небольшим объемом привлекаемых ресурсов, в результате чего повысится быстродействие (аналогично debugger, т.е. отладка небольшого участка).
В качестве одного из инструментов, как и в обычном статическом режиме (режим «редактор»), можно использовать команды "redo" и "undo" (хотя, обратный динамический процесс, потребует значительного количества ресурсов, а его погрешность в полной мере зависит, как от расчетных алгоритмов, так и от размеров оперативной памяти), по крайней мере, не приходилось бы тратить время на переключение между режимами "редактор сессии" и "машинист".
При выполнении команд для выявления возможных причин ошибок в работе объектов сигнализации , целесообразно вести "журнал отладки" с их записью, перечнем задействованных объектов, связей, комбинацией характеристических параметров, и хронологией событий исполнительных объектов.
Вначале в "Списке команд" выбрал, помимо тех, что уже отмечены, "Couple" (сцепить) c выбором состава; " Decouple" (расцепить) с выбором состава; "UnCoplez" отцепиться; "UnCoplez from" отцепить вагон с указанным (может порядковый номер в составе, точно не могу сказать, пока нигде не применял) номером; "HoldJunctionsOnly" (переключение стрелки с отклонением вправо, влево, и прямо, если не работает- попробовать выбрать другое направление); "Load passengers" (открывание дверей) для электропоездов, дизелей с указанием правых и левых и времени открытия; "Priorityz" (приоритет поезда 1,2,3); "Развернуть" (поменять направление движения); "Ждать" в мин.
1. Задача. Маневровый в Балезино должен прицепить два синих "спальных" вагона , затем вместе с ними направиться по главному пути мимо вокзала к 2 багажным вагонам и прицепить их.
Когда я не менял условия сессии (уже установленные команды машиниста электропоезда), то с помощью команд машиниста маневрового на последовательное переключение стрелок, передвижение до маркера, переключение стрелки в другом направлении, то маневровый у светофора почти сразу начинал движение.
При решении общей задачи- когда маневровый занимает главный путь, при наличии поездов, проходящих через этот путь, на участках воникли проблемы.
При изменении времени отправления электропоезда, выполнение маневровых операций оказалось возможным, только когда электропоезд оказался вблизи от маневрового, после события- прохождения скорого. Т.е.обнаруживается зависимость разрешающего сигнала от расстояния между поездами и от текущей ситуации на станции (переключение стрелок).
Поскольку в командах у многих машинистов поездов движущихся в направлении на Балезино прописано "Проехать через маркер", который находится на главном пути на маневровом участке, то отмечается неустойчивый характер в отражении положения стрелки (перемигивание то "зеленый" влево, то вправо, колебательный процесс) с характерной надписью "Управление стрелкой контролируется ИИ поезда", связанный по всей видимости, с попыткой переключения на "нужное" положение для приближающихся поездов.
С помощью команд машиниста и триггера мне так и не удалось блокировать эту неоднозначность.
Таким образом, требуется команда триггера "Выделить область" (например по маркерам вблизи границы отключаемого участка) на определенное время или в зависимости от событий, происходящих на некотором участке станции для маневровых и ремонтных работ, с запрещающими сигналами для въезда на эту территорию остальных поездов (соответственно произойдет сброс просчитывания состояния стрелок внутри этой территории) и передачи управления машинисту маневрового.
В результате я решил эту задачу поставив дополнительный карликовый маневровый светофор KDA на границе передвижения маневрового тепловоза во встречном направлении по главному пути (с одной стороны- небольшая потеря в реалистичности, т.к.визуально он малозаметен, с другой- выигрыш в функциональности без привлечения Z7).

Скриншоты с маневровым локомотивом и электропоездом в хронологическом порядке прошедших событий (время в правом верхнем углу)
1.ст.Балезино.Электропоезд.В начале сессии



2.ст.Балезино.Маневровый у светофора в 14ч12мин.



3.ст.Балезино.Маневровый у светофора.Возникли вопросы



4.ст.Балезино.Электропоезд у светофора.



5.ст.Балезино.Разрешение ситуации



6.ст.Балезино.Маневры.Электропоезд у светофора.



2.Задача. Распространенный случай при маневрах - выезд с бокового пути, проезд до следующей стрелки по главному четному пути во встречном направлении, выезд на нечетный.
Здесь та же ситуация, как и в предыдущем случае. При существующих начальных условиях- электропоезд, при наличии команд на последовательное открытие четырех стрелок отрабатывает задание.
Для общего случая- с появлением на участке любого поезда, та же ситуация с перемигиванием стрелок и надписью "Управление стрелкой контролируется ИИ поезда", т.е.просчитыванием состояния стрелки.Решение может быть - блокирование участка с помощью команды триггера для всех поездов, кроме маневрового.Поезд находится достаточно далеко от станции (скриншот с картой участка вблизи ст.Топиллы), а стрелки все равно не переключаются.

Скриншоты электропоезда, встречного поезда, прибывающих поездов из Балезино в хронологическом порядке прошедших событий (время в правом верхнем углу) в случае исходных данных.

10.ст.Топиллы.Электропоезд перед отправлением



11.ст.Топиллы.Электропоезд.Входной -Разрешающий



12.ст.Топиллы.Электропоезд на ст.Топиллы. Выезд на нечетный в направлении к ст.Крутоборка



13.ст.Топиллы.Электропоезд в направлении на ст.Крутоборка. Встречный у входного светофора



в общем случае
20.ст.Топиллы.Прибытие поезда со ст. Балезино.



21.ст.Топиллы.Посадка на электропоезд.



22.ст.Топиллы.Встречный.



23.ст.Топиллы.Пора отправляться. Запрещающий сигнал. Встречный.



24.ст.Топиллы.Электропоезд. Запрещающий сигнал. Встречный пассажирский

Любитель вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА