RxTx (12.12.2019 16:54 - 17:09, просмотров: 424) ответил RxTx на Поворачивая шаговиком лазерный дальномер сбоку сканирую профиль некой формы. Надо: удерживаться на определенной точке профиля. Профиль может сдвигаться вверх-вниз, удаляться/приближаться.
Спасибо что поддерживаете! Основная функция системы - это активное определение расстояния до профиля +-1мм. Под-функция (о которой вопрос выше) - удержание лаз. луча на определенной высоте профиля.
Приклеить метку к профилю невозможно, потому что профиль постоянно под лучом скользит вбок,
на измерение дистанции лазером это не влияет.
В процесс скольжения профиль "ходит" приближаясь-удаляясь и сдвигаясь вверх-вниз.
(Еще и наклоняется на малый угол в малых угл.пределах).
Следить лучом лазера управляя шаговиком нужно по двум причинам:
1. Для того чтобы лазерный луч не сорвался и не ушел в пустоту.
2. Нужна определенность. Расстояние это строго до верхней части профиля, а не где угодно.
Особенность системы.
Задача фактически одномерна. Профиль это фактически функция, где по оси ординат y - сам профиль, расстояние до него.
Положение профиля не изменяется внезапными скачками. Положение меняется гладко.
У профиля есть только одна верхняя граница, и я могу её определять по срыву лазера (и сейчас пользуюсь этим).
Профиль известен, его форма не меняется. (При желании может быть представлен в виде N грубых сечений).
В чем сейчас минусы.
-1. Лаз.дальномер непрерывно выдает расстояние. Я "сканирую" шаговиком профиль вверх-вниз.
Но циклические "сканы" шаговиком профиля вверх-вниз дело не быстрое, ввиду чего время между конечными определениями расстояния до профиля выходит неудовлетворительное, хотелось бы двигаться "вверх"-"вниз" на небольшую величину и потому быстро (следя).
-2. Как такового _непрерывного_слежения_ нет.
Это квази-слежение, по факту рескана, это не мелкое инкрементальное отслеживание.
Как можно построить слежение за профилем по отсчетам дистанции ЗНАЯ ПРОФИЛЬ и удерживаясь на нем?
-3. Сейчас "зацепка" сделана не за сам профиль, а за его границы. Попросту кручу шаговик пока лазер не "сорвётся".
Откручиваю сколько-то вниз, и вот это расстояние есть мое искомое.
А хотелось бы цепляться именно за профиль. Профиль такой: это буква "S". Пусть лаз. дальномер слева от "S".
Нижняя граница "S" не доступна и нижняя половина "S" может быть периодически перегорожена посторонними предметами. Поэтому определять расстояние надо до верхней половинки "S", до её ближайшей выпуклой части. Соответственно, хочется на ней и удерживаться.
Вопрос - как?
Спасибо, князь. Вы настоящий дворянин. И программист.