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

arb
mfilitovich:

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

Так в ртл есть высота возврата. Обычно стоит 15м. Так что со 100 должен активно снижаться. По Вашему сообщению можно было подумать, что не держит 15м.

mfilitovich
arb:

Так в ртл есть высота возврата. Обычно стоит 15м. Так что со 100 должен активно снижаться. По Вашему сообщению можно было подумать, что не держит 15м.

Неправда ваша! Задается только минимальная высота.

lokanaft
arb:

Так что со 100 должен активно снижаться

Не снижается никогда он, если выше летит

arb
mfilitovich:

Задается только минимальная высота.

Что Вы имеете ввиду под минимальной высотой?

lokanaft:

Не снижается никогда он, если выше летит

А почему он должен держать высоту, если летит выше установленного?
И вообще без логов и нормального описания дальше будут только догадки и загадки.

igorshiling

Подскажите кто нибудь купил Turnigy 9x хочу подключить к квадрокоптеру на АРМ на каком режиме лучше настраивать самолётном или вертолётном.

Alibaba
igorshiling:

Подскажите кто нибудь купил Turnigy 9x хочу подключить к квадрокоптеру на АРМ на каком режиме лучше настраивать самолётном или вертолётном.

у меня 812 прошивка, там ничего такого нет. последнее что сделал, так это перепрошил и переделал на телеметрию с выводом на экран. мне понравилось.

WWL
igorshiling:

на АРМ на каком режиме лучше настраивать самолётном или вертолётном.

Самолетный режим. Только надо инвертировать канал тангажа. ЗДЕСЬ подробно.

arb
mfilitovich:

Вот тут описано, как он должен лететь:

Ну и где там написано, что при высоте возврата 15 м он должен держать 100 м.
Мало того в предустановленных параметрах максимум только 80 м.

  • RTL_ALT: The minimum altitude the copter will move to before returning to launch.

    • Set to zero to return at the current altitude.
    • The return altitude can be set from 1 to 8000 centimeters.
    • The default return altitude Default is 15 meters (1500)

Неэффективно держать 100 м (тратить энергию), в то время когда надо снизиться до 15 м перед посадкой. То что работает как по ссылке проверил. А как там реализован код когда высота превышена не интересно было. Ну так Вы бы нам в подробностях и описали бы. Только не забудьте, пожалуйста, прошивку указать.

mfilitovich

Вот цитата:
The copter will first rise to RTL_ALT before returning home or maintain the current altitude if the current altitude is higher than RTL_ALT.

arb
mfilitovich:

Вот цитата: The copter will first rise to RTL_ALT before returning home or maintain the current altitude if the current altitude is higher than RTL_ALT.

Это не значит, что апм должен держать высоту. РТЛ не должен повторять полностью лойтер, а только использовать часть его функций.
Лойтер предназначен, чтобы держать 3Д координату, используя ЖПС.
РТЛ - чтобы вернуться в точку старта на высоте, исключающую встречу с препятствиями, используя ЖПС.
Вы можете проверить есть ли у Вас проблемы.
Просто включите РТЛ на высоте ниже 15 м. И вот если коптер будет снижаться ниже 15 м при возврате “домой”, тогда можно будет поискать причину проблемы.

lokanaft
arb:

Это не значит, что апм должен держать высоту

А что он падать должен?

