Перейти к содержанию

Оптимальный алгоритм вычисления положения объекта


XP1

Рекомендуемые сообщения

 Задача чисто теоретическая... Имеется  некий объект М , который перемещается по плоскости прямоугольника АВСD. По краям прямоугольника (в точках А,В,С,D) установлены излучатели ИК. На объекте М установлен вращающийся датчик. Если датчик точно направлен на излучатель происходит его срабатывание. Таким образом можно получить определенное значение угла , а стороны прямоугольника известны. Как вычислить значения (а,в) ,то есть положение объекта относительно вершины А?.

20201004_221841_compress80.jpg.daf77f032b9ca89bea84da6a39771ce7.jpg

Возможно ,такая (  подобная) задача уже  кем то решалась.

 Пока интересует оптимальный ( минимум математических операций) алгоритм   решения. 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

6 минут назад, XP1 сказал:

Возможно ,такая (  подобная) задача уже  кем то решалась.

да,  в учебнике геометрии за 7 или 8 класс. причем для решения задачи достаточно всего двух точек А и В...

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

:)

Если бы всё было так просто...

Вообще-то, задача формулируется так:

Известно 4 угла (конечно достаточно только 3, но каких именно - надо выбрать для достижения максимальной точности):

Locator.JPG.8813b2480f7bb7dc35c848e9854b87e3.JPG

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

Только после этого можно считать, какие там откуда расстояния до центра...

____________________________________________________________________________________

Ну и задача "со звёздочкой" - выбрать из двух вариантов, на каком луче расположится вершина "1". :D

(Для этого исходных данных нет, т.е. будет два решения, где расположен объект в заданном квадрате - прямое и зеркальное).

Изменено пользователем Lexter
Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, Lexter сказал:

Для этого исходных данных нет, т.е. будет два решения, где расположен объект в заданном квадрате - прямое и зеркальное

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

Ссылка на комментарий
Поделиться на другие сайты

