Jump to content
XP1

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

Recommended Posts

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

20201004_221841_compress80.jpg.daf77f032b9ca89bea84da6a39771ce7.jpg

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

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

Share this post


Link to post
Share on other sites
6 минут назад, XP1 сказал:

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

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

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Posted (edited)

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

Edited by XP1

Share this post


Link to post
Share on other sites

Вебинар «Практическое использование TrustZone в STM32L5»(10.12.2020)

Приглашаем на вебинар, посвященный экосистеме безопасности и возможностях, которые появились у разработчиков благодаря новой технологии TrustZone в микроконтроллерах STM32L5. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Снижена цена на AC/DC и DC/DC преобразователи Mornsun в Компэл!

Компэл и компания Mornsun снизили цены на преобразователи AC/DC-преобразователи семейств LS и LDE. По привлекательной цене также предлагаются DC/DC-преобразователи изолированных семейств поколений R2 и R3 различного конструктивного исполнения.

Подробнее

Posted (edited)

:)

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

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

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

Locator.JPG.8813b2480f7bb7dc35c848e9854b87e3.JPG

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

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

____________________________________________________________________________________

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

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

Edited by Lexter

Share this post


Link to post
Share on other sites

Материалы вебинара: «Силовые компоненты Wolfspeed на основе карбида кремния (SiC)»

Вы можете посмотреть видеозапись вебинара «Силовые компоненты Wolfspeed на основе карбида кремния (SiC)», ознакомиться с ответами на вопросы и презентацией, в которой вы найдете много полезных ссылок, в том числе подробнее раскрывающих ответы на вопросы.

Подробнее

6 hours ago, IMXO said:

достаточно всего двух точек А и В...

Только если "датчики" в углах, а на объекте ИК излучатель... 

Share this post


Link to post
Share on other sites
10 часов назад, Lexter сказал:

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

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

Share this post


Link to post
Share on other sites

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

20201006_082811_compress79.jpg.d187a2fafdfbc9f97f81d504a0cc73de.jpg

 

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

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

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

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

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

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

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

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

 

 

Share this post


Link to post
Share on other sites

 

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

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

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

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

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

 

Share this post


Link to post
Share on other sites
Posted (edited)
04.10.2020 в 22:49, XP1 сказал:

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

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

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

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

Как то так...

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

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

Edited by bam-buk

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

coordinates_finder.png

Share this post


Link to post
Share on other sites
1 hour ago, Yurkin2015 said:

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

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

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

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

Share this post


Link to post
Share on other sites
7 часов назад, bam-buk сказал:

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

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

20201008_062903_compress56.jpg.029f9d21d115c91ca834559fd35906ca.jpg

20201008_063205_compress69.jpg.e8f6d4d312cf769367fbc63e0ea35a15.jpg

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

Цитата

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

 

Share this post


Link to post
Share on other sites

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

20201008_063205_compress69.jpg.b808ae3f82684e19e4795a17348a23fc.jpg

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

  

Share this post


Link to post
Share on other sites
Цитата

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

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

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

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

 

Share this post


Link to post
Share on other sites
14 часов назад, XP1 сказал:

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

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

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

20201010_083653_compress97.thumb.jpg.4572a85905b8a878f036769abeb7fde6.jpg

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

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

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

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

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

CoordFigure_2.png

Share this post


Link to post
Share on other sites
8 часов назад, Yurkin2015 сказал:

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

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

Share this post


Link to post
Share on other sites
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)

 

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

Share this post


Link to post
Share on other sites
16 часов назад, Yurkin2015 сказал:

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
7 hours ago, XP1 said:

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

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

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

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

CoordFigure_step5.png

Edited by Yurkin2015

Share this post


Link to post
Share on other sites
2 часа назад, Yurkin2015 сказал:

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

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

Share this post


Link to post
Share on other sites

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

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

Screenshot_20201012-162702_Chrome_compress51.jpg.35d7f49525d301e255f4deb943503906.jpg

Share this post


Link to post
Share on other sites

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

Edited by XP1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • А если взять датчик давления (типа такого), трубку необходимой длины - один конец трубки надеть на датчик, второй опустить в колодец. К датчику подключить питание и милливольтметр стрелочный. При изменении уровня воды в колодце будет меняться давление воздуха в трубке и соответственно напряжение на выходе датчика. Шкалу вольтметра отградуировать. На али есть резистивные датчики (вот), меняют сопротивление при изменении давления. Только не ясно будут ли они реагировать да давление воздуха или нет. или так не получится?
    • — Может быть, проще сделать обыкновенные стулья? — сказал Шпунтик. — А это хорошая мысль! Надо будет изобрести самый простой, обыкновенный стул! — обрадовался Шурупчик. — Ведь всё гениальное просто. Ты, братец, видно, тоже механик? (Н.Носов, "Приключения Незнайки и его друзей"). Признавайтесь, Dr. West, Вы тоже механик?
    • У меня вариантов нет, транзисторы диоды, прозванивались, сопротивления тоже, всё кажется цело, номинал показывают, осцилографа нет, посмотреть нечем, стоит ли заморачиватся со светодиодом как тестером для импульсов? Делал как-то для машины , чтобы смотреть идут ли импульсы на форсунки и катушку зажигания.  Времени для рисования маловато. 
    • Теперь тестируйте термостат.
    • Здравствуйте! Посоветуйте пожалуйста схему стабилизации по току на ОУ. Переделываю АТХ на fsp3528, а у него всего один усилитель ошибки(на нем регулировка напряжения). Надо что бы при замыкании выходных клемм я мог выставить ограничение тока. Нашел такую схему. Что можете сказать по ней? как она себя поведет при замыкании выхода? Возможно ли в эту схему добавить индикацию срабатывания? И что нужно изменить в схеме, если опорное напряжение ОУ будет 5 вольт?
    • К первому и последнему (31-му). Можно просто открыть схему "Маяка" и увидеть номера выводов ИЛТ6-30, на которые идет переменка от БП, собственными глазами.
    • Никогда не слушайте эдуардов, лучше читайте старые умные книги.

  • Драйвера для шаговых двигателей на чипах A4988 и DRV8825

×
×
  • Create New...