MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Необычный проект. Нужны советы.

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Re: Необычный проект. Нужны советы.

Сообщение null » 11 дек 2015, 12:07

mahus001 писал(а):Может кто сталкивался с такой проблемой? подключаем через симтулс, сила стоит 100% в профайл эдиторе.

А например 200% поставить там нельзя? :oops: А как-же на разгон поставить 150%, а на торможение 75% к примеру? Ни разу не запускал его ... что-то еще больше меня от этого симтулс отталкивать начинает. Посижу наверное на старом добром x-sim ;)
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение Ale » 11 дек 2015, 12:38

null писал(а):Ни разу не запускал его ... что-то еще больше меня от этого симтулс отталкивать начинает.

Ну ты прямо "не читал, но осуждаю" :lol:

mahus001 писал(а):Вчера его собрали, попробовали на ЛФС, диапазоны честно говоря огорчили немного, особенно на ускорении и торможении (может правда машина была медленная)).
Видно, что у моторов запаза хода ещё много, а при нажатии газа в пол кресло едва наклоняется назад. Возможно в других играх будет лучше.
Может кто сталкивался с такой проблемой? подключаем через симтулс, сила стоит 100% в профайл эдиторе.


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

Доступ к настройкам мин-макс из Game Engine - Tuning Center. Там можно запустить процесс полуавтоматической настройки лимитов, нажав кнопку [ Capture Min Max ] и проехав по трассе, пытаясь создать максимальные ускорения...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение null » 11 дек 2015, 12:43

Ale писал(а):Ну ты прямо "не читал, но осуждаю"

Ага, согласен, как-то так :lol: :lol: :lol:
Ale писал(а):Доступ к настройкам мин-макс из Game Engine - Tuning Center. Там можно запустить процесс полуавтоматической настройки лимитов, нажав кнопку [ Capture Min Max ] и проехав по трассе, пытаясь создать максимальные ускорения...

Убедил :) Как зашевелится конечно попробую :) после 11.11 долго посылки идут
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение Spirit » 11 дек 2015, 16:09

Ale писал(а):Доступ к настройкам мин-макс из Game Engine - Tuning Center. Там можно запустить процесс полуавтоматической настройки лимитов, нажав кнопку [ Capture Min Max ] и проехав по трассе, пытаясь создать максимальные ускорения...

Там вроде написано проехать аккуратно, избегая сильных ускорений и аварий

3. Drive around the track carefully not to bump walls or hit anything that will skew the results. You should see the new Max/Min values being captured in the Tuning Center window

http://www.xsimulator.net/tuning-centre/
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Необычный проект. Нужны советы.

Сообщение Ale » 11 дек 2015, 16:41

Spirit писал(а):Там вроде написано проехать аккуратно, избегая сильных ускорений и аварий


Ну, возможно. Хотя странно. А если потом ты не будешь ехать аккуратно и ускорения будут превышать лимиты?

Я полагаю, что это как раз величины МАКСИМАЛЬНЫХ отклонений в игрушке, при нормировке на которые на выходе получаются величины в пределах от 0.0 до 1.0 (100%) И уже от этих значений берутся доли для вычисления выходного сигнала для моторов.

Естественно не надо допускать аварий и ударов. Но вот ехать и тормозить и поворачивать надо "хорошо", ИМХО
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение Hitman » 11 дек 2015, 20:25

mahus001 писал(а):Всем привет!)
подключаем через симтулс, сила стоит 100% в профайл эдиторе.


Попробуйте в Simtools Engine / Axes выставить параметры Sway и Surge до 70-80% для игры LFS. Для каждой игры необходимо по своему выставлять настройки осей.
Аватара пользователя
Hitman
Новичок
 
Сообщения: 34
Зарегистрирован: 05 сен 2014, 19:43
Благодарил (а): 24 раз.
Поблагодарили: 12 раз.
Баллы репутации: 1

Re: Необычный проект. Нужны советы.

Сообщение Spirit » 12 дек 2015, 00:26

