powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ориентация на Север и углы поворота телефона
25 сообщений из 34, страница 1 из 2
Ориентация на Север и углы поворота телефона
    #39781433
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, Друзья!

Имеем Delphi 10.3 Community Edition

Пытаюсь с помощью компонент TOrientationSensor и TMotionSensor получить три адекватных угла - азимут на Север, и два угла наклона телефона.


Действую так :

(алгоритм и теорию взял отсюда https://cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf )


1) получаю данные акселерометра .
Gx:=MotionSensor1.Sensor.AccelerationX;
Gy:=MotionSensor1.Sensor.AccelerationY;
Gz:=MotionSensor1.Sensor.AccelerationZ;
2) получаю данный вектора магнитной индукции
Bx:=OrientationSensor1.Sensor.HeadingX;
By:=OrientationSensor1.Sensor.HeadingY;
Bz:=OrientationSensor1.Sensor.HeadingZ;

далее по формулам из ссылки рассчитываю эти углы. Все получается, но есть такая проблема:
- Углы скачут, нет плавности, стоит пошатать немного телефон и получаешь разброс по 20..30 градусов.
Это жутко контрастирует с плавностью хода, которые демонстрируют другие приложения, например компаса, на ПлейМаркете.

Ставил в качестве теста apk-шку приложения под андроид, которое использует два метода -
GetRotationMatrix и GetOrientation - работает офигенно плавно.
Но алгоритм, исползуемый в этих методах неизвестен.

ВОПРОС: решали ли кто-то адекватно эту задачу под Дельфи? как ? может как-то можно из среды Дельфи вызывать эти методы (GetRotationMatrix и GetOrientation)?

Близок к отчаянию - вторую неделю бьюсь (
Буду признателен за любой дельный совет.
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39781468
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть известные программы получают вектор на север интегрально ? Ну то есть получают усредненное значение за последние 3 секунды. ? А резкие отклонения вообще отбрасывают ?

Какой именно датчик скачет ? магнитной индукции или акселерометр ? Или оба ?

Попробуйте написать прогу, которая раз 10 в секунду снимала бы информацию со всех датчиков и записывала бы в файл. Потом запустите эту программу, затем держите устройство и раз в 5 секунд поворачиваете устройство на 90 гр. Потом уже можнно проанализировать: что получится и в зависимости от этого далее действовать.
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782251
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачут оба. В первую очередь - акселерометр.

в результатах этого эксперимента будет большой разброс. этот так понятно. что предлагается делать после этого? )
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782254
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
гугли фильтр Калмана
и ещё
чтобы всё корректно считалось, нужно использовать показания акселерометра, гироскопа и магнитометра
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782313
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bob32Скачут оба. В первую очередь - акселерометр.

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


Разброс может быть разный.
К примеру, Вы поворачиваете устройство, датчики начинают скакать в течение нескольких секунд, а потом успокаиваются.
Опять же, разброс может быть большим, но усредненное значение корректным. Или нет.

Кроме этого, значения эксперимента могут сильно помочь в разработке и тестировании. Вы ведь знаете, что как устройство было направлено в течение определенного времени (Вы его сами поворачивали). У Вас есть показания датчиков со всеми их разбросами. Соответственно разбираетесь: как можно написать алгоритм используя файл с показаниями датчиков, как иммитацию реального устройства. Вот тут defecator советует фильтр Калмана... Можно для начала попроще: усреднять значения, отбрасывая сильные отклонения.
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782514
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
Спасибо!

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

а может есть?
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782610
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bob32defecator,
Спасибо!

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

а может есть?добро пожаловать в физику измерений, измерили !== реальность, есть у нашего мира такая особенность :-)
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782730
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan),
Вы уже в этом мире? )))
Делали этот код раньше? )
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782794
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bob32,

я использовал этот фильтр один раз, в оной из модификаций, правда для других целей