// rtl_climb_start - initialise climb to RTL altitude
	void Copter::rtl_climb_start()
	{
	    rtl_state = RTL_InitialClimb;
	    rtl_state_complete = false;
	    rtl_alt = get_RTL_alt();

Соответственно сама get_RTL_alt:

// get_RTL_alt - return altitude which vehicle should return home at
//      altitude is in cm above home
float Copter::get_RTL_alt()
{
    // maximum of current altitude + climb_min and rtl altitude
    float ret = MAX(current_loc.alt + MAX(0, g.rtl_climb_min), g.rtl_altitude);

    ret = MAX(ret, RTL_ALT_MIN); // <-- Смотреть на эту строку

#if AC_FENCE == ENABLED
    // ensure not above fence altitude if alt fence is enabled
    if ((fence.get_enabled_fences() & AC_FENCE_TYPE_ALT_MAX) != 0) {
        ret = MIN(ret, fence.get_safe_alt()*100.0f);
    }
#endif

    return ret;
}
arb
lokanaft:

А что он падать должен?

Он должен держать RTL_ALT. Держать выше не логично.

Если Вы разбираетесь в коде, то уж напишите по этому коду блок-схему. Тогда можно будет попробовать обсудить логику. Опять же если есть такой интерес.

Как проверить работает ли РТЛ, я уже написал mfilitovich.

Только просьба не сваливаться в обычный троллинг.

men68
arb:

Он должен держать RTL_ALT. Держать выше не логично.

RTL MODE Коптер набирает высоту до минимальной RTL_ALT либо возвращается на текущей высоте. Но он использует барометр для поддержания высоты, и как следствие, если атмосферное давление по пути возврата будет меняться, то и коптер будет следовать за этим давлением (обратно пропорционально).

Warning:
In RTL mode the flight controller uses a barometer which measures air pressure as the primary means for determining altitude (“Pressure Altitude”) and if the air pressure is changing in your flight area, the copter will follow the air pressure change rather than actual altitude

arb

Посмею напомнить вопрос чуть перефразируя.
Должен ли режим РТЛ при возврате домой держать до последнего (не допуская снижения ни на метр) высоту 100 м, используя все ресурсы апм. В то время как RTL_ALT установлен 15 м. И если не держит 100 м, то считать это неисправностью и искать решение проблемы или считать это нормой и забыть?
Для проверки было предложено выполнить команду ртл с высоты менее 15 м.
Пока только рассуждения, что в инструкции что-то написано.

Alibaba
arb:

Должен ли режим РТЛ при возврате домой держать до последнего (не допуская снижения ни на метр) высоту 100 м

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

arb

Еще один. Здесь кто-нибудь внимательно читать умеет?

lokanaft
arb:

Пока только рассуждения, что в инструкции что-то написано.

Не в инструкции, а в коде, хотя это тоже инструкция для мк.

Функция, которая даёт высоту для возврата домой остальным функциям:
Сравнивает (текущую высоту + минимальный подъём, по умолчанию 0) и RTL_ALT и выбирает из них большую. Если летим ниже, чем RTL_ALT - высотой для возврата будет RTL_ALT. Если летим выше, то высотой для возврата будет текущая высота + минимальный подъём.
Затем проверяется, что это всё не ниже двух метров (RTL_ALT_MIN).
Затем, если включён FENCE и полученная высота вдруг выше, чем задано в FENCE, то будем снижаться до этой высоты.

Это про назу можно спорить до бесконечности, здесь же всё написано.

Jade_Penetrate
arb:

Должен ли режим РТЛ при возврате домой держать до последнего (не допуская снижения ни на метр) высоту 100 м, используя все ресурсы апм.

Если батарея не садится и не детектируется глитчи gps/компаса то должен.
При включении rtl или потере сигнала, коптер возвращается на текущей высоте, или поднимается на указанную если текущая ниже, снижение происходит только по прибытии “домой”. Постоянное снижение это не нормальная работа.

alexeykozin
arb:

И если не держит 100 м, то считать это неисправностью и искать решение проблемы или считать это нормой и забыть?

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

РоманычД

Добрый день!

Рискну задать очень глупый вопрос…

На глаза попался вот такой девайс (есть много похожих):
WS2812B rgb 5050
banggood.com/Matek-8-Bit-WS2812B-RGB-5050-Highligh…

Вот есть видео обзор - перевести не смог:

Питание 5v. Управляется с контроллеров cc3d и naze32.

ВОПРОС:

  1. Возможно ли это чудо пристроить к АРМ 2,6?
  2. Если нет, то что придется городить дополнительно?