Space Engineers: Роторная пушка. Обучение нейросети на Keras и первые тесты стрельбы в игре.

preview_player
Показать описание
Продолжаем тему нейронной сети для наведения орудия в Space Engineers.
Сегодня должно уже быть кое-что интересное, в конце стрима даже постреляем с помощью нашего "искусственного интеллекта", а план на стрим примерно следующий:

1. На основании тренировочного датасета, сгенерированного в прошлом стриме, попробуем учить самопальную нейросеть в Python.
2. Потом подключим к делу Keras и Tensorflow, набросаем простую сеть и будем точить ее на видеокарте до минимального отклонения.
3. Пока сеть учится, напишем упрощенный класс нейронной сети на C# в скрипте пушки. В рабочем варианте будет только прямое распространение. Учить и переучивать сетку будем в Python, а в игре она должна просто работать.
4. Скопируем таблички весов из обученной в Керасе сетки в скрипт пушки и протестируем работу скрипта.
5. Ну и наконец-то: первые выстрелы по тестовым целям с наведением ствола нейросетью.

Ссылки
---------------

---------------
Рекомендации по теме
Комментарии
Автор

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

billyjohnny
Автор

Уже 6 лет прошло... Пора создавать СУЗИ из Mass Effect в Space Engineers :)
Да и Нормандию сразу..

lphoenixl
Автор

Разница высот между огневой позицией и целью по высоте компенсируется в прицел по формуле. ДП =(высота цели - высота огневой) /. 001*дальность до цели в метрах

voidvoid
Автор

Очень крутая идея. Я уже придумал как можно это дело применить. Нужна летающая платформа. Чем выше сможет подняться, тем лучше. Артиллерия должна накидывать снаряд сверху.
Это значительно увеличит дальность стрельбы и точность. А так же аннулирует значимость укрытия цели. Даже если она находится за холмом, выше или ниже(в большинстве), то корабль на атмосферниках фиксируется на месте. Наводишь пушку так, чтобы она преимущественно накидывала по вертикальной траектории. То есть так, чтобы снаряд прилетал в цель сверху под углом более 50 градусов. Тогда никакое укрытие кроме крыши цель не защитит. Ну и соответственно сделать дрон, который будет наводить пушку. Это мы уже знаем как. Мне вот еще интересно как же сделать такую шнягу для движущихся целей...

И еще, можно тебя попросить, если не трудно... Я(да и не только я наверное из твоих сабов) слишком глупый для написания скриптов самостоятельно, можешь подробнее рассказать о самонаводящихся торпедах? Я чекал все твои статьи и стримы... Мало что понял... Вот собрал гравидвигатель как ты показывал и все получилось, а с торпедами не могу... Такой колоссальный проект делаю, но без торпед он мало на что годится по своей задумке... Сделай последний стрим, как пользоваться этими ракетами (установить скрипт и настроить его, что переименовывать и т.д.), так же, как ты делал с гравидвигателем. Можешь сделать это после того, как закончишь роторную пушку и гаубицу, но я буду тебе крайне благодарен за торпеды!!! И не только я один...

Skivfuturecreative
Автор

А вот мне интерестно можно ли ее прицепить как корабельное орудие дабы оно с успехом компенсировало перемещение корабля в пространстве и его вращение. сможет?

anonymous
Автор

мужик ты крут.. тебя в оборонку еще не завербовали?

yvzjlru
Автор

Где я могу найти ту пушку в видео, которая стреляет из торпед?

emilp.
Автор

А что, если корректировать недолеты и перелеты, по выстрелам? Типа указали цель, первый снаряд по координатам как есть, второй плюс 2-3 метра третий минус.

Guppikfan
Автор

Не играл в инженеров. Поэтому можно тупой вопрос: реализуем ли тут управляемый снаряд? С какими- нибудь крылышками или ускорителями боковыми?

antonstezhkin
Автор

а что за книжка то можно название пжлста

TheEvilLord
Автор

Касательно турели могу поделится наработками, для БПЛА гиростабилизированной турели с камерой, правда её нужно чуть отдебажить ( добавить таим аут на атмеге в протоколе ) а так всё работает. Код в VS с OpenCV находит Web камеру и выводит изображение в форму, турель управляется мышкой, пробовал устанавливать на неё лазер прицелится можно но сервы были 9g очень слабые ели могли его поднять но прицелится всё равно получалось))).
Было бы интереснее конечно если-бы такая турель обладала гаусс пушкой, раньше я делал небольшую катушечную пушку она довольно простая если, просчитать её баллистику с помощью нейросети можно сделать неплохую турель, так можно сделать много катушечную пушку с оптопарами для включения катушек когда к ним подходит снаряд и одновременно определить скорость снаряда, что ещё нужно скорость ветра можно получить с датчиков (хотя в комнате она не нужна) давление с барометра расстояние с дальномера ( есть лазерные дальномеры на 50м могут померить ) траекторию конечно получать сложно, нужен либо радар либо лидар, но делают даже радио пеленгаторы и снаряд с морячком ( можно даже оптическим ИК диод + камера ) и тоже более менее получают траекторию, зато как это красиво выглядит выстрел по гаубичному из гаусс пушки через всю комнату в кружку с кофем например))).

Касательно FTD если по нему будут стрим могу поделится чертежом Super Thyr. В нём переработана ПРО теперь она сст из эшелонированной обороны: флакторнов, лазеров и ракет, особенно красиво стреляют флакторны когда летят толпы ракет а вокруг них рвутся снаряды ( причём как в настоящем флакторне по временной задержке ) и они потихоньку тоже взрываются. Хотя конечно слишком много ракет они их не собьют поэтому для подстраховки есть лазер. Так получилось что скрипт крылатых ракет не наводится на этот корабль для испытания рядом приходилось ставить другой вот так вот))).

sencis
Автор

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

jquzotz
Автор

Я тут собрал подобие твоего орудия. Штука конечно классная. Решил узнать какое G в игре. Судя по всему Z это высота. Я запульнул снаряд под 70 градусов. Пришлось текстовым панелям дописывать приблуду. чтобы после 1.5 тыс вставленных строк оно переходило к следующей текстовой панели. Таким образом снял 3200 строк лога)
Взял твой питонский скрипт для снаряда. И не понимаю. почему ускорение 9.81 снимается с xyz вектора ускорения? По идее G находится в Z векторе. Я решил отделить вектор Z. Сделал расчет скорости и ускорения. В итоге скорость оказалась линейной, значит что ускорение постоянное. Но вычисляя ускорение оно "болтается" в пределах от -2 до 2.

uqydnmf
Автор

Все хорошо. Только зачем для такого нейросеть?

atomicwar
Автор

Пожалуйста, переименуй Zenit в Elevation, нет сил уже)

cheerkin
Автор

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

Бред, прикручивайть нейросеть к средневековой пушке.. Нарезки нет, пороха на глазок. А нейросеть пусть потеет с попаданием. )

MepTBblYCypoK