Вопросы по iNav

Панкратов_Сергей

Вопрос созрел. Как с SOFTSERIAL для S-BUS?
Насколько понял S-BUS не будет работать из за большой скорости?

Если так то вопрос такой.
Имеем minimosd, GPS со скоростью порта 38400, обновлением 5Гц и выдачей NMEA сообшений, приемник LRS с прошивкой baychi, который может выдавать S-BUS, PPM.
Как правильней их подключить? GPS на SOFTSERIAL?
Сейчас подключил
UART1- minimosd
UART2- GPS 38400, 5Гц, NMEA
Порт приемника- PPM
SOFTSERIAL пины где настраиваются? Какие по умолчанию?
Может и детские вопросы, с платформой этой впервые знакомлюсь.

jShadow
Панкратов_Сергей:

Вопрос созрел. Как с SOFTSERIAL для S-BUS?

Никак, увы. S.BUS - скорость 100000, Softserial ограничен 19200 бит/с.

Панкратов_Сергей:

Сейчас подключил
UART1- minimosd
UART2- GPS 38400, 5Гц, NMEA
Порт приемника- PPM

Это самый надежный вариант для NAZE
UART1 разделенный с USB, на него лучше ничего кроме телеметрии не вешать. Для GPS остается UART2. На S-BUS порта не остается.

Softserial для чего-то критичного, вроде GPS, использовать не рекомендую, SoftSerial - штука не очень надежная, и при отказе порта потеряете навигацию. Выдавать телеметрию - можно, я так и делаю, LTM-телеметрия на OSD идет через SoftSerial на скорости 9600.

ekuzmi

Добился сегодня некоторых успехов в управлении коптером 500 размера с помощью INAV.
На борту SP F3 delux без компаса, и NEO 7 с компасом.

  1. Без GPS все нормально. Управляется нормально, стабилизируется хорошо, высоту держит. Даже пиды не крутил, все по умолчанию.
    Методом проб и ошибок, понял, что подключать GPS-ные режимы лучше поверх режима ANGLE + ALTHOLD. Если использовать их поверх режима HORIZON - все плохо, слишком активно ведет себя, не стабилизируется в точке.
  2. Режим POSHOLD_3D у меня работает только если коптер не движется или медленно летит. Если он летит чуть быстрее, он сначала делает круг (унитазит) а потом стабилизируется. Если летит быстро, при включении режима POSHOLD_3D, делает крен до 45 градусов и пытается вернуться в точку, где был включен данный режим. Ну и раскачивается так, что приходится его подхватывать вручную. Понятно, что нужно уменьшать пиды и может еще что-то. Кроме того, мне кажется, что после активации этого режима не обязательно возвращаться, достаточно остановиться, где получится.
    Немного вяло управляется в режиме POSHOLD_3D, хотел бы добавить скорости. Или для контролируемого полета с GPS предполагается еще один режим CRUISE? А может он есть, я просто не знаю где искать?
  3. RTH - так и не получилось корректно вернуться домой. При активации режима моментально делает очень резкий разворот по yaw примерно в нужную сторону, но потом пролетает мимо, где-то рядом со мной делает поворот в сторону и очень активно улетает куда-то, с такими кренами, что его нужно тоже ловить.
    Вопросы такие, как уменьшить скорость разворота по yaw в режиме RTH?Считаю это очень важным, т.к. компас отрабатывает повороты очень медленно и при резком повороте, просто проскакивает нужный азимут.
    Нужно ли уменьшать общие пиды, не связанные с навигацией, может он тогда будет не так активно реагировать на команды GPS? Хотя по управлению вроде не нужно их уменьшать.
    Не нашел режим посадки (LANDING)
    Режим RTH подразумевает посадку?
Alex83

А демпфирование вибраций для inav так же важно, как и для arducopter?

Talentfrei

С Вибрацией надо всегда бороться! Тoлько что летал Waypoins, просто здорово! Очень доволен! Жду Bluetooth Module, очень интересен Модус Follow me.

jShadow
ekuzmi:

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

Не должен он так себя вести. Лог есть?

ekuzmi:

Понятно, что нужно уменьшать пиды и может еще что-то.

Нужен ‘cli dump’ и еще лог. Так не понятно что и куда крутить. Поведение пидов сильно менялось.

ekuzmi:

крен до 45 градусов

Не умеет он 45. 30 градусов максимум.

ekuzmi:

