Геопозиционирование на ардуино.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#1

Сообщение rw6cm » 29.07.2016{, 09:04}

Данная тема, о возможностях реализовать с помощью программы FLProg,
проектов, связанных с позиционированием объектов на местности и в пространстве.

.
Ссылки на посты этой темы с блоками Code-Professional.Показать
1. Примеры работы блока компаса на модуле GY511.

2. GPS в FLProg.

3. Пример GPS навигации в FLProg

Актуальные блоки Code-Professional этой темы в основном будут находится Здесь
Ссылки на посты аналогичных темПоказать
Последний раз редактировалось rw6cm 02.08.2016{, 09:51}, всего редактировалось 1 раз.

AstroGraf
Рядовой
Сообщения: 63
Зарегистрирован: 21.08.2018{, 19:05}
Репутация: 12
Откуда: Калининград
Имя: Алексей

Геопозиционирование на ардуино.

#101

Сообщение AstroGraf » 26.02.2020{, 12:59}

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

P.S. Мои ученики делают проект "тренажер осанки".

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#102

Сообщение rw6cm » 26.02.2020{, 15:20}

AstroGraf писал(а):
26.02.2020{, 12:59}
датчик должен быть расположен своей плоскостью вертикально.
Понимаю что это будет плоское тонкое устройство, и горизонтально плату не разместить?
иначе не вижу разницы между осями.
Win10-64, FLProg (portable)

AstroGraf
Рядовой
Сообщения: 63
Зарегистрирован: 21.08.2018{, 19:05}
Репутация: 12
Откуда: Калининград
Имя: Алексей

Геопозиционирование на ардуино.

#103

Сообщение AstroGraf » 26.02.2020{, 15:49}

будет плоское тонкое устройство, и горизонтально плату не разместить
Да, именно!

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#104

Сообщение rw6cm » 27.02.2020{, 07:05}

AstroGraf,
Посмотрел даташит,
СпойлерПоказать
п.7,8
Трехосевой акселерометр MPU-60X0 использует отдельные контрольные массы для каждой оси. Ускорение вдоль
определенной оси вызывает смещение на соответствующей контрольной массе, а емкостные датчики обнаруживают
смещение дифференциально. Архитектура MPU-60X0 снижает восприимчивость акселерометров к вариации изготовления, а также температурный дрейф. Когда устройство находится на плоской поверхности, оно будет измерять 0g на осях X и Y и + 1g на оси Z. Масштабный коэффициент акселерометров откалиброван на заводе и номинально не зависит от напряжения питания. Каждый датчик имеет специальный сигма-дельта АЦП для обеспечения.
Думаю не удачная затея, датчик набок и выводить ноль.
калибровочные массы с завода установлены разные для оси Z и XY.
На сколько будут точны данные не знаю.

Отправлено спустя 6 часов 31 минуту 43 секунды:
Поменял оси. На вскидку данные похожи на реальные.
Дальше сами экспериментируйте )
п/с плату верх осью Х
gy521 ZY_Kolman.flp
(117.57 КБ) 77 скачиваний
KalmanMPU6050Z.rar
(16.27 КБ) 96 скачиваний
Win10-64, FLProg (portable)

AstroGraf
Рядовой
Сообщения: 63
Зарегистрирован: 21.08.2018{, 19:05}
Репутация: 12
Откуда: Калининград
Имя: Алексей

Геопозиционирование на ардуино.

#105

Сообщение AstroGraf » 27.02.2020{, 22:51}

rw6cm, я вчера уже, не дождавшись, попытался использовать имеющийся блок - и у меня получилось! Только датчик нужно разместить длинным ребром параллельно полу (перпендикулярно полу не получилось добиться адекватных показаний).
Программа имеет кнопку фиксации нулевого положения от которого отмеряются отклонения по одной и другой оси - это позволило не вникать в абсолютные показания счетчика.
Сегодня ребята успешно защитились с проектом. Могу на следующей неделе выложить программу (осталась на рабочем ноутбуке). И обязательно посмотрю новый блок.
Спасибо, rw6cm, сколько раз уже выручал! Вроде и сам стараюсь помогать другим, где могу, но не перестаю удивляться взаимовыручке на этом форуме!

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#106

Сообщение com » 05.03.2020{, 09:36}

rw6cm, Опробывал ваш блок XY, работает замечательно. А вот блок ZY работает как то не корректно, думал уже что гироскоп не исправен. А нужена именно ось Z. Нашел в сети скетч для GY521, выводит данные в сериал, работает отлично, показания осей стабильные , при включении блок калибруется в 0. Но много лишнего.. Может кто то сможет сделать пользовательский блок с выводом значений только "//Filtered angle". К сожелению мне не осилить такую работу
Вложения
gy_521_send_serial.ino
(37.63 КБ) 83 скачивания

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#107

Сообщение rw6cm » 05.03.2020{, 12:33}

com, Если скетч по видео то не вижу разницы.
без фильтра набегает быстро ошибка, а с фильтром те же две оси ХУ.
Win10-64, FLProg (portable)

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#108

Сообщение com » 05.03.2020{, 12:39}

rw6cm, Возможно, но в том скетче что я выложил ось Z работает. Только как запихнуть его в блок мне неведомо

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#109

Сообщение com » 06.03.2020{, 10:46}

rw6cm писал(а):
05.03.2020{, 12:33}
Если скетч по видео то не вижу разницы
Разница большая, в вашем последнем блоке ось Z, это конвертированная ось X, для практического применения совершенно не подходит.Поэтому я и просил сделать блок из скетча который я выложил

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#110

Сообщение rw6cm » 06.03.2020{, 10:49}

com писал(а):
05.03.2020{, 12:39}
в том скетче что я выложил ось Z работает.
Посмотрел скетч, точные данные только на фильтре оси ХУ,
остальные, наклонил вернул в исходное, показания другие,
куда это можно использовать ума не приложу :smile37:
Могу вывести данные всех осей с своего блока, только толку от них не вижу.
gy521 XYKolman+XYZ.flp
(197.58 КБ) 92 скачивания
Отправлено спустя 6 минут 56 секунд:
com писал(а):
06.03.2020{, 10:46}
в вашем последнем блоке ось Z, это конвертированная ось X,
ось х, из поста 104 заменена на ось z.
вот только положение оси z на боку не правильно для платы, отсюда и калибровка нарушается
т.е по сути это теже оси ху, только плату располагаем вертикально
и сделано это для конкретной задачи AstroGraf,
Понимаю вам нужна именно ось z в ущерб какой то из оси ху?
Win10-64, FLProg (portable)

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#111

Сообщение com » 06.03.2020{, 11:10}

rw6cm, Да, в этом блоке даже на неподвижном модуле показания бегают. А в том скетче что я выложил ранее, такого нет, показания стабильные, видимо там тоже есть какой то алгоритм, при включении блока он самокалибруется, и показания достаточно точные. Я понимаю конечно что работа не простая, но может сделаете блок из этого скетча со всеми выходами?
Последний раз редактировалось com 06.03.2020{, 11:17}, всего редактировалось 3 раза.

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#112

Сообщение com » 06.03.2020{, 11:13}

rw6cm писал(а):
06.03.2020{, 10:56}
в ущерб какой то из оси ху
Да, задумали тут с внуком прототип робота пылесоса, по типу новомодной нынче концепции производителей этих девайсов применять гироскоп. Нам нужна ось Z, что бы он ровно ездил. Если ошибки оси будут накапливаться, может что и придумаем

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#113

Сообщение rw6cm » 06.03.2020{, 11:29}

com писал(а):
06.03.2020{, 11:13}
Нам нужна ось Z,
Вечером посмотрю что можно сделать
Win10-64, FLProg (portable)

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#114

Сообщение rw6cm » 07.03.2020{, 06:38}

com, Посмотрел несколько библиотек, везде ось z плывет.
По ходу без привязки к компасу толку не будет.
С скетчем Вашим не стал возится, много в нем нюансов, которые флп не пережует)
Да и не сказал бы, что в нем ось z адекватно показывает градусы.
Нашел библиотеку со схожим поведением оси z, и более адекватными показаниями.
gy521XYZ градусы.flp
(104.93 КБ) 86 скачиваний
MPU6050_tockn.zip
(2.17 КБ) 84 скачивания
Win10-64, FLProg (portable)

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#115

Сообщение com » 07.03.2020{, 08:56}

rw6cm, Проверил и сравнил ваш блок и скетч который я выложил ранее. Так вот, в вашем примере ошибки скапливаются быстрее, из чего можно сделать вывод, все дело в настройках чипа! В документации на чип 6050 все настройки описаны, но разобраться в этом мне уж точно никак не возможно.
Вложения
MPU-6000 Register Map.pdf
(649.95 КБ) 72 скачивания

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#116

Сообщение com » 07.03.2020{, 12:30}

rw6cm, А можно ли сделать отдельный вывод для обнуления данных, что бы контроллер не перезагружать? И еще есть такая идея, если флпрог не может переварить этот скетч, может можно сделать из нее библиотеку, и подключать ее в IDE?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Геопозиционирование на ардуино.

#117

Сообщение rw6cm » 10.03.2020{, 15:10}

com писал(а):
07.03.2020{, 12:30}
А можно ли сделать отдельный вывод для обнуления данных
Сделать не проблема вот только к чему привязывать будете не понятно.
Дрейф ноля, тоже не проблема, каждый датчик надо калибровать,
и набирающая погрешность в покое не показатель лучшего скетча.
а вот набегающая погрешность при вращении оси Z, вот это проблема.
и думается мне, что Вы ее не решите. Точки точной привязки нет, и взять ее не откуда.
Оси XY не помогут, они в одной плоскости к оси Z,
к тому же при горизонтальном движении пылесоса они не работают.
Компас рядом с мощным элдвигателем, врятли покажет правду.
Можно было GPS, но в доме его точность очень страдает.
Думается что здесь не гироскоп нужен, а дальномер,
и хорошая математическая формула, рассчитывающая вектор движения перекрывающий всю площадь.
Вобщем добавил в настройку блока поправку на ось Z .
Смотрите сколько, и в какую сторону при покое (примерно за секунду) набегает погрешность, ставите ее в настройку блока.
Добавил сброс на конкретно нужную величину. (думаю просто в ноль будет не достаточно)
gy521XYZ градусы1.flp
(154.92 КБ) 92 скачивания
Удачи Вам в этом .... деле )))
Win10-64, FLProg (portable)

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#118

Сообщение com » 10.03.2020{, 19:56}

rw6cm,
rw6cm писал(а):
10.03.2020{, 15:10}
Удачи Вам в этом .... деле )))
Удача нам всем непомешает. Спасибо за Ваш труд, думаю что это не последнее обращение к вам

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#119

Сообщение com » 10.03.2020{, 20:03}

rw6cm, Блок вообще супер, прям как по Калману :yes: Хоть еще и не тестировал, но то что вы предусмотрели коэффициенты и сброс на определенную величину, здорово пригодится, я о такой возможности и не догадался, будем пробывать

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Геопозиционирование на ардуино.

#120

Сообщение com » 10.03.2020{, 20:33}

https://sites.google.com/site/diyheadtr ... dof-treker
Вот нашел еще по теме, но там разбираться и разбираться

Ответить

Вернуться в «Обучающие примеры работы в FLProg»