Jump to content
Rhard

SmartCopilot - плагин для полёта экипажем.

Recommended Posts

наконец то на авсиме кто-то, кто не создает опросов, не задает вопросов, а ДЕЛАЕТ РЕАЛЬНОЕ ДЕЛО!

Очень отличный проект!

Буду ждать с нетерпением!

Share this post


Link to post
Share on other sites

Интересно, как автор обошелся с проблемой несинхронности устройств а-ля штурвал?

 

- экономия сетевого канала насколько это возможно - сейчас я ориентируюсь на передачу 300 float значений 25 раз в секунду, что даёт ~250 - 300 kbit/s.

Тут важнее не kbit/s, а фрагментация пакетов.

 

На текущий момент я пытаюсь улучшить позиционирование самолёта на SLAVE машине что бы уменьшить дёрганье самолёта при потере пакетов

А с чего бы ему вообще дёргаться, если десяток-другой пакетов даже и пропадёт?

Share this post


Link to post
Share on other sites

Отличная новость! нет слов.

Роман ну про наш с Матвеем "экипаж" думаю ты в курсе. :)

Дёрнуть датарефы — думаю ума у меня хватит, я не силён в программировании, но даже из модных ныне закрытых саслов, можно выудить датарефы через АЦ3Д, просмотрев манипуляторы и анимацию.

Edited by CheAG_Slava

Share this post


Link to post
Share on other sites

Интересно, как автор обошелся с проблемой несинхронности устройств а-ля штурвал?

 Тут важнее не kbit/s, а фрагментация пакетов.

 А с чего бы ему вообще дёргаться, если десяток-другой пакетов даже и пропадёт?

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

 

Несинхронность? Не совсем понял вопрос.. Если о том как управлять самолётом вдвоём штурвалом  - то тут всё просто, управляет только один пилот - дуал импута не будет (пока я даже не думал об этом, возможно потом). Но второй пилот может запросить управление в любой момент и получить его. Обычные переключатели и задатчики будут работать синхронно - эту проблему я решил.

 

Фрагментация? При текущем размере UDP пакета, фрагментации я не замечал. Нужно будет ещё тестировать. 

Share this post


Link to post
Share on other sites

А че дуал инпута не будет?  :D 
Если серьезно, и будет возможность подключать два штурвала по сети по очереди, почему бы не сделать их арифметическое среднее для дуал инпут? И передавать не надо ничего - сказал "Дай я, брось джой неуч!" И усе. 
Конечно мне неизвестно, как оно там все крутится-вертится у вас
 

Edited by skyteacher

Share this post


Link to post
Share on other sites

ИМХО: лучше по кнопке передавать управление, если у неуча шумит джой, может получится каша.

А управление передаётся РУД, РУС раздельно? Или всё сразу?

Share this post


Link to post
Share on other sites

Нужно разробаться пока с основным функционалом, потом возможно что то придумаю с дуал инпутом.. РУД пока передаётся вместе с РУС, но добавить ещё один триггер будет уже не сложно я надеюсь..

Share this post


Link to post
Share on other sites

А че дуал инпута не будет?  :D 

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

Конечно мне неизвестно, как оно там все крутится-вертится у вас

 

потому что один видит ситуацию с задержкой этак 300 мс. каша получится.

Share this post


Link to post
Share on other sites

Рома, хорошая новость, я так понял ты полностью сделал плагин мультиплеера? Тоесть подключатся дефолтными средствами плейна не нужно будет?

Share this post


Link to post
Share on other sites

Рома, хорошая новость, я так понял ты полностью сделал плагин мультиплеера? Тоесть подключатся дефолтными средствами плейна не нужно будет?

Да, подключаться дефолтным мультиплеером не нужно будет..

Share this post


Link to post
Share on other sites

O_O Я так понимаю ты отключал динамику копилота? Для того что бы корректно передавалось местоположение крафта в OpenGL среде?

Share this post


Link to post
Share on other sites

O_O Я так понимаю ты отключал динамику копилота? Для того что бы корректно передавалось местоположение крафта в OpenGL среде?

скорее всего именно так (я ж приводил ссылку на документ, как двигать самолёт).

Share this post


Link to post
Share on other sites

Да, Игорь.. спасибо за ссылки.. Правда на данный момент я пытаюсь это сделать не отключая динамику :shok:  ;)

Share this post


Link to post
Share on other sites

Да, подключаться дефолтным мультиплеером не нужно будет..

Напрасно, имхо, дефолтный копилот решил бы часть проблем, типа этой.

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

 

Несинхронность? Не совсем понял вопрос..

Если используются какие-либо аппаратные органы управления, то они, очевидно, могут оказаться в несогласованном положении. Или расчет исключительно на клаву с мышью?

Фрагментация? При текущем размере UDP пакета, фрагментации я не замечал. Нужно будет ещё тестировать.

Понятно, что для 300флоат это еще не актуально, но ленточка не так уж и далека.

Share this post


Link to post
Share on other sites

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

К сожалению, в дефолтном мультиплеере нельзя использовать только позиционирование или ещё какую либо часть значений.. Он переписывает всё и сразу.. Было бы конечно гораздо проще..

Я надеюсь вложиться в 300 значений.. Вчера посмотрел лог за 10 мин - при моём "ВПН" ни одного пакета отличного по размеру от посылаемого не пришло.. То есть  или пакет теряется, или приходит целиком..  

Edited by Rhard

Share this post


Link to post
Share on other sites

К сожалению, в дефолтном мультиплеере нельзя использовать только позиционирование или ещё какую либо часть значений.. Он переписывает всё и сразу.. Было бы конечно гораздо проще..

Я надеюсь вложиться в 300 значений.. Вчера посмотрел лог за 10 мин - при моём "ВПН" ни одного пакета отличного по размеру от посылаемого не пришло.. То есть  или пакет теряется, или приходит целиком..  

жать пакеты не пробовал?

Edited by inv

Share this post


Link to post
Share on other sites

Пока не пробовал. Если будет мало датареф для нормальной работы, тогда буду думать..

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

То же самое с двигателями. Сейчас я передаю 12 флоат значений - этого достаточно чтобы обеспечить базовый функционал для одномоторника.. 

Share this post


Link to post
Share on other sites

К сожалению, в дефолтном мультиплеере нельзя использовать только позиционирование или ещё какую либо часть значений.. Он переписывает всё и сразу.. Было бы конечно гораздо проще..

Так не мультиплеер, а экстравижн. Поток емнип однонаправленный.

Я надеюсь вложиться в 300 значений.. Вчера посмотрел лог за 10 мин - при моём "ВПН" ни одного пакета отличного по размеру от посылаемого не пришло.. То есть  или пакет теряется, или приходит целиком..

А откуда они могут взяться-то, другого размера? Резаных не бывает - либо весь, либо никак.

паковать пакеты не пробовал?

П-переведи?©

Share this post


Link to post
Share on other sites

П-переведи?©

жать :) rle каким-нибудь.

Share this post


Link to post
Share on other sites

жать :) rle каким-нибудь.

Но к чему такая жестокость?! ;)

Share this post


Link to post
Share on other sites

Резаных не бывает - либо весь, либо никак.

Что тогда фрагментация?

Share this post


Link to post
Share on other sites

Что тогда фрагментация?

фрагментация - разделение пакета роутером на части а потом сборка. (параметр, определяющий, будет ли пакет фрагментирован или нет зовётся MTU = maximum transmission unit). 

обычно mtu 1500, но может быть и меньше, потому ты уже на грани почти.

 

чтобы избежать фрагментации ip датаграмма должен быть не более 576 байт кажется

Share this post


Link to post
Share on other sites

Что тогда фрагментация?

Разобрался.. 1500 байт пакет - на это я и ориентировался изначально..

Share this post


Link to post
Share on other sites

фрагментация - разделение пакета роутером на части а потом сборка.

Роутер не нужен для этого :) Незавидная судьба ждёт длинные пакеты еще в родном компутере.

чтобы избежать фрагментации ip датаграмма должен быть не более 576 байт кажется

Только не пугайтесь - 68 :crazy: Такие точно экзекуциям подвергнуты не будут. В реальности без нужды не стоит делать пакет данных длиннее 1472 байт.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×