А давайте обсудим Arducopter - APM

raefa

Мда, товарищи… Обсуждаем FTDI, USBasp, как убить бародатчик, опять дроидпланеры и блютусы… Какой круг по счету пошел? 😁

cTc:

(за исключением режима Flip, у меня он переворачивается всегда в одну сторону)

apmcopter.ru/…/fishki-geofence-wp-save-flip.html

skydiver:

я если честно не очень понял что они вот тут имели ввиду:

Да, фраза сложноватая. У америкосов мозги по другому работают.

Мои наблюдения читал (внизу статьи)? Может как-то прояснит ситуацию.

skydiver
raefa:

Мои наблюдения читал (внизу статьи)? Может как-то прояснит ситуацию.

Нэ, не помогло 😉

cTc
raefa:

Цитата Сообщение от cTc Посмотреть сообщение (за исключением режима Flip, у меня он переворачивается всегда в одну сторону) apmcopter.ru/apm/apm-help/fw/...save-flip.html

Да вот насколько помню, в движении нажимал флип, и все равно вне зависимости от направления - флипает через правое плечо. Но эт инфа неточная, проверю еще, если че видео сниму.

alex195822
ГЫнок:

Для промывки флюса в идеале нужна ультразвуковая ванна со спец средством, вот тут придется в мастерскую отнести…

Тогда точно под замену - МПУхе от ультры точно кирдык настанет. Посмотрите по даташиту принцип работы и поймете почему.

ГЫнок
alex195822:

Тогда точно под замену - МПУхе от ультры точно кирдык настанет. Посмотрите по даташиту принцип работы и поймете почему.

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

Alex_from_Israel
k4m454k:

Ну смотри. У меня 9XR и на ней делал так.

Сначала нашёл Custom Switches
и выставил там такое:
SW1 ID0 !AIL
SW2 ID1 !AIL
SW3 ID2 !AIL
SW4 ID2 AIL
SW5 ID1 AIL
SW6 ID0 AIL

ну а потом в миксах распределил на пятом канале свитчи все так, чтобы они были через примерно равные промежутки
например (Режим REPLACE (замена значения)),
-100 = SW1
-60 = SW2
и т.д.

Итого, получаем, что от переключения режимов, меняется значение на пятом канале.

А еще проще так

CH5 18 HALF ID0

  • 44 HALF ID1
  • 75 HALF ID2
  • -92 HALF !AIL
    и 6 модов переключаются 2мя тумблерами на одном канале. Вес подбирать нужно. На моем 9XR Pro и 9XR работает с этими настройками.
IceMiner:

Немного выше был пост про то, что не стоит советовать то, что не является истиной.
У многих есть трудности подключения терминалом. Алгоритм такой: запускаем МП, входим на закладку терминал, проверяем, что APM настроен на подключение по кабелю на скорости 115200 на нужном порту и что диспетчере устройств эта скорость для порта установлена, подводим курсор на кнопку Connect, втыкаем APM, мгновенно жмем на левую кнопку мыши которая стоит на Connect, барабаним по Enter. Может пройти секунд несколько, не спешим…

У меня в 3.1.5 в терминале шли всякие кракозябры. Может и можно было , почесав левое ухо плавой пяткой через спину, включиться в терминал, только зачем? Все можно и в МП сконфигурировать.

DWK
Alex_from_Israel:

А еще проще так CH5 18 HALF ID0 + 44 HALF ID1 + 75 HALF ID2 + -92 HALF !AIL и 6 модов переключаются 2мя тумблерами на одном канале. Вес подбирать нужно. На моем 9XR Pro и 9XR работает с этими настройками.

Да у меня тоже с такими настройками работает.

alexeykozin

ничтяк достойный внимания в 3.2
copter.ardupilot.com/wiki/ekf-inav-failsafe/

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

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

DVE
alexeykozin:

в случае если коптер в автоматическом режиме более секунды прет нетуда - автоматом переключается в режим управляемой посадки

Хм, у меня давно была мысль - почему нет проверки корректности полета: если при полете к точке, расстояние до нее не уменьшается, а увеличивается, отменять режим нафиг. Решило бы точно минимум треть проблем улета в Китай…

TheCluster
alezz:

развод 😦 Pixhawk only

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

alezz

Явно владелец Pixhawk 😃 Восьмибитное убожество летает (и имеет функционал) огого, может дать фору подавляющему большинству альтернативных решений

Alex_from_Israel

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

TheCluster
alezz:

Явно владелец Pixhawk 😃 Восьмибитное убожество летает (и имеет функционал) огого, может дать фору подавляющему большинству альтернативных решений

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

У меня два apm 2.6, два cc3d и прототип своего контроллера на базе ARM Cortex-A8. Pixhawk в руках не держал, дороговато, а убойных преимуществ нет.

alezz

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

TheCluster
alezz:

а зачем сложные алгоритмы определения позиции, этим пусть gps занимается

В условиях городской застройки, gps не очень хорошо справляется. Даже точность позиционирования в 0.3 - 0.5 м может привести к тому, что коптер при аварийной посадке сядет не на площадку, а на столб/куст/в яму.

alezz:

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

Это не серьезно. А если у нас неправильно определены текущие координаты?

alezz:

32 бит и даром не нужно

Я вот тоже самое читал в одной советской книжке по проектированию микроЭВМ. Куда этот подход привел, думаю объяснять не надо.

