-
Перенёс сюда пока что. Не помогло. :(
Пока пусть тут полежит, пока разберёмся, в чём дело.
На будущее: если некому прибраться - надо звать дворника. Т.е. если будут подобные вопросы, типа прибить/перенести/закрыть/открыть тему - киньте сообщажку в приват (лучше всего, со ссылочкой на тему) - я, или кто другой из офицеров - придём и разберёмся. Ну не можем мы весь форум просматривать - времени не хватат!
-
Да вот я давно говорил что chp один раз пришел, навёл свой порядок и теперь даже не появляется..... НУ ВООБЩЕ! Зачем это надо было делать???
Этот глюк меня тоже не радует - фигня какая-то... :(
-
да прибейте уже эту тему, толку от неё всёравно 0 и сделать дома ФФ нереально.
-
Очень даже реально. Только терпение требуется и настойчивость.
-
хм...да и пару станков метал.-обрабатывающих ещё...+нехилые знания в схемотехнике...
-
CHP, спасибо, вопросы отпали. Сделал как было.
-
Ответ: А как устроен ForceFidback?
не с того вы начинаете
начинать лучше с протокола FFB - какие возможности он предоставляет
а тот FFB, который на моторчиках по моему просто неприменим в авиасимуляторах
- в РУС самолета ВОВ менялось сопротивление отклонению от центра
поэтому правильнее именно изменение жесткости центрирующих пружин
+ вибратор в ручку и под задницу
-
Ответ: А как устроен ForceFidback?
Как то эта тема заглохла...
Надо все-таки найти доку на DirectX в Feedback. Тогда будет известен тот потолок возможностей, которые можно реализовать в джое. Программеры откликнитесь!
-
Ответ: А как устроен ForceFidback?
могу потрясти ДДК, но кто разбираться/писать/тестить будет? у меня сейчас времени нету.
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от VGV
могу потрясти ДДК, но кто разбираться/писать/тестить будет? у меня сейчас времени нету.
В какой-то степени могу я помочь. С временем у меня тоже туговато, но что-то постараюсь придумать. Меня самого этот вопрос давно интересует. Правда, несколько в другом ракурсе - "руль и педали". Но насколько я понимаю - принцип один и тот же. Механику я уже сделал (правда пока без Fidback), все цельностальное. А в плане собственно протокола Fidback пока ничего конкретного не нашел.
PS: С контролерами/электроникой у меня полная дружба, так что думаю есть шанс чего-то достичь. Ответ лучше в мыльницу.
-
Ответ: А как устроен ForceFidback?
С годик назад я вплотную занимался этим вопросом. FFB проще реализовать на USB.
От драйвера приходит инфа о том какой эфект, с какими параметрами и длительностью надо его "воспроизвести". В спецификации ЮСБ довольно подробно описаны все эфекты.
Допустм с "низу" всё написано, железо есть, моторчики не сгорают... а что "с верхом"? А на "верху" должен быть драйвер поддерживающий ФФБ. Можно использовать готовый от когого нибудь брендового джоя, тока нада под него подделаться. Этого легко достигается использованием VID и PID от этого джоя. Но и естественно его протокол надо выдержать. Хорошо, что для ФФБ используются отдельные конечные точки (endpoints).
А можно свой драйвер написать - получим бОльшую гибкость, но не меньше головняков.
Самое сложное - грамотно железо сделать и моторчики подобрать, а схему управления и ФФБ программу на контроллер не сложно.
В любом случае отталиваться нужно от железа...
-
Ответ: А как устроен ForceFidback?
а драйвер HID не поддерживает FFB ?
на моторчиках FFB делать абсолютно бесполезно - ни летать ни стрелять будет невозможно
происходит это из-за обратной связи - человек тянет ручку на себя - контролеру нужно
менять усилие на моторчике - но делает он это не мгновенно - человек пытается
скоректировать изменение усилия - опят контролер - человек - возникают колебания
из-за подобного эфекта почти нереально прицелится
в общем нужно менять жеткость пружин
у меня была идея прицепить пружину к каретке, которую через червячную передачу
таскает шаговый двигатель
в результате можно реализовать "провисание" и затяжеление ручки
-
Ответ: А как устроен ForceFidback?
По-моему, HID не поддерживает FFB - а то не парились бы тогда разработчики со своими дровами...
Все ФФБ джои сделаны на моторчиках. Сам ФФБ джой не юзал, поэтому ничё против/за моторчиков сказать не могу.
Я тоже за пружины, управляемые шаговиком (недавно такая мысля тож посетила).
"провисание" и затяжеление ручки - предусмотрены ФФБ протоколом. Но по-моему он (протокол ФФБ) под моторчики писался.
На пружинах будет тяжело резкие эффекты воспроизводить - пружины сгладят.
Опять же нужно железо, которое бы обеспечило необходимые усилия и скорость - на пружинах наверно трудновато будет реализовывать, хотя я могу ошибаться.
-
Ответ: А как устроен ForceFidback?
по поводу HID - очень жаль - в драйверах я совсем не разбираюсь
резкие эфекты и не нужны
основные эфекты в самолете - изменение усилий на ручке
+ вибрация ручки - что лучше сделать в виде отдельного моторчика с эксцентриком
-
Ответ: А как устроен ForceFidback?
Похоже, что засохла веточка, но парочку мыслей выложу:
Что до нежелательности использовать моторчики, то это смотря как использовать.
Предположим, что мы завели на моторчик инвертированный сигнал рассогласования, пропорциональный разности между текущим положением РУС и нейтралью. В результате, моторчик всегда будет стремиться вернуть ручку в исходное состояние. Причем скорость его реакции ограничится только массой подвижных частей и максимальным развиваемым моментом вращения (сопротивлением воздуха можно пренебречь).
А вот управляя УСИЛЕНИЕМ в канале рассогласования, мы сможем изменять и УСИЛИЕ (простите за каламбур) с коим мотор будет противиться отклонению ручки. Есть тут проблемки, вроде самопроизвольных колебаний РУС возле средней точки, но думаю, что это решаемо. Хотя, для домашних условий, вариант с управляемой пружиной может оказаться более технологичным.
Сложнее получить эту самую информацию о необходимом усилиении. Если дело касается ИЛ-2, то данные о продольной скорости, а значит, и о усилии на ручке, можно получить через devicelink. Кстати там же можно взять данные и для более сложных вычислений, например учитывать обдув рулей винтом и т.д.
-
Ответ: А как устроен ForceFidback?
Эти товарищи сделали FFB http://www.immersion.com/gaming/
Там проц стоит, который эффекты реализует.
Получится ли сделать аналогичный - ХЗ.
Может проще-дешевле взять от джоя, поставить моторы и электронику помощнее да к хорошей механике...
С пружиной летать - это не такой уж и Real
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от mrFox
а драйвер HID не поддерживает FFB ?
на моторчиках FFB делать абсолютно бесполезно - ни летать ни стрелять будет невозможно
происходит это из-за обратной связи - человек тянет ручку на себя - контролеру нужно
менять усилие на моторчике - но делает он это не мгновенно - человек пытается
скоректировать изменение усилия - опят контролер - человек - возникают колебания
из-за подобного эфекта почти нереально прицелится
Да ну, вы товарищ вапще нормальный джой с фидбеком в руках держали?
как по вашему все остальные (не в джоях, а во всей остальной электронной и механической технике) автоматизированные системы управления работают то? Они наверное бедные просто не знают что вы тут придумали :)
Колебания в виду неправильной ОС или задержки системы элементарно устраняются точной настройкой АСУ (автоматизированной системы управления)
Судя по ощущениям от FFB джоя я могу предположить что фактически он состоит из двух каналов АСУ на каждую ось
Первый канал дает равномерное увеличение тока через мотор в зависимости от угла отклонения ручки. Второй канал, сам фидбек собственна, в случае когда нужно обработать эффект вносит дополнительное усиление в первый канал (или ослабление) вот это и обсчитывает микроконтроллер джоя, в ос6новном, и здесь имеет место быть эффект запаздывания, но настолько малого что на глаз это не ощутить. Поскольку каналы не имеют общей ОС (обратной связи) то никаких колебаний не будет и не бывает.
С интересом читаю данный топик, поскольку у меня давно есть идея реализовать схему загрузки РУС на подобном принципе. То есть фактически собрать схему первого канала, там цифровой обработки не надо, а достаточно мотора, резистора и усилителя тока на транзисторах. Мало того с такими вещами я довольно много сталкивался когда служил инженером РЛС там все построено на системах АСУ.
А вот когда драйвер будет и станет ясно как ИЛ выдает фидбечные команды, можно будет этой схеме и схему фидбека собственно добавить, там уже МК придется ставить, хотя если делать на COM порту то можно обойтись и без него, Чиста программный фидбек :)
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от LeonT
А вот управляя УСИЛЕНИЕМ в канале рассогласования, мы сможем изменять и УСИЛИЕ (простите за каламбур) с коим мотор будет противиться отклонению ручки. Есть тут проблемки, вроде самопроизвольных колебаний РУС возле средней точки, но думаю, что это решаемо.
Усилие это ток текущий через обмотку мотора, че сильнее повернут эталонный резистор тем он выше соответственно тем сильнее сопротивляется мотор. Так что достаточно просто завести на мотор инвертированный и усиленный сигнал рассогласования.
Никаких колебаний НЕ БУДЕТ, для устранения подобных эффектов применяются разделение схемы управления на грубый и точный каналы, один действует при больших углах рассогласования другой при малых. Что вы тут велосипед изобретаете, прочитайте любую ВУЗовскую литературу по системам АСУ
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от MaxPayneRUS
...Так что достаточно просто завести на мотор инвертированный и усиленный сигнал рассогласования.
Никаких колебаний НЕ БУДЕТ...
Что-то слабова-то у вас знаний о системах АСУ. Одна и таже система, но с разной ОС может быть стабильной, а может переходить в устойчивые колебания.
Доказано эмпирическим путем джойстик с FFB может входить в режим колебаний в случае реализации им (джоем) эффекта пружины. У меня джой с FFB, я знаю о чем говорю. Конечно, введя правильную ОС, от этого можно избавиться, но в готовом джое это не реализуешь.
Правда, самому можно сделать и без перехода в колебания
Кстати, эта проблема на MSSW2 решена установкой фотодатчика - убираешь руку - усилие моторов снимается.
-
Ответ: А как устроен ForceFidback?
Отстой выйдет. Норамльный FF не делается всякикми стандартными геймерскими функциями игры. Для нормально FF нужно знать:
Тип самолета , его массу , площадь элеронов , скорость самолета. Далее от этих параметров идет расчет усилия на ту конструкцию джоя и подвески которая применена в данном случае. Расчет делается микроконтроллером FF части.
Далее на мотор. Это в идеале. Как это сделать на практике - незнаю. Да и никто так сложно не делает.
А работает это таким образом - игра дает джойстику комманду - типа удар слева . Удар номер 3. Типа средней силы . Контроллер джоя врубает алгоритм такого удара и начинает вращатся мотор. В джое вшита таблица таких вот эффектов - типа удары , столкновения и тд. Их огромная куча. И патентуют как раз именно эту таблицу. Но нет никакой взаимосвязи с игрой. Поэтому тактильные ощущения на уровне эффектов без всякой логики. FF такой даром не нужен.
Как сделать правльный FF для FS2004 я примерно знаю. Но возни с механической частью будет немерянно !
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от andrew27
Что-то слабова-то у вас знаний о системах АСУ. Одна и таже система, но с разной ОС может быть стабильной, а может переходить в устойчивые колебания.
Доказано эмпирическим путем джойстик с FFB может входить в режим колебаний в случае реализации им (джоем) эффекта пружины. У меня джой с FFB, я знаю о чем говорю. Конечно, введя правильную ОС, от этого можно избавиться, но в готовом джое это не реализуешь.
Правда, самому можно сделать и без перехода в колебания
Кстати, эта проблема на MSSW2 решена установкой фотодатчика - убираешь руку - усилие моторов снимается.
Ключевое слово здесь МОЖЕТ :) знание нормальное, твердая 4 стояла когда то по АСУ так что нефиг, возрастающие колебания в системе АСУ это частный случай НЕПРАВИЛЬНО работающей системы, когда система ПРАВИЛЬНО собрана и настроена и параметры входных сигналов в норме то никаких колебаний не будет
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от Ezdok
Отстой выйдет. Норамльный FF не делается всякикми стандартными геймерскими функциями игры.
да ну, мне так не показалось :) промышленные девайсы достаточно качественно работают (при нормальной стоимости конечно).
Стремится в этом к ПОЛНОМУ реализму просто глупо на нынешнем этапе прогресса, да и не нужно никому, наверное, задача стоит повторить промышленный вариант а не родить велосипед заново.
А в итоге разговор похож на обсуждение эскимосами вкуса бананов, все видели но мало кто пробовал
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от andrew27
Конечно, введя правильную ОС, от этого можно избавиться, но в готовом джое это не реализуешь.
.
Это еще почему??? Откуда такая уверенность? Почему тысячи промышленных изделий построенные на базе АСУ могут работать, а джой не будет????
ЗыСы
Интересно а что вы думает по поводу телевизоров (ну к примеру)
ща попробую предположить
" телевизоры отстой, они не работают если их включать в радиорозетку :) еще смотреть их можно только с одной стороны и вообще, я тут у одного выдернул антенну так он ваааще показывать перестал.....
....нет ну конечно если его включить в нормальную розетку и подключить антенну, но это частный и редкий случай...." :D
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от Leont
Предположим, что мы завели на моторчик инвертированный сигнал рассогласования, пропорциональный разности между текущим положением РУС и нейтралью.
Цитата:
Сообщение от MaxPayneRUS
Так что достаточно просто завести на мотор инвертированный и усиленный сигнал рассогласования.
Похоже, что мы с Вами, уважаемый MaxPayneRUS, почти единомышленники. :)
А по поводу колебаний - знали бы Вы, сколько сил порою уходило у разработчиков (хорошо знающих ВУЗовские учебники) на то, чтобы заставить систему работать устойчиво! Так, чтобы эксплуатационники потом восклицали: Колебания? Быть их не может! :) Это не в обиду Вам сказано. Просто при САМОСТОЯТЕЛЬНОМ изготовлении FFB у несчастного самодельщика не будет ОЧЕНЬ многого, что есть в любом мало мальски приличном КБ. Даже диплома о ВО может не быть. И все проблемы и ошибки свалятся на него одного, бедного. Поэтому я бы не стал столь категорично исключать возможность колебаний в ЕГО ОТДЕЛЬНО ВЗЯТОЙ, ИНТУИТИВНО СЛЕПЛЕННОЙ КОНСТРУКЦИИ. Тем не менее, все мы, здесь присутствующие, не опускаем своих золотых ручек, и пытаемся чего-то сваять, придумать, порою где-то подсмотреть... Пожелаем же сами себе успехов на этом увлекательном поприще! :)
А если серьезно - думаю, что в самом первом приближении, для FFB достаточно данных о продольной скорости с-та. Падает скорость - ручка "провисла", возросла - ручка "напряглась". Не думаю, что в недорогих FFB джойстиках реализованы более сложные алгоритмы. А для имитации "ударов" хватит и мотора с грузиком.(И вообще,удары лучше не на РУС, а под сиденье заводить :) ) Конечно, через ИЛовский Devicelink можно учесть практически все необходимые параметры, вплоть до обдува рулей винтом, но я бы оставил это "на потом".
PS В Devicelink'е есть и параметр описывающий удары - shake_level.
-
Ответ: А как устроен ForceFidback?
В папке IL-2\ForceFeedback\ лежат файлы отвечающие за эффекты FF. Есть программка FEdit для редактирования этих файлов. Там показан, по-моему, все возможные эффекты. ИМХО, контроллер джое реализует их, тогда как игруха передает команду с параметрами.
Так вот, хорошо это или плохо, но IL2 эти файлы использует плохо - один и тот же файл отвечает за несколько эффектов (shake - тряску на разбеге и флаттер). Сдругой стороны он сам динамически создает нагрузку на ручку. Правда, она зависит от скорости, а от типа самолета слабо. ТБ3 летит медленно, а управляется легко.
В автогонках все эффекты создаются гораздо лучше
В дествительности ничего не мешает сваять реализацию эффектов, но вся проблема в качестве результата.
-
Ответ: А как устроен ForceFidback?
да ну, мне так не показалось промышленные девайсы достаточно качественно работают (при нормальной стоимости конечно).
---
Несовсем понял - тут обсудается переделка джоя или изготовление промышленного агрегата ?
--
наверное, задача стоит повторить промышленный вариант а не родить велосипед заново.
--
Промышленный вариант повторить в дом условиях невозможно. Или о каком промышленном варианте идет речь ? О джое или о серьезных аппаратах с FF ?
Да и потом , чтобы грамотно сделать FF нужно залазить в кишки игры.. Дешевле купить джой с FF , разобрать его и приделать к x45..
-
Ответ: А как устроен ForceFidback?
А какой джойстик из тех что сейчас есть в продаже может сравниться с MSFFB2, так чтобы его вообще можно было бы рассматривать как потенциального "донора"?
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от Ezdok
да ну, мне так не показалось промышленные девайсы достаточно качественно работают (при нормальной стоимости конечно).
---
Несовсем понял - тут обсудается переделка джоя или изготовление промышленного агрегата ?
--
наверное, задача стоит повторить промышленный вариант а не родить велосипед заново.
--
Промышленный вариант повторить в дом условиях невозможно. Или о каком промышленном варианте идет речь ? О джое или о серьезных аппаратах с FF ?
Да и потом , чтобы грамотно сделать FF нужно залазить в кишки игры.. Дешевле купить джой с FF , разобрать его и приделать к x45..
По пунткам, я считаю если делать так делать хорошо, иначе вообще нефиг время тратить.
Поэтому те кто хочет за вечер, не разбираясь в деталях, собрать ФФ из подручных материалов а ля очумелые ручки, могут сразу обращаться в отдел фантастики :)
Реализация промышленных вариантов весьма подходит под соотношение простота и качество, и извращатся с гидравликой это лишнее ИМХО.
....А вообще еще дешевле купить джой с ФФ и выкинуть Х45....
Речь идет не об этом. речь идет о том что любой электронщик (грамотный) сможет создать устройство которое будет аналогично промышленно выпускаемому, вопрос в том что для этого придется взять ручку и бумагу и разработать, мозги подключить, изучить существующие на данный момент технологии. детально разобраться и все получится
-
Ответ: А как устроен ForceFidback?
типа тема сдохла? а я вставлю таки свои 7 копеек. про эффекты (типа spring, shake или как там его), протокол управления как раз вроде для джоев immersion можно почитать в исходниках драйверов ffb для linux (ищется в исходниках ядра). Сам имею джойстик saitek force 3d. там есть свой процессор, датчик на оптопарах и колёсиках с прорезями и моторчики. всё подрублено к ручке через понижающую передачу. у меня есть следующие претензии к обратной связи:
1) демпфирование недостаточно. реализовано оно, скорее всего, программно, для девайса напольного исполнения нужно если не гидравлика (так и представил себе: маслонаполненный картер, маслонасос и т.д. так легко прослыть маньяком), то пневматический демпфер.
2) думается, в реальном самолёте без бустеров дожна ощущаться определённая инерция хотя бы в канале тангажа - руль высоты имеет определённую массу. в джое это не реализовано, и, afaik, будет трудно реализуемо, если вообще возможно.
3) услиле на ручке - отдельно, вибрация - отдельно. я понимаю, что турбулёнтность, что снаряд попал, это важно, но вот зачем сбивать прицел? лётчик такие штуки чувствовать должен совсем другим местом. пара двигателей с эксцентриками и фланцами для креплением к подходящему сидению...
Кстати, в падах sony playstation dual shock есть два моторчика, причём один побольше, а другой - поменьше. разные эффекты заставляют работать их в определённой комбинации. на картинках вскрытых джоев для PC, что я видел в инете, бывает только один моторчик...
кстати, а есть ссылка на внутреннее устройство майкрософтовских джойстиков? а то все их хвалят, а видеть я не видел...
чтобы работать с имеющимся драйвером ffb, можно, пожалуй, и не подставлять vid и pid, а подкорректировать в .inf файле.
похоже, ffb через usb использует тот же протокол, что и ffb через com порт, по крайней мере, так ясно из чтения линуховых исходников.
в общем, пусть ветка не загибается. нефиг.
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от ender
Кстати, в падах sony playstation dual shock есть два моторчика, причём один побольше, а другой - поменьше. разные эффекты заставляют работать их в определённой комбинации. на картинках вскрытых джоев для PC, что я видел в инете, бывает только один моторчик...
...
в общем, пусть ветка не загибается. нефиг.
Про двойной шок - это интересно. Механика очень простая , а эффектов можно получить много.
Пусть ветка не загибается!
После MJoy прошло уже полтора года. Пора какой-нибудь светлой голове (чур, не моей :) ) разобраться с фидбеком!
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от GO!
Про двойной шок - это интересно. Механика очень простая , а эффектов можно получить много.
Пусть ветка не загибается!
После MJoy прошло уже полтора года. Пора какой-нибудь светлой голове (чур, не моей :) ) разобраться с фидбеком!
дык, it's a sony ;)
я думаю, разбираться не особо тяжко, родил бы кто светлую идею, как из автозапчастей, мебельной фурнитуры и деталей от холодильника сделать нормальную систему фидбэка - бесследно бы это не прошло :) а то есть много на форуме идей про напольные джои и т.д., но где фидбэк?!
или ты имеешь ввиду: сделать для mjoy поддержку vibration feedback? ;)
-
Ответ: А как устроен ForceFidback?
Один товарищ сделал напольный джой с FFB. Взял внутренности от MS SW2, поставил доп редуктор чтобы сопротивление адекватное было.
http://forum.sukhoi.ru/showpost.php?...&postcount=144
Хочу из своего Logitech Force 3D нечто подобное сделать, но не знаю где шестеренки взять для редуктора
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от ender
дык, it's a sony ;)
я думаю, разбираться не особо тяжко, родил бы кто светлую идею, как из автозапчастей, мебельной фурнитуры и деталей от холодильника сделать нормальную систему фидбэка - бесследно бы это не прошло :) а то есть много на форуме идей про напольные джои и т.д., но где фидбэк?!
или ты имеешь ввиду: сделать для mjoy поддержку vibration feedback? ;)
vibration feedback мне нравится только простотой механики. Полный фидбек на моторах конечно круче.
В ветке про контроллер стрелочных приборов обсуждалось получение параметров полета с ИЛа через DeviceLink. А это и есть фидбек! Только нужно направить эти измерения в джой. Недостаток - будет действовать только в ИЛе и только в оффлайне.
Для настоящего фидбека подозреваю нужно написать драйвер самодельного джоя. Или использовать готовый драйвер от промышленного джоя, но чтобы винда не заметила разницы, что джой самодельный, а джой мог принимать от винды команды для фидбека.
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от GO!
В ветке про контроллер стрелочных приборов обсуждалось получение параметров полета с ИЛа через DeviceLink. А это и есть фидбек! Только нужно направить эти измерения в джой.
Разве что для реализации FF-эффектов, не реализованных (или реализованных неудовлитворительно) в любимом симуляторе (альтернативный канал :)).
Цитата:
Сообщение от GO!
Недостаток - будет действовать только в ИЛе и только в оффлайне.
А кому щас легко? :)
Цитата:
Сообщение от GO!
Для настоящего фидбека подозреваю нужно написать драйвер самодельного джоя. Или использовать готовый драйвер от промышленного джоя, но чтобы винда не заметила разницы, что джой самодельный, а джой мог принимать от винды команды для фидбека.
Зачем обманывать Винду? Достаточно, чтобы самодельный джой честно признался ей, какие FF-эффекты он поддерживает. Прикладное ПО общается с таким устройством через DirectInput - стандартное API для устройств ввода - поддерживает устройства Force FeedBack, начиная с версии DirectX 5.0 (если не ошибаюсь). Драйвер писать не нужно.
Детальное описание самих эффектов (и технологии TouchSense в целом) можно посмотреть у разработчика: http://immersion.com/developer/technology/index.php
Для написания своего софта с поддержкой FF - берём у Microsoft DirectX SDK и вперёд (там даже есть редактор эффектов).
Для разработки устройства - берём соответствующую спецификацию USB для данного класса устройств: Physical Interface Devices (PID) и работаем (как обычно, в спецификации есть пример дескриптора).
И будет самый настоящий фидбек :). Только самое сложное - всё же - механика.
-
Ответ: А как устроен ForceFidback?
а есть такие, слышали, электрические полимерные приводы... подаёшь на мочалку напряжение - она сокращается.... если оно коммерчески доступно, то, может, сгодится для центровки? :) а вообще-то, я думал применить соленоид наподобии выталкивающей катушки в автомобильном стартере. берём mjoy, там ещё в avr есть незадействованные таймеры с ШИМ, штуки 4 ключа на MOSFET'ах и т.д. осталось придумать, как это сделать малой кровью :)
-
Ответ: А как устроен ForceFidback?
Гальвани экспериментировал с лапкой лягушки, а нам в самый раз подойдет двуглавая мышца лошади :)
А immersion.com вместо самого интересного выдает 404 :(
-
Ответ: А как устроен ForceFidback?
так мы дойдём до использования мышц пилота :) система как в тренажерах, слегка трясёт электрическим током и мышцы сокращиются :) крепится на предплечье и запястье... только не отвалится ли рука? и не перекачается ли? :)
-
Ответ: А как устроен ForceFidback?
Моторы в обратной связи стоят в мостовых схемах, поэтому в нейтральном положении ток через него минимальный. А при отклонении датчика в сторону возникает сигнал рассогласования, который и заставляет двигатель отрабатывать в другую сторону, и чем больше отклонение, тем больше усилие создает мотор. Он же кстати и заменяет центрирующие пружины. За время использования Saitek CYBORG Evo Force нет никаких нареканий ни на железо, ни на ПО. Все работает так как надо. Усилие регулируется дровами от джоя, поэтому можно для себя подобрать наиболее подходящий вариант. Есть эффект и провисания ручки, и затяжеления. Так что в обратной связи есть толк, и очень большой. Возможно кто-то и не согласится со мной, но я свое мнение высказал. У меня есть настоящая ручка и педали от Ми-8, и создается к ней контроллер, и вот думаю как соорудить на него FB, потому, что уже без этого полеты выглядят нереально!!!
-
Ответ: А как устроен ForceFidback?
Меня вот тут оторвали от любимого занятия, а занятие у меня было - строительство этого самого FF только правильного.
Теория. Устройства FF являются подгруппой устройств HID которые зовутся PID (physical interface devices) :
Читать про HID здесь: http://www.usb.org/developers/devclass_docs/HID1_11.pdf
про раскладку PID здесь: http://www.usb.org/developers/devclass_docs/pid1_01.pdf
Практика: USB слишком медленный для живой обратной связи. Контроллеру командуют какую нагрузку имитировать вязкость/инерция/трение/пружинность(?) и он работает до команды отбой. Либо загружается профиль силы и дается команда на исполнение (с повторением, если надо.)
В большой микросхеме памяти сидят профили часто используемых силовых нагрузок.
В принципе при правильной реализации контроллера правильную загрузку органов управления сделать можно. Формулы смотреть здесь: http://www.servos.com/cldesign.htm
Проблема в том что уровень качества нужен высокий - на ощупь моментально чувствуется фальш, ступеньки и проч. Например, нехватка нагузки при сильных отклонениях чувствуется как проскальзывание (сила вдруг перестает быть пропорциональной отклонению.) Уровень точности в определении скорости движения джойстика (для имитации демпирования) и ускорения (имитация инерции) должен быть очень высокий. Обновление нагрузки на органы - как минимум 300Гц, иначе ощущение, что скребешь ногтями по нейлону - как тонкая пилочка.
Управление моторами постоянного тока примитивнее некуда - при любых скоростях развиваемая сила (момент) ПРЯМО ПРОПОРЦИОНАЛЕН силе тока через мотор. При низких скоростях (это важно!) сила тока пропорциональна приложенному напряжению (мотор = резистор). Все - даже обратной связи по току не нужно. ШИМ меняет напряжение и, если у вас выходные каскады на FET то сила пропорциональна duty cycle ШИМа.
С увеличением скорости наведенная ЭДС начинает отъедать от приложенного напряжения кусок и поэтому ток больше не пропорционален приложенному напряжению.
Я использую весьма приличные моторы (75Вт) и меня мое чудо чуть не прибило один раз когда я его тестировал в режиме автопилота в X-plane и из-зи приличного порыва ветра автопилот крутанул штурвал на все 180 градусов из одного крена в противоположный. Я в этот момент с осциллографом пытался подключиться. Было смешно но очень больно. Вот вам и виртуальность. %)
-
Ответ: А как устроен ForceFidback?
Так - простые устройства работают, у них нет обратной связи по усилию человека, только вычисления на основе координат (соответственно скоростей и ускорений). Более сложные - используют тензодатчики для снятия реальной приложенной нагрузки. Почему? Представьте, что джойстик уже обладает трением и большой инерцией (если использовать большие моторы, то так и получается - шестерни множат инерцию пропорционально квадрату передаточного числа, усилие - только линейно, поэтому шестерни - это плохо)
Так вот, не вводя положительной обратной связи эти, заложенные в устройсто недостатки будут накладываться на имитируемые, так что трение будет сильнее, инерция будет сильнее чем заказанная и т.д. Если попытаться эти характеристики вычесть из имитируемых то возникает нестабильность в виде положительной обратной связи и колебаний, саморазрушения, и т.п.
Сумбурно, но идея понятна - это очень интересная тема!
-
Ответ: А как устроен ForceFidback?
Цитата:
моторами переменного тока
Извини, может ты имел в виду ПОСТОЯННОГО тока, или я не совсем понял твоей задумки?
Цитата:
С увеличением скорости наведенная ЭДС начинает отъедать от приложенного напряжения кусок и поэтому ток больше не пропорционален приложенному напряжению.
На мой взгляд, из-за этого придется управлять моторами через управляемый источник тока.
И еще просьба: кинематику опиши, пожалуйста. Очень интересно.
А по поводу инерции, то таковая есть и у тросов-роликов-управляющих поверхностей реальных с-тов, хотя конечно у разных с-тов она разная, а у джоя будет одна - среднепотолочная, что с точки зрения постройки ПРАВИЛЬНОГО джоя не есть правильно. :)
-
Ответ: А как устроен ForceFidback?
В процессе все этого меня понесло в бесконтакторные трехфазные моторы, т.к. из них можно выжать гораздо большие усилия при той же мощности. Это трехфазные сервомоторы с постоянными магнитами, кто знает. Чтобы просто его прокрутить на один оборот надо подать на него три синусоиды, смещенные на 120 градусов с высокой точностью и все это при токах 5-10А. После долгих битв моторы побеждены, но признаны не подходящими для FF из-за наличия небольшой неравномерности магнитного поля, вызывающего ощущение небольшой волнистости при постоянном приложенном усилии. Вернулись обратно к коллекторным блинчатым моторам - у них нет накакой гребенки. Сейчас заканчиваем штурм USB.
Вот состояние на сегодня.
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от LeonT
Извини, может ты имел в виду ПОСТОЯННОГО тока, или я не совсем понял твоей задумки?
На мой взгляд, из-за этого придется управлять моторами через управляемый источник тока.
И еще просьба: кинематику опиши, пожалуйста. Очень интересно.
А по поводу инерции, то таковая есть и у тросов-роликов-управляющих поверхностей реальных с-тов, хотя конечно у разных с-тов она разная, а у джоя будет одна - среднепотолочная, что с точки зрения постройки ПРАВИЛЬНОГО джоя не есть правильно. :)
Черт попутал! А чего они с одной буквы начинаются :)
Я же говорю, при низких скоростях ток пропорционален напряжению, т.е. с точки зрения контроллера выход ШИМ напрямую определяет момент силы мотора. Петля ОС по току была бы к месту но как ее при импульсной модуляции малой кровью сделать попроще я пока не придумал. У меня уже 12битные ЦАПы для этой цели прикуплены в надежде что я сделаю схему, которая будет сама генерировать ШИМ. Это просто, конечно, пилообразные генераторы, компаратор, т.п. но уж слишком много своими силами делать.
Трудно представить, но невозможно приобрести приличный интегральный 5-10А мост, который бы не имел провала в области малых токов. Пришлось самому делать.
Поскольку я пытался имитировать штурвал то кинематика такая - мотор с длинной осью на которой находится 2000ppr кодер и на конце сидит штурвал. Все стоит на платформе, сидящей на линейных шарикоподшипниках. После первых тестов платформа отложена в сторону и изучается только ось крена пока не будут получено рабочее решение. ОЧЕНЬ не хочется вводить передаточные механизмы по причине не только люфтов, но и быстрого роста инерционности. Поэтому ищутся моторы с максимальным отношением развиваемого момента к инерции ротора.
Я имел в виду ощущаемую рукой инерцию ротора мотора. Там она и так немаленькая, а шестеренки ее множат как квадрат передаточного числа.
Пока у меня усилие около 2-3кг. Нужно бы раз в десять-двадцать больше, но это уже очень серьезный проект.
-
Ответ: А как устроен ForceFidback?
Внезапное озарение: А если сделать так - Питать двигатель через ключ ШИМ, но не от источника напряжения, а от источника тока. Иными словами, управляемый источник тока с двумя режимами: ноль и максимальный ток. Переключая режимы с частотой ШИМ получим...А шут его знает, что получим! Надо попробовать.
PS Есть малоинерционные моторы, но маломощные (МД-0,35) там ротор - пластиковая чашка с залитыми в ней обмотками.
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от LeonT
Внезапное озарение: А если сделать так - Питать двигатель через ключ ШИМ, но не от источника напряжения, а от источника тока. Иными словами, управляемый источник тока с двумя режимами: ноль и максимальный ток. Переключая режимы с частотой ШИМ получим...А шут его знает, что получим! Надо попробовать.
PS Есть малоинерционные моторы, но маломощные (МД-0,35) там ротор - пластиковая чашка с залитыми в ней обмотками.
Поскольку ротор обладает индуктивностью, ток в нем с разгона из нуля в 5А без приложения бесконечно большого напряжения создать невозможно.
dI/dt =V/L
:(
Тренироваться можно на совершенно любых моторчиках, только чем ближе к реализму, тем заметнее скачки тока при переключении коллектора. Кстати, петля ОС по току эту проблему почти снимет.
-
Ответ: А как устроен ForceFidback?
-
Ответ: А как устроен ForceFidback?
Пока лучшими кандидатами выбраны эти:
http://bbmotor.com/products/infranor_-_mavilor/
Опробованы на практике вот эти:
http://www.pmlflightlink.com/motors/GP.html
Скачки комутации по англ. называются cogging, если кому интересно.
-
Ответ: А как устроен ForceFidback?
Кстати, и обычная ШИМ, в области малых усилий даст некоторую нелинейность, обусловленную малой длительностью импульса, и сопоставимым временем нарастания тока в индуктивной нагрузке.
-
Вложений: 1
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от LeonT
Кстати, и обычная ШИМ, в области малых усилий даст некоторую нелинейность, обусловленную малой длительностью импульса, и сопоставимым временем нарастания тока в индуктивной нагрузке.
Для практического применения хватит вполне. См. сравнение интегрального моста (в нем биполярные транзисторы стоя) и самодельного на МОП. По горизонтали - данные поданые на ШИМ, по вертикали - реальное отклонение ротора при калиброваной нагрузке померянное оптическим кодером. Короче говоря, в идеале должна быть прямая. Равновесие - в центре графика.
Не забудь, что есть статическое трение, которое маскирует область слишком малых усилий - чтобы получить маааленькую силу F на ручке мотор должен развить усилие равное (сила трения + F)
-
Ответ: А как устроен ForceFidback?
Цитата:
Сообщение от lbodnar
Для практического применения хватит вполне
Согласен. Тем более, что на реальных с-тах иногда ставят на РУС центрирующие пружины.