Интересно как на счет такого решения( возможного решения) .Сначала" изучим "некоторые свойства рассматриваемого расположения взаимодействующих элементов... Разделим наш прямоугольник на 4 равные части( через точку пересечения диагоналей проводим прямые s,c.

20201006_082811_compress79.jpg.d187a2fafdfbc9f97f81d504a0cc73de.jpg

 

.. И тут  "обнаруживаются" ряд свойств.

1. Если объект м находится на  на одной из двух прямых, то два "считываемых" угла будут одинаковыми.

2. Если две пары углов одинаковые- это точка пересечения диагоналей.

3. Если нам необходимо задать перемещение по этим линиям , нам необходимо следить за соблюдением "постоянства равности " соответствующей пары углов.

4. Сравнивая величину считываемых углов , можно вычислить в каком "прямоугольнике"(таких прямоугольников у нас четвре) находится обьект м.

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

6 . Таким образом , чтобы определить положение объекта м достаточно сравнить значения считанных углов из табличными данными (а,в ) с сотвествующими углами .

7. Процесс перемещения из одной точки в другую точку( команды на двигатели и направление их вращения) можно "получить" сравнивая значения текущих (считываемых) углов  с значением углов точки следования( точки  конечного перемещения.

 

 

Ссылка на комментарий
Поделиться на другие сайты

 

On 10/5/2020 at 2:49 AM, XP1 said:

Задача чисто теоретическая... Как вычислить значения (а,в)... минимум математических операций...

On 10/5/2020 at 5:17 AM, XP1 said:

А можно подсказочку( за 7,8 класс)?... Если не затруднит...

Не затруднит. Теоретически трех углов достаточно. Сумма углов треугольника равна 180 градусов.  Элементарная система  из 6 арифметических уравнений. Потом теорема синусов. И катет прямоугольного треугольника по углу и гипотенузе. Школьная программа...

 

Ссылка на комментарий
Поделиться на другие сайты

04.10.2020 в 22:49, XP1 сказал:

Задача чисто теоретическая...

Для решения треугольника нужны три его параметра. Для любого из четырёх треугольников (в общем случае) имеется лишь только два - угол при вершине и длина его основания.

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

Во как! Задача усложняется...

Как то так...

С уважением В.

ПС. Где Вы берёте всякие "такие" вопросы?
П2С. Кажется придётся "решать" две окружности и определять точку их пересечения (или касания)...

Изменено пользователем bam-buk
Ссылка на комментарий
Поделиться на другие сайты

Можно решить вот так. Имеет два измеренных угла α (альфа) и β (бета). Пусть известна L длина стороны квадрата. Нужно найти расстояния a, b.

Добавим на рисунке два одинаковых угла γ (гамма). Ну, и пишем уравнения.

Первое уравнение для тангенса гаммы очевидно.

Во втором уравнении берём тангенс от угла альфа минус гамма.

Ну, и в третьем тангенс угла ABM, этот угол равен 180 градусов минус бета и минус гамма. Пара упрощений. Тангенс - периодическая функция, значит 180 градусов можно просто выкинуть. Затем, тангенс - нечётная функция, поэтому знак минус выносим наружу. Наконец, меняем знак справа и слева.

Значится, второе и третье уравнения преобразуем по формуле тангенса суммы (разности) углов. Получается смесь из тангенсов альфы, беты и гаммы. Подставляем в результат тангенс гаммы из первого уравнения, который просто отношение a/b. В результате гамма исчезает, и остаются два уравнения с двумя неизвестными a, b и известными тангенсами альфы и беты и длиной L.

Берём пачку бумаги, карандаш и начинаем неторопливо разрешать эту парочку уравнений. У меня не хватило терпения дорешать до конца.

coordinates_finder.png

Ссылка на комментарий
Поделиться на другие сайты

1 hour ago, Yurkin2015 said:

остаются два уравнения с двумя неизвестными a, b...                   ...не хватило терпения дорешать до конца.

Ню-ню, система двух квадратичных уравнений :lol2:

Я "подсказал" выше вариант проще некуда.  Системы линейных уравнений проходят в 7 классе, тригонометрию - в 8 классе общеобразовательной школы.

Если @XP1  еще в шестом и раньше, то да, могут возникнуть трудности :D 

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, bam-buk сказал:

ПС. Где Вы берёте всякие "такие" вопросы?

Ну так вам будет "скучно"без "моих"вопросов...Шучу. А если "серьёзно, то был просмотрен видеоролик( найти повторно"  не удалось": возможно плохо искал). Там тоже используются маячки

20201008_062903_compress56.jpg.029f9d21d115c91ca834559fd35906ca.jpg

20201008_063205_compress69.jpg.e8f6d4d312cf769367fbc63e0ea35a15.jpg

Для решения действительно 

Цитата

для решения задачи достаточно всего двух точек А и В...

 

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего это" Фото"...

20201008_063205_compress69.jpg.b808ae3f82684e19e4795a17348a23fc.jpg

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

  

Ссылка на комментарий
Поделиться на другие сайты

Цитата

...про юргинцев.

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

В моей задаче , все гораздо "проще"( или , возможно, наоборот)... Фонари( маяки) изначально устанавливаются с высокой точностью( размер прямоугольника,скажем,  6м на 5м( точность +-1см.).

Никаких гироскопов нет. Процесс сканирования и определения углов( положения) "идет "постоянно. Частота вращения датчика 300 об/мин.( при необходимости ёе  можно увеличить ( уменьшить)) Делая полный оборот( датчик поочерёдно засвечивается  фонарями)   датчик вращается посредством шагового двигателя ( полный оборот 200 шагов). ...

 

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, XP1 сказал:

Частота вращения датчика 300 об/мин.( при необходимости ёе  можно увеличить ( уменьшить)) Делая полный оборот( датчик поочерёдно засвечивается  фонарями)   датчик вращается посредством шагового двигателя ( полный оборот 200 шагов). ...

300об/мин(360) указано , как вариант  возможного использования двигателя шпинделя  от 5,25 д. дисковода.

Назовем его( измеритель) "времяимпульсным УП с вращением оптической системы"

20201010_083653_compress97.thumb.jpg.4572a85905b8a878f036769abeb7fde6.jpg

Принцип работы "предполагается "такой:

Пусть  датчик вращается против часовойстрелки :" проходя " фонар А ,некий счетчик импульсов обнуляется и начинается счет импульсов( от0 до 200. - вариант с шаговым двигателем ). При срабатывании  датчика от фонаря D  происходит запись  значения в буфер обмена. ( на данном фото показан сам принцип , где применяется два фонаря : один из которых опорный, скажем , А.

Nd- количество импульсов при вращении от А до D.

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

 

 

 

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

Можно решить задачу другим путём. Квадрат 100м на 100м, сначала при вращении измерили угол между маяками D и A, получилось, например, 75˚.

Хорошо, в квадрате рисуем треугольник с основанием  AD и углом при вершине в 75˚. Но таких треугольников может быть множество. Всех их рисовать не будем, а нарисуем синюю линию всех возможных вершин таких треугольников. Наша искомая точка положения расположена где-то на синей линии.

Далее измерили угол между маяками  А и В, получили, к примеру, 110˚. Опять же нарисовали оранжевую линию всех вершин треугольников с основанием АВ и углом при вершине 110 градусов. Наш объект расположен где-то на оранжевой линии.

Чтобы выполнить оба условия, объект находится на пересечении синей и оранжевой линий. В ответе получаем координаты: 33м по горизонту и 62.1м по вертикали.

Кстати, угол между маяками не может быть больше 180 градусов, то есть не больше 100 шагов счётчика. Достаточно знать 2 угла. Поэтому делаем таблицу 100х100, номер строки это один угол от 1 до 100 шагов, а номер столбца - другой угол от 1 до 100, и заранее заполняем таблицу координатами объекта для всех возможных комбинаций углов. После этого при реальной работе измеряем пару углов, просто смотрим в таблицу и сразу забираем координаты по номеру столбца и строки без всяких трансцендентных расчётов. 

 

CoordFigure_2.png

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Yurkin2015 сказал:

Кстати, угол между маяками не может быть больше 180 градусов, то есть не больше 100 шагов счётчика. Достаточно знать 2 угла. Поэтому делаем таблицу 100х100, номер

Остается определить точность этого положения при 100 м длины стороны и количества шагов всего 200 на полный  оборот. Может все-таки измерять все четыре угла и" коректировать "полученные   результаты?

Ссылка на комментарий
Поделиться на другие сайты

04.10.2020 в 22:49, XP1 сказал:

Задача чисто теоретическая...

А не спросить ли об этом у геодезистов?

Скрытый текст

 

Вспомнил!
Искал две минуты:

http://pgsha.ru:8008/books/metod/%D2%E8%F5%EE%ED%EE%E2%E0%20%D2.%D1.%20%CE%EF%F0%E5%E4%E5%EB%E5%ED%E8%E5%20%EA%EE%EE%F0%E4%E8%ED%E0%F2%20%E4%EE%EF%EE%EB%ED%E8%F2%E5%EB%FC%ED%FB%F5%20%EF%F3%ED%EA%F2%EE%E2.%20%CB%E0%E1%EE%F0%E0%F2%EE%F0%ED%FB%E9%20%EF%F0%E0%EA%F2%E8%EA%F3%EC.pdf

Абсолютно точное решение! (см. ЛР2)

 

С уважением В.

Ссылка на комментарий
Поделиться на другие сайты

16 часов назад, Yurkin2015 сказал:

...делаем таблицу 100х100, номер строки это один угол от 1 до 100 шагов, а номер столбца - другой угол от 1 до 100, и заранее заполняем таблицу координатами объекта для всех возможных комбинаций углов. После этого при реальной работе измеряем пару углов, просто смотрим в таблицу и сразу забираем координаты по номеру столбца и строки ...

Ну так это же я и предлагал сделать:

 

06.10.2020 в 09:30, XP1 сказал:

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

Единственое , что достаточно  вычислить значения 1/4 части   площади.

Ссылка на комментарий
Поделиться на другие сайты

7 hours ago, XP1 said:

определить точность

Точность распределена неравномерно. Вот картинка для всех возможный комбинаций двух углов с шагом 5 градусов. Видно, что при углах 50˚, например, шаг составляет около 15 метров, а при углах более 120˚ точность определения координат гораздо лучше, около 2 метров.

В Вашем случае шаг по углу равен 1.8˚, можно пересчитать полученные погрешности измерения.

Очевидно, что надо измерять все четыре угла, а брать в расчёты только ту пару смежных углов, каждый из который более 90 градусов по величине. Тогда получится оптимальная точность.

CoordFigure_step5.png

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Yurkin2015 сказал:

Вашем случае шаг по углу равен 1.8˚, можно пересчитать полученные погрешности измерения

Интересно , каким должен  быть "угол обзора" фотодатчика? Он должен быть больше 1,8 градусов.  Иначе возможен "пропуск  " фонаря...

Ссылка на комментарий
Поделиться на другие сайты

Как оказалось, уйти от возможного "пропуска"  фонаря возможно схемотехнически.... ( без дробления шага)...  Возник вопрос следующего порядка: Размер прямоугольника у меня 6 на 5м. Если точность   задания координат составит  4+- 4см ( следовательно и точность точность углов ), то до какой величины  повышать дробление шага,  чтобы получить  необходимую разрешающую способность двигателя ,и какая эта разрешающая способность должна быть.

(Напомню что частота вращения у меня составит 300об/мин.)

Screenshot_20201012-162702_Chrome_compress51.jpg.35d7f49525d301e255f4deb943503906.jpg

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего необходимо расположить объект в точке пересечения диагоналец и посчитать "необходимый" шаг .

Изменено пользователем XP1
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • А зачем вы обманываете? Или кого вы обманываете? Меня? А мне кажется СЕБЯ. СУДЯ ПО ФОТКЕ ВЫ НИЧЕГО ИЗ ВЫШЕ ОПИСАННОГО НЕ СДЕЛАЛИ!!! Вон и резисторы и светодиоды, все на своих местах!
    • Я понимаю, если бы порекомендовали реле поменять. За много лет могут подпортиться контакты, окислы, нагар.
    • Писал для S7-412 там есть слот под память. При разработке используется ОЗУ, часто надо переписывать. Для работы ставится флэшь. Руководство сэкономило и не купило флэшь. Когда батарейка села, память слетела. Исходники были, но в модуле связи слетел IP адрес. Я уже у них не работал, потому вызывали, но флэшь память так и не купили.
    • Если я верно понял ТС:  то и это пофиг. Лишь бы как-то что-то усиливал, а для такого назначения даже "ступенька" неважна. Как-то сваял я тестовый предусилитель для проверки/налаживания микрофонов различных типов на том, что валялось в загашнике как "чемодан без ручки": и выкинуть жаба давит и применить для чего-либо серьёзного нецелесообразно. Ну, пошумливает... Но и усиливает, как было задумано. А большего и не требуется.  Не следует применять супер-пупер качественные схемы для банальных и проходных задач. Перфекционизм тоже должен быть в меру.
    • Хочу поменять электролиты в ИБП. Но тут наткнулся на ифу, что надо не абы какие, а непременно Low ESR. Я попытался у нас найти такие, но таких номиналов, как нужно найти проблематично.  Кроме того нет никакой уверенности что мне не продадут "абы какие". Возник вопрос - насколько критично использовать "обычные" электролиты в ИБП? Не сгорит из-за них что-то более серьёзное? На что вообще влияет тип Low ESR в ИБП?   Предыстория. Старенький ИБП PowerCom BNT- 800AP стал периодически издавать постоянный писк (сигнал "авария").   Может не пищать неделями,  может и каждый час "заводиться", а может и  сразу при включении. Путём экспериментов выяснилось. что это происходит независимо от того подключена ли нагрузка или нет, включён ли он в сеть или работает только от батареи. При этом нагрузку (комп, если он включен) не выключает. Лечится выключением - включением. Пару раз помогла пропайка контактов кабелей и некоторых др. деталей (тут не уверен что именно это помогло, но сообщаю на всякий случай). Помогло на месяц-полтора, после чего опять начиналось. Нагуглил что стоит поменять конденсаторы. Это наиболее частая причина такого поведения.  И вот неожиданно столкнулся с такой непоняткой, как выбор оных.
×
×
  • Создать...