Стабилизация Активная - часть II

 
1 68 69 70 71 72 88
UA Non-conformist #17.02.2012 16:17  @GOGI#17.02.2012 16:10
+
-
edit
 

Non-conformist

аксакал

Т.е. получается, что частота записи ограничена не памятью, а датчиками.
Skype: a_schabanow  
RU GOGI #17.02.2012 16:27  @Non-conformist#17.02.2012 16:17
+
-
edit
 

GOGI

координатор
★★★★
Non-conformist> Т.е. получается, что частота записи ограничена не памятью, а датчиками.
Скорее, контроллером. Ему ведь кроме как получать данные с датчиков и писать в память еще что-то делать надо, плюс весь обмен по одной шине идет.
1  10.0.110.0.1
UA Non-conformist #17.02.2012 16:41  @Non-conformist#17.02.2012 16:17
+
-
edit
 

Non-conformist

аксакал

Играясь с сабжем, одетым на палку длиной ~ 500 мм, обнаружил интересный эффект. Который, если подумать, не интересный и не эффект, но все же: при манипуляциях, изображающих балансирование перевёрнутого маятника, чувствительность оси Z получается раза в четыре выше, чем X и Y. Как я понял, потому что вокруг Z сабж крутится с миллиметровым плечом, а вокруг XY - с плечом примерно в сотню раз бОльшим.

Вывод: если стабилизировать Z, то надо учитывать разницу плеч (между гироскопом и ЦТ) по XY и по Z.
Прикреплённые файлы:
1.jpg (скачать) [53,16 кбайт, 20 загрузок] [attach=265124]
 
2.jpg (скачать) [46,19 кбайт, 13 загрузок] [attach=265125]
 
 
Skype: a_schabanow  
UA Non-conformist #17.02.2012 17:01  @Non-conformist#17.02.2012 16:41
+
-
edit
 

Non-conformist

аксакал

Вывод второй: чем короче стержень маятника, тем больше соотношение "сигнал/шум" гироскопа.

Вывод третий: чем ближе Ардуиноскоп к ЦТ, тем лучше.
Skype: a_schabanow  
UA Non-conformist #17.02.2012 17:24  @Non-conformist#17.02.2012 17:01
+
-
edit
 

Non-conformist

аксакал

Вывод четвёртый: гироскоп на перевёрнутом маятнике с клапанами должен располагаться как можно ближе к точке подвеса (опоры).
Skype: a_schabanow  
UA Serge77 #17.02.2012 17:45  @Non-conformist#17.02.2012 17:01
+
-
edit
 

Serge77

модератор

Non-conformist> Вывод третий: чем ближе Ардуиноскоп к ЦТ, тем лучше.

Неверно. Гироскоп измеряет скорость вращения, а она одинакова по всей длине маятника. Поэтому неважно, где на палке будет измеритель.

RLAN

старожил

Non-conformist>> Вывод третий: чем ближе Ардуиноскоп к ЦТ, тем лучше.
Serge77> Неверно. Гироскоп измеряет скорость вращения, а она одинакова по всей длине маятника. Поэтому неважно, где на палке будет измеритель.

Эти гироскопы, насколько я знаю, измеряют угловые ускорения, а уж из них получают скорость.
 

Serge77

модератор

RLAN> Эти гироскопы, насколько я знаю, измеряют угловые ускорения, а уж из них получают скорость.

Угловое ускорение тоже одинаково по длине палки.
UA Non-conformist #17.02.2012 18:46  @Serge77#17.02.2012 17:54
+
-
edit
 

Non-conformist

аксакал

Согласен, что угловые скорость и ускорение одинаковы. Согласен, что выводы странные и неверные. Но такое впечатление складывается, однако...

Сейчас подходящей трубки под рукой нет, а та, под которую сделал кронштейн, осталась на работе. Диаграммы привести не могу, поудалял. Опишу словами.

Насаживаю сабж на палку, упираю свободный её конец в пол, берусь пальцами за рёбра верхней платы, и начинаю трусить кистью из стороны в сторону, описывая окружность диаметром пару миллиметров. Скорость... Ну потрусите кистью, изображая тремор. Вот такая скорость. Открываю диаграмму, и вижу, что жёлтая кривая (Z) по своей амплитуде практически РАВНА синей и сиреневой (X и Y). А ведь палка по своей продольной оси практически не крутилась! Почему так - непонятно. Катание на карусели показало практически равную чувствительность всех трёх осей (плюс минус ерунда).


зы: в ДШ на гироскоп производитель оперирует размерностью "dps", "degrees per second". Т.е. речь идёт именно об угловой скорости.
Skype: a_schabanow  
UA Non-conformist #17.02.2012 18:54  @Non-conformist#17.02.2012 18:46
+
-
edit
 

Non-conformist

аксакал

Non-conformist> ... и начинаю трусить кистью из стороны в сторону ...
Даже не кистью, а предплечьем, лежащим на коленке. Когда пытаешься елозить по двум осям одновременно, получается, что описываешь круги диаметром до пяти миллиметров примерно. Откуда в такой конфигурации может получиться заметное вращение упёртой в пол палки вдоль продольной оси?
Skype: a_schabanow  
UA Ckona #17.02.2012 18:56  @Non-conformist#17.02.2012 17:01
+
-
edit
 

Ckona

опытный

Non-conformist> вокруг Z сабж крутится с миллиметровым плечом, а вокруг XY - с плечом примерно в сотню раз бОльшим. Вывод третий: чем ближе Ардуиноскоп к ЦТ, тем лучше.

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

Вот еще "соображения":
Очевидной является схема: неподвижный нижний шарнир, верхний свободный конец маятника снабжен реактивными соплами. Датчик угловых скоростей - в шарнире, сигнал ошибки есть разность между запомненным начальным углом (до отпускания маятника) и мгновенным измеренным углом (интеграл от угловой скорости). Этот сигнал ошибки - ненадолго: "ноль плывет". В принципе, значение угловой скорости тоже может служить сигналом ошибки - но тут как раз "косинус", то есть колебания туда-сюда.
Та же схема, но с "горизонтальным" акселерометром в шарнире, даст "вечный" сигнал ошибки - "горизонтальная" составляющая ускорения - синус угла отклонения, опорное направление задано вектором тяжести.

Если балансировка осуществляется перемещением нижнего шарнира, то "горизонтальный" акселерометр будет выдавать сумму сигнала ошибки и корректирующего ускорениям - которое надо точно знать и учитывать. И получается, что оптический "задатчик опорного направления" - вне конкуренции.
 
UA Serge77 #17.02.2012 19:17  @Non-conformist#17.02.2012 18:54
+
-
edit
 

Serge77

модератор

Non-conformist> Откуда в такой конфигурации может получиться заметное вращение упёртой в пол палки вдоль продольной оси?

От твоей руки, больше неоткуда.
Просто смещения по Х и У кажутся больше на глаз, а на самом деле глазом ты видишь линейное смещение и не можешь оценить угловое.
Закрепи на вершине палки перпендикулярно ей соломинку, по длине равную палке. И посмотри, как будет болтаться конец соломинки. Вот тогда можно будет ВИЗУАЛЬНО сравнить вращение по всем трём осям. А пока у тебя просто обман зрения.
UA Non-conformist #17.02.2012 19:37  @Ckona#17.02.2012 18:56
+
-
edit
 

Non-conformist

аксакал

Serge77
Да, скорее всего так оно и есть. Тут не соломинка нужна, а алгоритм, код из него - и пробовать, пробовать, пробовать. А так всё это - общие рассуждения и бесконечный бег по кругу, в плену собственных впечатлений.

Ckona
Думаю, что какая-то линейная чувствительность у углового датчика присутствует, потому что имхо сама природа датчика к этому предрасположена. Чтобы проверить это, надо один раз зарядить алгоритм без компенсации этой чувствительности, а второй раз - с компенсацией. Пробовать с разными весовыми коэффициентами. И сравнивать результаты. Благо есть откуда брать компенсирующий сигнал.

Ясно, что оптический датчик направления/положения - самый простой и надёжный выход. Если только он подходит для решения поставленной задачи. Но не только же на оптических датчиках направления делают перевёрнутые маятники... А "прямоходящие" роботы типа Segway вообще в основном электронными гироскопами пользуются, не говоря уж о квадрокоптерах... И ничего, и "путеводные лампочки" над ними не висят...
Skype: a_schabanow  
UA Serge77 #17.02.2012 22:22  @Non-conformist#17.02.2012 19:37
+
-
edit
 

Serge77

модератор

Non-conformist> Думаю, что какая-то линейная чувствительность у углового датчика присутствует

Ты думаешь, этого бы не было написано в документации? Или это до сих пор бы никто не заметил?
UA Non-conformist #17.02.2012 22:31  @Serge77#17.02.2012 22:22
+
-
edit
 

Non-conformist

аксакал

Я не настолько эксперт в ДШ этого гироскопа, чтобы поддержать дискуссию на эту тему. Такую чувствительность легко проверить. Например, закрепить сабж на каретке принтера, и либо просто подвигать её вручную, либо запустить печать. Или подыскать равноценный вариант среди подручных средств. Почти уверен, что плоскопараллельное перемещение углового датчика даст ясно видимый паразитный сигнал на соответствующем его выходе.
Skype: a_schabanow  
UA Non-conformist #17.02.2012 22:53  @Non-conformist#17.02.2012 22:31
+
-
edit
 

Non-conformist

аксакал

Вот готовый проект, который нам имхо можно и нужно взять за основу:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284738418/all
Гироскоп другой, но open source налицо...
Skype: a_schabanow  

GOGI

координатор
★★★★
Serge77> Ты думаешь, этого бы не было написано в документации? Или это до сих пор бы никто не заметил?
Все МЕМС гироскопы чуствительны к линейным ускорениям, но не все про это пишут, но например AD указывает это.
1  10.0.110.0.1
UA Non-conformist #17.02.2012 23:18  @Non-conformist#17.02.2012 22:53
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Вот готовый проект, который нам имхо можно и нужно взять за основу:
Вот ещё обсуждение балансирующего робота, уже с L3G4200D:
IMU and Gyro balance bot code

***
Надо основательно прошерстить arduino.cc и вообще инет по словам balancing bot gyro accelerometer l3g4200d pid inverted pendulum. Думаю, что вполне реально найти если не готовое решение, то хороший фундамент для него.
Skype: a_schabanow  
RU Андрей Суворов #17.02.2012 23:18  @RLAN#17.02.2012 17:51
+
-
edit
 

Андрей Суворов

координатор

Non-conformist>>> Вывод третий: чем ближе Ардуиноскоп к ЦТ, тем лучше.
Serge77>> Неверно. Гироскоп измеряет скорость вращения, а она одинакова по всей длине маятника. Поэтому неважно, где на палке будет измеритель.
RLAN> Эти гироскопы, насколько я знаю, измеряют угловые ускорения, а уж из них получают скорость.
Нет, они измеряют именно скорость.
Например, в резонаторе две волны навстречу друг другу - эффект Допплера вызывает увеличение частоты одной и уменьшение другой, разница пропорциональна скорости. Другие работают похоже. Так что все они датчики именно угловой скорости, как и двухстепенной гироскоп, заневоленный датчиком момента (да хоть банальной пружиной, но магнитоэлектрический двигатель работает точнее.
 8.08.0
RU Андрей Суворов #17.02.2012 23:20  @Serge77#17.02.2012 22:22
+
-
edit
 

Андрей Суворов

координатор

Non-conformist>> Думаю, что какая-то линейная чувствительность у углового датчика присутствует
Serge77> Ты думаешь, этого бы не было написано в документации? Или это до сих пор бы никто не заметил?

Я это когда-то даже измерял :) чувствительность по одной из осей была практически нулевая, так что тангаж и рыскание можно было не корректировать. А вот крен/вращение - надо бы. Зависимость линейная, ну, в пределах вообще точности мемс гироскопа.
 8.08.0
