Задача: 2 одинаковых объекта движутся по направляющей. Направляющая имеет датчики, объекты - соответствующие датчикам метки. Как определить, куда движется объект и с какой скоростью? Объекты не считаются материальными точками. С первого взгляда задача кажется простой и понятной: над каким датчиком метка проехала, там и объект. Скорость и направление движения мы ему задали, так что вроде как и думать не над чем. Проблема появляется тогда, когда становится понятным, что:
Первые два пункта изящно решаются установкой двух датчиков по диагонали: как бы ни был установлен объект на направляющую, диагональ не изменит своего направления, а, значит, мы можем надёжно определить, что над точкой проехал определённый объект. Но как быть с третьим пунктом? Давайте формализуем ещё больше. Нам требуется определить вектор (даже не его модуль, а только лишь направление) скорости объекта. Вектор можно определить либо линейной зависимостью с указанием направления движения аргумента, либо набором из двух последовательных точек, через которые проходит вектор. Значит, с помощью одного набора датчиков невозможно определить вектор скорости. Отсюда вывод: для определения вектора требуется либо группа из двух наборов датчиков в каждой точке съёма, либо требуется анализировать проезд двух последовательных точек. Решение с двумя наборами датчиков аппаратно неэффективно. Решение с анализом двух точек плохо тем, что сводит на нет всю суть задачи: знать, где находится объект и куда он движется - не самоцель. Сделаем промежуточные выводы:
Напрашивается общий вывод: без дополнительных ограничений задача в такой постановке эффективного решения не имеет. Самым мягким ограничением, которое напрашивается само собой, является запрет на смену положения объекта в процессе движения. Тогда направление можно определить, сделав пробный прогон объекта по двум точкам перед началом реальной работы. Итак, к каким результатам мы пришли:
Жду ваших комментариев |
Блог >