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

alexeykozin

в свежих прошивках например 3.2 для скоростных перемещений появился новый режим position hold он работает как смесь лоитера и альтхолда.
пока не трогаете стики лоитер как только двинули стиками - альтхолд

разгонять скорость в лоитере параметром - неразумно

usup

Хм…а я почему то думал позитион холд это лойтер,только с ручным газом,хотя у меня прошива 3.1 и есть этот режим,или на моей прошиве этот режим работает по другому?а параметр лойтер спид не влияет на скорость в позитион холд?

alexeykozin

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

arb

Как обещал – соображения по поводу РТЛ.
Для начала напомню исходные вопросы.

mfilitovich:

Ребят, каким параметром можно поправить следующий косяк - в RTL коптер теряет высоту, при этом в LOITER держит высоту нормально, даже на более высокой скорости.

mfilitovich:

Просто странно как-то, а не может это быть последствием достаточно сильного мороза -15?

mfilitovich:

Выглядит просто, включаю RTL на высоте метров 100, коптер послушно поворачивает в сторону дома и летит с заданной скоростью, но при этом имеет постоянное небольшое снижение (видно по OSD). В LOITER такого снижение нет - вертикальная скорость ровно 0.

Исходя из этих сообщений, напрашивается ответ: никакого косяка в РТЛ нет и править ничего не надо. Это просто особенность кода РТЛ.
Из чего это следует. В АПМ режим ЛОЙТЕР точно использует все датчики. А в нем как было сообщено проблем нет. Поэтому и сильный мороз тут не причем.
Для проверки было предложено выполнить РТЛ с высоты заведомо меньшей RTL_ALT. Но так как до сих пор не было сообщения, что с малой высоты РТЛ не работает, то смею предположить, что у автора нет проблем с РТЛ и тогда это, как и писал выше просто особенность кода.

Честно говоря, этот случай больше интересен этой особенностью кода.
Во-первых, это надо учитывать с точки зрения безопасности полетов.
К примеру. Решили забраться скажем на 1 км (или больше) вверх после того как отлетели от «дома» на некоторое расстояние. Связь к примеру теряется и коптер начинает двигаться в неизвестном направлении. Ведь визуального контакта нет и связи тоже нет. Это надо учитывать, чтобы не встретить даже случайно на такой высоте самолеты и не попасть в запретные зоны в пологом снижении, если коптер начнет планировать из-за севшей батареи. По мне было бы спокойнее, если бы коптер начал снижаться сразу до RTL_ALT, а потом начинал движение. Так хоть будешь знать, на какой высоте он движется.
Во-вторых, траектория – сначала движение, потом снижение, неэкономична. Это большой пройденный путь и большие затраты энергии на удержании высоты. Как известно самый короткий путь по прямой. Вот если бы РТЛ после проверки высоты (для данного случая) высчитывал 3Д вектор движения на координату дом/RTL_ALT. А во время движения просто делал проверку высоты, чтоб не спуститься ниже RTL_ALT.
Но так как в АПМ и так место мало, то я так понимаю код вряд ли поправить. Остается только помнить, как работает РТЛ.

usup

Как я понял,в 3,1 режим position-это режим лойтер с ручным газом,а в 3,2 уже pos hold-лойтер при висении,альтхолдв движении,этот режим как раз мне очень нужен,но очень не охота все перекалибровывать,не появилась ли еще возможность апгрейда прошивки с сохранением и переносом калибровок всех датчиков на новую прошу?

arb
usup:

не появилась ли еще возможность апгрейда прошивки с сохранением и переносом калибровок всех датчиков на новую прошу?

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

usup

