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

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:

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

KIR2142

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

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

Вперед к покорению сверхдальних расстояний! Мне кажется вы уже близко.

Korogodsky
KIR2142:

Нет, необходимости в этом конечно нет.

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

KIR2142

Давайте договоримся Максим, я ведь не предлагаю ограничивать ваши посты в этой ветке лишь здравыми и реалистичными идеями, имеющими хоть небольшой, но все-таки шанс на реализацию (поверьте, их тут намного меньше 150 символов на всю ветку), а вы не ограничивайте меня. Толковых советов я вам дал, причем не один. Вот хотя бы двумя постами выше: "Может для начала книжек что-ли купить?". Однако если вы считаете, что чтение спец. литературы по программированию автопилотов для БПЛА (есть такая книга) или по ПИД-ам является бестолковой затеей для реализации столь масштабных (sic!) проектов, то и правда тут уже добавить нечего.

DVE
Korogodsky:

> немаловажное участие принимают различные ПИДы
Собственно меня вот этот момент интересует. Это необходимо?

Есть целая наука - называется “теория управления”. Там в частности обсуждаются такие вещи как сходимость алгоритма управления, возможность автоколебаний и пр. Для _эффективного_ управления ПИД-регулятор может дать лучшее качество управления, в простейшем случае может получится обойтись и без него. А может и нет.
Если модель умеет самостабилизироваться, то Ваш простейший алгоритм в принципе может сработать, почему нет. Но при управлении более сложными моделями придется лезть в дебри математики.

Про PID с картинками хорошо написано тут: logic-bratsk.ru/radio/pid/irt/main1_10.htm

Имхо для начала действительно можно начать с главного - хотя бы собрать данные со всех датчиков (акселерометры, магнетометр, GPS) и сделать на основе этого хоть какое-то управление, а дальше уже наращивать его по мере надобности.

KIR2142:

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

Хобби тем и отличается от работы, что можно делать что угодно 😃

Korogodsky

Пошел читать и тд. и тп. Так что не скоро новости будут.

UncleSam
KIR2142:

Слежу за это замечательно темой, столько идей здесь собрано - от управления по интернету к моделям с вертикальным взлетом, RC машинкам, нейронным сетям, искусственному интеллекту и даже собственному автопилоту.

осталось всего ничего, спросить на форуме равняется ли угол отклонения РУ углу между курсом и целевым направлением

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

Да, порой автора немного несет, вертикальный взлет, искусственный интеллект, явно за областью объявленной задачи, да и автопилот пока рано.
Пусть модель для начала полетит. Но говорить об этом так как вы - губить идею. А здравые идеи тут все таки проскакивают.

msv

2Максим. Ваш алгоритм может как-то сработать при управлении самолета с очень высокой самостабилизацией. По сути это эквивалентно ручному управлению вслепую… Попробуйте полетать на симуляторе с закрытыми глазами и подсказками ассистента:

  • так… теперь правее…
  • немного влево…
  • выше! выше!
    итп…
    Сможете так пролететь по определенному курсу?
    Для управления реальными моделями автопилот должен давать управляющее воздействие подсистеме стабилизации, которая уже будет поворачивать сервы в зависимости от целевых и текущих крене/тангаже.
Korogodsky
msv:

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

Я думаю, я вас понял. Т.е. допустим, автопилот дает команду отклонить элероны, а самолет при этом делает бочку вместо крена. Вообще следуя даваемым тут советам, я предполагал немного снизить планку и сделать сначала автопилот без системы стабилизации, а систему стабилизации взять готовую.

15 days later
Korogodsky

Эта закладка задумывалась для управления роботом, но и для управления самолетом думаю тоже пригодится.
Например в определенной путевой точке запланировано приземление, можно будет запрограммировать выпуск шасси и закрылков:

Закладка еще в процессе разработки, мудрые советы приветствуются.

Musgravehill
Korogodsky:

Усложняем задачу, угол равен 180 градусов. Самолет может отклонить руль на 15 градусов (на 180 не умеет). Значит выбираем меньшее, т.е. 15. Далее, через некоторое время после начала маневрирования , у нас угол становится равным 2 градуса

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

rcopen.com/forum/f8/topic216494 ваш коллега, тема интересная

Korogodsky
Musgravehill:

В зависимости от положения самолета нужно отклонять разные поверхности. Если в инверте летит, то руль направления надо в “другую” сторону тянуть. И крен выправлять тоже. Все плоскости могут войти в режим автоколебания или в такой режим загонит, что моделька свалится. Делаю OSD, автопилот и инерциалку… ваш коллега, тема интересная

Да, я слежу за этой темой.
Инфу уже накачал, буду читать.

Korogodsky

Небольшая обновка - уведомление о доставке отправленных данных. Для проверки корректности полученных данных используется функция
GetHashCode()

Korogodsky

Уведомление о доставке сделал двумя разными способами:

  1. Для путевых точек: отправляем с базы строку; на бору получаем и вычисляем хэш-код; отправляем на базу хэш-код полученной строки; на базе сравниваем хэш-коды, если не равны повторяем отправку/если равны отправляем OK; если получаем на борту OK, отправляем на базу ACCEPTED и загружаем полученную строку в таблицу последовательностей; если получили на базе ACCEPTED, останавливаем таймер отправки.

  2. Для последовательностей: отправляем с базы строку; на борту получаем строку и вычисляем хэш-код и сразу загружаем полученную строку в таблицу последовательностей; отправляем на базу хэш-код полученной строки; на базе сравниваем хэш-коды, если не равны повторяем отправку/если равны останавливаем таймер отправки.

Какой вариант оставить?

Володимир
Korogodsky:

Какой вариант оставить?

Третий 😉,

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