Управление через интернет

Korogodsky
UncleSam:

и это =) смотрите, что умеет поиск…

Это понятно 😃
Невозможно одновременно и про автопилот читать и все остальное делать, поэтому расчитывал пока у меня там что-то делается народ набросает тут самое основное про автопилот.
За информацию, краткое описание и мысли по поводу алгоритма спасибо!

Вот набросок OSD, элементы можно двигать:

webconnector
Korogodsky:

Вот здесь smalltim-у был предложен интересный вариант автопилота:
Smalltim OSD and autopilot (часть 1)
Реально ли его реализовать?

не стоит заморачиваться (портит этот классный проект ненужными вещами )

Korogodsky
webconnector:

не стоит заморачиваться

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

Я думаю уделить еще достаточно много времени интерфейсу, когда интерфейс будет в общем готов, попробую реализовать что-то типа AI. Может это и будет тупиковый путь, но стоит попробовать. Сделаю так: если через месяц после начала работ по созданию ИИ будет 0 результата, вернусь к созданию автопилота на основе испытанных алгоритмов. А пока пишите идеи как это сделать, только не надо ссылок 😃

webconnector
Korogodsky:

Я думаю уделить еще достаточно много времени интерфейсу

+1

Korogodsky:

попробую реализовать что-то типа AI

не хочется расстраивать но искусственного интеллекта не получится !

он научится и марковить и летать (не возможно сделать так чтобы это учил это нет )

Korogodsky:

А пока пишите идеи как это сделать, только не надо ссылок

к сожалению от программирования очень далек 😦

Korogodsky
webconnector:

к сожалению от программирования очень далек

при создании механизмов ИИ похоже главное - это руководствоваться здравым смыслом…

webconnector:

он научится и марковить и летать (не возможно сделать так чтобы это учил это нет )

Должны быть заложены базовые навыки, не позволяющие причинить себе ущерб, что-то типа инстинкта самовыживания.
Получив положительный или отрицательный опыт, откладываем его в нейронах - записях “базы данных” которые являются сами объектами (подпрограммами). И постепенно обрастаем этими нейронами. Наверное каждая ситуация должна сравниваться со всем полученным опытом, только смущает что весь “полученный опыт” будет проверяться очень долго, но поскольку нам нужно только летать, его может будет не очень много 😃

webconnector
Korogodsky:

Должны быть заложены базовые навыки, не позволяющие причинить себе ущерб, что-то типа инстинкта самовыживания.
Получив положительный или отрицательный опыт, откладываем его в нейронах - записях “базы данных” которые являются сами объектами (подпрограммами). И постепенно обрастаем этими нейронами. Наверное каждая ситуация должна сравниваться со всем полученным опытом, только смущает что весь “полученный опыт” будет проверяться очень долго, но поскольку нам нужно только летать, его может будет не очень много

фантастика блин ! 😁😁 кстати у вас хорошо получается может книжку написать 😉 лучше стандартный автопилот контролирующий висоту и курс

Korogodsky
webconnector:

лучше стандартный автопилот контролирующий висоту и курс

Посмотрим… +/- месяц ничего не решит 😃

UncleSam

Максим, я бы пока на вашем месте не стал заморачиваться на искусственный интеллект.
У нас конечно простейший случай для нейронной сети
входов будет штук 10 - 3 координаты текущие, 3 координаты конечные, текущие скорость, крен, тангаж, рысканье (возможно стоит еще добавить последнюю корректировку курса чтобы ввести обратную связь избегая ухода системы в колебания)
выходов четыре - руль высоты, руль направления, элероны, тяга двигателя.
Реализуется на стандартных библиотеках на раз.

Это единственный плюс, теперь минусы.
Главное отличие нейронной сети от алгоритмов в том, что система не дает 100% результат. Ты никогда не сможешь сказать почему система сделала так или иначе, допустим обучил ты систему (что уже маловероятно не угробив самолет), будет она у тебя нормально летать 99 полетов из 100. В этом одном случае выявить какую либо ошибку ты не сможешь никак. Целые научные коллективы бьются над технологиями обучения нейронных сетей 😦
Под каждый новый самолет систему придется переучивать, тут нельзя просто коэффициенты на рулевые плоскости подобрать и в небо.

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

Хотя если подумать действительно можно снять а затем скормить сети логи пары тройки собственных полетов из точки в точку, лучше прохождение по нескольким точкам. Это будет проще реализации обычного автопилота, научит сеть нормальным режимам полета, но что она будет делать в ситуации которой ее не учили - непредсказуемо.

Вобщем мое личное мнение. не стоит распыляться это все можно сделать потом.

KIR2142

Автопилот на нейронных сетях, искусственный интеллект для управления моделью и т.п. - все это интересно обсуждать на форуме, да ))) Жаль что не доведенный до хоть сколько-нибудь практической реализации проект ставит перед собой еще более фантастические цели.

Musgravehill
KIR2142:

на нейронных сетях

как замена скучным формулам. Это же просто универсальный аппроксиматор.

Korogodsky
KIR2142:

Жаль что не доведенный до хоть сколько-нибудь практической реализации проект ставит перед собой еще более фантастические цели.

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

KIR2142

Тема начиналась с ЛА с вертикальным взлетом и посадкой, дошли до полетов на универсальных аппроксиматорах и саморазвивающихся сетей. Спорить не буду - КРУТО! То что мечты ресурсов не отнимают согласен. Жду нового.

ЗЫ. Как насчет нанотоплива кстати? Тоже вроде нужная штука для полетов на дальний расстояния.

Korogodsky
KIR2142:

Тема начиналась с ЛА с вертикальным взлетом и посадкой

а я еще не передумал 😃 естественно это опять еще только мечты и к практической реализации даже прогнозировать сложно когда приступлю, но создать такой аппарат точно возможно - F35 и ему подобные же как-то летают.

UncleSam
KIR2142:

ЗЫ. Как насчет нанотоплива кстати? Тоже вроде нужная штука для полетов на дальний расстояния.

Зря иронизируете 😃 нейронная сеть действительно способна довольно эффективно рулить самолетом даже используя в качестве железа ПК. И это гораздо проще чем научить ее ходить используя 6 ног.

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

Korogodsky
UncleSam:

Не стоит углубляться в фантазии не имея синицы в руках.

Ок, нейронную сеть пока отложим 😃 Сначала сделаю автопилот рулящий только по GPS, вроде бы как это будет уже нечто законченное.

KIR2142:

Как насчет нанотоплива кстати?

Это начиная с версии 2.0.

Korogodsky

Чтобы развернуть самолет на требуемый курс, достаточно ли с заданным интервалом вычислять угол между текущим направлением движения и прямой между текущим положением и заданной точкой, и отклонять, например, руль направления на этот угол, ограничивая отклонение руля заданной максимальной величиной?

KIR2142

Слежу за это замечательно темой, столько идей здесь собрано - от управления по интернету к моделям с вертикальным взлетом, RC машинкам, нейронным сетям, искусственному интеллекту и даже собственному автопилоту. Вот взять к примеру тему про LRS Слона- человек поставил задачу, точно определил что для ее выполнения нужно, спросил что добавить, добавил, начертил, собрал, написал код и сделал без лишнего трепа за пару месяцев. Такая скука ей богу. Эту же тему можно читать бесконечно долго. Максим, я верю в твой автопилот, ты обязательно его сделаешь (осталось всего ничего, спросить на форуме равняется ли угол отклонения РУ углу между курсом и целевым направлением), ну а если что не срастется, то обязательно придумаешь новые цели, которые будут просто необходимы для реализации первоначально замысла!

Korogodsky
KIR2142:

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

Хорош прикалываться! Не знаю как Слон, а я с нуля делаю.

KIR2142:

осталось всего ничего, спросить на форуме

По заданному вопросу ответить наверное нечего? Не знаете ответ, или в чем дело?

KIR2142

Делай! Вот еще свежая идея. Рой беспилотников для передачи инфы внутри сети. Не нужно делать нейросеть для создания автопилота, делай стразу нейросеть из самих БПЛА. Можно грабить корованы!!!

По заданному вопросу ответить наверное нечего? Не знаете ответ, или в чем дело?

Тут 99% FPV-шников (включая меня), которые даже и не пытаются написать свой собственный автопилот, однако умеют читать инструкции к своему и пользуются поиском знают ответ на этот вопрос. А именно: угол отклонения руля направления НЕ РАВЕН углу между курсом ЛА и целевым направлением ЛА. Угол отклонения плоскостей рассчитывается по сложным алгоритмам, в которых немаловажное участие принимают различные ПИДы. Включив простую логику и воображение (например поворот из угла 90гр и более), это станет понятно каждому, а именно то, углы отклонения плоскостей не могут тупо равняться тому, о чем вы пишите. Кстати для справки, кроме угла поворота плоскостей еще важный момент в скорости поворота этих плоскостей, который тоже должен рассчитываться. А еще скорость реакции ЛА на поворот плоскостей и принимаемое автопилотом решение в зависимости скорости выхода на заданный курс, а еще погрешность при перелете заданного курса и опять же разные связанные с этим поправки. И еще много чего…

Забавно, что не понимая таких простых и банальных вещей, обладая нулевым знанием, ни разу не держа в руках автопилоты других создателей и вообще, ни разу ни управляя ЛА с автопилотом, вы собираетесь написать свой собственный, при этом задаете глупые базовые вопросы на форуме, хотя по таким вещам пишутся целые книги, да еще замахиваетесь на создание искусственного интеллекта. Я вот так и представляю картинку маслом, типа вы собрались написать свою нейронную сеть и спрашиваете: “А че, какая там формулка то нужна, что бы она думать начала?” Может для начала книжек что-ли купить, или опять же нет на это времени?

Ну вы пишите, пишите автопилот… Главное что элементы OSD в вашей концепции можно мышкой перетаскивать на экране - это очень важно, поверьте!

ЗЫ. И у химиков на форуме разузнайте про нанотопливо все-таки, наверняка задав пару наводяших вопросов вы легко синтезируете его дома. Сразу и название для модели получится: “Черная молния”, тем более что вертикальный взлет у нее есть, как вы и задумывали с самого начала, почти год назад.

Korogodsky
KIR2142:

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

Усложняем задачу, угол равен 180 градусов. Самолет может отклонить руль на 15 градусов (на 180 не умеет). Значит выбираем меньшее, т.е. 15. Далее, через некоторое время после начала маневрирования , у нас угол становится равным 2 градуса, опять выбираем меньшее, т.е. 2 градуса. Еще проходит время, угол становится равным 0 градусов - летим на точку, проверяя 1-5-10 раз в секунду текущий курс, при необходимости подруливая.

На остальное отвечать не буду, не дочитал, там глупость какая-то пошла.

KIR2142:

немаловажное участие принимают различные ПИДы

Собственно меня вот этот момент интересует. Это необходимо?

Почему Вас спрашиваю, потому что Вы:

KIR2142:

однако уме ете читать инструкции