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

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 мипс. Потом получится что еще на переферию надо тратиться, а потом все придет к тому что вместо синхронной обработки сигнала я буду расчитывать что-то там как-то так абы как, да еще и не когда надо. 😃
В итоге абсолютно простая с точки зрения понимания и реализации задача сводится к пляскам с бубном вокруг левых алгоритмов (типа трапеций), изобретению велосипеда и т.д.
А потом после месяцев отладки, испытаний и подбора коэффициентов народ заявляет что типа алгоритмы писать это очень сложно… 😃

Aleksey_Gorelikov
Diman_Y:

Я конечно понимаю что любителям тяжело…

Ну сделайте, профессионал хоть что-нибудь! Из результатов работы за 2 месяца видно только какую-то зеленую платку с двумя конденцаторами напаянными, и 50 сообщений обещаний, что будет все круто. 😃

AndyBig
Aleksey_Gorelikov:

Ну сделайте, профессионал хоть что-нибудь! Из результатов работы за 2 месяца видно только какую-то зеленую платку с двумя конденцаторами напаянными, и 50 сообщений обещаний, что будет все круто.

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

varvar
Diman_Y:

что любителям тяжело осваивать ДСП

Приятно было пообщаться с профессионалом.

Diman_Y
Aleksey_Gorelikov:

Ну сделайте, профессионал хоть что-нибудь! Из результатов работы за 2 месяца видно только какую-то зеленую платку с двумя конденцаторами напаянными, и 50 сообщений обещаний, что будет все круто.

Про сарказм Вам уже сказали. 😃

Сейчас уже работет ОСД, пики запрограммированы (я в первый раз с пиками работал). Софт для нотбука в процессе написания(GoogleEarth, videoprocessing, joystick, XBee и т.д.), как минимум фреймворк есть и все компоненты включены. Точки полета завадать можно, полет отображается на карте и т.д. Все телеметрия отображается.
Сейчас я пишу драйвера под ДСП для всех остальных устройств. Думаю что этот этап закончится не раньше чем через месяц.
Тогда уже можно будет говорить об алгоритмах. 😃

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

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

varvar:

Приятно было пообщаться с профессионалом.

Варвар, да не хотеля кого-то обидеть. Поймите.
Если что, то приношу свои извинения.
Вы делаете проект для себя и можете использовать то, в чем лучше разбираетесь. Это нормально. Я вот в микроконтроллерах на пример не силен. 😃

Я же писал о людях которые делают автопилоты на продажу. К Вам это никак не относится. Вы и плату сами сделали а не заказывали.

AndyBig

На самом деле ЦОС - достаточно сложная наука и профессионалов в ней мало. Большинство любительских конструкций подобного рода делается без понимания процесса, по заученным формулам и подбором коэффициентов 😃 Я, например, не считаю себя профессионалом в этой области, хотя на работе как раз занимаюсь написание программ для ПЛИС под ЦОС, но занимаюсь я этим как раз как большинство любителей - мне дают все выкладки и я по ним составляю прошивку.
Я бы не стал заниматься таким проектом потому что если делать, то делать по возможностям нормально, а не бедного родственника 😃 На контроллере нормальную обработку сигнала в реальном времени не сделаешь. А с ДСП я не знаком, и в теории ЦОС большие пробелы. Так на что обижаться, если действительно есть разделение любительских и профессиональных разработок? 😃