Кроме того, мне кажется, что после активации этого режима не обязательно возвращаться, достаточно остановиться, где получится.

Он так и делает - вычисляет точку где он способен остановиться и на нее целится. Если промахивается - возвращается туда.

ekuzmi:

При активации режима моментально делает очень резкий разворот по yaw примерно в нужную сторону, но потом пролетает мимо, где-то рядом со мной делает поворот в сторону и очень активно улетает куда-то, с такими кренами, что его нужно тоже ловить.

ekuzmi:

Вопросы такие, как уменьшить скорость разворота по yaw в режиме RTH?Считаю это очень важным, т.к. компас отрабатывает повороты очень медленно и при резком повороте, просто проскакивает нужный азимут.

Что-то очень сильно смахивает либо на проблемы с компасом, либо на проблемы с конфигурацией.

ekuzmi:

Нужно ли уменьшать общие пиды, не связанные с навигацией, может он тогда будет не так активно реагировать на команды GPS? Хотя по управлению вроде не нужно их уменьшать.

Нет, их трогать не нужно.

ekuzmi:

Не нашел режим посадки (LANDING)
Режим RTH подразумевает посадку?

Совершенно верно. RTH сядет сам.

В общем, для диагностики нужен файл конфигурации и желательно лог.

Alex83:

А демпфирование вибраций для inav так же важно, как и для arducopter?

Не настолько, как для Арду, INAV менее чувствителен к вибрациям, но всему есть предел. Лучше не испытывать судьбу а балансировать моторы/пропеллеры и использовать виброразвязку.

Talentfrei

Пробывал Failsafe, что то не пошел. Пару секунд болтался в воздухе а потом резко в низ. В CLI были заданы параметры: rxfail 3 h
set failsafe_procedure = RTH
Может я что то забыл ?

LahtaNoID
Talentfrei:

Жду Bluetooth Module,

А не могли бы поделиться ссылочкой на модуль?

mahowik
jShadow:

Сегодня прислали лог, по которому задержка данных между акселем и GPS очевидно близка к секунде

Однозначно надо переделывать компенсацию задержки.

обсуждаем инерциалку тут rcopen.com/blogs/83206/21544
в том числе и лаги/задержки и т.д… возможно вам будет интересно…
и да если кратко, то задержка вырисовывается в 200-400мс…

jShadow
Talentfrei:

Пробывал Failsafe, что то не пошел. Пару секунд болтался в воздухе а потом резко в низ. В CLI были заданы параметры: rxfail 3 h
set failsafe_procedure = RTH
Может я что то забыл ?

Без лога трудно сказать. Похоже на активацию аварийной посадки. Возможно при Failsafe-RTH в двух случаях - или взлет с nav_extra_arming_safety=OFF до того как был пойман фикс (т.е. нет координат дома), или потеря GPS в полете в момент активации Failsafe-RTH

mahowik:

бсуждаем инерциалку тут rcopen.com/blogs/83206/21544
в том числе и лаги/задержки и т.д… возможно вам будет интересно…
и да если кратко, то задержка вырисовывается в 200-400мс…

Почитал, в целом интересно, но ничего особо нового в обсуждении не нашел. Откопал антикварную Crius SE, вроде живая. Как бы ваш код потестить?

mahowik
jShadow:

Почитал, в целом интересно, но ничего особо нового в обсуждении не нашел.

В обсуждении там был момент, про raw вектор скорости от гпс и использование его в ИНС. Из описания пакетов НМЕА протокола можно получить только линейную скорость, но получать из нее вектор скорости по углу из IMU не оч. красиво т.к. это данные разных моментов времени (подробности тут).
У вас в коде вроде видел использование RAW вектора в ИНС, cоот-но вопрос откуда он? 😃 NEO-8 отдает вектор скорости?

jShadow:

Откопал антикварную Crius SE, вроде живая. Как бы ваш код потестить?

в этот контроллер не влезет… нужен контроллер (либо ардуина) с атмегой 1280/2560 + mpu6050 + ms5611…

jShadow
mahowik:

это данные разных моментов времени

Совершенно верно, скорость отстает от координат секунд на 3-5. Скорость относительно земли мой position estimator не использует.

mahowik:

У вас в коде вроде видел использование RAW вектора в ИНС, cоот-но вопрос откуда он? NEO-8 отдает вектор скорости?

Отдает когда с ним “разговариваешь” используя двоичный протокол Ublox. Скорость есть в сообщениях NAV-VELNED (Neo6) или NAV-PVT (Neo7+). Задержки по отношению к координатам я не заметил, похоже это данные из одного момента времени.

