Точно , далеко не каждый самолёт можно отриммировать так чтобы он продолжительное время ровно летел .Сообщение от SL PAK
Точно , далеко не каждый самолёт можно отриммировать так чтобы он продолжительное время ровно летел .Сообщение от SL PAK
В симуляторах баланс невозможен ..... или это уже не симулятор .
Выкладываю. Инструкция следует.
Крайний раз редактировалось VVV; 10.06.2004 в 17:21.
Инструкция.
Имеется два режима: горизонтального полета и постоянного угла тангажа, которые включаются кнопками джойстика (по умолчанию 7-й и 8-й), повторное нажатие выключает автопилот. Во втором режиме автопилот пытается поддерживать угол тангажа, который был на момент нажатия кнопки. Джойстик опрашивается каждые 100 мс, так что слишком короткие нажатия могут быть пропущены.
Порт UDP у Ил-2 должен быть 10000. Никаких предосторожностей при работе с UDP не предпринимается, так что включать автопилот можно только во время вылета и обязательно нужно выключать до его окончания, иначе программа зависнет, ожидая ответа на запрос (исправлено).
Управление креном и тангажом идет через программу, поэтому в настройках игры надо установить так, чтобы оси X и Y ничем не управляли.
To AVC:
Алгоритм простой – следящая система с ФНЧ первого порядка в цепи обратной связи. Коэффициент усиления и постоянную времени фильтра подбирал на глаз.
Конечно, автопилот компенсирует ошибки не до конца. Теоретически их можно сделать сколь угодно малыми, но тогда возникают проблемы с устойчивостью, особенно учитывая, что в игре много самолетов с разными "постоянными времени". Так что по-хорошему, параметры следящей системы нужно подбирать для каждого самолета.
Крайний раз редактировалось VVV; 10.06.2004 в 17:15.
Аааа! Мною управляют!:o
![]()
А как летать то с этим? Он класно первым делом вводит в штопор![]()
Внимание! Это программа опасна для головы!Аааа.... :o
Что за постоянная времени фильтра? Период между замерами? Недопонял.Сообщение от VVV
Частота дискретизации Fs=1/100ms=10Hz. Фильтр синтезировался с нормированной полосой пропускания wc=0.1, отсюда полса пропускания фильтра в герцах: Fc=wc*Fs/2=.5Hz. Следовательно характерное время переходных процессов в фильтре T=1/Fc=2s.Сообщение от ET=Mitya
Крайний раз редактировалось VVV; 08.06.2004 в 12:42.
А нафига вообще такие программы нужны?Сообщение от VVV
Оно у тебя работает синхронном режиме запрос-ответ?
Ты что-нибудь слышал о неблокирующих сокетах?
Ты внимательно читал описание DeviceLink?
"The external application sends a query packet, in reply, IL2 sends back one (or several) packets containing the query result."
Куда ни плюнь, попадешь в праграместа.![]()
Крайний раз редактировалось aeropunk; 08.06.2004 в 13:01.
Чего кричать-то. Для тестовых целей этого достаточно, а исправить проблему - несложно.Сообщение от Vorobey
И вообще какой смысл сейчас ковыряться с программой, если алгоритм управления работает кое-как? Меня сейчас гораздо больше интересует, работает ли система управления на других компьютерах, как она себя ведет с разными самолетами и т. п.
Обмен данными по UDP с DeviceLink неизбежно является частью петли обратной связи. У тебя принципиальная ошибка в организации петли обратной связи, т.е. именно в твоем алгоритме управления. Т.о. ты и тестирование строишь неграмотно. Читаешь только первый ответный пакет. Второй возможный ответный пакет на первый запрос считаешь ответом на второй запрос. Получается полная лажа. То, что это частично сработало - удачное стечение обстоятельств. В следующем патче могут возвращать каждый параметр отдельным пакетом - имеют право, описанию протокола это не противоречит. Пока не организована асинхронная работа с сокетами, ни о каком грамотном использовании/тестировании DeviceLink не может быть и речи.Сообщение от VVV
Крайний раз редактировалось aeropunk; 08.06.2004 в 17:06.
Легко проверить, сколько возвращается ответов на каждый вопрос. Но похоже все-таки один, потому что у меня последовательно опрашиваются углы крена и гангажа, и если бы возращалось несколько ответов, значения перепутались бы.Сообщение от Vorobey
В любом случае, я тестирую не DeviceLink, а систему управления, и по крайней мере у меня она получает данные, которые похожи на то, что должно быть.
Крайний раз редактировалось VVV; 08.06.2004 в 18:02.
Ребенок! Какой ребенок! Чистый, невинный, непорочный!Сообщение от VVV
Он еще не знает, чем заканчивается программирование, основанное на особенностях конкретных реализаций. Уверен, он даже не проверяет коды ошибок. Его мир прекрасен и безоблачен.
Прости, дитя мое, старого занудного воробья. Ступай по избранной тобой дороге. Всему свое время.
Крайний раз редактировалось aeropunk; 08.06.2004 в 20:21.