Делаю OSD, автопилот и инерциалку...

Sergey70

Дмитрий расскажите что нового в вашем проекте.

Diman_Y

Всем привет!

Новости просто хорошие. Если в кратце, то я доволен тем как все идет.

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

Сейчас работают:

  1. ОСД. Пик который отвечает за ОСД полностью запрограммирован. Принимает команды и выводит информацию на дисплей. Частота обновления до 10 раз в секунду (максимум пока 50 герц). По моему получилось симпатично. Единственное, был неприятно удивлен что Макс7456 выдает картинку шире чем стандартный пал дисплей, но это удалось быстро забороть. В принципе видео как выглядет ОСД могу даже вечером выложить.
  2. Управление сервами. Пик, который должен управлять сервами, сейчас принимает команды от DSP и этими сервами управляет (5 каналов). Пока не сделана обработка входа для анализа команд приемника. Мне это не особо сейчас нужно, так как я планирую использовать xBee.
  3. GPS полностью готов. Т.е. встроен в SADF и выдает данные с частотой до 10 Гц (можно и больше можно и меньше, как запрограммировать). Интересно, что минимальная ошибка как раз получается при частоте 10 Гц, хотя должно быть наоборот.
  4. Вчера игрался с акселерометром и компасом. Мне понравилось. Оба встроены в SADF. Осталось сделать их на прерываниях по пинам.
  5. Сегодня додедлаю гироскоп и барометр. Завтра доделаю датчик скорости, но это надо делать на пике.
  6. Сделан, но еще не адоптирован под SADF, прием данных от джойстика. Т.е. писишное приложение передает через xBee команды джоя, а DSP их декодирует и преобразует в коды команд сервам.

Короче, как только все девайсы будут доделаны, я выложу видео как все работает. По идее должно получиться доделать до выходных, так что на выходных будем посмотреть первое приближение системы. Как минимум я выложу некоторые фотки графиков. 😃

Сейчас первый этап будет таким:

  1. ОСД работает и что-то выводит (координаты, скорость с GPS, высоту с GPS ). Можно даже сделать вывод авиагоризонта, но не точно.
  2. Работают все сенсоры, но информация с них записыватеся во флешку. Это надо чтобы проанализировать данные и потом сделать обраотку.
  3. Работает xBee и управление сервами. В принципе самолет можно будет уже запускать. 😃

Я планирую эти три пункта доделать в следующие пару недель. Но это как получится. 😃
Самое сложное будет это заставить работать плату без JTAGa. 😃

Diman_Y

Вот к стате графики с осей акселерометра (правда не синхронизированные). Скачек - это я повернул его. По идее все должно быть синхронно:

А вот проект который тестирует сам акселерометр и компас:

Sergey70

Очень хотелось бы увидеть ролик всего этого, для представления габаритов и рамеров и вооще. Хоть для меня большая часть проекта экзотически выглядит, но нечего подобного на русских ресурсах я не видел.

Diman_Y
Sergey70:

Очень хотелось бы увидеть ролик всего этого…

Ролик просто ОСД я могу выложить, но хочется все-же доделать авиагаризонт и тогда выолжить. 😃

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

AndyBig
Diman_Y:

Был удивлен, что оказывается мемс гироскопы это вовсе не гироскопы, а измерители угловой скорости.

Ничего другого и не могло быть 😃 Не моторчик же с маховиком внутри чипа 😃

Diman_Y:

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

Я бы на это не надеялся.

Diman_Y
AndyBig:

Я бы на это не надеялся.

Нет, блин. Сейчас все брошу…

AndyBig
Diman_Y:

Сейчас все брошу…

Не надо бросать, просто надо добавить датчики для горизонта 😃 Те же пиро.

Diman_Y
AndyBig:

просто надо добавить датчики для горизонта Те же пиро.

В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то? 😃

Я вот сейчас доделываю блок фильтров. После этого можно уже будет нормально фильтровать данные и интегрировать. Сделав это я спокойно смогу интегрировать данные гироскопа и акселерометров.
Короче, вечером если будет время, я попробую поиграться с фильтрацией и интеграцией. Графики шумов гироскопа (правда там считывание еще не синхронизированно) постараюсь выложить. 😃

AndyBig
Diman_Y:

В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то?

Затем, что горизонт будет быстро потерян из-за накапливающейся ошибки 😃 Никакая интеграция и калибровка не помогут. Датчики ускорения плыть будут от температуры, питания… Очень медленное изменение не отследят - оно будет на уровне шумов. Не отловят (или отловят неточно) резкие вращения. Для длительного замера абсолютного положения нужны и датчики абсолютного положения.

Diman_Y
AndyBig:

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

GPS? 😃

AndyBig
Diman_Y:

GPS?

Ну, GPS у вас как раз уже имеется. Но он для координатного позиционирования, а для авиагоризонта - пиродатчики 😃
Конечно, и они могут врать - туман, горы поблизости… Но врать более стабильно, с возможностью коррекции 😃

Diman_Y

Всем привет!
Короче, промудохавшись пару дней с гироскопом было принято следующее решение. 😃

В общем я сейчас все сенсоры выведу на писишку в симулятор и дополнительно сделаю запись голых данных от сенсоров на SD карту (это чтобы можно было собирать данные с ероплана и потом моделировать с реальными данными). Получив это дело можно уже спокойно заняться разработкой алгоритмов.
По идее уже сейчас можно делать алгоритмы, но проблема в отсутсвии реального времени и возможности 3D визуализации в реальном времени, а это очень важно.
А если я сделаю вывод данных в реальном времени на писишку, то тогда все будет гараздо проще. Можно будет и значения с графиками в реальном времени смотреть и даже 3D анимацию прикрутить (а это необходимо).
Сейчас отладка выглядет так: запускается алгоритм, потом нажимается кнопка для получения данных и данные через пару секунд выводятся на графике. Хочется другого. Хочется чтобы было видно данные сразу и без задержки. 😃

Вот так пока. 😃

AndyBig:

Но он для координатного позиционирования, а для авиагоризонта - пиродатчики

Авиагоризонт в принципе вторичен. Он только помогает самолету лететь из точки А в точку Б.
Вот просто можно задаться вопросом: а как многие ФПВшники летают без авиагоризонта? Он у них есть, просто точность его +/- 30 градусов. 😃
Все остальное делается с помощью наблюдения за компасом, высотой и скоростью.

А в моем случае у меня все эти данные есть даже в инерциальном варианте без GPS. А если еще и GPS есть, то вообще проблем нету. 😃

Вот простой пример коррекции гироскопа при наличии скорости, высоты и направленя.
Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет? 😃
Очивидно что врет гироскоп. Мы берем и его корректируем. Т.е. выравниваем горизонт влево:)

Или: компас стабилен, высота растет, а скорость падает. Горизонт опять показывает ноль. Очивидно что мы набираем высоту. 😃
И т.д.

Основная задача фактически это сделать данный алгоритм как АСУ реального времени а не как набор if/else. 😃

Все данные, как скорость, направление, высота, координаты есть в абсолютных значениях. Этог одостаточно чтобы корректировать мгновенные значения датчиков. 😃

PS. Ссылки на книжки по теории полетов (где какие силы, перегрузки и т.д.) приветствуются! 😃

AndyBig
Diman_Y:

как многие ФПВшники летают без авиагоризонта?

По видео 😃 FPV - это ведь не автопилот.

Diman_Y:

Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет?

Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет 😃 Так же и во втором примере истиный горизонт действительно может находиться в нуле. С другой стороны: компас показывает медленное изменение направления, скорость и высота постоянные, горизонт показывает ноль. Горизонт врет или РН нуждается в коррекции?
В том и проблема, что без четкого знания ориентации самолета однозначности нет 😃

Diman_Y
AndyBig:

По видео FPV - это ведь не автопилот.

Это не автопилот, это авиагоризонт с точностью +/- лапоть. Но народ ведь летает. 😃

AndyBig:

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

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

AndyBig:

В том и проблема, что без четкого знания ориентации самолета однозначности нет

Да не нужна здесь 100% точность. Кратковременно на сложные маневры, типа боевого разворота или петли у вас есть дастаточная точность. А вот после, в прямолинейном полете, уже можно и подкорректировать. 😃

По поводу пироголов.
Вот я на пример в горах живу, и туман и низкая облачность у нас каждую неделю. Что мне делать с этими пироголовами? 😃

SGordon

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

msv

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

blade
msv:

но пока, образно говоря, только

Продолжу Вашу мысль: снова изобретают велосипед 😦
Почему то люди, собирающиеся сделать довольно сложную как по финансам, так и по трудоёмкости работу- не утруждают себя даже поиском того, что уже сделано.
Хотя бы с той целью, чтобы не ходить по чужим граблям?
Ну что им стОит- почитать темы Смаллтима, про Икарус, Арду-пилот (там вообще-всё в открытом доступе, начиная от файлов плат до исходников кода.)
Нет, будут ломиться в открытую дверь 😢
Эту энергию-да в мирных бы целях 😃
Вот ещё один: rcopen.com/forum/f87/topic239341
“И так мои мозги созрели сделать нечто!” (С)
Может, шампунем почаще пользоваться?

Diman_Y
msv:

Авиагоризонт (причем достоверный) нужен не пилоту, это так… фенечка, а подсистеме стабилизации.

Что значит достоверный? 😃
Вопрос именно в этом.

msv:

только организовали экспедицию и подошли к подножью горы, вершины которой еще и не видно…

Вот у меня совершенно другие ощущения. Вот сейчас я сделаю визуализацию и соединю все это дело с писишкой… 😃

blade:

Ну что им стОит- почитать темы Смаллтима, про Икарус, Арду-пилот

Я уже писал про существующие пилоты и их основную проблему.

msv
Diman_Y

это авиагоризонт с точностью +/- лапоть. Но народ ведь летает.

Diman_Y:

Что значит достоверный?

Хотя бы с точностью +/- 0.183 лапоть.

Diman_Y:

Вот у меня совершенно другие ощущения. Вот сейчас я сделаю визуализацию и соединю все это дело с писишкой…

По своему опыту, вершина станет заметной, когда совершите первый успешный полет на автопилоте, с записью видео/логов итп. И то это зачастую оказывается миражом… 😃
ЗЫ Вот сижу сейчас, пыхтю в своем симе над тривиальной казалось бы задачкой, пытаюсь сделать авто-коррекцию 0 пиродатчика (увы, пиро хоть так и не плывет как гира, но тоже по хорошему требует тщательную калибровку) по показаниям GPS. В штиль пожалуй будет работать, но стоит имитировать ветерок… Наверное придется оставить полуавтоматическую калибровку.

Diman_Y
msv:

авто-коррекцию 0 пиродатчика

А у Вас есть компас или акселерометр?
К стати, тут идея пришла компас использовать как гироскоп. 😃