я вам, как физик, проBob32ведь без этого сенсоры ориентации - просто неготовый к употреблению полуфабрикат. ((((( просто наш мир такой, и школьная математика и логика тут не помогут
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39782902
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Bob32defecator,
Спасибо!

алгоритм фильра калмана - не простой. сам хрен сделаешь
всё уже сделано
http://kazus.ru/programs/viewdownloaddetails/kz_0/lid_5411.html

http://www.sql.ru/forum/1035402/filtr-kalmana
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783153
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatorBob32defecator,
Спасибо!

алгоритм фильра калмана - не простой. сам хрен сделаешь
всё уже сделано
http://kazus.ru/programs/viewdownloaddetails/kz_0/lid_5411.html

https://www.sql.ru/forum/1035402/filtr-kalmana

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

в описании сказано, что это компонента от Дельфи4. те - в FMX я ее не поставлю, правильно понимаю?
те - там есть исходный код, нужно его взять, вставить к себе и адаптировать. верно? )
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783185
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Bob32defecatorпропущено...

всё уже сделано
http://kazus.ru/programs/viewdownloaddetails/kz_0/lid_5411.html

https://www.sql.ru/forum/1035402/filtr-kalmana

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

в описании сказано, что это компонента от Дельфи4. те - в FMX я ее не поставлю, правильно понимаю?
те - там есть исходный код, нужно его взять, вставить к себе и адаптировать. верно? )
WinRAR'ом открой, это просто архив.
Там чистая математика, адаптировать именно под FMX ничего не нужно
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783207
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Virustotal в помощь ) чтобы меньше бояться
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783209
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorТам чистая математика,
Код: pascal
1.
TKalmanFiltering = class(TComponent)

Чтоб можно было мышкой программировать
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783289
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так ее можно на 10.3 поставить как компонент?

(сорри за тупость, ребята)
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783400
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Bob32так ее можно на 10.3 поставить как компонент?

(сорри за тупость, ребята)

можно. Я в XE7 поставил, без проблем работают
на вот тебе архивчег
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783497
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatorBob32так ее можно на 10.3 поставить как компонент?

(сорри за тупость, ребята)

можно. Я в XE7 поставил, без проблем работают
на вот тебе архивчег

Спасибо огромное!
буду пробовать.
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783508
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorWinRAR'ом открой, это просто архив.

а почему нге Total Commander'ом, он привычнее
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783523
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatorBob32так ее можно на 10.3 поставить как компонент?

(сорри за тупость, ребята)

можно. Я в XE7 поставил, без проблем работают
на вот тебе архивчег

пытаюсь установить.
есть несколько вопросов по установке и применению.
с Вами можно голосом их обсудить?
если да +7 916 207 0089 (пинганите меня по вотсапу (или иным способом) пожалуйста)
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783524
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AriochdefecatorWinRAR'ом открой, это просто архив.

а почему нге Total Commander'ом, он привычнее

это тебе привычнее
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783526
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Bob32defecatorпропущено...


можно. Я в XE7 поставил, без проблем работают
на вот тебе архивчег

пытаюсь установить.
есть несколько вопросов по установке и применению.
с Вами можно голосом их обсудить?
если да +7 916 207 0089 (пинганите меня по вотсапу (или иным способом) пожалуйста)
что там сложного ?
Открываешь FilteringBase.dpk, Build, Install
Всё.

Демка в папке Demo, и даже русскоязычные хелпы в папке Help
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783557
Bob32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatorBob32пропущено...


пытаюсь установить.
есть несколько вопросов по установке и применению.
с Вами можно голосом их обсудить?
если да +7 916 207 0089 (пинганите меня по вотсапу (или иным способом) пожалуйста)
что там сложного ?
Открываешь FilteringBase.dpk, Build, Install
Всё.

Демка в папке Demo, и даже русскоязычные хелпы в папке Help


Build вроде сделал. а Install как делать? Component\Install Component? так?
если да - какой там файл выбирать (там можно .pas, .dcu итп), какие потом параметры в след окне?


извините, действительно туплю. был в теме в начале 2000-х потом Дельфи в глаза не видел 15 лет )

сейчас вспоминаю....
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783574
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> а почему нге Total Commander'ом, он привычнее

Он адепт Far'a
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783605
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator,

так вход в папку, Ctrl+PgDn, он ещё с сочинского Нортона тянется, должен и в Фаре работать.

Или Фар вообще не умеет с SFX-архивами ?
...
Рейтинг: 0 / 0
Ориентация на Север и углы поворота телефона
    #39783606
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bob32,

вот там же где build сделал, там же и install

например в контектном меню на dpk-проекте в панели project manager / project group
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ориентация на Север и углы поворота телефона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]