Donate with PayPal button New New

+ Ответить в теме
Страница 1 из 8 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 71

Тема: Автоматический поездной диспетчер - предложения и идеи

  1. #1
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432

    Trackobjects Автоматический поездной диспетчер - предложения и идеи

    Здесь собираем предложения или решения по поводу систем автоматического управления движением поездов на участке.
    А так же то, каком виде их потом реализовывать (команды, правила, или ещё как).


    Начну со своей собственной идеи автоматического движения по однопутному участку.

    Как известно, в случае однопутки наибольшей проблемой является случай, когда на станцию с обоих сторон прибывает больше поездов, чем на ней есть свободных путей. Раньше (фактически до появления автоблокировки) "диспетчеры" пользовались простым правилом - "после прибытия поезда с перегона нужно изменить направление перегона и отправить на него поезд, если он есть". В то же время из-за того, что на перегонах всего по 1 поезду, пропускная способность была низкой. В дальнейшем, с развитием автоматики и установкой проходных на перегонах, более эффективной стала схема "пакетов", т.е. несколько поездов отправляются один за другим и так следуют по участку (хотя впервые в отечественной практике это было создано в Великую Отечественную, а "проходными светофорами" работали сигналистки).

    Основная идея заключается в том, что на всём участке выбеляется "приоритетное направление". И в этом направлении движутся пакеты поездов, навстречу им - одиночные поезда или пакеты, состоящие из меньшего числа поездов. Вопросы в этом случае возникают следующие:
    1) как рассчитать количество поездов, которые могут отправится против приоритетного направления.
    2) как изменять "приоритетное направление", чтобы не произошёл вышеупомянутый коллапс на участке.

    Частичное решение первого вопроса - "со станции нельзя отправлять поезд против приоритетного направления пакетов, если на станции, где предполагается обгон пакетом поездов, заняты, или будут заняты все боковые пути ".

    Частичное решение второго вопроса - "пакет поездов должен прибыть на станцию назначения, либо должен быть расставлен на боковые пути станций".

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

    Второе - примерно так: "приоритетное направление поездов отменяется, поезда обоих направлений должны пользоваться правилом для "неприоритетных поездов" до тех пор, пока их суммарное число на перегонах участка не будет рано 0". После этого приоритетное направление участка изменяется.

  2. Сказали спасибо: (9)


  3. #Trainz
    Реклама
    Регистрация
    Постоянная
    Возраст
    2010
    Сообщений
    Много

    Donate with PayPal button N3v New New

     

  4. #2
    Пользователь Аватар для CFM
    Регистрация
    05.10.2009
    Страна
    Адрес
    Кишинёв
    Возраст
    33
    Сообщений
    1,345

    По умолчанию

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

    Быстрый и простой способ без графика, но в итоге мало к чему приводящий - на каждой станции общее количество путей разделить на две части (отдельно для пассажирского и грузового движения) в процентном соотношении, равном соотношению чётного/нечётного трафика, что предотвратит забивание станции поездами одного направления. Затем нужно научить станции передавать своим соседям данные о свободности путей, об отправленных и принятых поездах. Во избежание каши нужна последовательная цепочка передачи данных от одной участковой станции через ряд промежуточных к другой.
    Последний раз редактировалось CFM; 14.09.2013 в 17:31.
    [B]Уже давно не ищу чертежи и размеры кабины ТЭ10М[/B]

  5. #3
    Разработчик Аватар для B.U.G.O.R.
    Регистрация
    07.02.2010
    Адрес
    Montenegro
    Возраст
    30
    Сообщений
    8,379

    По умолчанию

    Мой вариант решения проблемы по однопутке. Начнем с простого определния — пассажирские должны следовать графику, грузовые должны вклиниваться. Я давно думал о том, чтобы сделать что-то вроде автографика в ТРСе, его суть такова:
    Какое-то определенное правило, в которое заносится последовательность станций, указывается действие по станции (следовать ходом, техническая графиковая остановка, остановка по графику с посадкой) и время. Ест-но тоже, если проход, значит только время прохода, если стоянка, то прибытие и время отправления. А станции можно брать из сигналки, чтобы не городить еще кучу лишнего, как раз автоопределение границ станции, номеров путей и прочего в соответствии со светофорами. Из этого правило будут тянуть информацию сразу несколько "потребителей". Во-первых, можно брать рандомный локомотив из депо, как это делается уже, и задавать ему график из поезда. ЧЕм оно должно принципиально отличаться от БОКа — тем, что должно просчитать расстояние между станциями и, в соответствии с разностью времени, определить скорость движения. Само, потому что сейчас я это делаю вручную. Плюс, опять же, можно сделать еще одну хорошую вещь, чтобы команды локомотиву вписывались согласно ближайшей станции. Тогда мы можем в любой момент отнять у локомотива управление, а потом его же вернуть, не выбирая, где же там оно едет, оно сам определило ближайшую станцию и вклинилось в график. Но это немного не из той серии. Это отдельная тема, а по этому сабжу следующее:
    Некий ДСП или ДНЦ, не важно, так же берет этот же график, определяет все скорости, время прохода и прочее. Расстояние между станциями он должен знать, это очевидно, это по-моему, уже есть. Теперь, чтобы не писать кучу бреда, рассмотрим пример. Скажем, есть три станции А, Б и В. Ест-но, везде однопутка. На станции В стоит четный грузовой, его надо отправить до станции А. (Опять же можно придумать некую команду грузовику, чтобы она его вела только до конечной станции, а весь порход ему делали эти диспетчера, так будет много проще). Тогда, ДНЦ станции В "берет" график станции Б и смотрит все время прохода поездов. А там, скажем, в 10:10 должен прибыть пасс, который стоит 5 минут. В данный момент он едет, скажем по станции А. Тогда ДСП станции В рассчитал время движения грузовика до станции Б +2 минуты на заход набок, и понял, что грузовой будет там в 10:08. Тогда переменная=тру, собираем набок. Уехал грузовик набок, пропустил пасс, теперь уже ДСП станции Б смотрит график станции А, там, скажем есть пасс, который должен пройти в 10:23, считает время движения грузовика, не успевает, тогда переменная=фалс, все стоим. Только пасс прошел по станции Б, ДСП снова запрашивает и так далее. Таким образом можно решить сразу много проблем, с командами машнистам и маршрутам.

    В-общем, мне кажется, что без графика не обойтись. Мне, как ТРам меня назвал "пассажирщику", график реально важен и пассы для меня приоритетнее, но такой вариант будет приемлим и для "грузовиков" и для "пассажирщиков". Если идея понравится, то я могу расписать алгоритм подробно, может, даже, блок-схему нарисую.

  6. #4
    Пользователь Аватар для Oleg13
    Регистрация
    07.07.2011
    Страна
    Адрес
    Киров
    Сообщений
    686

    По умолчанию

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

  7. #5
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432
    Автор

    По умолчанию

    Цитата Сообщение от B.U.G.O.R. Посмотреть сообщение
    так же берет этот же график, определяет все скорости, время прохода и прочее
    как раз в определении времени прохода большие сложности. Система управления (и автомашиниста, и ботомашиниста) слишком сложна, чтобы точно рассчитать время проследования перегона. Не говоря уже об обратной задаче (прийти вовремя, не зная какие ограничения скорости будут на участке и не зная с каким ускорением замедляется/тормозится состав).

    Уехал грузовик набок, пропустил пасс, теперь уже ДСП станции Б смотрит график станции А, там, скажем есть пасс, который должен пройти в 10:23, считает время движения грузовика, не успевает
    а если грузовых на перегоне два, за пассажирским ещё грузовой, а боковой путь всего один?

    ЧЕм оно должно принципиально отличаться от БОКа
    Ботомашиниста или чего? БОК всего лишь рандомный распределитель команд машинистам, которые "освободились от предыдущего этапа действий". При этом сами действия надо в любом случае задавать вручную. Потому только ты можешь указать, где у тебя находится парк отстоя поездов, какие машинисты сидят на маневровых и должны его вытягивать, а какие на поездных и должны его везти.

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

    Не говоря уже о приколах на узлах, типа "поезд сообщением Львов-Запорожье свернул не туда, и вместо Запорожья прибывает в Днепропетровск".


    P.S. в твоей идее ещё нету переключения перегона, выделения путей, где должны останавливаться грузовые, а где пассажирские, а также наборов команд "как правильно ехать в депо", "как правильно проследовать развязку узла", "каким локомотивам можно под этот поезд, каким нельзя" и т.п.

    ---------- Сообщение добавлено в 21:35 ---------- Предыдущее сообщение размещено в 21:35 ----------

    Цитата Сообщение от Oleg13 Посмотреть сообщение
    Володя, ты лучше сделай как-нибудь ,чтоб маневровые не закрывались, а то мне на горке неудобно до сих пор.
    имеешь в виду во время расцепления?

  8. #6
    Разработчик Аватар для B.U.G.O.R.
    Регистрация
    07.02.2010
    Адрес
    Montenegro
    Возраст
    30
    Сообщений
    8,379

    По умолчанию

    Цитата Сообщение от TRam_ Посмотреть сообщение
    как раз в определении времени прохода большие сложности.
    Грубо говоря:
    t(2)-t(1)=dt 'Время прохода второй станции минус время прохода первой станции равно разница времени
    v=s/dt' Скорость = расстоние делить на время.
    Далее определяем ближайшую скорость из команд Эрендира и суем ее в список команд, не знаю, как это записать в скрипте. Потом даем "двигаться к" след. станции. И так далее, до упора.
    Не получится?
    Цитата Сообщение от TRam_ Посмотреть сообщение
    Ботомашиниста или чего? БОК всего лишь рандомный распределитель команд машинистам, которые "освободились от предыдущего этапа действий". При этом сами действия надо в любом случае задавать вручную. Потому только ты можешь указать, где у тебя находится парк отстоя поездов, какие машинисты сидят на маневровых и должны его вытягивать, а какие на поездных и должны его везти.
    Понятное дело, речь и идет о том, что локомотив вышел из депо, встал в тупик под состав, далее маневровый (который может работать базовыми командами) вытянул состав, локомотив прицепился, а дальше какая-нибудь команда, которая ловит команды из этого графика.
    Цитата Сообщение от TRam_ Посмотреть сообщение
    А то утрированно получается так: машинист ЧС4т отправился вытягивать свой поезд из пассажирского парка отстоя, который неэлектрифицированный.
    Или так: машинист проходящего поезда прибыл на тупиковый путь и не может ехать дальше.
    Ваще не понял, как это может произойти? Зачем локомотиву задавать все работы с составами? Он делает свою работу, везет состав.
    Цитата Сообщение от TRam_ Посмотреть сообщение
    Не говоря уже о приколах на узлах, типа "поезд сообщением Львов-Запорожье свернул не туда, и вместо Запорожья прибывает в Днепропетровск".
    А это уже берется из того же графика. Скажем, если после Отрожки идет Придача, то маршрут по Отрожке собирается по Ростовскому парку, если Сомово, то маршрут собирается по Мичуринскому парку. Это надо отдельно вписывать в маршрутизации.
    Цитата Сообщение от TRam_ Посмотреть сообщение
    P.S. в твоей идее ещё нету переключения перегона, выделения путей, где должны останавливаться грузовые, а где пассажирские, а также наборов команд "как правильно ехать в депо", "как правильно проследовать развязку узла", "каким локомотивам можно под этот поезд, каким нельзя" и т.п.
    Тю, ну так это же очевидно. правильно ехать в депо берется совсем не отсюда, это берется из вашей же обычной маршрутизации, никакого отношения к графику оно не имеет. Проследование развязки отдельная песня. Тут надо отдельно выписывать маршруты (соберутся они автоматом маршрутизацией, или же впишутся вручную, как у меня — дело ваше), а дальше в зависимости от движения поезда собирается тот или иной маршрут. Выбор локомотива должен быть продиктован, грубо говоря командой, когда локомотиву, собственно, пора тянуть график. Когда он выполнил все свои необходимые маневры, и вот стоит с составом.. тут даже лучше было бы не так, было бы порсто идеально, если бы составу можно было бы приписывать номер прямо с свойствах вагонов. Тогда график ставится тот, который должен быть, собственно под номером. А локомотивы тупо не должны подъезжать под номера, которые им не положены.

  9. #7
    Пользователь Аватар для CFM
    Регистрация
    05.10.2009
    Страна
    Адрес
    Кишинёв
    Возраст
    33
    Сообщений
    1,345

    По умолчанию

    Цитата Сообщение от TRam_ Посмотреть сообщение
    как раз в определении времени прохода большие сложности. Система управления (и автомашиниста, и ботомашиниста) слишком сложна, чтобы точно рассчитать время проследования перегона. Не говоря уже об обратной задаче (прийти вовремя, не зная какие ограничения скорости будут на участке и не зная с каким ускорением замедляется/тормозится состав).
    Для этого нужно знать перегонные времена хода для каждой категории поездов. Для пассов вычисляется по служебке, для остальных - тестом.
    [B]Уже давно не ищу чертежи и размеры кабины ТЭ10М[/B]

  10. #8
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432
    Автор

    По умолчанию

    Цитата Сообщение от B.U.G.O.R. Посмотреть сообщение
    Далее определяем ближайшую скорость из команд Эрендира
    не, ограничение то можно вбить. Но тут ты не учитываешь "время разгона и торможения", которые у разных поездов довольно сильно отличаются. Команды добавлять с помощью внешнего скрипта можно.

    Для этого нужно знать перегонные времена хода для каждой категории поездов.
    на каждом из перегонов карты. Просто они ещё зависят от веса поезда (о грузовых).

  11. #9
    Пользователь Аватар для CFM
    Регистрация
    05.10.2009
    Страна
    Адрес
    Кишинёв
    Возраст
    33
    Сообщений
    1,345

    По умолчанию

    Цитата Сообщение от B.U.G.O.R. Посмотреть сообщение
    Начнем с простого определния — пассажирские должны следовать графику, грузовые должны вклиниваться.
    Грузовые тоже следуют по графику, кстати.
    [B]Уже давно не ищу чертежи и размеры кабины ТЭ10М[/B]

  12. #10
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432
    Автор

    По умолчанию

    Цитата Сообщение от CFM Посмотреть сообщение
    для остальных - тестом.
    как сейчас представлю - запускается специальная сессия, в ней автоматически генеирируются грузовые поезда, запускаются от одной станции до другой и их времена складируются в отчёт, в jetlog.txt .

    Потом надо долго и нудно сидть в редакторе и заполнять таблицу времён хода . А всё потому что в редакторе поезда не ездят.

    ---------- Сообщение добавлено в 00:56 ---------- Предыдущее сообщение размещено в 00:54 ----------

    Цитата Сообщение от CFM Посмотреть сообщение
    Грузовые тоже следуют по графику, кстати.
    не всегда. Но если есть свободная или выделенная нитка - естественно её диспетчер использует.

+ Ответить в теме
Страница 1 из 8 1 2 3 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения