Arduino для BAIT BOAT...
нужны другие алгоритмы управления движением ибо лодка, в отличие от ровера, не может мгновенно остановиться. Для фиксации выбранной точки обязательно нужно делать реверс. Величина импульса при реверсе…
Видимо время работы винтов при реверсе для полной остановки придётся подбирать уже на воде,
Вы же специалист по ТАР и должны знать о существовании производных регулируемых параметров и их использовании в управлении объектом, а для инерционных объектов это актуально в большей степени.
Линейное ускорение как раз вторая производная расстояния, используя ее можно объект привести в точку регулируя степень торможения.
Для остановки кораблика в заданной точке достаточно в этой точке ввести команду LoiterTime( в примере WP3):
и задать время остановки (в примере 60с):
Средства для подстройки характеристик АП под динамику объекта имеются.
Но проект мега интересный и по сути своей очень грамотный.
Есть нюанс. При заявленной концепции, GPS+компас, вычисление курса на заданную точку по разнице координат и его коррекция по мере движения, система работать конечно будет. Только в реальных условиях всегда есть течение и ветер, которые вызывают снос кораблика, тем более при его малой скорости. Надеюсь картинку пояснять не требуется:
Здесь применён не правильный алгоритм выхода на точку. Правильный будет синусоида вокруг линии первоначального курса. При том алгоритме, который Вы здесь изобразили кораблик вообще с трудом попадёт в выбранную точку. Кто Вам сказал, что корректирующее воздействие надо прекращать в точке 1, а не продолжать его до пересечения линии первоначального курса? И потом, зачем мне дожидаться когда кораблик сместиться на значительный угол? Разрешающая способность компаса составляет меньше 1 гр. Так кто мне мешает производить корректирующее воздействие - в данном случае компенсацию увода вправо - через каждый градус? Не вижу в этом никаких проблем. И по-прежнему не вижу смысла в обработки инфо от прочих датчиков, кроме компаса и GPS. У меня всё-равно нет инструментов для использования их показаний. Прямо в лоб алгоритм корректировки может быть таким - при отклонении на плюс 1 гр. от первоначального курса, корректирующий курс будет - прежний курс минус 1 гр. На Вашем рисунке это будет выглядеть так - в точке 1, когда курс станет 31 гр. корректирующий курс будет 29 гр. На этом курсе кораблик и будет находиться до тех пор пока курс под внешним воздействием опять не станет 31 гр. Никто не мешает мне при больших внешних воздействиях применять для корректировки курса и “раздрай”, когда лодка практически на месте может быть повёрнута на любой угол, но это уже экзотика и в таких условиях кораблик не используется. Вот как-то так.
Здесь применён не правильный алгоритм выхода на точку.
Как Вы сформулировали:
rcopen.com/forum/f68/topic138133/10084
Вам потребуется вычислить новый азимут, а для этого нужны только координаты конечной и текущей точек
Уж как озвучили. (Мягко говоря неудачно использовали терминологию, особенно перед вышеприведенной цитатой)
Правильный будет синусоида вокруг линии первоначального курса…
😃 Это называется выдерживание Линии Заданного Пути(ЛЗП):
И в этом случае говорить надо не о отклонении от курса, а о отклонении от ЛЗП. Формально для этого можно использовать только информацию GPS, но при ее точности и малой скорости кораблика будет очень кривая синусоида.
У меня всё-равно нет инструментов для использования их показаний.
😃 Есть. Нужно выдерживать курс таким, чтобы вектор путевой скорости W(путевой угол), был направлен на заданную точку, а боковое отклонение от ЛЗП сводилось к нулю.
Опять же, формально, GPS выдает именно путевой угол, но он определяется по приращению координат. А при очень малой скорости кораблика приращение координат соизмеримо, а то и меньше погрешности их определения. Как результат большая погрешность определения путевого угла.
Кроме того скорость сноса тоже величина непостоянная и становится известной только в результате воздействия среды. А наиболее ранним проявлением воздействия какой либо силы является ускорение. Вот как раз для решения этой задачи и приходится разгребать ускорения и угловые скорости. И надо отметить, что для открытого хоббийного проекта это получилось вполне неплохо.
На самом деле то что Вы нарисовали достаточно близко будет к реальной траектории движения при внешнем воздействии на кораблик, но с одним “НО” - точка “В” это промежуточная точка траектории после всего 4-х итераций корректировки курса. Корректировка курса будет происходить через 1 сек при условии изменении курса более чем на 1 гр. После того как кораблик попадёт в промежуточную точку “В” его курс не будет меняться. В Вашем примере это будет выглядеть так - первоначальный курс минус 4 гр. Из-за внешнего воздействия кораблик будет сносить на первоначальный курс и он будет плыть под углом 4 гр. к нему. Действительный текущий курс кораблика будет вычисляться по GPS.
Для того чтобы существенно улучшить точность позиционирования по GPS думаю применить следующий способ - на берегу в точке “Дом” будет находиться второй GPS приёмник. Его координаты строго фиксированы по карте. Из-за помех в ионосфере GPS приёмники, работающие на L1 выдают достаточно большое отклонение. Без корректировки этих показаний кратковременные ошибки могут быть в десятки метров. Показания GPS приёмника в точке “Дом”, который понятно что неподвижен, из-за тех же помех в ионосфере тоже будут давать отклонения. Эти отклонения я буду считать корректирующими для GPS на кораблике. Используя подобные системы - там коррекция поступает от наземных станций и передаётся по радио - геодезисты получают точность до дециметров даже при использовании только канала L1. Мой GPS приёмник ловит все системы навигационных спутников, даже те, которых ещё нет, т.ч. точность будет только повышаться. Правда может возникнуть некоторая проблема с точным определением этой самой точки “Дом” по карте. Понятно, что эта ошибка будет присутствовать и в корректирующем сигнале для GPS приёмника, установленного на кораблике. Пока я вижу решение этой проблемы следующим образом - включаю GPS “Дом” на 20-30 минут и получаю семейство точек. По ним нахожу среднестатистическое значение, которое и буду считать истинной точкой “Дом”. За время измерений буду собирать кораблик на берегу, т.к. он у меня достаточно большой (1200х650 мм.) и будет разборный для перевозки, т.ч. время не будет потрачено зря.
Я уже пробовал сравнивать координаты, выдаваемые двумя GPS приёмниками. Координаты пляшут всегда в одну сторону, т.ч. думаю, что система должна работать. Разница никогда не была больше плюс-минус 2 в младшем разряде, тогда как сами показания меняются в 3-х младших разрядах. В принципе в такой корректировке ничего сложного нет, надо просто вычесть текущие показания GPS приёмника “Дом” из истинных координат, а потом эту разницу вычесть из показаний GPS приёмника на кораблике и уже по полученному результату вычислять координаты нахождения кораблика и его истинный курс.
Кораблик плывёт со скоростью 2 м/сек. В координатах на моей широте по GPS это составляет: север-юг - 36 единиц, запад-восток - 43 единицы в младших разрядах за секунду. Если удастся получить точность плюс-минус 2 единицы в младшем разряде - это соответствует примерно 10 см., то я смогу весьма точно вычислять положение кораблика и соответствующим образом корректировать его движение. В условиях внешних воздействий подобная точность с моей т.з. является избыточной. Думаю, что её стоит за грубить в 5-6 раз и сделать соответствующую зону нечувствительности. Будет коридор вдоль линии курса шириной 1 метр. Корректировка будет работать только в том случае, если кораблик вышел за пределы этого коридора, но инфо об изменении курса внутри этого коридора будет накапливаться для последующей корректировки. Алгоритм я придумаю. С программированием мне помогут, т.ч. думаю, что смогу решить задачу по разработке ПО специально для кораблика.
…с одним “НО” - точка “В” это промежуточная точка траектории
Для того чтобы существенно улучшить точность позиционирования по GPS думаю применить следующий способ - на берегу в точке “Дом” будет находиться второй GPS приёмник.
😁 Олег, это все понятно, давно пройдено, имеет право на жизнь и работать будет. С этим никто не спорит.
Только АП с инерциальными датчиками, использующий принципы комплексирования информации, - это другой уровень решения задачи, к тому же имеющий более широкие границы применения. И Ваша критика его, мягко говоря, необоснованна.😃
Вы, обосновывая свой выбор, как-то сумбурно все смешали в кучу+проблема с использованием терминологии в навигации. От этого только лишние споры.
😁 Олег, это все понятно, давно пройдено, имеет право на жизнь и работать будет. С этим никто не спорит.
Только АП с инерциальными датчиками, использующий принципы комплексирования информации, - это другой уровень решения задачи, к тому же имеющий более широкие границы применения. И Ваша критика его, мягко говоря, необоснованна.😃
Вы, обосновывая свой выбор, как-то сумбурно все смешали в кучу+проблема с использованием терминологии в навигации. От этого только лишние споры.
Смотрите, Вы не совсем верно понимаете то что я имею ввиду. Я вовсе не критикую имеющуюся систему АП. Я говорю об ином - для наших целей она избыточна. Я считаю, что стоящие перед нами задачи можно решить более простыми средствами. Перешитый кафтан не очень похож на рыболовную курточку.
Я никогда не занимался вопросами пилотажа коптеров и всем что с этим связано. Вышел на это только по одной причине - существующие системы управления корабликом вышли из ПО для летунов. Даже программы управления заточены под летунов. Для чего мне знать ориентацию 3D кораблика в пространстве и индикацию этого в программе? Для чего мне различные датчики, если инфо с них я не использую? У корабликов своя специфика. Для чего нам все эти калибровки и сотни параметров, которые обсчитывает программа? Я просто хочу максимально упростить всё и сделать специальную программу, а не приспосабливать разработанные для иных задач. Меня не особо волнует терминология, использующаяся в навигации летунов. Если понадобится, то освою. Это вторично. Важна суть процесса. Из всего ПО для летунов мне нужна лишь обработка инфо с компаса и GPS. Всё остальное избыточно для наших целей управления корабликом.
Что то тема заглохла, а это не правильно… Решил то же себе сделать BAIT BOAT не простой люблю сложности…)) Хулл катамара, а вот управление полностью через планшет или смартфон по wifi, а также GPS и автопилот. Ну конечно сердце катера будет arduino UNO.
Пока заказал через aliexpress железяки:
Двойной VNH2SP30 драйвер шагового двигателя модуль 30A монстр мото щит заменить L298N FZ1037
Новое поступление Mciro SD TF карты памяти щит модуль SPI микро-sd для хранения плата расширения для Arduino оптовая продажа
Esp8266 серийный WIFI модель ESP-07 подлинность гарантированы бесплатная доставка
Atmega328p ATMega8U2 USB порт для Arduino UNO совместимость с USB кабель
Бесплатная доставка! GY-NEO6MV2 новый нео-6m GPS модуль NEO6MV2 с управления полетом EEPROM MWC APM2.5 большой антенна для arduino
(НЕ РЕКЛАМА)
Пока едут железки буду собирать ХУЛЛ который сейчас рисую… Отчеты о проделанной работы касаемо arduino буду постить тут, ну а про сам BAIT BOAT в соответствующий теме…
Хулл катамара
буду собирать ХУЛЛ
😂
😂
м… мне не понятен ваш Юмор…
А хулл по русски то не написать? Слабо?
Хулл - корпус.
Хулл - корпус.
А-50 видно подумал в сторону своей распущенности. К данной теме к сожалению не имеющей совсем отношения…
Здравствуйте. Меня интересует работа АPM 2.6 + GPS. Я установил это на свой кораблик (мотор движения - канал 3, серва поворотов - канал 1). Компас откалиброван, спутники видит, точки прописывает. При попытке режима Авто или RTL, кораблик просто наматывает круги диаметром метров 4-5 и отходит от точки дом. Если я правильно прочитал коментарии в коде, то руль (YAV) надо ставить на канал 4. Проверить пока немогу. Подскажите кто вкурсе. Спасибо.
какую прошивку ставил?
Кажись 2.79. Короче самую последнюю из стабильных.
А-50 видно подумал в сторону своей распущенности
Свои домыслы оставьте при себе. Лучше научитесь грамотно писать. Хотя бы на одном языке.
Я установил это на свой кораблик (мотор движения - канал 3, серва поворотов - канал 1).
Все правильно.
Компас откалиброван,
Калибровку выполняли, надеюсь, вдали от источников магнитного поля и крупных железяк?
После калибровки проверяли соответствие магнитного курса направлению носа кораблика?
Надо проверить с выкл. и вкл.(нагруженным) мотором.
Если есть влияние моторов/проводов/элементов конструкции на компас, желательно вынести его от них подальше на немагнитной стойке. Для примера посмотрите как это делают на коптерах.
Если я правильно прочитал коментарии в коде…
Для начала лучше не лезть в код, а разобраться с настройками и выполнить самые необходимые.
Ну и условия эксперимента расписать подробнее.
Хулл - корпус.
Что он хотел написать про корпус я понял.
Только:
- почему его не назвать сразу корпусом?
- откуда там буква “у” в этом подобии транскрипции?
В код я пока не лезу, а только изучаю его. А вот в настройках как раз и указано что CH1-ROLL, CH2-PITCH, CH3-THROTTLE, CH4-YAW.
Нам нужно упрвление только вокруг оси Z, а если серва руля на первом канале то это ROLL.
Плохо откалиброванный компас это не причина ухода корабля с курса совсем. Он может плыть зигзагами или по большему радиусу но всеравно на нужную точку, а у меня корабль уходит черти куда. Хотя я по телеметрии вижу все точки и они правильные.
Кажись 2.79. Короче самую последнюю из стабильных.
Вам надо прошивка Ардуровер. Крайняя 2.49
Мои вопросы адресованы людям установившим APM 2,5-2,6. В мануалах описано одно, на практике другое. Каждый раз разбирать кораблик, чтобы переключить фишку, довольно хлопотное занятие. Вот и прошу помощи у практиков. Нехотите за спасибо - озвучте цену.
Мои вопросы адресованы людям установившим APM 2,5-2,6. В мануалах описано одно, на практике другое. Каждый раз разбирать кораблик, чтобы переключить фишку, довольно хлопотное занятие. Вот и прошу помощи у практиков. Нехотите за спасибо - озвучте цену.
Боюсь таких людей которые используют PM 2,5-2,6 единицы в ветке “Судомодели”. Я думаю что вы найдете ответы или вам помогут больше в ветке “Авиамодели” квадрокоптеры… Я заказал Arduino и буду писать под нее софт