Ale писал(а):
Spirit писал(а):Там вроде написано проехать аккуратно, избегая сильных ускорений и аварий


Ну, возможно. Хотя странно. А если потом ты не будешь ехать аккуратно и ускорения будут превышать лимиты?

Я полагаю, что это как раз величины МАКСИМАЛЬНЫХ отклонений в игрушке, при нормировке на которые на выходе получаются величины в пределах от 0.0 до 1.0 (100%) И уже от этих значений берутся доли для вычисления выходного сигнала для моторов.

Естественно не надо допускать аварий и ударов. Но вот ехать и тормозить и поворачивать надо "хорошо", ИМХО

Запустил тюнинг центр... Похоже значения можно только уменьшать, так как если ехать без аварий, стандартные значения основных осей, установленные плагином изначально, не превышаются.
Вообще как-то тяжело найти баланс и отмасштабировать каждую силу. По отдельности все работает отлично, но когда смешиваешь все в кучу - получаешь дисбаланс. Еще когда включены одновременно противоположные по направлению силы, вылазит глюк - проявляется это в скачкообразном изменений значений оси от минимума к максимуму. По моим наблюдениям надо иметь хотя-бы 3 оси и разделить противоположные по воздействию силы такие как Roll и Swa/; Pitch, Surge и Heave по раздельным осям... ну или чем-то жертвовать.
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Необычный проект. Нужны советы.

Сообщение Spirit » 15 дек 2015, 18:52

Ну как? Разобрался с тюнинг центром? Я пробовал изменять значения для Heave... если их увеличивать - реакции ослабляются, если уменьшать - усиливаются, но уменьшать особо некуда... для Assetto например стандартное значение 3. Но оно в моем случае избыточно. Значения применяются во время игры - удобно.
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Необычный проект. Нужны советы.

Сообщение Ale » 15 дек 2015, 19:49

Spirit писал(а):но уменьшать особо некуда... для Assetto например стандартное значение 3

Ну, значения ведь не "целые". Там для уменьшения еще вагон возможностей )) вплоть до 0.0001 ;) И дальше
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение Spirit » 16 дек 2015, 00:07

Не успел проверить дробные-аккумулятор сел, но уже опуская до 1 имеем переизбыток. Я выкрутил ось в 100%, а значения установил 5 и -8, при стандартных 3 и -3.
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Необычный проект. Нужны советы.

Сообщение kovewnikov » 21 дек 2015, 03:19

Всем привет, я второй пилот в этом проекте и у меня есть несколько вопросов.
SimAl рекомендует слать данные из игры сразу на com-порт, что я и хочу сделать для начала, чтобы пощупать как работает симулятор, так как разработка в UE ведется на native c++ (с некоторыми надстройками) я могу юзать win api, но проблема что с хардваром я никогда не работал и начинаю разбираться что к чему только сейчас. Собственно текущая задача состоит в том, что мне нужно уметь "играть" с моторами из консоли, посылая значения введенные пользователем. Из этой задачи вытекает несколько вопросов:

Иван, который поставил нам симулятор также отправил соответсвующий конфиг для simtools
Скрытый текст
BPS:500000
DataBits:8
Parity:None
StopBits:1
OutPutBits:10
OutPutType:Binary
StartupOutput: [A<128>][B<128>]
StartHW:10
InterfaceOutput: [A<Axis1>][B<Axis2>]
PacketRate:10
ShutdownOutput: [A<128>][B<128>]
StopHW:10



1)Почему пропускная способность выставляется в 500000, мои поиски привели меня к тому что 256000 - максимальное значение
2)За что отвечают ключи конфига OutPutBits, OutPutType, StartHW, PacketRate, StopHW? В стандартной процедуре установки соединения и записи в com-порт я не нашел для них применения.
3) Если я правильно понял, маска данных для контроллера выглядит таким образом: [A<Axis1>][B<Axis2>]. Что в этой маске значат цифры 128? являются они пороговыми максимальными величинами для моторов?если да, то что будет если я передам бОльшие значения?
4) Как часто я могу слать данные в контроллер, если моя игра имеет фреймрейт 60fps, могу ли я слать данные 60 раз в секуду?
5)Так как я работаю напрямую с контроллером возникает вопрос, могут ли мои параметры быть небезопасными? Я предполагаю, что резкие изменения положения моторов могут привести к износу моторов, какие еще есть подводные камни.
6) Есть ли у кого исходники для подобной задачи, было бы здорово на них глянуть.

