roboforum.ru

Технический форум по робототехнике.
Текущее время: 09 апр 2025, 19:21

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 16:29 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
Добрый день. Пытаюсь сделать робота-балансера(уже 4й вариант). Кто-нибудь может подсказать на пальцах как фильтруется сигнал с гироскопа и акселерометра? Гугл как-то уж слишком сложно и муторно описывает теорию фильтра Калмана, альфа-бета фильтра и тд.

Грубо говоря, есть байтовых значения: Gyro и Acsel, которые обновляются 100 раз в секунду, какие математические действия нужно сделать сделать чтобы получить отфильтрованное значение?

вот прошлый тестовый вариант шасси:
Вложение:
9163416.jpg
9163416.jpg [ 83.78 КиБ | Просмотров: 3123 ]

Вложение:
7241699.jpg
7241699.jpg [ 87.82 КиБ | Просмотров: 3122 ]

Вложение:
5260943.jpg
5260943.jpg [ 59.08 КиБ | Просмотров: 3131 ]

Вложение:
5234361.jpg
5234361.jpg [ 96.17 КиБ | Просмотров: 3108 ]

Вложение:
3488179.jpg
3488179.jpg [ 91.88 КиБ | Просмотров: 3112 ]

Вложение:
2936988.jpg
2936988.jpg [ 70.24 КиБ | Просмотров: 3139 ]


На данный момент, для увеличения возможностей, переделал блок управления:



Зарание всем спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 16:31 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
я так понимаю, что у вас слишком малое передаточное число с мотора на колеса, возможно не хватает крутящего момента


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 16:43 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
хмм...на что это может влиять, кроме мощности?...вибрации??...я специально делал ременную передачу чтоб уменьшить возможные вибрации...
..мощность моторов такова что если зажать колеса то крутит шкив под ремнем...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 18:37 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Влиять это может на то, что:

- временные хар-ки более быстрые (за короткий промежуток времени, надо отдать мгновенно данные (выполнить расчет, тянет ли железо, МК, код);
- запас мощности системы питания, да и просто мощности мотора в критических режимах работы (скажем, вместо оборота на 10 градусов за пол секунды, он выдает 8 градусов или вообще за 12 секунд);
- не уверен, что пасиковая система привода оправдана (не должно быть проскальзываний, растяжки как самого пассика, так и самой резины колес относительно поверхности).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 18:44 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
ОК, я понял.

еще есть проблемка с фильтрацией входных данных....увидеть бы пример расчета хотя бы для какого-то алгоритма фильтрации....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 20:52 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2009, 16:02
Сообщения: 320
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder
ukrnano писал(а):
еще есть проблемка с фильтрацией входных данных....увидеть бы пример расчета хотя бы для какого-то алгоритма фильтрации....

x[i]=(x[i-1]+x[i]+x[i+1])/3
И так для каждого из элементов.


Вложения:
1.JPG
1.JPG [ 24.6 КиБ | Просмотров: 3082 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 20:57 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Хмм. тута были уже? http://www.x-io.co.uk/category/open-source/ (читать с конца)
Всё готово, нужно только подключить.
Кстати у акселя и гироскопа накапливается ошибка, так что если сильно потрясти нулевое положение уплывёт.
Почитайте статьи по ссылке там всё разжёвано.

готовый пример для ардуино https://github.com/pololu/minimu-9-ahrs-arduino

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 23:07 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
Romeo писал(а):
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/ (читать с конца)
Всё готово, нужно только подключить.
Кстати у акселя и гироскопа накапливается ошибка, так что если сильно потрясти нулевое положение уплывёт.
Почитайте статьи по ссылке там всё разжёвано.

готовый пример для ардуино https://github.com/pololu/minimu-9-ahrs-arduino


Благодарю, интересный ресурс, надеюсь разжиться там софтишком для своих нужд. Но как-то, к готовому софту + готовым модулям Ардуины душа не лежит...в интернете, все роботы-балансеры(да и остальные), которые я видел, сделаны на готовом ардуино и остальных стандартных модулях и деталях, а также софте....как на мой вкус, то слишком мало творчества, ни паяльника, ни программирования....так-что буду пытаться сделать велосипед))..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 20 янв 2014, 23:34 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2009, 16:02
Сообщения: 320
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder
ukrnano писал(а):
... А какой программой Вы строили такой график? ...

Прогу писал сам, на VB6. Пробовал разные фильтры сигнала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 21 янв 2014, 11:21 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Советую изучить http://www.gnuplot.info/
программа может строить графики из любых данных
Ещё можно рисовать и делать управление используя Processing http://robocraft.ru/blog/arduino/336.html
http://www.x-io.co.uk/osc-illoscope/


Вот ещё хороший фильтр, http://ru.wikipedia.org/wiki/%D0%9C%D0% ... 1%82%D1%80
который хорошо сглаживает кратковременные пики, в отличие от обычного усреднения.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 21 янв 2014, 22:22 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
Romeo писал(а):
ukrnano писал(а):
... А какой программой Вы строили такой график? ...

Прогу писал сам, на VB6. Пробовал разные фильтры сигнала.


А не могли бы вы поделиться такой программкой, если это не секретная технология?!))...мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все.

Добавлено спустя 6 минут 57 секунд:
linvinus писал(а):
Советую изучить http://www.gnuplot.info/
программа может строить графики из любых данных
Ещё можно рисовать и делать управление используя Processing http://robocraft.ru/blog/arduino/336.html
http://www.x-io.co.uk/osc-illoscope/


Оо, процессинг под виндовс!..надеюсь получиться с ним разобраться!.. :beer: пасиб


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 21 янв 2014, 23:10 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Цитата:
мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все.

gnuplot с этим отлично справится.
передача отладочной информации с контроллера это сама по себе ресурсоёмкая задача.
Самое оптимальное, сначала набрать массив данных в контроллере с отметками времени, а потом передавать через компорт для сохранения в файл, потом данные из файла можно изучать и обрабатывать.
передавать лучше в бинарном виде так быстрее, потом ,если нужно, можно перевести в текстовый вид, для наглядности.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 22 янв 2014, 01:13 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2009, 16:02
Сообщения: 320
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder
ukrnano писал(а):
...А не могли бы вы поделиться такой программкой, если это не секретная технология?!))...мне нужна самая простая..чтоб взяла байт с ком-порта, поставила точку на график и все...

Во вложении проект на VB6. Принимает указанное количество байт с указанного порта и делает 2 фильтра с этими данными. Выводит входной и выходной сигналы на экран.


Вложения:
filter.rar [10.76 КиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 22 янв 2014, 10:42 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Спасибо, полезно.

зы: одна проблема, mscomm не воспринимает порты больше 2х, надо быть внимательным. (


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Балансирующий робот
СообщениеДобавлено: 22 янв 2014, 13:12 
Не в сети
Аватара пользователя

Зарегистрирован: 27 июн 2013, 19:02
Сообщения: 156
Всем спасибо за подсказки!...теперь главное переварить такой объем информации))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO