![]() |
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Суть такова, надо реализовать некий алгоритм действия "автопилота".
Есть начальные данные : Масса транспорта. Макс. допустимая скорость транспорта на прохождении пути. Длина пути в метрах. Сила двигателя. Максимальное время прохождения пути транспортом. Условия простые : У пользователя есть 3 выбора : газ, не жать газ и тормоз Автопилот должен регулировать скорость так, что бы она не превышала максимальную и транспорт пришел во время(т.е не превышая указанного макс. времени , раньше - можно). Если скорость превысила максимальную, то сразу же включается торможения до скорости= 70% от максимальной заданной. я так понимаю надо в один момент времени обрабатывать 3 задачи, в зависимости от действия пользователя. И просчитывать время прохождения , т.е контролировать скорость каждую, допустим, 0.1 с , и регулировать её, в зависимости от расстояния транспорта до конца и текушего времени прохождения. Т.к в физирке я не очень силен, то обратился сюда. Может у вас есть какие-нибудь мысли по этому поводу? Реализовывать буду на C/C++. Плюс надо будет ещё построить график движения транспорта.. |
![]() ![]() |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Очень похоже на то, что задача недоопределена.
В той постановке, что дана, задача может допускать 0, 1 или бесконечность решений. При этом если абстрагироваться от 1 решения как слишком частного случая и заведомо предположить, что решение существует, нет никакого критерия для выбора оптимального. Могу предложить алгоритм, который гарантированно будет давать решение, если есть хоть одно, причем не требующий никакого численного моделирования - достаточно предварительных аналитических рачсетов. 1. Давим на газ, пока не наступит первое из событий: (все вычисляется аналитически) 1.1. пройдена часть пути равная отношению силы торможения с сумме сил торможения и разгона (двигателя) 1.2. достигнута максимальная скорость. 2. Отпускаем газ. 3. Двигаемся с отпущенными педалями (при 1.2. естественно, с постояннной скоростью равной максимальной - при отсутствии трения) 4. Вычисляем путь торможения, как только приблизимся к пункту назначения на это расстояние, давим на тормоз. 5. Отпускаем педали после остановки. |
![]() ![]() |
![]() |
Текстовая версия | 14.08.2025 20:56 |