Заранее спасибо
kovewnikov
Зашел на огонёк
 
Сообщения: 2
Зарегистрирован: 21 дек 2015, 01:23
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Re: Необычный проект. Нужны советы.

Сообщение Hitman » 21 дек 2015, 09:40

Прошивка в Arduino - http://www.xsimulator.net/community/thr ... post-48122 там в третьем сообщеним есть информация про команды.
Цифры 128 значат - что в начале и вконце игры принять центральное положение. Диапазон движений для моторов 0-255.
Аватара пользователя
Hitman
Новичок
 
Сообщения: 34
Зарегистрирован: 05 сен 2014, 19:43
Благодарил (а): 24 раз.
Поблагодарили: 12 раз.
Баллы репутации: 1

Re: Необычный проект. Нужны советы.

Сообщение SimAl » 21 дек 2015, 13:32

kovewnikov
1)Максимальное значение зависит от преобразователя usb-com, который установлен в Ардуино. Там может и больше мегабита быть. Ну и скорость должна быть реализована в прошивке. Как по мне, это для ардуино многовато, но разработчику прошивки и виднее.
2)Залей этот конфиг в симтулз и посмотри. Судя по названию OutPutBits разрядность выводимого значения, OutPutType система исчисления десятичная/шестнадцатиричная, StartHW пакет, Отправляемый, при старте симтулз, PacketRate период следования пакетов, StopHW пакет при остановке симтулз.
3) По смыслу, вроде должно быть 512, ХЗ, почему 128.
4) В твоей настройке 10мс. Соответственно 60фпс прожует, хотя по хорошему нужно сделать в отдельном потоке, чтобы не тормозить рендеринг.
5)По идее это задание контроллера отсеять опасные случаи, хотя прошивка самопальная, может быть всякое. Как минимум ты можешь сбить настройки пид регулятора. Но в монстрах защита от всего, ничего непоправимого случится не должно.
6) Бери любой исходник для работы с последовательным портом. Тебе даже проще - ничего принимать не нужно, только отправлять. Там две функции из винапи - открыть файл и записать в файл.

Установки любой терминал последовательного порта и потренируйся на кошках.
Аватара пользователя
SimAl
SIMER
 
Сообщения: 379
Зарегистрирован: 22 ноя 2013, 20:03
Откуда: Кропивницкий
Благодарил (а): 58 раз.
Поблагодарили: 258 раз.
Баллы репутации: 128
ТехнарьТехнарь

Re: Необычный проект. Нужны советы.

Сообщение kovewnikov » 05 фев 2016, 14:55

Спасибо за ответы, мы вернулись к проекту после новогодней суеты
Итак с протоколом вроде разобрался, если нужны подробности смотри спойлер.

Скрытый текст
Текущая версия прошивки (v0.7) понимает команды управления моторами имеющие следующую маску:
X 5B Y Z 5D
Где:
X - байт, обозначающий требуемую ось: A,B, C (41-43)
Y - байт, который является флагом в какую сторону осуществлять вращение (вверх-вниз это 1-2 соответственно)
Z - байт, обозначающий требуемое положение мотора (0-255)

* Если Y == 1, то Z идет по-возрастанию (0 - мотор в обычном положении, 255 - максимальное отклонение), а если Y == 2, то по убыванию (0 - максимальное отклонение, 255 - обычное положение).
** то, что указано под *, актуально только для оси A, для осей B и С все ровно наоборот, возможно это фиксится если в исходном коде прошивки раскомментить REVERSE_MOTOR1, но я не вникал


