roboforum.ru

Технический форум по робототехнике.

linvinus

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: linvinus

Сообщение linvinus » 10 май 2015, 12:45

Мне кажется, что надо различать навигацию и ориентацию. Ориентация (локальная навигация :) ) по принципу оптической мышки не может быть навигацией.

извините не уловил, так ориентация или навигация? :)

Мышка различает обьекты по сигнатурам этих обьектов. И нет никаких гарантий, что сигнатура 100% идентифицирует сам обьект.

А где вы видели распознавание объектов при помощи мышки? Я исходный код ardupilot смотрел, там ничего подобного нет, или упустил?

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

Ошибка возможна, но не забывайте про разрешение 1600 CPI

И самое главное - поверхность, на которой надо ориентироваться, сильно отличается от коврика. Если коврик плохо подходит оптической мышке, его меняют, чего не сделать при навигации.

согласен если говорить о точности то нужно рассматривать систему мышь-коврик

Найти текстуру поверхности, над которой не будет работать этот метод - легко: вода, волны, монотонно сдвигающиеся обьекты (причем можно и виртуально двигающиеся, как волны на поле с высокой травой). Одним словом, под этот метод не подходят текстуры, которые похожи на шум.

скорее наоборот, мышь захватывает отдельно взятые контрастные пиксели, т.е контрастный шум это хорошо, а вот белый лист это плохо (тут, утверждать на 100% нельзя поскольку достоверно неизвестно какой алгоритм используется, есть показатель squal это вроде как количество определённых features, но даже когда он достаточно высок 120-180 у меня мышь не замечает смещение, но это отдельная тема)

168 MHz Cortex M4F - серьезный датчик? Да еще на 752×480 pixels? Там нужна производительность около 1 гигамипса, поверь старому еврею, который переписывал некоторые функции mjpeg кодера на blackfin-е на асм. А там - 500 мгц, 2-4 dsp инструкции за такт.

всё зависит от задачи, определять оптический поток хватит, и вроде как у авторов это получилось.
основной минус ADNS-3080 низкая чувствительность, а основное преимущество - высокая частота кадров до ~7000
в некоторых научных работах сравнивали оптический поток получаемый с обычной камеры 30fps И датчика мыши и пришли к выводу что мышь отрабатывает точнее

мне кажется у нас с вами есть расхождение в понимании как работает оптический поток, как мне кажется вы представляете себе какое то распознавание объектов, когда по факту это два этапа
1) выделить features http://docs.opencv.org/doc/tutorials/fe ... res2d.html
2) вычислить смещение для каждой features (построить оптический поток)
3) если 80% свдинулись влево то считаем что картинка сдвинулась влево
т.е. это простой алгоритм, он не распознаёт образ
(в opencv чаще всего задача именно распознавания образов, там на третьем шаге ищут объекты по известным сигнатурам, это сложнее)

И шо мы там видим? Ну конеееечно, blackfin...

а как с ним под линуксом?

на сегодня я пропал...
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 10 май 2015, 14:40

linvinus писал(а):извините не уловил, так ориентация или навигация?

Для мышки доступна только ориентация (с оговорками).
linvinus писал(а):Ошибка возможна, но не забывайте про разрешение 1600 CPI

Высокое разрешение не гарантирует точность. Двинул мышку на 1 см. - получил 1000 импульсов, сместил мышку в начальное положение - получил 990 импульсов. Я давал практический пример как это проверить.

linvinus писал(а):168 MHz Cortex M4F - серьезный датчик? Да еще на 752×480 pixels? Там нужна производительность около 1 гигамипса, поверь старому еврею, который переписывал некоторые функции mjpeg кодера на blackfin-е на асм. А там - 500 мгц, 2-4 dsp инструкции за такт.

всё зависит от задачи, определять оптический поток хватит, и вроде как у авторов это получилось.
основной минус ADNS-3080 низкая чувствительность, а основное преимущество - высокая частота кадров до ~7000

Я говорю о том, что 168 MHz Cortex M4F и цмос матрица 752×480 pixels - вещи несовместимые. Добиться обработки видео в реалтайм с таким контроллером невозможно. Просто умножить 752 * 480 *8 бит на пиксел * 30 кадров/сек = 86630400 бит в сек. Т.е на обработку одного бита изображения надо 1/86630400 = 11.5 наносекунд, ARM на 168 MHz выполняет одну команду (если повезет) за 6 нс. Т.е. на решение "шо делать с этим битом?" есть только 2 команды процессора :wink: Т.е. изначально камера на 168 MHz Cortex - хлам, дальше можно не продолжать...

linvinus писал(а):в некоторых научных работах сравнивали оптический поток получаемый с обычной камеры 30fps И датчика мыши и пришли к выводу что мышь отрабатывает точнее

Меня вообще пугает слово "научных" к обработке сигнала мыши для навигации. Это идиотизм. Реальный мир живой, а не коврик.


linvinus писал(а):а как с ним под линуксом?

Замечательно, в линухе и работаю.
http://docs.blackfin.uclinux.org/doku.php?id=toolchain:installing
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 11 май 2015, 11:36

Про мышку согласен, но при выключенном освещении и видеокамеры перестают работать, это я к тому что у всех есть недостатки.
Нужно уметь использовать сильные стороны каждого датчика.
А главное приемущество мышки я уже называл, готовый оптический поток, высокая частота кадров и высокий CPI.

Я говорю о том, что 168 MHz Cortex M4F и цмос матрица 752×480 pixels - вещи несовместимые. Добиться обработки видео в реалтайм с таким контроллером невозможно. Просто умножить 752 * 480 *8 бит на пиксел * 30 кадров/сек = 86630400 бит в сек. Т.е на обработку одного бита изображения надо 1/86630400 = 11.5 наносекунд, ARM на 168 MHz выполняет одну команду (если повезет) за 6 нс. Т.е. на решение "шо делать с этим битом?" есть только 2 команды процессора :wink: Т.е. изначально камера на 168 MHz Cortex - хлам, дальше можно не продолжать...

Полагаю что ваши расчёты верны, но с вашими выводами не согласны разработчики, либо критерий "хлам" нужно уточнить :)

Optical flow processing at 4×4 binned image at 400 Hz


http://www.youtube.com/watch?v=LWOR4qLi4S8 вот пример как работает
вот пример работы в реальных условиях
https://vimeo.com/76712758 (тут жалуются что 30фпс мало On high speed flow becomes very large, PX4FLOW can't track it and copter goes to the sea.)
над асфальтом
http://www.youtube.com/watch?feature=pl ... Yg94s#t=59

Меня вообще пугает слово "научных" к обработке сигнала мыши для навигации. Это идиотизм. Реальный мир живой, а не коврик.

забавно, но в этих работах датчик используется именно для того чтобы реагировать на живой внешний мир.
вы смотрите на датчик как на мышку, а нужно смотреть как на датчик который выдаёт оптический поток.
соответственно все правила и алгоритмы которые свойственны оптическому потоку тут применимы.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 11 май 2015, 13:33

linvinus писал(а):Про мышку согласен, но при выключенном освещении и видеокамеры перестают работать, это я к тому что у всех есть недостатки.
Нужно уметь использовать сильные стороны каждого датчика.

Еще раз говорю, на этом принципе нельзя получить точные данные. Уехал на 1см. -получил 1000 импульсов, вернулся обратно - получил 990 импульсов. Ошибка будет рандомная. Это не навигация. Стабилизация - да, ориентация - да, навигация -нет :)

linvinus писал(а):Полагаю что ваши расчёты верны, но с вашими выводами не согласны разработчики, либо критерий "хлам" нужно уточнить

Они со мной очень согласны, по твоей ссылке:
it provides the image for setup purposes, but it not designed to capture images like a webcam). It has a native resolution of 752×480 pixels and calculates optical flow on a 4x binned and cropped area at 400 Hz, giving it a very high light sensitivity.

Перевожу :) : stm32 -хлам, на 168 MHz не может обрабатывать полноразмерную матрицу в 752×480 pixels. Мы это все дело ограничиваем до смешных разрешений, и якобы получили повышение чувствительности. Но, мы дебилы, и не знаем что эффективная площадь одного пиксела падает со страшной скоростью от увелич. разрешения. А фильтр для коррекции цветопередачи уменьшает чувствительность матрицы более чем в 10 раз. А если бы мы не прогуливали уроки физики, то взяли бы ч/б пзс камеру с разрешением 320*240 точек, которая видит нормально даже при свете луны. :roll:
Лезем в исходник PX4FLOW и находим:
Код: Выделить всёРазвернуть
#define FULL_IMAGE_SIZE (188*120)

Т.е. настраивают матрицу на разрешение 188*120 :) Это да, это круто, это то на что способен stm32.
linvinus писал(а):вот пример как работает

Вижу какую-то дрянную ч/б тормозящую картинку на компе, не понимаю о чем ты...

linvinus писал(а):https://vimeo.com/76712758 (тут жалуются что 30фпс мало On high speed flow becomes very large, PX4FLOW can't track it and copter goes to the sea.)
над асфальтом


ardron это делает значительно лучше и не бьется об песок :) Но это не дает утверждения, что его optical flow дает возможность навигации. Стабилизация - да, ориентация - да, навигация -нет.

linvinus писал(а):вы смотрите на датчик как на мышку, а нужно смотреть как на датчик который выдаёт оптический поток.
соответственно все правила и алгоритмы которые свойственны оптическому потоку тут применимы.

И не работает как навигация, например, для условий: поверхность моря с волнами, большое колич. передвиг. предметов. Про навигацию над течением вообще молчу...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 11 май 2015, 14:02

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

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

Для навигации (без GPS) нужны более дорогие датчики, lidar, kinect и т.п. либо, как в примере с монокулярной камерой, там они на основе вероятностей строят карту глубины по кадрам с одной камеры, но и там есть ограничения (крутить камеру вокруг оси Z нельзя).
http://www.cv-foundation.org/openaccess ... _paper.pdf
И этот алгоритм очень требователен к вычислительным ресурсам, только на него нужен i5 и как следствие более ёмкая батарея, поднять это в воздух будет очень дорого.


Мы это все дело ограничиваем до смешных разрешений, и якобы получили повышение чувствительности. Но, мы дебилы, и не знаем что эффективная площадь одного пиксела падает со страшной скоростью от увелич. разрешения.

не понял, разрешение они уменьшили, светосила увеличилась что не так?

А фильтр для коррекции цветопередачи уменьшает чувствительность матрицы более чем в 10 раз.

по поводу фильтра, где то сказано что он есть, где то нет.

по поводу ч.б камеры согласен цвет тут вроде как не в тему (полагаю выбирали что подешевле).

А какую навигацию вы имеете ввиду по известной местности или неизвестной?
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 11 май 2015, 17:43

linvinus писал(а):Ок я понял, вы рассматриваете только с точки зрения "навигации", да тут эти датчики мало пригодны.
Они скорее для стабилизации положения когда есть ветер.


Фух, достучался :)

linvinus писал(а):Мы пришли к оптическим датчикам при решении проблемы корректировки курса от дешевого гироскопа, я предложил использовать такие датчики именно для коррекции bias гироскопа,

А если стены поехали? Корректировать гир? Физические координаты ведь не изменились...
Нужен просто гир дороже, за 50$ гир будет иметь ошибку 10 град./час и твой робот не промахнется мимо ворот за приемлемое время. Если нужно большее время - брать дороже гир :)
Есть 100 одинаковых ворот, есть плохой гир и хороший optical flow. Выехали из ворот, запомнили, уехали за угол, покурили, вернулись, по optical flow вьехали в другие ворота. Вопрос: Это навигация? :)

linvinus писал(а):не понял, разрешение они уменьшили, светосила увеличилась что не так?