alezz:

Количество багов зачастую растет с увеличением количества и сложности функций, а не наоборот

Вот это как раз про APM.

А если серьезно подойти, то все существующие на рынке полетные контроллеры ущербны по сути своей. Один единственный вычислительный модуль занимается и декодированием команд от р/у, и снятием показаний с датчиков, и фильтрацией (по мере убогости cpu), и мат.вычислениями, и генерированием ppm/pwm сигнала для esc, и отправкой телеметрии… хорошо, хоть esc отдельные используются. Когда на одном кристалле выполняется столько разного кода, крайне трудно, т.е. практически невозможно избавиться от багов.

starfair

А по мне так можно было бы решить частично проблемы с малым объемом памяти, если не плодить множество режимов полета. Скажем, если нужно летать по точкам- сделать соответсвующую прошивку для таких полетов. Нужно только ручное управление - опять же - пересобрал прошивку и летай ручками. Зато, можно было бы освободить код именно под конкретные задачи и реализовать их как нибудь уж получше. И сделать конструктор прошивок прямо на сайте. Универсальность - это отлично, но тогда когда железо его тянет. На пиксхавке и оставить его! А для ардуинок - разделение по задачам.

TheCluster:

А если серьезно подойти, то все существующие на рынке полетные контроллеры ущербны по сути своей. Один единственный вычислительный модуль занимается и декодированием команд от р/у, и снятием показаний с датчиков, и фильтрацией (по мере убогости cpu), и мат.вычислениями, и генерированием ppm/pwm сигнала для esc, и отправкой телеметрии… хорошо, хоть esc отдельные используются. Когда на одном кристалле выполняется столько разного кода, крайне трудно, т.е. практически невозможно избавиться от багов.

Так же поддерживаю! Вполне можно было чуть дороже сделать контроллер, но на двух нормальных процессорах. Разделить между ними задачи. Один бы пусть за навигацию и контроль полета отвечал. Другой - непосредственно занимался бы периферией и данными обмена с оператором.

DWK
Alex_from_Israel:

На ненормальном убожестве типа АРМ пытаюсь наладить оптический датчик от мыша. Вот где убожество!

А с сонаром разобрались?

ГЫнок
TheCluster:

А если серьезно подойти, то все существующие на рынке полетные контроллеры ущербны по сути своей. Один единственный вычислительный модуль занимается и декодированием команд от р/у, и снятием показаний с датчиков, и фильтрацией (по мере убогости cpu), и мат.вычислениями, и генерированием ppm/pwm сигнала для esc, и отправкой телеметрии… хорошо, хоть esc отдельные используются. Когда на одном кристалле выполняется столько разного кода, крайне трудно, т.е. практически невозможно избавиться от багов.

Это прогресс каким бы он ущербным не был, увеличение степени интеграции приводит к такой необходимости. Если все размышляли бы так же как вы, то не появилось бы на свет многих вещей, ну например новшество в виде умных часов и т.п.
Но с другой стороны есть такой тип микросхем, как ПЛИС - в пределах одного кристалла можно делать все тоже самое и при этом все функции абсолютно независимые. Тут правда рядовой программист со знанием Сии не потянет))
Или же давайте строить нейронные сети! 😉

TheCluster

Еще лучше сделать разделение на три аппаратных блока: платформа стабилизации, навигационный модуль, коммутатор команд (свич). Платформа стабилизации занимается только управлением положения коптера в пространстве (из датчиков только IMU, барометр и может быть сонар или IR-дальномер). Любые высокоуровневые функции навигации (полет по точкам, удержание gps позиции, полетные скрипты) и специальные режимы полета выполняет отдельный модуль со своим контроллером. Навигационный блок подключается к платформе стабилизации через специальный свич, который пропускает через себя команды от навигационного блока и обычного ppm приемника р/у. При определенном сигнале от блока р/у, свич отсекает навигационный блок и пропускает только команды от р/у - режим ручного спасения в случае сбоя навигационного блока.
К навигационному блоку можно прикрутить и любые другие функции - достаточно гребенки GPIO-контактов и api для работы с ними, а юзеры уже разберутся.

Для хобби-контроллеров все это можно объединить на одной плате. Легко. И можно даже уложиться в стоимость оригинального APM.

P.S. Пока писал, аналогичную мысль уже высказали.

Alex_from_Israel

Наконец то кончилась безобразная погода и смог подлетнуть на улице на свежесобраном Y-6! Впечатления самые положительные. Отлетал 2200 акк, вышло 8 минут при разряде до 10.5 вольт. Моторы 2212 980кв х6 с ХК, регули Афро 30А прошитые последней прошивкой СаймонК. Пропы верхние 10х4.5, которые шли с моторами, нижние примерно 9х6. Обрезаные 10х6, поскольку штатной длины задевали за луч. Рама HLG Dragonfly Y3 Tricopter Y6 Hexacopter с Ебея. Очень устойчив. В паре сантиметров у земли никаких осцилляций. Резво набирает высоту и висит, как прибитый. Только сносит по ветру. Что самое приятное нет просадок и набора высоты при поворотах по Яву. Просто плавно поворачивает и замирает, стоит отпустить стик. Летал только в стабе, стемнело и пришлось возвращаться, не отлетав полностью аккум. Доволен до предела. АРМ 2.7 прошивка 3.2