Делаю OSD, автопилот и инерциалку...
Пожалуйста:
Дмитрий не скромничайте, я так понял Вы и есть автор пакета SADF ?
А что именно не скажите?
В прошлом году где-то пробегала ссылка на клип, может быть не на этом сайте.
Ссылку потерял, ключевые слова: “адаптивный АП” (на англ.)
Дмитрий не скромничайте, я так понял Вы и есть автор пакета SADF ?
Да.
В прошлом году где-то пробегала ссылка на клип, может быть не на этом сайте.
Ссылку потерял, ключевые слова: “адаптивный АП” (на англ.)
Спасибо. Нашел.
Очень интересный девайз.
Рисуете алгоритм и выставляете параметры.
А дальше? А дальше фан и полеты.
Уже высказывался о своем имхо по сомнительной пользе подобного подхода. В моем представлении программирование любого проекта чуть сложнее уровня “Hello World” состоит из следующих частей
- проработка логики,
- математика,
- кодирование.
Автокодеры исключают только последнюю, самую простейшую, хоть и рутинную, часть этого процесса. Правда какой ценой… Дествительно о 16мгц проце можно забыть…
В нашем случае, например: известно, банальный ПИД, можно построить на БИХ-фильтре n-порядка. Все просто- “выставляете параметры” (как расчитать коэффициенты?) и ПИД с нужными (какими?) характеристиками готов! 😃. Уж не говорю о пресловутом Калмане, для которого самое сложное, построить достоверную модель объекта… Что-то у меня сомнения, что человек, решивший все эти задачи не осилит Си… 😃
Но это только ИМХО, может чего и неправильно понимаю…
Желаю удачи, конечно!
Уже высказывался о своем имхо по сомнительной пользе подобного подхода. В моем представлении программирование любого проекта чуть сложнее уровня “Hello World” состоит из следующих частей
- проработка логики,
- математика,
- кодирование.
Автокодеры исключают только последнюю, самую простейшую, хоть и рутинную, часть этого процесса. Правда какой ценой… Дествительно о 16мгц проце можно забыть…
В данном случае мы не говорим об автокодерах. SADF это не автокодер. Там совершенно другой принцип. В большенстве случаев работает быстрее чем рукописный код. 😃
Даже на 16 мегах может все работать. Просто для данной задачи в любом случае 16 это мало, и во вторых, если действительно под автопилот достаточно 16 МГц, то я могу TI на этих-же 16 мегах и гонять. Проблемы нет.
Теперь по поводу частей разработки.
Вы забыли еще несколько этапов: отладка, настройка и модификация.
Вот тут как раз все проблемы и возникают. 😃
Фишка SADF как раз в том что она охватывает и связывает все этапы разработки от моделирования до модификации.
Но это отдельная тема…
В нашем случае, например: известно, банальный ПИД, можно построить на БИХ-фильтре n-порядка. Все просто- “выставляете параметры” (как расчитать коэффициенты?) и ПИД с нужными (какими?) характеристиками готов! 😃. Уж не говорю о пресловутом Калмане, для которого самое сложное, построить достоверную модель объекта… Что-то у меня сомнения, что человек, решивший все эти задачи не осилит Си… 😃
Но это только ИМХО, может чего и неправильно понимаю…
Желаю удачи, конечно!
Спасибо. 😃
Просто для данной задачи в любом случае 16 это мало
Честно говоря с трудом представляю задачу, для которой нужно столько математики в сек, что этого не хватит… 😃 На разве обработка видео в реальном времени… Тем более в той многопроцессорной структуре, которую Вы планируете, где каждому процу предстоит решать по сути небольшую группу задач.
Вы забыли еще несколько этапов: отладка, настройка и модификация.
Вы немного меня не так поняли, я говорил не о этапах программирования, а о составных частях, которые в той или иной степени присутствуют на всех этапах, от постановки вплоть до сопровождения. Во всяком случае у меня…
А с SADF действительно не знаком, поэтому больше не буду оффить…
Честно говоря с трудом представляю задачу, для которой нужно столько математики в сек, что этого не хватит… 😃 На разве обработка видео в реальном времени… Тем более в той многопроцессорной структуре, которую Вы планируете, где каждому процу предстоит решать по сути небольшую группу задач.
У пиков там очень простые задачи для удобства отладки и модульности системы.
А вот по поводу обработки посудите сами:
Есть 9 сенсоров. 6 работают с частотой ~ 100 герц, еще 3 работают на 1 кГц. Есть еще сенсор которые работает на 200 кГц и есть еще несколько сенсоров. Плюс еще некоторая обработка. Плюс PPM канал c модема и т.д.
Сигнал там надо будет отфильтровать и преобразовать. Плюс оверхед на перефирию и прерывания. Плюс отсутствие ассемблера.
В итоге 16 мегагерц там будет в притык при условии наличия плавучки. А вот на фиксированной точке я даже не возьмусь такую задачу решать.
В любом случае, иметь прототип у которого есть неограниченный запас ресурсов это всегда хорошо. Вот когда все будет работать, тогда можно будет поменять один TMS на другой, пусть даже с фиксированной точкой. SADF позволяет переносить решения без проблем (извиняюсь за офф.)…
Ну вот, пока суть да дело, попробовал развести плату.
Вот что получилось: 😃
Блин, картинка не вставилась…
Так, пробую еще раз:
Ура! Получилось. 😃
Итак, заказал я две платы. На следующей неделе должны придти. 😃
Итак, очередной апдейт по поводу проекта.
Сегодня мне выслали платы. Завтра придут. Все компоненты есть. Стоимость всех компонентов не более 100 евро. Плюс плата 70.
Проект будет реализовываться в три этапа:
- Сначала я напишу софт под пики. Их 2. Один управляет ОСД, второй управляет машинками. Под ОСД софт почти готов. Осталось только порт запрограммировать.
- На втором этапе я подсоединяю к TMS ZBee Pro 868 (его еще надо купить) и делаю PC-шный софт для управления модели джойстиком. Еще к TMSу я подключаю ЖПС и вывожу данные на ОСД.
- На третьем этапе я делая все остальные драйвера: скорость, давление, компас, гироскоп и акселерометр.
- На четвертом этапе реализуются алгоритмы управления. 😃
По идее первые три этапа я планирую сделать в ближайшие 2-4 недели, если конечно производители платы с платой не накосячили. 😃
Интересно как ты считываеш даные с гиры, применяеш какойнить фильтр типа Калмана или Рунге-Кута, я пока провожу интегрирование методом трапеций, дык результат пока не сходиться😁
Интересно как ты считываеш даные с гиры, применяеш какойнить фильтр типа Калмана или Рунге-Кута, я пока провожу интегрирование методом трапеций, дык результат пока не сходиться
Я еще ничего не считываю. Сейчас ОСД отлаживаю. 😃
По поводу гиры.
У меня нет ограничений на методы. У меня полноценный ДСП с 2.4 ГФлопа.
Я поставлю нормальный интегратор с двойной точностью 0.0001 Гц и все будет нормально. А дальше корректировать надо по высоте, скорости и азимуту. Там достаточно сложный алгоритм коррекции будет.
Нормальный интегратор сдвойной точностью …применяете какуюто готовую микросхему?
Нормальный интегратор сдвойной точностью …применяете какуюто готовую микросхему?
Я в цифре фильтровать буду.
Очень любопытный проект, отмечу только, что есть оч крутая микро схемка от Analog D. ADIS16355 c 3D гиро и 3D акселерометрами в одном корпусе и что, как оказалось после отладки алгоритма , очень важным, взаимно строго и надежно ориентированными. Так что могу порекомендовать ее использование для Ваших целей, поскольку задачка увязать показания 3D гир и 3D аксов для расчета крена, тонгажа и рысканья ну совсем не простая если гиры и аксы не установлены в одной системе координат!
Ну а впрочем удачи! Понаблюдаю с интересом за Вашей разработкой.
оч крутая микро схемка от Analog D. ADIS16355 c 3D гиро и 3D акселерометрами в одном корпусе
Чего уж мелочиться, еще у них есть ADIS16400 - там еще и трехмерный компас имеется 😃 В кулацком хозяйстве компас вещь завсегда полезная. С нуля знаешь, куда лететь 😃 Еще бы образцы бесплатные слали - ей бы вообще цены не было. А 3D гиро и 3D акселерометр и у ST имеется.
ADIS16355
У ADI есть один серьезный недостаток - цена. Гироскопы 2Д за $50 это конечно круто. Я конечно понимаю что не настолько богат чтобы покупать дешевые вещи, но все-же это слишком дорого. 😃
В общем, мне все равно кокой гироскоп ставить, но у ST нормальная цена (не более 10$ за 3D).
В принципе, большенство гироскопов отличаются между собой качеством внутреннего АЦП и качеством обработки. Мне их обработка нафиг не нужна. Отфильтровать и исправиьт АЧХ я и сам могу. Мне нужно чтобы просто отсчеты выдавали, а дальше я и сам могу. У СТ такая фича есть.
Еще бы образцы бесплатные слали - ей бы вообще цены не было.
Да у них вообще политика странная. Вот мне ADI пристали два бесплатных гироскопа по 50 баксов каждый. Нафига не понятно, но в хозяйстве пригодится. Лучше бы они процессоры бесплатно слали как TI.
А бесплатные семплы за 400 баксов каждый это конечно круто. 😃
Вообще цена компонентов это не последний вопрос. Если бы я делал только для себя, то я бы вообще с работы гироскоп поставил. Он несколько тысяч стоит. 😃
Все дело в том, что проект изначально задумывался как массовый и цена компонентов изначальна ставилась не дороже 150$. В принципе сейчас все примерно так и выглядет +/-$10.
Небольшой апдейт.
Сейчас структура конечного продукта выглядет примерно так:
цена компонентов изначальна ставилась не дороже 150$.
Бюджетный вариант:
3D гироскоп от wii moption plus - 8-9 долларов с доставкой, 3D ускорение - нунчак за 4 доллара от туда же, ну, кое-чего по мелочам - 3D компас, датчик относительного давления (скорость относительно воздуха), датчик абсолютного давления, плата, сделанная утюгом. Вот только до программного руки не доходят - то самолетик делать надо, потом разбить, потом ремонтировать и снова разбивать 😃 А потом еще самолетик такой, и этакий… А ведь еще и на работу ходить надо 😃
Бюджетный вариант…
В принципе разница между бюджетным и моим вариантом это наличие DSP процессора с памятью и немного другие гироскопы, которые в принципе не сильно отличаются по цене от InventSence.
Но как я уже говорил, отсутствие нормального процессора для обработки это системный косяк всех существующих автопилотов. Я уже писал что просто не представляю как можно впихнуть в 30 мипс фиксированной точки всю обработку да еще и управление переферией. Все это приводит к ограниченности ресурсов процессора и как результат отсутсвие структуры проекта.
Еще раз, отсутсвие нормального процессора это системный косяк. Я конечно понимаю что любителям тяжело осваивать ДСП. Но без ДСП нормального автопилота сделать не получистя.
Вот простой пример.
Вот надо сделать интегратор на гироскоп и акселерометр. Пусть у нас интегратор второго порядка. Если я его буду делать как надо на пиках, то он у меня сожрет все ресурсы, так как делать его надо в плавучке, да еще и не один канал надо интегрировать. Если так, то вместо 30 мипсов у меня максимум останется 0.5 мипс. Потом получится что еще на переферию надо тратиться, а потом все придет к тому что вместо синхронной обработки сигнала я буду расчитывать что-то там как-то так абы как, да еще и не когда надо. 😃
В итоге абсолютно простая с точки зрения понимания и реализации задача сводится к пляскам с бубном вокруг левых алгоритмов (типа трапеций), изобретению велосипеда и т.д.
А потом после месяцев отладки, испытаний и подбора коэффициентов народ заявляет что типа алгоритмы писать это очень сложно… 😃