Не так то, что взят хреновый датчик. Датчик у которого в 4 раза меньше пиксел, 1 пиксел будет иметь значительно выше чувствительность чем сумма 4-х пиксел датчика с большим разрешением.

linvinus писал(а):по поводу фильтра, где то сказано что он есть, где то нет.


В цветной матрице фильтры R,G,B стоят над каждым пикселом, т.к. фотодиоды везде одинаковые и они имеют примерно одинаковую чувствит. для любого цвета. Вот эти фильтры и режут чутье. Пруф, одинаковый чип, B&W и цветной, разница чутья в 6 раз:
http://www.comedia.com.cn/OV%20SENSOR%20PB/30W/OV6630_PB%20(1.0).pdf
Код: Выделить всёРазвернуть
OV6630 < 3 lux @ f1.2
OV6130 < 0.5 lux @ f1.2

А еще есть общий фильтр, который можно убрать. Т.е. в 10 раз это я еще мало оценил :) общий фильтр в 10 раз, и над линзами в 6 раз, итог 60 раз. Вот тебе и хорошие инженеры, говорю же - дебилы они :)

linvinus писал(а):А какую навигацию вы имеете ввиду по известной местности или неизвестной?


А вот это хороший вопрос, я не зря говорил про салют, думки и житиЕ, бытиЕ. Можно считать навигацией, коррекцию инерционной системы по уезжающим крышам и стенам? :wink:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 11 май 2015, 20:05

Можно считать навигацией, коррекцию инерционной системы по уезжающим крышам и стенам? :wink:

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

Выехали из ворот, запомнили, уехали за угол, покурили, вернулись, по optical flow вьехали в другие ворота. Вопрос: Это навигация? :)

тут уже нужно идентифицировать ворота, тут уже нужно делать "снимок" запоминать features а по возвращению искать "правильные" ворота, мышами не отделаться, тут уже нужны производительные процы и много памяти, либо видео гнать на комп.


Нужен просто гир дороже, за 50$ гир будет иметь ошибку 10 град./час и твой робот не промахнется мимо ворот за приемлемое время. Если нужно большее время - брать дороже гир :)

но это не решит проблему если перекур затянется на пару дней :)
нужно в любом случае делать привязки к местности.

Раз уж мы тут пришли к выводу что нужен хороший гир, может что посоветуете что считаете приемлемым вариантом?
упоминалось ADIS16250 (новый ADIS16260) цена 100евро это дороговато.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 12 май 2015, 14:41

linvinus писал(а):Раз уж мы тут пришли к выводу что нужен хороший гир, может что посоветуете что считаете приемлемым вариантом?
упоминалось ADIS16250 (новый ADIS16260) цена 100евро это дороговато.


Вроде дешевле ADIS16265, $69.47 за 100+. Ну дилер накрутит 20$ за штучность. Я покупал 8шт. в элтехе лет 8 назад :)
http://www.eltech.spb.ru/item/adis16260bccz
Первый раз вижу чтоб микросхемы за 8 лет дорожали, а не дешевели :shock:
Могу рассказать о своем сексе с гирами.
Сделал плату для сравнвния 2-х гир: adis16250 и аналоговым пьезо от murata: MA432. На аналоговый поставил пупер ацп AD7787 в 24bit :) На vb6 сделал графич. вьювер данных. Когда увидел что выдает пьезик - упал со стула, данные менялись от температуры (чувствительность градусника потрясная), от давления, от света. Долго не мог поймать что еще меняло данные, оказалось - мое инфракрасное излучение в 36.6 град. :shock: :o
Adis показал на 3 порядка лучше характеристики. А ведь на пьезогироскопах летают вертолеты, вот и можно судить об улучшении при переходе с пьезо на мемс. Но, кажись (не помню), я так и не достиг заявленных данных, но был близко.
Для перевода угловой скорости в градусы, в программе использовал 40-битный интегратор и 32-х битный "zero". Меньшая битность интегратора давала ощутимую ошибку дискретности, которая была выше точности гира. Когда уже начал ловить вращение земли, понял что надо создавать калибр. таблицу температур, но это уже было "слишком долго" для меня. Потом понял отличие цены adis16250 от adis16255 - это одинаковые гиры, но последний калибруется на заводе. Т.е. если готов экономить 200$ - то создавай стенды, стенды, стенды. У ADIS16250 калибровка на диапазоне: +25°C, т.е. нисколько :), а у ADIS16255: −40°C to +85°C. Разница цен примерно 60$/250$ (не помню точно).
Пысы:
пьезо гиры - не гиры, это датчики температуры, давления, влажности, освещения, но не угла.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 12 май 2015, 23:13

Потом понял отличие цены adis16250 от adis16255 - это одинаковые гиры, но последний калибруется на заводе.

Хмм я всегда думал что нужно пересчитывать показания с датчика с учётом температуры, как можно это на заводе откалибровать?
это же переменная ошибка.

Когда уже начал ловить вращение земли, понял что надо создавать калибр. таблицу температур,

зачем такая дикая чувствительность? я наоборот давлю фильтром высоких частот, заодно и bias подравниваю.

Я зависимость от температуры тоже замечал, даже тесты проводил, но в l3gd20 есть только какие то относительные градусы в каком то непонятном формате, я так и не придумал как относительные градусы можно использовать на практике, в аппноуте как то мутно рассказано, и потом чтобы сделать зависимость нужно много точек от -40 до +85 в домашних условиях это нереально.
я просто смирился и давлю фильтром чтобы не уплывал, т.е. использую его показания только когда относительно большие скорости, а так в основном работает аксель (тележка на полу довольно часто просто стоит)

Я вот думаю взять штуки три компаса повернуть друг относительно друга и опрашивать их одновременно, по идее получим картинку сферы в нескольких точках, поэтому можно в реальном масштабе времени корректировать центр сферы, т.е реагировать на динамические hard/soft-iron ошибки.

на заметку
планетарный редуктор от roomba http://www.alibaba.com/product-detail/d ... 29940.html
тихие колёса от roomba нифига не тихие http://www.aliexpress.com/item/Timing-b ... 57946.html
Последний раз редактировалось linvinus 22 июн 2016, 12:41, всего редактировалось 1 раз.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 13 май 2015, 00:08

linvinus писал(а):Хмм я всегда думал что нужно пересчитывать показания с датчика с учётом температуры, как можно это на заводе откалибровать?
это же переменная ошибка.

Ну так adis - система на кристалле, проц там свой, в чем проблема?

linvinus писал(а):Когда уже начал ловить вращение земли, понял что надо создавать калибр. таблицу температур,

зачем такая дикая чувствительность? я наоборот давлю фильтром высоких частот, заодно и bias подравниваю.


Земля за один час поворачивается на 360/24= 15 град. Кто-то тут хотел курить за углом 2-е суток, а это 720 градусов :wink:
То что ты давишь фильтром - это уже не навигация, нельзя терять ни единого бита угловой скорости...

linvinus писал(а):сделать зависимость нужно много точек от -40 до +85 в домашних условиях это нереально.

В чем нереальность? :shock: Градусник, нагреватель, логгер, программа, серва (по вкусу), время.

linvinus писал(а):я просто смирился и давлю фильтром чтобы не уплывал, т.е. использую его показания только когда относительно большие скорости, а так в основном работает аксель (тележка на полу довольно часто просто стоит)

Вот поэтому и не попадаешь в ворота, полное непонимание смысла датчика угловой скорости... :pardon:
linvinus писал(а):Я вот думаю взять штуки три компаса повернуть друг относительно друга и опрашивать их одновременно, по идее получим картинку сферы в нескольких точках, поэтому можно в реальном масштабе времени корректировать центр сферы, т.е реагировать на динамические hard/soft-iron ошибки.

Не знаю как в Москве :), но в Питере магнитное поле Земли практически вертикально втыкается в Землю, делая компас глупой ненужной игрушкой. Про магнитное поле в помещении вообще молчу. Не хочу составлять карту аномалий своей квартиры...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 13 май 2015, 00:31

Ну так adis - система на кристалле, проц там свой, в чем проблема?

понял, это murata аналоговая.

Вот поэтому и не попадаешь в ворота, полное непонимание смысла датчика угловой скорости...

иначе я вообще не попадаю в ворота :), без фильтра курс уплывает с космической скоростью.

Не знаю как в Москве :), но в Питере магнитное поле Земли практически вертикально втыкается в Землю, делая компас глупой ненужной игрушкой.

не понял, компас 3D ему всё равно какое наклонение, а чтобы получить правильный вектор на север, наклонение компенсируем при помощи аксея, он у нас всегда центр земли показывает.

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

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

Мой метод работает, но чтобы он отработал в новых аномальных условиях нужно немного повращать датчик, я этот способ напоследок оставил, пока попробую за счёт нескольких компасов ускорить процесс.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 13 май 2015, 01:00

linvinus писал(а):иначе я вообще не попадаю в ворота , без фильтра курс уплывает с космической скоростью.

И чему равна эта космическая скорость?
linvinus писал(а):не понял, компас 3D ему всё равно какое наклонение, а чтобы получить правильный вектор на север, наклонение компенсируем при помощи аксея, он у нас всегда центр земли показывает.

На полюсах компас них не показывает, т.к. линии втыкаются вертикально в Землю, эта радость (в меньшей степени) досталась и Питеру. Зачем компасу 3д -хз, вертикаль значительно лучше и точнее мерит аксель. От компаса нужна только горизонталь.
linvinus, Вы чего??? :shock:

linvinus писал(а):да аномалии есть, но также верно и то что магнитное поле земли никуда не исчезает, и датчик его по прежнему видит, аномалии лишь добавляют некоторую относительно постоянную помеху.


У меня север с югом меняются местами у разных столов в комнате, которая 9 м^2
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 13 май 2015, 01:42

И чему равна эта космическая скорость?

не замерял, скажем 10градусов/мин, убегает на глазах

На полюсах компас них не показывает, т.к. линии втыкаются вертикально в Землю, эта радость (в меньшей степени) досталась и Питеру. Зачем компасу 3д -хз, вертикаль значительно лучше и точнее мерит аксель. От компаса нужна только горизонталь.
linvinus, Вы чего??? :shock:

не них а вниз

Данные с сайта http://www.magnetic-declination.com/
Код: Выделить всёРазвернуть
Moscow Moscow City
Latitude: 55° 45' 8" N
Longitude: 37° 36' 56" E
Magnetic declination: +10° 47'
Declination is POSITIVE (EAST)
Inclination: 71° 22'
Magnetic field strength: 52388.6 nT


В Петербурге:
Latitude: 59° 56' 20.3" N
Longitude: 30° 20' 19.5" E
Magnetic declination: +10° 23'
Declination is POSITIVE (EAST)
Inclination: 73° 32'
Magnetic field strength: 52428.7 nT


разница с Москвой по наклонению 2 градуса, не думаю что это серьёзно влияет на показания.

У меня север с югом меняются местами у разных столов в комнате, которая 9 м^2

хмм. какая чувствительно компаса? данные сырые или после калибровки?
я не могу себе представить чтобы было так, должно быть мега сильное поле, либо у вас слишком высокая чувствительность настроена (упираетесь в разрядность), либо ошибка проявляется после калибровки данных.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: linvinus

Сообщение Dmitry__ » 13 май 2015, 04:29

linvinus писал(а):не замерял, скажем 10градусов/мин, убегает на глазах

Вот тут добились 2.5град./мин
собственный дрейф гироскопов - 150 град/ч.

Но, я бы это все нес на помойку.

linvinus писал(а):не них а вниз

Это и есть - них. Ибо уже говорил, от компаса требуется только горизонт, а проекция гориз. вектора равна нулю. А на полюсе стрелка будет крутиться в разные стороны :wink:

linvinus писал(а):разница с Москвой по наклонению 2 градуса, не думаю что это серьёзно влияет на показания.

Ну, 88 град. и 90 тоже отличаются на 2 градуса, но во втором случае "0" - серьезно влияет на показания.

linvinus писал(а):хмм. какая чувствительно компаса? данные сырые или после калибровки?
я не могу себе представить чтобы было так, должно быть мега сильное поле, либо у вас слишком высокая чувствительность настроена (упираетесь в разрядность), либо ошибка проявляется после калибровки данных.

При чем тут чувствительность? Если для корректных данных нужна высокая чувств. то это говорит о низком уровне измеряемого магнитного поля и сильном воздействии мешающих полей, что и имеем. А если измеряемое поле имеет приемлемый уровень, то высокая чувствительность не мешает измерениям, т.к. это поле будет давить мешающие магн. поля.
Вот тебе списочег компасов, которые не хотят показывать север:
CMPS03
stm32f3discovery
iphone4s
YotaPhone2
Не думаю, что их всех глючит одинаково. Есть детская мечта - купить хороший механич. компас, но где теперь их взять -хз :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: linvinus

Сообщение linvinus » 13 май 2015, 12:27

Вот тут добились 2.5град./мин

ничего там не добивались, поставили программу FreeIMU, провели пару измерений и немного погрузились в тему смешивания данных.

Это уже много раз жёвано пережёвано по всему интернету всего несколько алгоритмов, я выше приводил ссылки на сравнения.
Спустя год автор FreeIMU Додумался стырить код с razorahrs https://github.com/mjs513/FreeIMU-Updat ... 104ed26b68

По ссылке от туда http://www.thousand-thoughts.com/2012/0 ... n-tutorial
есть графики где наглядно видно то очём я говорил, компенсация дрейфа гиро по компасу, видно что на выходе дрейф по курсу равен 0.
Только в динамике график от компаса (синий) нужно заменить графиком от гиро (красный) и наложить всё это на гиро.
Другими словами,при изменяющихся условиях, компас тоже плавает, и требует постоянной перекалибровки.

Это и есть - них. Ибо уже говорил, от компаса требуется только горизонт, а проекция гориз. вектора равна нулю. А на полюсе стрелка будет крутиться в разные стороны :wink:


Если проекция вектора на ось не равна 0 то направление видно, так что и в Петербурге и в Мурманске компас ещё работает.
Если несогласны, прошу прислать сырые данные с любого 3D компаса (при снятии данных желательно повращать компас по всем осям для того чтобы получить минимум и максимум по ним), я построю графики.

При чем тут чувствительность?

при том что очень часто её бездумно выкручивают на максимум, в результате, данные получаются на границе разрядности АЦП, если хоть одна ось уйдёт за пределы (например приблизились к какому то новому источнику) то алгоритм вычисления положения будет врать безбожно, вот ту возможны прыжки с севера на юг.
Я использую минимальную чувствительность +-8 гауссов.

Вот тебе списочег компасов, которые не хотят показывать север:

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

Добавлено спустя 19 минут 19 секунд:
Dmitry__ писал(а):
linvinus писал(а):в общем он потихоньку уплывает, думаю порядка 10градусов в час по yaw

Да ладна? :shock: Это мега-пупер-супер гироскоп тогда. Таки я думаю 10 град. в минуту или того хуже...


Кстати https://harinadha.wordpress.com/2013/07 ... 50datalog/
вот аналогичные измерения :)) дрейф 0.284085 degrees/min
кстати там же исходники для STM32

Добавлено спустя 36 минут 56 секунд:
я считаю что приведённый график для MPU-9150 верный, но также я полагаю что в DMP хитрят, нужно провести тест не в спокойном положении а при постоянном изменении, вот тут полагаю 10градусов в минуту может вылезти.
Нужно поставить датчик на серву и качать в течение часа.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Пред.След.

Вернуться в Блоги

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

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

cron