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


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

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

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

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

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

Сообщение mahus001 » 14 сен 2015, 20:44

Всем добрый день. Меня зовут Иван и это мой первый пост, поэтому отдельный привет всем обитателям и спасибо создателям и администраторам сего форма.

Пришёл я к вам собственно вот с чем:

Идея:
Мы с другом решили создать симулятор 2dof/3dof (ещё в стадии выбора) с использованием очков Окулус. Идея не нова и реализаций много, но необычность состоит вот в чём.
Мы хотим сами писать демо-сцены и не сложные игры к такому автомату. Сразу хочу оговориться, что оба мы работаем в игровой индустрии, т.е. являемся разработчиками видео-игр и прекрасно
понимаем, что значит сделать демо или игру. Собственно одна такая игра уже готова и шлифуется. На данный момент коммерческого интереса не преследуем, это скорее для себя, но настроены серьёзно.
Пишем на Unreal Engine 4.9

Наше решение:
На данный момент, поверхностно, решение нам видится так. Мы покупаем готовую платформу типа этой - http://simxperience.com/en-us/products/motionsimulatorkits/stage1motionsimulatorkit.aspx
Вешаем на неё кресло, ставим компьютер, подключаем окулус. Компьютер к симулятору подключаем через ардуино. Посылаем данные телеметрии и управляем симулятором самостоятельно, т.е. из физики движка.
Все данные по всем осям он выдает, с этим вроде ок.

Вопросы:
1. Ардуино мы берём для того, чтобы мы могли сами управлять симулятором из нашей игры. Есть ли готовые продукты (софт+железо управления) для симуляторов, которые можно как-то связать с самописной игрой. При этом сократив работу с паяльником до минимума.
2. По ссылке выше преведена готовая американская платформа. Она стоит дороговато, а бюджет само-собой ограничен. Возможно есть что-то похожее и подешевле или возможно кто-то собирает сам.
3. Возможно мы вообще идём не туда и есть более простое и быстрое решение, поэтому большая просьба поделиться своим мнением на этот счёт.

Заранее вам огромное спасибо. Прочитанное на этом форуме уже откинуло много вопросов, если поможете и с этим, будем очень благодарны. Конечно весь процесс буду выкладывать и описывать.
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

Сообщение Death_Morozz » 14 сен 2015, 21:24

mahus001 писал(а):Мы хотим сами писать демо-сцены и не сложные игры к такому автомату. Сразу хочу оговориться, что оба мы работаем в игровой индустрии, т.е. являемся разработчиками видео-игр и прекрасно понимаем, что значит сделать демо или игру. Собственно одна такая игра уже готова и шлифуется.

Ну вы расскажите поподробнее, о том, что сделано и в каких моментах возникла сложность в реализации, например? По ссылке я увидел 2dof проект на актуаторах.

mahus001 писал(а):Есть ли готовые продукты (софт+железо управления) для симуляторов, которые можно как-то связать с самописной игрой.

Можно. Поддержка, т.е. плагин для "поделки" пишется под софт, который, в свою очередь поддерживает платформы разнообразной конфигурации. У нас есть специалисты, которые могут оказать помощь в написании плагина. В данный момент мы поддерживаем софт simtools и работаем над совершенствованием и унификацией ПО и разработкой микропрограммы для управления платформами. Так что, добро пожаловать!

mahus001 писал(а):Конечно весь процесс буду выкладывать и описывать.

Т.е. Ничего не сделано или нет идей? Или я ошибаюсь?
Хочешь сделать хорошо - сделай это сам.
Изображение
Аватара пользователя
Death_Morozz
Фраерок
 
Сообщения: 2839
Зарегистрирован: 11 янв 2007, 23:35
Откуда: Ростов-на-Дону
Благодарил (а): 822 раз.
Поблагодарили: 312 раз.
Баллы репутации: 200
ТехнарьТехнарьТехнарь

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

Сообщение mahus001 » 15 сен 2015, 11:25

Ну вы расскажите поподробнее, о том, что сделано и в каких моментах возникла сложность в реализации, например? По ссылке я увидел 2dof проект на актуаторах.


На данный момент есть игра (гонки на багги), окулус и деньги для сборки симулятора. Сложность возникает сейчас с тем, что мы толком на знаем как построить платформу и привязать её к нашей игре.
Ну и конечно не хотелось бы с горяча бросаться и покупать всё подряд и потом жалеть, что всё могло быть куда проще и дешевле. Ещё один вопрос это какой симулятор собирать, 2 или 3 доф, какие тут есть подводные камни кроме понятной разницы в цене. Поэтому и спрашиваем о том, есть ли возможность собрать по частям симулятор подешевле нежели покупать оборудование в Америке. Вариант сделать с нуля конечно очень привлекателен финансово, но у нас нет возможностей да и желания всё варить самим, для нас легче купить готовые части и собрать вместе.
Можно. Поддержка, т.е. плагин для "поделки" пишется под софт, который, в свою очередь поддерживает платформы разнообразной конфигурации. У нас есть специалисты, которые могут оказать помощь в написании плагина. В данный момент мы поддерживаем софт simtools и работаем над совершенствованием и унификацией ПО и разработкой микропрограммы для управления платформами. Так что, добро пожаловать!


Вот это хорошая новость. Т.е. я так понимаю есть доступ к simtools с внешней стороны и можно к ней прикручивать любой проект? Можно подробнее про то как пишутся плагины под неё, где можно узнать побольше?

Т.е. Ничего не сделано или нет идей? Или я ошибаюсь?

Ну как я писал, почти сделана игра, обкатана под окулусом и есть возможность выводить данные телеметрии. Что касается симулятора, кроме поисков фактически не сделано ничего, но мы стоим уже перед вопросом закупки. Основная идея на данном этапе заставить наше "багги" ездить в симуляторе под окулусом)
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

