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

Frr
Diman_Y:

А что именно не скажите?

В прошлом году где-то пробегала ссылка на клип, может быть не на этом сайте.
Ссылку потерял, ключевые слова: “адаптивный АП” (на англ.)

Diman_Y
oscill:

Дмитрий не скромничайте, я так понял Вы и есть автор пакета SADF ?

Да.

Diman_Y
Frr:

В прошлом году где-то пробегала ссылка на клип, может быть не на этом сайте.
Ссылку потерял, ключевые слова: “адаптивный АП” (на англ.)

Спасибо. Нашел.
Очень интересный девайз.

msv
Diman_Y:

Рисуете алгоритм и выставляете параметры.
А дальше? А дальше фан и полеты.

Уже высказывался о своем имхо по сомнительной пользе подобного подхода. В моем представлении программирование любого проекта чуть сложнее уровня “Hello World” состоит из следующих частей

  • проработка логики,
  • математика,
  • кодирование.
    Автокодеры исключают только последнюю, самую простейшую, хоть и рутинную, часть этого процесса. Правда какой ценой… Дествительно о 16мгц проце можно забыть…
    В нашем случае, например: известно, банальный ПИД, можно построить на БИХ-фильтре n-порядка. Все просто- “выставляете параметры” (как расчитать коэффициенты?) и ПИД с нужными (какими?) характеристиками готов! 😃. Уж не говорю о пресловутом Калмане, для которого самое сложное, построить достоверную модель объекта… Что-то у меня сомнения, что человек, решивший все эти задачи не осилит Си… 😃
    Но это только ИМХО, может чего и неправильно понимаю…
    Желаю удачи, конечно!
Diman_Y
msv:

Уже высказывался о своем имхо по сомнительной пользе подобного подхода. В моем представлении программирование любого проекта чуть сложнее уровня “Hello World” состоит из следующих частей

  • проработка логики,
  • математика,
  • кодирование.
    Автокодеры исключают только последнюю, самую простейшую, хоть и рутинную, часть этого процесса. Правда какой ценой… Дествительно о 16мгц проце можно забыть…

В данном случае мы не говорим об автокодерах. SADF это не автокодер. Там совершенно другой принцип. В большенстве случаев работает быстрее чем рукописный код. 😃
Даже на 16 мегах может все работать. Просто для данной задачи в любом случае 16 это мало, и во вторых, если действительно под автопилот достаточно 16 МГц, то я могу TI на этих-же 16 мегах и гонять. Проблемы нет.

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

Фишка SADF как раз в том что она охватывает и связывает все этапы разработки от моделирования до модификации.
Но это отдельная тема…

msv:

В нашем случае, например: известно, банальный ПИД, можно построить на БИХ-фильтре n-порядка. Все просто- “выставляете параметры” (как расчитать коэффициенты?) и ПИД с нужными (какими?) характеристиками готов! 😃. Уж не говорю о пресловутом Калмане, для которого самое сложное, построить достоверную модель объекта… Что-то у меня сомнения, что человек, решивший все эти задачи не осилит Си… 😃
Но это только ИМХО, может чего и неправильно понимаю…
Желаю удачи, конечно!

Спасибо. 😃

msv
Diman_Y:

Просто для данной задачи в любом случае 16 это мало

Честно говоря с трудом представляю задачу, для которой нужно столько математики в сек, что этого не хватит… 😃 На разве обработка видео в реальном времени… Тем более в той многопроцессорной структуре, которую Вы планируете, где каждому процу предстоит решать по сути небольшую группу задач.

Diman_Y:

Вы забыли еще несколько этапов: отладка, настройка и модификация.

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

Diman_Y
msv:

Честно говоря с трудом представляю задачу, для которой нужно столько математики в сек, что этого не хватит… 😃 На разве обработка видео в реальном времени… Тем более в той многопроцессорной структуре, которую Вы планируете, где каждому процу предстоит решать по сути небольшую группу задач.

У пиков там очень простые задачи для удобства отладки и модульности системы.
А вот по поводу обработки посудите сами:
Есть 9 сенсоров. 6 работают с частотой ~ 100 герц, еще 3 работают на 1 кГц. Есть еще сенсор которые работает на 200 кГц и есть еще несколько сенсоров. Плюс еще некоторая обработка. Плюс PPM канал c модема и т.д.
Сигнал там надо будет отфильтровать и преобразовать. Плюс оверхед на перефирию и прерывания. Плюс отсутствие ассемблера.

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

Ну вот, пока суть да дело, попробовал развести плату.
Вот что получилось: 😃

Блин, картинка не вставилась…

Так, пробую еще раз:

Ура! Получилось. 😃

20 days later
Diman_Y

Итак, заказал я две платы. На следующей неделе должны придти. 😃

11 days later
Diman_Y

Итак, очередной апдейт по поводу проекта.

Сегодня мне выслали платы. Завтра придут. Все компоненты есть. Стоимость всех компонентов не более 100 евро. Плюс плата 70.

Проект будет реализовываться в три этапа:

  1. Сначала я напишу софт под пики. Их 2. Один управляет ОСД, второй управляет машинками. Под ОСД софт почти готов. Осталось только порт запрограммировать.
  2. На втором этапе я подсоединяю к TMS ZBee Pro 868 (его еще надо купить) и делаю PC-шный софт для управления модели джойстиком. Еще к TMSу я подключаю ЖПС и вывожу данные на ОСД.
  3. На третьем этапе я делая все остальные драйвера: скорость, давление, компас, гироскоп и акселерометр.
  4. На четвертом этапе реализуются алгоритмы управления. 😃
    По идее первые три этапа я планирую сделать в ближайшие 2-4 недели, если конечно производители платы с платой не накосячили. 😃

Вот фотки платы:

Diman_Y

Вот на выходных платами занимался: 😃

morion15

Интересно как ты считываеш даные с гиры, применяеш какойнить фильтр типа Калмана или Рунге-Кута, я пока провожу интегрирование методом трапеций, дык результат пока не сходиться😁

Diman_Y
morion15:

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

Я еще ничего не считываю. Сейчас ОСД отлаживаю. 😃

По поводу гиры.
У меня нет ограничений на методы. У меня полноценный ДСП с 2.4 ГФлопа.
Я поставлю нормальный интегратор с двойной точностью 0.0001 Гц и все будет нормально. А дальше корректировать надо по высоте, скорости и азимуту. Там достаточно сложный алгоритм коррекции будет.

morion15

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

Diman_Y
morion15:

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

Я в цифре фильтровать буду.

12 days later
DMIZDETS

Очень любопытный проект, отмечу только, что есть оч крутая микро схемка от Analog D. ADIS16355 c 3D гиро и 3D акселерометрами в одном корпусе и что, как оказалось после отладки алгоритма , очень важным, взаимно строго и надежно ориентированными. Так что могу порекомендовать ее использование для Ваших целей, поскольку задачка увязать показания 3D гир и 3D аксов для расчета крена, тонгажа и рысканья ну совсем не простая если гиры и аксы не установлены в одной системе координат!
Ну а впрочем удачи! Понаблюдаю с интересом за Вашей разработкой.

varvar
DMIZDETS:

оч крутая микро схемка от Analog D. ADIS16355 c 3D гиро и 3D акселерометрами в одном корпусе

Чего уж мелочиться, еще у них есть ADIS16400 - там еще и трехмерный компас имеется 😃 В кулацком хозяйстве компас вещь завсегда полезная. С нуля знаешь, куда лететь 😃 Еще бы образцы бесплатные слали - ей бы вообще цены не было. А 3D гиро и 3D акселерометр и у ST имеется.

Diman_Y
DMIZDETS:

ADIS16355

У ADI есть один серьезный недостаток - цена. Гироскопы 2Д за $50 это конечно круто. Я конечно понимаю что не настолько богат чтобы покупать дешевые вещи, но все-же это слишком дорого. 😃
В общем, мне все равно кокой гироскоп ставить, но у ST нормальная цена (не более 10$ за 3D).

В принципе, большенство гироскопов отличаются между собой качеством внутреннего АЦП и качеством обработки. Мне их обработка нафиг не нужна. Отфильтровать и исправиьт АЧХ я и сам могу. Мне нужно чтобы просто отсчеты выдавали, а дальше я и сам могу. У СТ такая фича есть.

varvar:

Еще бы образцы бесплатные слали - ей бы вообще цены не было.

Да у них вообще политика странная. Вот мне ADI пристали два бесплатных гироскопа по 50 баксов каждый. Нафига не понятно, но в хозяйстве пригодится. Лучше бы они процессоры бесплатно слали как TI.
А бесплатные семплы за 400 баксов каждый это конечно круто. 😃

Вообще цена компонентов это не последний вопрос. Если бы я делал только для себя, то я бы вообще с работы гироскоп поставил. Он несколько тысяч стоит. 😃
Все дело в том, что проект изначально задумывался как массовый и цена компонентов изначальна ставилась не дороже 150$. В принципе сейчас все примерно так и выглядет +/-$10.

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

  1. Сам автопилот
  2. Наземпая станция (софт на нетбуке)
varvar
Diman_Y:

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

Бюджетный вариант:

3D гироскоп от wii moption plus - 8-9 долларов с доставкой, 3D ускорение - нунчак за 4 доллара от туда же, ну, кое-чего по мелочам - 3D компас, датчик относительного давления (скорость относительно воздуха), датчик абсолютного давления, плата, сделанная утюгом. Вот только до программного руки не доходят - то самолетик делать надо, потом разбить, потом ремонтировать и снова разбивать 😃 А потом еще самолетик такой, и этакий… А ведь еще и на работу ходить надо 😃

Diman_Y
varvar:

Бюджетный вариант…

В принципе разница между бюджетным и моим вариантом это наличие DSP процессора с памятью и немного другие гироскопы, которые в принципе не сильно отличаются по цене от InventSence.

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

Еще раз, отсутсвие нормального процессора это системный косяк. Я конечно понимаю что любителям тяжело осваивать ДСП. Но без ДСП нормального автопилота сделать не получистя.
Вот простой пример.
Вот надо сделать интегратор на гироскоп и акселерометр. Пусть у нас интегратор второго порядка. Если я его буду делать как надо на пиках, то он у меня сожрет все ресурсы, так как делать его надо в плавучке, да еще и не один канал надо интегрировать. Если так, то вместо 30 мипсов у меня максимум останется 0.5 мипс. Потом получится что еще на переферию надо тратиться, а потом все придет к тому что вместо синхронной обработки сигнала я буду расчитывать что-то там как-то так абы как, да еще и не когда надо. 😃
В итоге абсолютно простая с точки зрения понимания и реализации задача сводится к пляскам с бубном вокруг левых алгоритмов (типа трапеций), изобретению велосипеда и т.д.
А потом после месяцев отладки, испытаний и подбора коэффициентов народ заявляет что типа алгоритмы писать это очень сложно… 😃