Добрый день. Пытаюсь сделать робота-балансера(уже 4й вариант). Кто-нибудь может подсказать на пальцах как фильтруется сигнал с гироскопа и акселерометра? Гугл как-то уж слишком сложно и муторно описывает теорию фильтра Калмана, альфа-бета фильтра и тд.
Грубо говоря, есть байтовых значения: Gyro и Acsel, которые обновляются 100 раз в секунду, какие математические действия нужно сделать сделать чтобы получить отфильтрованное значение?
вот прошлый тестовый вариант шасси:
На данный момент, для увеличения возможностей, переделал блок управления:
хмм...на что это может влиять, кроме мощности?...вибрации??...я специально делал ременную передачу чтоб уменьшить возможные вибрации... ..мощность моторов такова что если зажать колеса то крутит шкив под ремнем...
- временные хар-ки более быстрые (за короткий промежуток времени, надо отдать мгновенно данные (выполнить расчет, тянет ли железо, МК, код); - запас мощности системы питания, да и просто мощности мотора в критических режимах работы (скажем, вместо оборота на 10 градусов за пол секунды, он выдает 8 градусов или вообще за 12 секунд); - не уверен, что пасиковая система привода оправдана (не должно быть проскальзываний, растяжки как самого пассика, так и самой резины колес относительно поверхности).
Хмм. тута были уже? http://www.x-io.co.uk/category/open-source/ (читать с конца) Всё готово, нужно только подключить. Кстати у акселя и гироскопа накапливается ошибка, так что если сильно потрясти нулевое положение уплывёт. Почитайте статьи по ссылке там всё разжёвано.
ukrnano писал(а):еще есть проблемка с фильтрацией входных данных....увидеть бы пример расчета хотя бы для какого-то алгоритма фильтрации....
x[i]=(x[i-1]+x[i]+x[i+1])/3 И так для каждого из элементов.
Спасибо за подсказку! А какой программой Вы строили такой график? Я нагуглил только SFmonitor (http://www.poprobot.ru/soft/sfmonitor), но как-то пока не получилось ее запустить, к ней нужна еще куча библиотек..
Добавлено спустя 15 минут 52 секунды:
linvinus писал(а):Хмм. тута были уже? http://www.x-io.co.uk/category/open-source/ (читать с конца) Всё готово, нужно только подключить. Кстати у акселя и гироскопа накапливается ошибка, так что если сильно потрясти нулевое положение уплывёт. Почитайте статьи по ссылке там всё разжёвано.
Благодарю, интересный ресурс, надеюсь разжиться там софтишком для своих нужд. Но как-то, к готовому софту + готовым модулям Ардуины душа не лежит...в интернете, все роботы-балансеры(да и остальные), которые я видел, сделаны на готовом ардуино и остальных стандартных модулях и деталях, а также софте....как на мой вкус, то слишком мало творчества, ни паяльника, ни программирования....так-что буду пытаться сделать велосипед))..
ukrnano писал(а):... А какой программой Вы строили такой график? ...
Прогу писал сам, на VB6. Пробовал разные фильтры сигнала.
А не могли бы вы поделиться такой программкой, если это не секретная технология?!))...мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все.
мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все.
gnuplot с этим отлично справится. передача отладочной информации с контроллера это сама по себе ресурсоёмкая задача. Самое оптимальное, сначала набрать массив данных в контроллере с отметками времени, а потом передавать через компорт для сохранения в файл, потом данные из файла можно изучать и обрабатывать. передавать лучше в бинарном виде так быстрее, потом ,если нужно, можно перевести в текстовый вид, для наглядности.
ukrnano писал(а):...А не могли бы вы поделиться такой программкой, если это не секретная технология?!))...мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все...
Во вложении проект на VB6. Принимает указанное количество байт с указанного порта и делает 2 фильтра с этими данными. Выводит входной и выходной сигналы на экран.