Сообщение SimAl » 15 сен 2015, 13:47

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

По большому счету Вам SimTools не особо нужен. SimTools просто предоставляет универсальный интерфейс для вывода данных телеметрии для разных игр. Если у Вас нет цели распространять Ваше приложение для использования с другими платформами, кроме Вашей, Вам SimTools не нужен. В зависимости от платформы, прямо в UE откроете UDP или COM (если UE такое позволяет, я не в курсе) порт и будете отправлять данные платформе в нужном формате.

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

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

Сообщение mahus001 » 15 сен 2015, 15:42

SimAl писал(а):По большому счету Вам SimTools не особо нужен. SimTools просто предоставляет универсальный интерфейс для вывода данных телеметрии для разных игр. Если у Вас нет цели распространять Ваше приложение для использования с другими платформами, кроме Вашей, Вам SimTools не нужен. В зависимости от платформы, прямо в UE откроете UDP или COM (если UE такое позволяет, я не в курсе) порт и будете отправлять данные платформе в нужном формате.

Откуда Вы?


Мы находимся в Мурманске. А вот "отправлять данные платформе", имеется ввиду уже например Ардуино/JRK и если да в каком виде они эти данные принимают и отправляют на активаторы? Сорри если вопросы уж очень нубские.
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

Сообщение SimAl » 15 сен 2015, 18:15

mahus001 писал(а):Мы находимся в Мурманске. А вот "отправлять данные платформе", имеется ввиду уже например Ардуино/JRK и если да в каком виде они эти данные принимают и отправляют на активаторы? Сорри если вопросы уж очень нубские.
В каком формате принимаются данные зависит от прошивки. Обычно это строка вида "A100B200\n" - установить двигатель А в позицию 100, В - в позицию 200. Большинство самодельных симов в качестве контроллера используют Ардуино, соответственно в Windows контроллер отображается в виде виртуального COM порта и в этот порт и нужно слать такую строку. В принципе, нет особой сложности прицепить к Ардуино Ethernet/Wi-Fi шилд, соответственно переделать прошивку, и отправлять данные по TCP/UDP, но это никому не нужно, поэтому народ не заморачивается. С JRK не знакОм, поэтому как там с ним обстоит дело я не в курсе.

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

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

Сообщение mahus001 » 15 сен 2015, 18:29

Спасибо за подробный ответ, попробуем собрать.)
Буду попутно выкладывать прогресс и само-собой вопросы, наверняка будут появляться.) Пока ищем платформу на которой это всё забабахать.
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

Сообщение Ale » 16 сен 2015, 08:55

SimAl писал(а):По большому счету Вам SimTools не особо нужен. SimTools просто предоставляет универсальный интерфейс для вывода данных телеметрии для разных игр. Если у Вас нет цели распространять Ваше приложение для использования с другими платформами, кроме Вашей, Вам SimTools не нужен. В зависимости от платформы, прямо в UE откроете UDP или COM (если UE такое позволяет, я не в курсе) порт и будете отправлять данные платформе в нужном формате.

Управление симулятором в общем случае распадается на ТРИ задачи

1 - формирование/поиск в игре/симуляторе на ПК значений "физических" воздействий на модель машины. Как правило перечень этих воздействий сводится к шести стандартным - три ускорения (по трем координатам) и три угла наклона. Эти значения зависят только от симулируемого "мира" - от типа машины, от трассы и т.д.

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

3 - -формирование из готовых значений "управляющей посылки" в формате, который понимает контроллер двигателей и передача этой посылки контроллер через соответствующий интерфейс связи.

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

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

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

Сообщение SimAl » 16 сен 2015, 09:10

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

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

Сообщение Ale » 16 сен 2015, 09:34

SimAl писал(а):Так у топикстартера свое приложение и свой сим (в перспективе).
Соответственно он может собрать все необходимые данные у себя в приложении, оформить в нужный формат о отправить в сим. Если он собирается распространять свое приложение, ему нужна поддержка SimTools. Если делает для себя, либо собирается делать это все проприетарным, ему SimTools ни к чему.

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

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

Сообщение mahus001 » 16 сен 2015, 11:12

Ale, спасибо за ответ.

Собственно продавать не собирались, делали под себя. Но возможно потом мы захотим поделиться нашими демками/играми и тут, наверное возникнут проблемы. Наверное попробуем поработать с simtools.
Собрать данные действительно нет никаких проблем. Учиться передавать уже будем как купим платформу, "на пальцах" конечно это не то. Это что касается пункта 2.
Пункт 3 вроде тоже не сложный если знать формат посылаемых данных.
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

Сообщение Ale » 16 сен 2015, 11:38

mahus001 писал(а):Ale, спасибо за ответ.

Собственно продавать не собирались, делали под себя. Но возможно потом мы захотим поделиться нашими демками/играми и тут, наверное возникнут проблемы. Наверное попробуем поработать с simtools.
Собрать данные действительно нет никаких проблем. Учиться передавать уже будем как купим платформу, "на пальцах" конечно это не то. Это что касается пункта 2.
Пункт 3 вроде тоже не сложный если знать формат посылаемых данных.

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

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

Сообщение SimAl » 16 сен 2015, 14:04

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

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

Сообщение mahus001 » 11 дек 2015, 11:30

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

Фоточки, снимал на сапог, не пинайте)

Изображение
Изображение
Изображение
Изображение
mahus001
Зашел на огонёк
 
Сообщения: 9
Зарегистрирован: 14 сен 2015, 20:10
Благодарил (а): 5 раз.
Поблагодарили: 4 раз.
Баллы репутации: 0

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

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

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

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

След.

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

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

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

x

#{title}

#{text}