Следующий вопрос о реалистичной переворотов в воздухе. Как реалистично сэмулировать ситуацию, если машина в игре совершает прыжок на трамплине и совершает переворот в воздухе? Допустим, граничное значение крена где-то 30-70 градусов. Пока приходит только решение в лоб: Как только крен влево дошел до граничного значения, резко осуществить крен в противоположную сторону также до граничного значения и постепенно выходить на ноль.
Можно также ввести какую-нибудь зависимость y= f(x), такую, что:

Изображение

где: x - крен в игре, y - крен симулятора

Самый главный вопрос, не сломают ли такие упражения мои актуаторы? Где-то натыкался на информацию о том, что резкие крены выводят их из строя.
Я понимаю, что это техническое ограничение и выше головы не прыгнешь, но может у вас есть какие-нибудь идеи или замечания по эмуляции физики автомобиля, давайте обсудим.
kovewnikov
Зашел на огонёк
 
Сообщения: 2
Зарегистрирован: 21 дек 2015, 01:23
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Re: Необычный проект. Нужны советы.

Сообщение SimAl » 07 мар 2016, 02:37

kovewnikov писал(а):Следующий вопрос о реалистичной переворотов в воздухе. Как реалистично сэмулировать ситуацию, если машина в игре совершает прыжок на трамплине и совершает переворот в воздухе? Допустим, граничное значение крена где-то 30-70 градусов. Пока приходит только решение в лоб: Как только крен влево дошел до граничного значения, резко осуществить крен в противоположную сторону также до граничного значения и постепенно выходить на ноль.
Вообще говоря, на подобных устройствах речь не идет о реалистичности. Для реалистичности 6dof нужно. И математика, чтобы не тупо повторять данные по положению машины, а знать куда и когда рвануть, чтобы имитировать перегрузки. А наши устройства подходят только для того, чтобы было прикольно. :) Я продал одному товарищу симулятор, он поставил, катает людей, снял ролик, прислал мне. Я смотрю - оси инвертированы. Сказал ему, он отвечает: "а людям нравится". И это главное. :) Так что в случае переворота машины, с пользователем, очевидно, должно случится что-то хреновое, чтобы не повадно было. Швырнуть до упора влево, затем вправо, как ты предложил, вполне годный вариант.

kovewnikov писал(а):Можно также ввести какую-нибудь зависимость y= f(x), такую, что:

Изображение

где: x - крен в игре, y - крен симулятора
Такое и так происходит на аппаратном уровне. Поскольку кривошип двигателя совершает круговые движения, а платформа, условно, движется вертикально, то получается что-то вроде половины синусоиды просто из-за механики. Безусловно можно усилить или уменьшить эффект еще программно.

kovewnikov писал(а):Самый главный вопрос, не сломают ли такие упражения мои актуаторы? Где-то натыкался на информацию о том, что резкие крены выводят их из строя.
Не думаю, что даже авторы сима представляют сколько, в каких режимах и при каких нагрузках они проработают. Как сломаются, расскажи. :) Вообще слабое место в червячных редукторах - ведомая шестерня, поскольку изнашивается все время в одном месте. Позитивный момент: если она подохнет в одном месте, можно провернуть выходной вал на 180 градусов и она прослужит еще столько же.

kovewnikov писал(а):Я понимаю, что это техническое ограничение и выше головы не прыгнешь, но может у вас есть какие-нибудь идеи или замечания по эмуляции физики автомобиля, давайте обсудим.
Давай, нужно сделать так: :)
phpBB [video]

phpBB [video]

Но "крышу" даже здесь поймать не получится. Готов взяться за модернизацию. :)
Аватара пользователя
SimAl
SIMER
 
Сообщения: 379
Зарегистрирован: 22 ноя 2013, 20:03
Откуда: Кропивницкий
Благодарил (а): 58 раз.
Поблагодарили: 258 раз.
Баллы репутации: 128
ТехнарьТехнарь

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 142

x

#{title}

#{text}