Параметры да,но аксель компас радио ведь по любому перекалибровывать нужно((

arb

Гораздо надежнее все заново откалибровать, а параметры поставить ручками. Так и запоминаешь, и новое что-то находишь.
А компас так вообще требует частой калибровки.

igorshiling

Подскажите кто не спит, поставил OSD всё показывает количество спутников не определяет. (GPS работает)

arb
igorshiling:

GPS работает

Т.е. МП показывает количество, а ОСД нет?
Тогда надо проверить в настройках как отображен и включен ли сам параметр. Бывает скрыто другими параметрами или уходит за край экрана.
Есть еще жалобы на некорректную работу ОСД (не все показывает). Проблема пока не решена. Т.к. проявляется не у всех.
Бывает помогает перезагрузка. Я грешу на некачественное питание. ОСД чувствительно к напряжению питания.

igorshiling
arb:

Тогда надо проверить в настройках как отображен и включен ли сам параметр…

нашёл работает

usup
arb:

Попробуйте увеличить LOITER PID до 1,5 (2). После

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

alexeykozin
usup:

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

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

usup

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

arb
alexeykozin:

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

+1. За 45 градусов лойтер выходит если что-то неправильно с другими параметрами (помимо лойтера). Я к примеру один раз поставил неправильный фильтр по вибрации. Тут же коптер в лойтере на долю секунды наклонился на 90 град, но не перевернулся, а выровнялся. Это привел как пример неправильной настройки. Но примерно тоже может быть если большие вибрации в самой конструкции или от ветра.

usup:

при малейшем ветре

usup:

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

Так Вы уже попробовали, теперь осталось Вам осмыслить на что сказывается изменение этих параметров.

usup:

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

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

usup:

в общем пока буду довольствоваться дефолтным лойтером.

И это скорее всего правильно. Вы попробовали более резкое управление и поняли что оно Вам не надо. Значит и так хорошо.

alexeykozin
usup:

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

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

usup
alexeykozin:

(без промаха, четко в 45 градусов в одно движение)

точно так и работает,в следущих раз попробую снять на видео для наглядности))

alexeykozin
usup:

точно так и работает,в следущих раз попробую снять на видео для наглядности))

если возможно чтобы в кадре бы стик и аппарат

igorshiling

Всем добрый день! Подскажите поставил OSD количество спутников не показывает пока телеметрия не законектится с планшетом.

lokanaft

Вроде как помогает сначала сбросить эти параметры на 0, а потом нажать кнопку OSD

            try
            {
                MainV2.comPort.setParam("SR0_EXT_STAT", 2);
                MainV2.comPort.setParam("SR0_EXTRA1", 2);
                MainV2.comPort.setParam("SR0_EXTRA2", 2);
                MainV2.comPort.setParam("SR0_EXTRA3", 2);
                MainV2.comPort.setParam("SR0_POSITION", 2);
                MainV2.comPort.setParam("SR0_RAW_CTRL", 2);
                MainV2.comPort.setParam("SR0_RAW_SENS", 2);
                MainV2.comPort.setParam("SR0_RC_CHAN", 2);

                MainV2.comPort.setParam("SR1_EXT_STAT", 2);
                MainV2.comPort.setParam("SR1_EXTRA1", 2);
                MainV2.comPort.setParam("SR1_EXTRA2", 2);
                MainV2.comPort.setParam("SR1_EXTRA3", 2);
                MainV2.comPort.setParam("SR1_POSITION", 2);
                MainV2.comPort.setParam("SR1_RAW_CTRL", 2);
                MainV2.comPort.setParam("SR1_RAW_SENS", 2);
                MainV2.comPort.setParam("SR1_RC_CHAN", 2);

                MainV2.comPort.setParam("SR3_EXT_STAT", 2);
                MainV2.comPort.setParam("SR3_EXTRA1", 2);
                MainV2.comPort.setParam("SR3_EXTRA2", 2);
                MainV2.comPort.setParam("SR3_EXTRA3", 2);
                MainV2.comPort.setParam("SR3_POSITION", 2);
                MainV2.comPort.setParam("SR3_RAW_CTRL", 2);
                MainV2.comPort.setParam("SR3_RAW_SENS", 2);
                MainV2.comPort.setParam("SR3_RC_CHAN", 2);
            }