UA Non-conformist #17.02.2012 23:27  @Андрей Суворов#17.02.2012 23:20
+
-
edit
 

Non-conformist

аксакал

На чём (обо что) остановились твои изыскания? Тема давнишняя, вялотекущая - начала уже прочно забылись...
Skype: a_schabanow  
UA Non-conformist #17.02.2012 23:44  @Non-conformist#17.02.2012 22:53
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Вот готовый проект, который нам имхо можно и нужно взять за основу:
Non-conformist> http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284738418/all
Non-conformist> Гироскоп другой, но open source налицо...

Посмотрите, какая красота:

http://www.youtube.com/v/pC6yeyDunJg?
Skype: a_schabanow  
UA Non-conformist #18.02.2012 06:57  @Non-conformist#17.02.2012 23:44
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> Вот готовый проект, который нам имхо можно и нужно взять за основу:
Обновлённая ссылка, последнее сообщение - конец ноября 2011:

Balancing robot for dummies

Balancing robot for dummies

// arduino.cc
 


Название говорящее - "Балансер Для Балванов". Думаю, нам подойдёт. ))

Ckona, ты разбираешь по-английски? Достойное чтение имхо, вариант "читай и делай как я". Если что непонятно в человеческом английском - спрашивай, разберёмся...
Skype: a_schabanow  
UA Non-conformist #18.02.2012 07:21  @Ckona#17.02.2012 18:56
+
-
edit
 

Non-conformist

аксакал

Ckona> Интересно ! Сегодня в дороге "исследовал" автоматику перевернутого маятника и пришел к необходимости учета чувствительности датчика угловой скорости к линейному ускорению.
Этот kas (см. предыдущее сообщение) пишет, что для одноосевого балансера нужна гироскопическая X и акселерометрические YZ. Видать, неспроста:

If your robot rolls about the x axis, you only need GYR_X, ACC_Y and ACC_Z
I notice that signal quality is much better when the sensor is upward, apparently, the IMU* does not appreciate to be up side down.
______
*IMU - что-то вроде Integral Motion Unit, маленькая платка-носитель от SparkFun с двухосевым гироскопом и трёхосевым акселерометром.
...
Accelerometer data are noisy, Gyros tend to drift; the combination (data fusing) gives usable information. See: Accelerometer and Gyro Buying Guide - SparkFun Electronics


И ещё много чего ОЧЕНЬ интересного. Нужно внимательно изучить этот источник!
Skype: a_schabanow  
Это сообщение редактировалось 18.02.2012 в 10:18
RU Андрей Суворов #18.02.2012 11:23  @Non-conformist#17.02.2012 23:27
+
-
edit
 

Андрей Суворов

координатор

Non-conformist> На чём (обо что) остановились твои изыскания? Тема давнишняя, вялотекущая - начала уже прочно забылись...

Я построил самодельный кубик с тремя ADIS16251, выбранных за то, что у них есть диапазон 75 градусов в секунду (а ещё 150 и 300), построил макет отсека с четырьмя рулевыми машинками, склеил из линеек и ватмана рули, сделал 3-ниточный подвес и пытался построить одно- , а потом и двухосный стабилизатор на базе всего этого. Трёхосный не выйдет, подвес всё равно не даёт крутиться этой штуке по крену :).

Дул вентиляторами от серверов (4 штуки) на эту фигню, чтоб у неё был источник, в смысле, поток. Сигналы с гироскопов обрабатывал через Labview на специальном маленьком писишнике. Это была плата FIR-C400, изъятая из кассового аппарата.

В Лабвью подобрать устойчивые соотношения коэффициентов оказалось не так сложно. Но дальше - во-первых, мне пока не удалось сделать работоспособный движок, подходящий для ракеты такой размерности, во-вторых, как перейти от лабвью к коду для ATMEGA или хоть даже ARM-а (я приглядываюсь к ADuC7126), пока не знаю, программистской квалификации не хватает. Ну и в-третьих, планер для лётной ракеты я ещё делать не начинал :)
 9.09.0
1 68 69 70 71 72 88

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru