Управление через интернет
Не за горами уже тот день когда можно будет начать делать автопилот. И, т.к. я пока весьма смутно представляю себе алгоритм автопилота, хотелось бы на эту тему тоже что-то услышать, прям по пунктам - как это работает.
Для начала вот это.
www.airwar.ru/breo/pnk/pnk4.html
и это =)
www.google.ru/search?aq=f&sourceid=chrome&ie=UTF-8…
Если очень простым языком, знаем конечную точку, куда летим, знаем наше положение в пространстве (данные от GPS) из этих данных вычисляем необходимый нам вектор направления на конечную точку.
Знаем вектор нашего текущего движения и положение в пространстве (данные от гироскопов и акселерометров) высчитываем корректировку курса (вычитаем вектора), умножаем на определенный коэффициент (для каждого самолета свой), получившиеся значения проверяем на предельные значения способные убить полет при необходимости ограничиваем, и подаем на управляющие плоскости.
Получаем новую порцию данных от GPS и гироскопов, повторяем все заново.
Вроде все просто, но тут есть несколько засад. Если коэффициент можно не подбирать для каждой модели, а динамически вычислять отслеживая реакцию модели на изменение положения управляющих плоскостей, то что делать с остальным не ясно.
Знать свое положение в пространстве жизненно необходимо, причем не только конкретную точку в небе, но и вектор движения, (тангаж, рысканье), крен ты при всем желании из GPS не вытянешь. Нужна гироплатформа, а те что есть в доступном ценовом сегменте сильно дрейфуют, и что с этим делать не совсем понятно, пытаться корректировать гироскопы через акселерометры и магнитный компас разве что. Либо обойтись пироголовами. имхо зная только GPS не вытянешь даже самостабилизирующийся самик.
и это =) смотрите, что умеет поиск…
Это понятно 😃
Невозможно одновременно и про автопилот читать и все остальное делать, поэтому расчитывал пока у меня там что-то делается народ набросает тут самое основное про автопилот.
За информацию, краткое описание и мысли по поводу алгоритма спасибо!
Вот здесь smalltim-у был предложен интересный вариант автопилота:
rcopen.com/forum/f90/topic163016/865
Реально ли его реализовать?
Вот здесь smalltim-у был предложен интересный вариант автопилота:
Smalltim OSD and autopilot (часть 1)
Реально ли его реализовать?
не стоит заморачиваться (портит этот классный проект ненужными вещами )
не стоит заморачиваться
по-моему выглядит заманчиво - устанавливаем автопилоту цель, даем почувствовать реакцию на управление (он учится ползать, затем ходить), дальше отпускаем жить самостоятельно.
Я думаю уделить еще достаточно много времени интерфейсу, когда интерфейс будет в общем готов, попробую реализовать что-то типа AI. Может это и будет тупиковый путь, но стоит попробовать. Сделаю так: если через месяц после начала работ по созданию ИИ будет 0 результата, вернусь к созданию автопилота на основе испытанных алгоритмов. А пока пишите идеи как это сделать, только не надо ссылок 😃
Я думаю уделить еще достаточно много времени интерфейсу
+1
попробую реализовать что-то типа AI
не хочется расстраивать но искусственного интеллекта не получится !
он научится и марковить и летать (не возможно сделать так чтобы это учил это нет )
А пока пишите идеи как это сделать, только не надо ссылок
к сожалению от программирования очень далек 😦
к сожалению от программирования очень далек
при создании механизмов ИИ похоже главное - это руководствоваться здравым смыслом…
он научится и марковить и летать (не возможно сделать так чтобы это учил это нет )
Должны быть заложены базовые навыки, не позволяющие причинить себе ущерб, что-то типа инстинкта самовыживания.
Получив положительный или отрицательный опыт, откладываем его в нейронах - записях “базы данных” которые являются сами объектами (подпрограммами). И постепенно обрастаем этими нейронами. Наверное каждая ситуация должна сравниваться со всем полученным опытом, только смущает что весь “полученный опыт” будет проверяться очень долго, но поскольку нам нужно только летать, его может будет не очень много 😃
Должны быть заложены базовые навыки, не позволяющие причинить себе ущерб, что-то типа инстинкта самовыживания.
Получив положительный или отрицательный опыт, откладываем его в нейронах - записях “базы данных” которые являются сами объектами (подпрограммами). И постепенно обрастаем этими нейронами. Наверное каждая ситуация должна сравниваться со всем полученным опытом, только смущает что весь “полученный опыт” будет проверяться очень долго, но поскольку нам нужно только летать, его может будет не очень много
фантастика блин ! 😁😁 кстати у вас хорошо получается может книжку написать 😉 лучше стандартный автопилот контролирующий висоту и курс
лучше стандартный автопилот контролирующий висоту и курс
Посмотрим… +/- месяц ничего не решит 😃
Максим, я бы пока на вашем месте не стал заморачиваться на искусственный интеллект.
У нас конечно простейший случай для нейронной сети
входов будет штук 10 - 3 координаты текущие, 3 координаты конечные, текущие скорость, крен, тангаж, рысканье (возможно стоит еще добавить последнюю корректировку курса чтобы ввести обратную связь избегая ухода системы в колебания)
выходов четыре - руль высоты, руль направления, элероны, тяга двигателя.
Реализуется на стандартных библиотеках на раз.
Это единственный плюс, теперь минусы.
Главное отличие нейронной сети от алгоритмов в том, что система не дает 100% результат. Ты никогда не сможешь сказать почему система сделала так или иначе, допустим обучил ты систему (что уже маловероятно не угробив самолет), будет она у тебя нормально летать 99 полетов из 100. В этом одном случае выявить какую либо ошибку ты не сможешь никак. Целые научные коллективы бьются над технологиями обучения нейронных сетей 😦
Под каждый новый самолет систему придется переучивать, тут нельзя просто коэффициенты на рулевые плоскости подобрать и в небо.
Я предлагаю отложить ИИ, до тех пор пока не сделаешь и оттестируешь обычный автопилот или хотя бы систему стабилизации способную удержать самолет при рулении нейронной сети. После того как реализуешь автопилот классический у тебя появится большее понимание как должна работать система.
Хотя если подумать действительно можно снять а затем скормить сети логи пары тройки собственных полетов из точки в точку, лучше прохождение по нескольким точкам. Это будет проще реализации обычного автопилота, научит сеть нормальным режимам полета, но что она будет делать в ситуации которой ее не учили - непредсказуемо.
Вобщем мое личное мнение. не стоит распыляться это все можно сделать потом.
Автопилот на нейронных сетях, искусственный интеллект для управления моделью и т.п. - все это интересно обсуждать на форуме, да ))) Жаль что не доведенный до хоть сколько-нибудь практической реализации проект ставит перед собой еще более фантастические цели.
на нейронных сетях
как замена скучным формулам. Это же просто универсальный аппроксиматор.
Жаль что не доведенный до хоть сколько-нибудь практической реализации проект ставит перед собой еще более фантастические цели.
Я же объясняю, что попытка сделать самообучающийся автопилот будет предпринята только после того, как в целом будет готов интерфейс программы (без автопилота), а на это нужно потратить еще много времени. Сейчас мечты об искуственном интеллекте практически не отнимают ресурсов и ни чему не мешают. Автопилотом все равно заниматься еще рано, так что можно пока помечтать. Когда прийдет время, на попытку я отведу только месяц, и если за это время не получится создать зачатки саморазвивающейся сети, реагирующей на входные данные, вернусь к класике. 😃
Тема начиналась с ЛА с вертикальным взлетом и посадкой, дошли до полетов на универсальных аппроксиматорах и саморазвивающихся сетей. Спорить не буду - КРУТО! То что мечты ресурсов не отнимают согласен. Жду нового.
ЗЫ. Как насчет нанотоплива кстати? Тоже вроде нужная штука для полетов на дальний расстояния.
Тема начиналась с ЛА с вертикальным взлетом и посадкой
а я еще не передумал 😃 естественно это опять еще только мечты и к практической реализации даже прогнозировать сложно когда приступлю, но создать такой аппарат точно возможно - F35 и ему подобные же как-то летают.
ЗЫ. Как насчет нанотоплива кстати? Тоже вроде нужная штука для полетов на дальний расстояния.
Зря иронизируете 😃 нейронная сеть действительно способна довольно эффективно рулить самолетом даже используя в качестве железа ПК. И это гораздо проще чем научить ее ходить используя 6 ног.
Но вот в чем я с вами согласен это совсем отдельная тема явно выходящая за рамки проекта.
(Думаю для эффективной разработки этой идеи, может понадобиться усилие научного коллектива. Одна наработка и выборка обучающих данных займет пару месяцев.)
Не стоит углубляться в фантазии не имея синицы в руках.
Не стоит углубляться в фантазии не имея синицы в руках.
Ок, нейронную сеть пока отложим 😃 Сначала сделаю автопилот рулящий только по GPS, вроде бы как это будет уже нечто законченное.
Как насчет нанотоплива кстати?
Это начиная с версии 2.0.
Чтобы развернуть самолет на требуемый курс, достаточно ли с заданным интервалом вычислять угол между текущим направлением движения и прямой между текущим положением и заданной точкой, и отклонять, например, руль направления на этот угол, ограничивая отклонение руля заданной максимальной величиной?
Слежу за это замечательно темой, столько идей здесь собрано - от управления по интернету к моделям с вертикальным взлетом, RC машинкам, нейронным сетям, искусственному интеллекту и даже собственному автопилоту. Вот взять к примеру тему про LRS Слона- человек поставил задачу, точно определил что для ее выполнения нужно, спросил что добавить, добавил, начертил, собрал, написал код и сделал без лишнего трепа за пару месяцев. Такая скука ей богу. Эту же тему можно читать бесконечно долго. Максим, я верю в твой автопилот, ты обязательно его сделаешь (осталось всего ничего, спросить на форуме равняется ли угол отклонения РУ углу между курсом и целевым направлением), ну а если что не срастется, то обязательно придумаешь новые цели, которые будут просто необходимы для реализации первоначально замысла!
осталось всего ничего, спросить на форуме что нужно для того, чтобы развернуть самолет на требуемый курс
Хорош прикалываться! Не знаю как Слон, а я с нуля делаю.
осталось всего ничего, спросить на форуме
По заданному вопросу ответить наверное нечего? Не знаете ответ, или в чем дело?
Делай! Вот еще свежая идея. Рой беспилотников для передачи инфы внутри сети. Не нужно делать нейросеть для создания автопилота, делай стразу нейросеть из самих БПЛА. Можно грабить корованы!!!
По заданному вопросу ответить наверное нечего? Не знаете ответ, или в чем дело?
Тут 99% FPV-шников (включая меня), которые даже и не пытаются написать свой собственный автопилот, однако умеют читать инструкции к своему и пользуются поиском знают ответ на этот вопрос. А именно: угол отклонения руля направления НЕ РАВЕН углу между курсом ЛА и целевым направлением ЛА. Угол отклонения плоскостей рассчитывается по сложным алгоритмам, в которых немаловажное участие принимают различные ПИДы. Включив простую логику и воображение (например поворот из угла 90гр и более), это станет понятно каждому, а именно то, углы отклонения плоскостей не могут тупо равняться тому, о чем вы пишите. Кстати для справки, кроме угла поворота плоскостей еще важный момент в скорости поворота этих плоскостей, который тоже должен рассчитываться. А еще скорость реакции ЛА на поворот плоскостей и принимаемое автопилотом решение в зависимости скорости выхода на заданный курс, а еще погрешность при перелете заданного курса и опять же разные связанные с этим поправки. И еще много чего…
Забавно, что не понимая таких простых и банальных вещей, обладая нулевым знанием, ни разу не держа в руках автопилоты других создателей и вообще, ни разу ни управляя ЛА с автопилотом, вы собираетесь написать свой собственный, при этом задаете глупые базовые вопросы на форуме, хотя по таким вещам пишутся целые книги, да еще замахиваетесь на создание искусственного интеллекта. Я вот так и представляю картинку маслом, типа вы собрались написать свою нейронную сеть и спрашиваете: “А че, какая там формулка то нужна, что бы она думать начала?” Может для начала книжек что-ли купить, или опять же нет на это времени?
Ну вы пишите, пишите автопилот… Главное что элементы OSD в вашей концепции можно мышкой перетаскивать на экране - это очень важно, поверьте!
ЗЫ. И у химиков на форуме разузнайте про нанотопливо все-таки, наверняка задав пару наводяших вопросов вы легко синтезируете его дома. Сразу и название для модели получится: “Черная молния”, тем более что вертикальный взлет у нее есть, как вы и задумывали с самого начала, почти год назад.