???
Математика на уровне МГУ

Страница 1 из 2 12 КрайняяКрайняя
Показано с 1 по 25 из 34

Тема: По кривым Х52. Размышления...

  1. #1
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    По кривым Х52. Размышления...

    В принципе тема вполне даже для всех, просто создана для обсуждения одного момента, связанного с кривыми Х52. Назвал так, чтобы ни у кого не возникало желание заходить в тему с мыслью "а сейчас я ему посоветую ту темку, где паяют вон ту схемку и детище Сайтека становится практически идеальном в своей линейности"

    Дело вот в чем. На Х52 старательно борятся с нелинейностью и пытаются для ощущения мира и покоя на душе нарисовать круг в джойтестере. Это факт довольно известный. Вплоть до того, что в результате получают обратную нелинейность, когда ромб вместо круга начинает превращаться в подобие квадрата с закругленными углами.

    Дело вот в чем. Я пытаюсь понять, почему проблема нелинейности не решается выставлением кривых отклика... Например, с кривыми 10-20-30-и т.д. типовой линейный джойстик в Иле фактически рисует этот самый ромб. Т.е. джойстик становится более мягким в центре за счет ужесточения крайних положений. Это, вроде как, то, что имеется на Х52, но в усиленном варианте и усугубляется тем фатком, что джойстик имеет больший ход по сравнению с большенством других, т.е., чем больше ход рукоятки, тем меньше нужно смягчение кривых в центральном положении, т.к. джойстик уже имеет достаточный ход для получения должной точности прицеливания в центре.

    Я рассмотрел типовой ромб, нарисованный на Х52 в джойтестере, принял его за условный круг, т.е. в качестве допущения принял, что самой рукояткой был нарисован именно круг и провел анализ кривых отклика для данного девайса. Как я думаю понятно, джойстик требует выставления кривых из стандартных 10-20-30... во что-то более резкое типа 50-55-60... для увеличения резкости отклика рукоятки в центре.

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

    Вот, что у меня получилось:
    Стандартные линеризованные кривые Ила - 10,20,30 и т.д.:
    26 39 49 58 67 74 81 88 94 100
    Линеризованные кривые "все по 100" (выставлять вручную в
    conf.ini):
    258 194 164 146 133 123 116 110 104 100

    Промежуточные кривые различной степени мягкости, начиная от наиболее
    мягких к наиболее жестким:
    41 54 63 70 76 82 87 92 96 100
    65 74 80 84 88 91 94 96 98 100
    163 141 129 122 116 111 108 105 102 100
    205 165 145 133 124 117 112 108 103 100

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

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

    Данные кривые, в большинстве своем придется выставлять вручную в Conf.ini, т.к. их значения превышают 100, но это, думаю, не слишком страшно

    Далее, может появиться вполне законный вопрос вот по какому поводу: дело в том, что когда производится обратная компрессия значений, особенно, если эти значения начинают подбираться к 300, при этом, при выравнивании, снижается точность джойстика в центральных положениях. Т.е. по идее начинает проявляться дискретность показаний микросхемы. На это у меня соображение довольно простое: Х52 имеет, прямо скажем, избыточную точность по осям (2048, если не ошибаюсь). Даже при слижении точности в 3 раза (кривые порядка 300), эта точность продолжает составлять порядка 600-700 значений, что вполне достаточно, т.е. говорить при этом, что точность значительно снижается, было бы не совсем верным. Еще одним вопросом может быть то, что, мол, это лишь приблизительный подбор, он не позволит точно высчитать значения "круга", т.к. за основу был взят вполне неточный вариант попытки "нарисовать" его рукояткой. На это могу сказать, что точный круг, вообще говоря, не слишком нужен, т.е. джойстик вполне может иметь некоторую нелинейность в том или ином направлении (после аппаратной линеризации возможен эффект того, что сигнал начинает иметь "обратную нелинейность", то, что было описано в начале поста), главное, чтобы эта нелинейность не выходила за рамки разумного.

    Но вполне понимаю, что вопросы все равно остаются. Дело в том, что в центральных положения датчик фиксирует очень малые "значения", т.е. вполне возможно, что в районе слабого сигнала имеет место быть шум. Я не знаком с датчиками Холла и их реализацией в Х52 (например, может влиять цепь питания) и не знаю, имеют ли они свойство "шуметь". Второй момент: уже не раз встречал информацию, что оцифровывающая микросхема тоже неидеальна. Она вполне может сама давать шум, выдавая, например, постоянный шум +/-4 значения. Это, естесственно, уменьшит точность в районе центра и центр может стать достаточно "шумным", чтобы такой метод решения данной проблемы становился довольно нереальным. Но этого я на данный момент не знаю.

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

    И тем не менее вопрос остается: не решается ли проблема хотя бы на условно достаточном уровне таким методом. Просто уже не раз встречал ситуацию, когда, просто например, от обратки отказывались просто по причине того, что ее нужно было вначале грамотно настроить через fedit и, как вариант, вообще удалить эффекты пулеметов и пушек, и в результате чего писали, что обратка "своими детскими эффектами только снижает точность"; или когда РУД 45 называли неудобным из-за неважного расположения качалки (сам РУД кроме качалки, ИМХО, вполне даже удобен), ну и прочего в таком роде.

    Предлагаю обсудить.

  2. #2
    KRT
    Гость

    Re: По кривым Х52. Размышления...

    Я например ставил на свой х52 МАРСы после того как попробовал его после х45.
    Он у меня был их "второй серии" без МЗ.
    Так вот...по ощущениям моим нелинейность требовала крайне осторожной работы РУС...при большом отклонении ручки сваливание наступало, на х45 такого эффекта небыло.
    Поступил просто, вживил туда МАРСы, спасибо Илье, поставил кривые по 100% и получил весьма точный джой.
    Я далеко не снайпер, но попадать стал намного чаще.
    Мне например это решение было проще чем подбор кривых и т.д.
    Крайний раз редактировалось KRT; 21.01.2007 в 22:49.

  3. #3
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

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

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

    Интересно бы посмотреть тестирования людей, у кого Х52 без переделки.
    Крайний раз редактировалось Harh; 21.01.2007 в 14:44.

  4. #4
    Инструктор
    Регистрация
    15.12.2000
    Адрес
    Togliatty
    Сообщений
    1,545

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от Harh Посмотреть сообщение
    Мда... Вот это вот и удивляет, что проще перепаять, чем подобрать кривые. Это как в ситуации, когда человек поменял монитор, вместо того, чтобы подвинуть стол - он оказывался слишком близко от монитора, т.к. не мог его дальше отодвинуть, т.к. тот упирался в стену, а можно было подвинуть стол и таким образом решить проблему. Как я уже сказал, интересно, есть ли прямая разница между перепайкой схемы (или другого аппаратного решения) и софтовыми кривыми?
    Прямая и непосредственная. Хардварные переделки давно работают, а вот математические извращения дальше теоретических выкладок не идут как-то.
    Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!

  5. #5
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от LazyCamel Посмотреть сообщение
    Прямая и непосредственная. Хардварные переделки давно работают, а вот математические извращения дальше теоретических выкладок не идут как-то.
    Удивляет меня это Как я уже сказал, я вполне мог бы понять, если бы описанная мною схема была бы нереализуема по техническим причинам, которые я описал выше, но в ответ я пока увидел лишь "ну нафиг, мне проще перепаять". Извиняюсь за флейм, но это получается из оперы "русские изобретут любой вездеход, лишь бы дороги не ремонтировать". Я вполне понимаю, что аппаратная переделка имеет очевидные плюсы в том, что джойстик можно без проблем считать линейным (или условно линейным), что дает возможность крутить кривые в случае чего более нормальным методом, не выставляя их значения выше 100, также актуально для игр, которые не поддерживают изменения кривых отклика. Но тем не менее, я уже сказал, что тем пользователям, которые "кушают" только Ил на Х52 и не имеют большого желания брать лишний раз в руки паяльник, это бы вполне пригодилось вместо того, чтобы почитав форум "понять", что кроме как аппаратно это не решаемо.

    Я уже сказал, что возможно такая схема нереализуема в принципе из-за технических ограничений датчиков Холла, АЦП Х52 и еще чего-нибудь, что я вообще не учел, но если на то пошло, пусть бы кто-нибудь не поленился и это проверил. А писать намеками на то, что это все "извращение по определению"... Я ведь не только теорию описал, но и привел конкретные значения кривых в различных вариантах мягкости/жесткости.

  6. #6
    Выжидающий Аватар для 2BAG_Karas
    Регистрация
    04.10.2005
    Адрес
    Германия, Дюссельдорф
    Возраст
    49
    Сообщений
    495

    Re: По кривым Х52. Размышления...

    Прописал твои кривые, попробовал на Кобре и Лавке. Кобру стало легче удерживать, Лавке-пофигу. Но общее впечатление-положительные.

  7. #7

    Re: По кривым Х52. Размышления...

    Ну вообщем как я и предполагал... Кривую делать надо выпуклой.... И помоему если посчитать все достаточно точно, то и никакой переделки делать не надо...
    Хммм... Если б еще кто программу сделал, которая сама бы вносила в стандртную кривую требуемые изменения... было бы ваапще замечательно...
    Т.е. заходит юзер в программу... Выставляет КАК ОБЫЧНО кривые, допустим 10 20 30 40, программа уже сама в конфиг заносит 50 40 30 25... Вот размышления для тех кто программер... (я конечно тож программер, но пользуюсь не Х52 =))) )
    Я думаю тот кто делал конектор (там есть в настройках возможность менять кривые, причем с выводом результатов, что то типа того что и в игре... графически... ) были бы не сильно против предоставить исходники...

  8. #8
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от JimmiBV
    Хммм... Если б еще кто программу сделал, которая сама бы вносила в стандртную кривую требуемые изменения... было бы ваапще замечательно...
    Это я бы делать не взялся. Можно уговорить автора Il2 Commander'а (если не ошибаюсь - я ее не пользовал, вроде говорили, что в ней можно прописывать кривые к Илу) дописать модуль в свою программу благо в плане математики все там вполне просто - по-минимуму можно просто галочку "Линеризация для Х52" добавить, не знаю. К слову, есть также возможность обсчета кривых различной степени мягкости для любого джойстика. Сам давно пользую

    Выставляет КАК ОБЫЧНО кривые, допустим 10 20 30 40, программа уже сама в конфиг заносит 50 40 30
    Понимаю. Если не считать софтиной, то обсчет там довольно несложный. Нужно лишь помножить каждый из чисел обычной кривой на соответсвующий ее номеру коэффициент:
    2.58 1.94 1.64 1.46 1.33 1.23 1.16 1.10 1.04 1.00

    Цитата Сообщение от 2BAG Karas
    Прописал твои кривые, попробовал на Кобре и Лавке. Кобру стало легче удерживать, Лавке-пофигу. Но общее впечатление-положительные.
    Которые из них ты поставил?

    На всякий случай для всех еще раз приведу полный список кривых различной мягкости от "Все по 100" до "10-20-30" в поряке убывания:
    258 194 164 146 133 123 116 110 104 100
    205 165 145 133 124 117 112 108 103 100
    163 141 129 122 116 111 108 105 102 100
    100 100 100 100 100 100 100 100 100 100
    65 74 80 84 88 91 94 96 98 100
    41 54 63 70 76 82 87 92 96 100
    26 39 49 58 67 74 81 88 94 100

  9. #9
    Выжидающий Аватар для 2BAG_Karas
    Регистрация
    04.10.2005
    Адрес
    Германия, Дюссельдорф
    Возраст
    49
    Сообщений
    495

    Re: По кривым Х52. Размышления...

    26 39 49 58 67 74 81 88 94 100
    205 165 145 133 124 117 112 108 103 100

  10. #10
    Офицер Форума Аватар для Zorge
    Регистрация
    06.03.2004
    Адрес
    Байконур
    Возраст
    41
    Сообщений
    2,893
    Images
    10

    Re: По кривым Х52. Размышления...

    Вот еще. Паять тут, кривые подбирать...
    Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком.

    Круглые круги на x52 http://forum.sukhoi.ru/showpost.php?...3&postcount=53

    Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть.
    Убрал ромб - все - я теперь с 2 тысячами отсчетов вообще как прилипший к глиссаде летаю - хоть на Кузю, хоть так.
    // 地辟于丑 - Земля рождена в час Быка

  11. #11

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от Zorge Посмотреть сообщение
    Вот еще. Паять тут, кривые подбирать...
    Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком.

    Круглые круги на x52 http://forum.sukhoi.ru/showpost.php?...3&postcount=53

    Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть.
    Убрал ромб - все - я теперь с 2 тысячами отсчетов вообще как прилипший к глиссаде летаю - хоть на Кузю, хоть так.
    Но прошу заметить... Если джойстик новый, и еще на гарантии... То такими действиями мы теряем эту самую гарантию...

  12. #12
    KRT
    Гость

    Re: По кривым Х52. Размышления...

    Мне Илья ставил МАРСы именно тогда когда гарантия была ещё...забил я на это дело...все работает до сих пор без проблем...

  13. #13
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от KRT Посмотреть сообщение
    Мне Илья ставил МАРСы именно тогда когда гарантия была ещё...забил я на это дело...все работает до сих пор без проблем...
    А еще тут на форуме кое-кто говорил, что без проблем приобрел ФФ2 за 40 евро на аукционе, но когда я спросил про стоимость доставки (это действительно интересно, т.к. доставка сама порядка 40 евро стоит), сказал, что ему его друзья бесплатно привезли Когда самому делать и даже джойстик не раскручивал, а он еще и на гарантии, не каждый возьмется. Понимаю, что "кому надо, сделает", но все же...

    Цитата Сообщение от Zorge
    Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком.
    Как я уже сказал, ничего против любой аппаратной переделки не имею, но если берут джой для Ила, не имеют желания в него лезть, то почему бы и не поставить кривые? Хотя согласен, что вариант "переделки" с клеем и болтами действительно звучит довольно просто.

  14. #14
    Офицер Форума Аватар для Zorge
    Регистрация
    06.03.2004
    Адрес
    Байконур
    Возраст
    41
    Сообщений
    2,893
    Images
    10

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от JimmyBV Посмотреть сообщение
    Но прошу заметить... Если джойстик новый, и еще на гарантии... То такими действиями мы теряем эту самую гарантию...
    Во-первых джойстик гарантию может и не потерять - если делать все аккуратно и грамотно - необратимых изменений в конструкцию не вносится - магниты можно точно также вернуть обратно на планочку и планочку вставить. Главное не поцарапать краску на саморезах.
    Пломб я на своем Х52 не заметил.
    Во-вторых я никогда особо не верил в гарантию на просторах РФ (Москву исключаем как отдельное государство).
    В-третьих гарантия мне нужна на джойстик на котором можно летать.
    Лично я в ЛО на ромбовом Х52 летать не могу.
    Ну и наконец мне за 1.5 тысячи км от ближайшего сервис-центра (находящегося к тому же за границей) от этой гарантии абсолютно ни жарко, ни холодно.
    ЗЫ. А переделки - делов полчаса-час.
    Крайний раз редактировалось Zorge; 29.01.2007 в 10:45.
    // 地辟于丑 - Земля рождена в час Быка

  15. #15
    Механик Аватар для Oleg_BS
    Регистрация
    26.07.2002
    Адрес
    Киев, Украина
    Возраст
    54
    Сообщений
    535

    Re: По кривым Х52. Размышления...

    Поздно увидел топик.
    Для сторонников метода решения проблемы с нелинейностью Х-52 путем экспериментов с кривыми, предлагаю свою программку IL2-JoyControl
    Ну почему бы не заняться саморекламой?
    Проект сейчас заморожен в связи с отсутствием свободного времени как такового, т.е. может и допишу когда то кусочек с автоматическим введением коэффициента кривых для 52-го, но не скоро.
    Ну а пока можно воспользоваться тем, что прога позволяет сохранять пресеты.
    Алгоритм примерно следующий.
    1) В окне с перечнем кривых, выбираем требуемую ось (например элероны).
    2) Выставляем в окошечках начальное и конечное значения кривой в диапазоне 0-200. К примеру Начало - 163, конец - 100.
    3) Жмем кнопку "Парабола" (это чтобы меньше ползунки двигать ручками)
    4) Ползунками подгоняем значения к требуемым. (значения в сообщениях выше)
    5) Жмем кнопку "Copy"
    6) Выбираем вторую ось для которой надо установить аналогичные параметры кривой (например Руль высоты)
    7) Жмем кнопку "Paste", при этом значения кривой станут такие же как и для предыдущей.
    8) Сохраняем профайл с именем "Кривая - 80%"
    9) Повторяем п.1-8 для других значений кривых.

    В итоге получаем набор профайлов между которыми можно легко переключаться при необходимости.
    Ну и заодно, хотя бы прикидочно, можно покрутить ручку джоя и по поведению зеленого квадратика оценить на глаз степень "круглости" получаемых окружностей
    Единственное ограничение, ДжойКонтрол работает со значениями до 200 включительно, т.е. 258 в варианте "все по 100" не выставить.
    Чукча не писатель, чукча - читатель.

  16. #16
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

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

  17. #17
    Механик Аватар для Oleg_BS
    Регистрация
    26.07.2002
    Адрес
    Киев, Украина
    Возраст
    54
    Сообщений
    535

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от Harh Посмотреть сообщение
    Да, Олег, если будет время и если программа пользуется спросом, при случае добавь, пожалуйстагалочку коррекции кривых для Х52. По-сути просто добавляется свой коэффициент домножения для каждого значения кривой.
    В части реализации это сделать не сложно. Поставить крыжик и перемножить на коэффициенты это элементарно. Намного большая проблема в том, что изначально прога затачивалась под значения кривых не выше 200, и это значение (200) во многих местах кода используется. Т.е. если добавлять этот функционал то придется перелопачивать достаточно много кода, а сейчас просто нет на это времени.
    Но идею я запомнил, если руки когда нибудь дойдут - сделаю.
    Чукча не писатель, чукча - читатель.

  18. #18
    Инспектор Аватар для А-спид
    Регистрация
    16.12.2003
    Адрес
    Черкесск
    Возраст
    46
    Сообщений
    10,067

    Re: По кривым Х52. Размышления...

    Попробовал сейчас кривые все по 100 по этомй методике. Пока что нравится, совсем другое дело. ИМХО, вполне эффективный вариант
    Аспид - крылатая змея нос имеет птичий и два хобота. Куда летать она повадится, те места опустошит. Живет в горах и убить ее нельзя - только сжечь

  19. #19

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от Zorge Посмотреть сообщение
    Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть........
    Лично я в ЛО на ромбовом Х52 летать не могу.
    Вчера опробовал X52Pro ...
    Джойтестер его вообще не увидел , как не парился, до этого X45 стоял, кажется тестер всё ещё не смог смирится с его утратой .
    Запустил Foxy4, на картинке как и обещали ромбы, типичные и обыкновенные, с X52 сравнить не могу, не имел такого.

    Запустил LockOn, по умолчанию там жуткие кривые стоят, убрал их нафиг, хотя бы в самом LO нелинейность убрал, запустил....
    Ромб не ромб, но полёт просто идеальный, по сравнению с X45 управление НАМНОГО точнее, и "ромбовистость" как-то в глаза не бросается и не мешает.

    В иле то же особо не обращал внимания, хотя.. может с непривычки .

  20. #20
    провокатор Аватар для Мотылёк
    Регистрация
    16.06.2006
    Адрес
    родина 122-мм гаубицы М-30
    Возраст
    41
    Сообщений
    656

    Re: По кривым Х52. Размышления...

    Harh, спасибо! Не от себя лично, но от других. Сам не дожил - переделал по методу Kondor'a. Кстати, не потеряв гарантию.
    Можно я твою методу в свою статью включу? Разумеется, с указанием авторства!
    Довожу до ума Х52

  21. #21
    Зашедший
    Регистрация
    01.02.2007
    Возраст
    52
    Сообщений
    5

    Re: По кривым Х52. Размышления...

    Огромное человеческое спасибо Harh и Oleg_BS. Очень помогли. Ато я на третий день полётов на X52 уже начал отчаиваться. Тем более, что ромбы устранять полностью мне не хотелось, т.к. все мы летаем на ромбах. Даже у кого полностью линейный джостик

  22. #22

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от Harh Посмотреть сообщение
    В принципе тема вполне даже для всех, просто создана для обсуждения одного момента, связанного с кривыми Х52. Назвал так, чтобы ни у кого не возникало желание заходить в тему с мыслью "а сейчас я ему посоветую ту темку, где паяют вон ту схемку и детище Сайтека становится практически идеальном в своей линейности"

    Дело вот в чем. На Х52 старательно борятся с нелинейностью и пытаются для ощущения мира и покоя на душе нарисовать круг в джойтестере. Это факт довольно известный. Вплоть до того, что в результате получают обратную нелинейность, когда ромб вместо круга начинает превращаться в подобие квадрата с закругленными углами.

    Дело вот в чем. Я пытаюсь понять, почему проблема нелинейности не решается выставлением кривых отклика... Например, с кривыми 10-20-30-и т.д. типовой линейный джойстик в Иле фактически рисует этот самый ромб. Т.е. джойстик становится более мягким в центре за счет ужесточения крайних положений. Это, вроде как, то, что имеется на Х52, но в усиленном варианте и усугубляется тем фатком, что джойстик имеет больший ход по сравнению с большенством других, т.е., чем больше ход рукоятки, тем меньше нужно смягчение кривых в центральном положении, т.к. джойстик уже имеет достаточный ход для получения должной точности прицеливания в центре.

    Я рассмотрел типовой ромб, нарисованный на Х52 в джойтестере, принял его за условный круг, т.е. в качестве допущения принял, что самой рукояткой был нарисован именно круг и провел анализ кривых отклика для данного девайса. Как я думаю понятно, джойстик требует выставления кривых из стандартных 10-20-30... во что-то более резкое типа 50-55-60... для увеличения резкости отклика рукоятки в центре.

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

    Вот, что у меня получилось:
    Стандартные линеризованные кривые Ила - 10,20,30 и т.д.:
    26 39 49 58 67 74 81 88 94 100
    Линеризованные кривые "все по 100" (выставлять вручную в
    conf.ini):
    258 194 164 146 133 123 116 110 104 100

    Промежуточные кривые различной степени мягкости, начиная от наиболее
    мягких к наиболее жестким:
    41 54 63 70 76 82 87 92 96 100
    65 74 80 84 88 91 94 96 98 100
    163 141 129 122 116 111 108 105 102 100
    205 165 145 133 124 117 112 108 103 100

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

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

    Данные кривые, в большинстве своем придется выставлять вручную в Conf.ini, т.к. их значения превышают 100, но это, думаю, не слишком страшно

    Далее, может появиться вполне законный вопрос вот по какому поводу: дело в том, что когда производится обратная компрессия значений, особенно, если эти значения начинают подбираться к 300, при этом, при выравнивании, снижается точность джойстика в центральных положениях. Т.е. по идее начинает проявляться дискретность показаний микросхемы. На это у меня соображение довольно простое: Х52 имеет, прямо скажем, избыточную точность по осям (2048, если не ошибаюсь). Даже при слижении точности в 3 раза (кривые порядка 300), эта точность продолжает составлять порядка 600-700 значений, что вполне достаточно, т.е. говорить при этом, что точность значительно снижается, было бы не совсем верным. Еще одним вопросом может быть то, что, мол, это лишь приблизительный подбор, он не позволит точно высчитать значения "круга", т.к. за основу был взят вполне неточный вариант попытки "нарисовать" его рукояткой. На это могу сказать, что точный круг, вообще говоря, не слишком нужен, т.е. джойстик вполне может иметь некоторую нелинейность в том или ином направлении (после аппаратной линеризации возможен эффект того, что сигнал начинает иметь "обратную нелинейность", то, что было описано в начале поста), главное, чтобы эта нелинейность не выходила за рамки разумного.

    Но вполне понимаю, что вопросы все равно остаются. Дело в том, что в центральных положения датчик фиксирует очень малые "значения", т.е. вполне возможно, что в районе слабого сигнала имеет место быть шум. Я не знаком с датчиками Холла и их реализацией в Х52 (например, может влиять цепь питания) и не знаю, имеют ли они свойство "шуметь". Второй момент: уже не раз встречал информацию, что оцифровывающая микросхема тоже неидеальна. Она вполне может сама давать шум, выдавая, например, постоянный шум +/-4 значения. Это, естесственно, уменьшит точность в районе центра и центр может стать достаточно "шумным", чтобы такой метод решения данной проблемы становился довольно нереальным. Но этого я на данный момент не знаю.

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

    И тем не менее вопрос остается: не решается ли проблема хотя бы на условно достаточном уровне таким методом. Просто уже не раз встречал ситуацию, когда, просто например, от обратки отказывались просто по причине того, что ее нужно было вначале грамотно настроить через fedit и, как вариант, вообще удалить эффекты пулеметов и пушек, и в результате чего писали, что обратка "своими детскими эффектами только снижает точность"; или когда РУД 45 называли неудобным из-за неважного расположения качалки (сам РУД кроме качалки, ИМХО, вполне даже удобен), ну и прочего в таком роде.

    Предлагаю обсудить.
    изменил conf.ini.вот что получилось :


    [rts_joystick]
    X=0 41 54 63 70 76 82 87 92 96 100 0
    Y=0 65 74 80 84 88 91 94 96 98 100 0
    Z=0 163 141 129 122 116 111 108 105 102 100
    RZ=0 205 165 145 133 124 117 112 108 103 100 0
    FF=0
    U=0 26 39 49 58 67 74 81 88 94 100 0
    V=0 26 39 49 58 67 74 81 88 94 100 0
    rudder=0 0 0 0 0 0 0 0 0 0 0 0
    elevator=0 0 0 0 0 0 0 0 0 0 0 0
    aileron=0 0 0 0 0 0 0 0 0 0 0 0
    trimelevator=0 0 0 0 0 0 0 0 0 0 0 0
    trimaileron=0 0 0 0 0 0 0 0 0 0 0 0
    power=0 0 0 0 0 0 0 0 0 0 0 0
    1X=0 258 194 164 146 133 123 116 110 104 100 0
    1Y=0 258 194 164 146 133 123 116 110 104 100 10
    1Z=0 258 194 164 146 133 123 116 110 104 100 0
    1RX=0 258 194 164 146 133 123 116 110 104 100 0
    1RY=0 258 194 164 146 133 123 116 110 104 100 0
    1RZ=0 258 194 164 146 133 123 116 110 104 100 20
    1U=0 258 194 164 146 133 123 116 110 104 100 0
    1V=0 258 194 164 146 133 123 116 110 104 100 0


    правильно?

  23. #23
    коренной бомж Аватар для ABM
    Регистрация
    03.02.2005
    Адрес
    Волгоград
    Возраст
    48
    Сообщений
    871

    Re: По кривым Х52. Размышления...

    а кто нить пробовал нарисовать эту самую нелинейность на бумаге?
    у меня Х52 нет, но были похожие страхи с самодельным джоем.
    Берем ниточку с узелком, вяжем её к голове джоя, рядом крепим линеечку, запускаем DXtweak, делаем график - сдвинули РУС на 1 см - записали показатели DXtweak. Астрономической точности не будет, естессно, но в 2-3 прохода вполне достоверную кривую можно получить. После этого уже проще в Иле выставить ползунки для получения реально линейного отклика.
    Автомобиль прежде всего должен ехать. Самостоятельно и хорошо.
    Авиасимулятор - должен летать. Быстро и правильно.
    Остальное - второстепенно.

  24. #24
    провокатор Аватар для Мотылёк
    Регистрация
    16.06.2006
    Адрес
    родина 122-мм гаубицы М-30
    Возраст
    41
    Сообщений
    656

    Re: По кривым Х52. Размышления...

    Я бы занялся, если бы не линейность моего Х52...
    Довожу до ума Х52

  25. #25
    Citizen of the Galaxy Аватар для Harh
    Регистрация
    19.02.2005
    Адрес
    Russia, Chelyabinsk
    Возраст
    42
    Сообщений
    9,397
    Images
    4

    Re: По кривым Х52. Размышления...

    Цитата Сообщение от ABM
    Берем ниточку с узелком, вяжем её к голове джоя, рядом крепим линеечку, запускаем DXtweak, делаем график - сдвинули РУС на 1 см - записали показатели DXtweak. Астрономической точности не будет, естессно, но в 2-3 прохода вполне достоверную кривую можно получить. После этого уже проще в Иле выставить ползунки для получения реально линейного отклика.
    Вместо бумаги и карандаша я взял просто нарисованный кем-то в джойстестере "круг". Потом на компе смоделил, каким должно быть искажение, чтобы вместо круга рисовалась такая ромбовидная конструкция, после просто подогнал коэффициент искажения и получил готовую кривую линеризации. По-смыслу, это как раз то, про что ты говоришь, но сделано быстро и просто. Дело в том, что астрономической точности линейности не нужно в принципе - Ил своими кривыми 10,20,30 как раз задает очень сильную нелинейность, на которую вроде еще никто не жаловался. Просто нелинейность обычного Х52 (у Про она, похоже, ниже) оказалась выше "порога чувтвительности", отсюда весь хай и пошел.

    Как-то я читал статью про MP3 кодер. Так там автор наворотил полной дури просто потому, что не понял суть того, о чем он пишет. В свое время, похоже, просто народ не догадался, что можно все линеризовать цифрами, т.к. точность холлов и дискретность контроллера Х52 это вполне позволяли. В результате родилась куча воплей о нелинейности и методах их линеризации. Я со своими "размышлениями" очень сильно запоздал, сейчас юдям уже проще разобрать Х52 и приклеить пару болтов - вполне могу понять.

    На самом деле я уже много раз видел нарисованный в джойтестере "типа-круг" после переделки по некоторым методикам (это уже довольно давно было). Там было очевидно, что джойстик в результате сделали нелинейным в обратную сторону и он после ромба вместо круга начинал рисовать сглаженный восьмиугольник. Т.е. джой "перелинеризовали".
    Я еще почему создал тему, хотя понимал, что уже большого смысла нет, заметил, что у народа выработался своеобразный рефлекс: если Х52 рисует в джойтестере круг, то это полный экстаз и его надо обизательно добиться на своем экземпляре кажому неленивому. Но в общем случае это совсем даже необязательно. Что Ил, что Локон позволяют регулировать кривые, которые эту нелинейность выравнивают. На это могли наложиться шумы датчиков Холла в центральных положениях, где токи в них слабые (тогда аппаратная переделка однозначно имеет смысл), но пока вроде жалоб не было... Хотя и попробовало, в общем, только два-три человека

    В идеальном варианте моего расчета кривых было бы, чтобы кто-то действительно на обычном нелинейном Х52 нарисовал более-менее идеальный круг (по какой-нибудь форме, например), в смысле, что не просто ручку от балды покрутил - при этом "круглость" довольно сомнительна. В этом случае можно было бы линеризовать кривые так, что отличить поведение "софтово" линериованного Х52 от аппаратного варианта было бы вообще нельзя.

    Но, с чем не поспоришь, аппаратная линеризация лучше тем, что "сделал и забыл" и ни в какие Ил2Конфиги лезть не надо и прописывать там что-то вручную. Вообще, плохо, что в Иле нельзя прописывать кривые более нормальным способом, а не "на ассемблере", как сейчас, когда не все даже понимают, что эти числа значат И чтобы была возможность ставить отклик выше реального отклика джойстика (выше 100, чтобы была возможность линеризации отклика внутри игры. Кстати, еще один момент о кривых: с моей точки зрения кривые для любого среднеходового джойстика, которыми часто делились в инете для Х52 (что линеризованного, что нет) мало подходят, т.к. при его ходе ручки они будут слишком мягкими.

Страница 1 из 2 12 КрайняяКрайняя

Ваши права

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