mahowik:

в этот контроллер не влезет… нужен контроллер (либо ардуина) с атмегой 1280/2560 + mpu6050 + ms5611…

Есть Arduino Mega и плата с MPU6050 и BMP180 на борту. Заработает?

mahowik
jShadow:

Отдает когда с ним “разговариваешь” используя двоичный протокол Ublox. Скорость есть в сообщениях NAV-VELNED (Neo6) или NAV-PVT (Neo7+). Задержки по отношению к координатам я не заметил, похоже это данные из одного момента времени.

Ну да, я и имел ввиду бинарный u-blox протокол когда про neo-8 спрашивал.
Полезная информация, спасибо. Жаль у меня u-blox модуля нет на данный момент что бы поиграться 😃

jShadow:

Есть Arduino Mega и плата с MPU6050 и BMP180 на борту. Заработает?

По идее запустить можно, но у BMP180 по паспорту точность почти в 10 раз ниже в сравнении с ms5611 на сколько помню. Соот-но удержание высоты будет не то + лаг в ИНС настроен на ms5611… но попробовать можно.
Скиньте мне в личку email

jShadow
mahowik:

Ну да, я и имел ввиду бинарный u-blox протокол когда про neo-8 спрашивал.
Полезная информация, спасибо. Жаль у меня u-blox модуля нет на данный момент что бы поиграться

Данные скорости на Neo6/Neo7 у меня дают противоречивые результаты (может, потому что модули китай-клонированные), поэтому у меня по-умолчанию используется производная координат. Когда используешь скорость - результаты лучше.

mahowik:

По идее запустить можно, но у BMP180 по паспорту точность почти в 10 раз ниже в сравнении с ms5611 на сколько помню. Соот-но удержание высоты будет не то + лаг в ИНС настроен на ms5611… но попробовать можно.

Да, BMP180 дрейфует гораздо больше. Но на высотах 5-10м это не критично 😃

mahowik:

Скиньте мне в личку email

Отправил

EDIT: По вашему совету убрал в качестве теста фильтрацию с барометра, оставил только 3-точечную медиану для фильтрации единичных ошибок (иногда бывают у BMP085/BMP180) и уменьшил вес барометра при слиянии с акселем. Полетело лучше, собственно и не удивительно, задержка данных с барометра уменьшилась в несколько раз (3-4 по прикидкам).

Serj=
jShadow:

Сообщение от Andy Durin
Как дела с самолетной частью? Хочу на своем “ренжере” с СС3Д запытать. ГПСка какая-то есть.
Вроде работает. По крайней мере мой тезка dollop успешно облетал как раз на CD3D

Тоже интересна самолетная часть! Можно на CC3D сделать стабилизацию, возврат по FS и по команде?

jShadow
mahowik:

вроде как нашел багу в гпс глитч детекторе…

github.com/iNavFlight/inav/issues/136

Благодарю! Пофиксю в скором времени.

Serj=:

Тоже интересна самолетная часть! Можно на CC3D сделать стабилизацию, возврат по FS и по команде?

Можно! Настройка FS может быть не вполне тривиальна, но если все правильно настроить, то должно работать.

mahowik:

вроде как нашел багу в гпс глитч детекторе…

Вроде пофиксил, спасибо.

Sky-DiGGeR
jShadow:

Взлетаете в режиме удержания высоты? Тогда не удивительно, “целевая” высота запоминается при активации режима удержания высоты, а не при арминге. Об этом я не подумал, приделаю сброс целевой высоты/позиции при арминге.

Сегодня попробовал армить, дизармить, переключать режимы туда-сюда - высота не сбрасывается, как уплыла при включении, так и держится. Помогает только перезагрузка контроллера. Пробовал на прошивке iNav 1.0.1

jShadow
Sky-DiGGeR:

Сегодня попробовал армить, дизармить, переключать режимы туда-сюда - высота не сбрасывается, как уплыла при включении, так и держится. Помогает только перезагрузка контроллера. Пробовал на прошивке iNav 1.0.1

Это потому, что еще никаких исправлений в коде не было 😁
Высота сбрасываться и не будет, сброс будет касаться “целевой” высоты, на которую котроллер будет ориентироваться при взлете.

mahowik

Я делаю калибровку баро в ноль до арма. В принципе удобно, дизарм-арм и новый ноль высоты установлен.