ИК-дальномеры SHARP

Материал из roboforum.ru Wiki
Версия от 05:30, 19 мая 2008; SkyStorm (обсуждение | вклад) (Нормализация Non-Linear Output)
Перейти к: навигация, поиск

Статья посвещена ИК дальномерам Sharp. Рассмотрены принципы их работы, особенности использования, плюсы и минусы.

Является вольным переводом статей:

Внешний вид

IR Family.jpg

Принципы работы ИК дальномеров

Представленная линейка GP2DXX дальномеров Sharp, была разработана не только для обнаружения обьектов на дальних расстояниях (как это было в первом методе), но и для предоставления данных о расстоянии, в случае с моделями GP2D12, GP2D120 и GP2DY0A ('0A'). Эти модели работают намного лучше, так как используются новый метод измерения.


Используется триангуляция и малая линейная CCD матрица для вычисления расстояния и/или определения наличия обьектов в поле действия (зрения). Основная идея заключается: импульсы ИК излучения испускаются излучателем. Это излучение распространяется и отражается от обьектов находящихся в поле зрения. Отраженное излучение возвращается на приемник и образуется треугольник "излучатель - обьект отражения - приемник".

IR triangle.jpg

Угол отражения напрямую зависит от расстояния до обьекта. Полученные отраженные импульсы собираются высококачественной линзой и передаются на линейную CCD матрицу. По засветке CCD матрицы определяется угол отражения и высчитывается растояние до обьекта.

Этот метод более защищен от эффектов интерференции излучения и разного отражения от специфических материалов и цветов. Определение черной стены в при ярко освещении теперь возможно.

Какой детектор выбрать?

Серия GP2XX дальномеров включают несколько типов. Которые характеризуются минимальными и максимальными значениями дальности измерения, также датчики возвращают переменное растояние или булевое значение наличия обьекта.

Сравнительные характеристики сведены в файл.

Scale.jpg

GP2Y0D340K.jpg

GP2D05.jpg

GP2D15.jpg

GP0D02.jpg

Scale.jpg

GP2D12.jpg

GP2D120.jpg

GP0A02.jpg

GP0A21.jpg

GP0A700.jpg

GP2D02.jpg

Scale.jpg


Legend.jpg


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


0A700 поставляется в специальном корпусе который намного больше чем другие дальномеры, это видно на картинке ниже. Увеличение размера связано с увеличением линзы и вследствии мы получаем максимальный диапазон в 5.5 метра.

0A700 comparison.jpg

Выбор дальномера рельно зависит от ваших необходимостей, возможностей "Мозга" (наличия АЦП), итд итп. Надеемся что приведеная выше таблица поможет вам сделать правильный выбор.

Non-Linear Output

Выходная характеристика детекторов нелинейно (см. рисунок ниже) зависит от измеренного растояния.

Non-linear.jpg

График изображает типичную (например, для GP2Y0A21YK и GP2D12) выходную характеристику для этих дальномеров.

Следует обратить внимание на две вещи:

  • Выходная характеристика дальномера (10см -80см) не линейна и близка к логарифмической. Это кривая незначительно отличается от дальномера к дальномеру и хорошая идея "Нормализовать" характеристику с помощью таблицы или функции. В этом случае, вы можите колибровать каждый дальномер и в результате получить линейную характеристику независищую от дальномера к дальномеру.
  • В случае если дистанция меньше Min измеряемой (10см) характеристика падает очень быстро и возникает впечетление что измерено далекое растояние. Это может ввести в заблуждение и даже разрушить вашего робота если он двигается с высокой скоростью. Простейший путь этого избежать устанавливать дальномер на робота с учетом длины робота.

Cross.jpg

Пример перекрестной установки дальномера для компенсации Min ограничения измерения.


Нормализация Non-Linear Output

Как говорилось ранее(см. выше) выходная характеристика дальномеров нелинейно (см. рисунок ниже) зависит от измеренного расстояния. Нужно найти функцию для преобразования напряжения Вольты в расстояние Сантиметры или Дюймы.

Irlinear-fig1.jpg

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


На основании страницы 10 Sharp Device Specification для GP2D120 график характеристику следует преобразовать по формуле <math>V = 1 / ( R + k )</math>

где V - результат АЦП преобразования напряжение, R расстояние, k = 0,42 константа для GP2D120. Уравнение дает прямую линию как результат. Операция деления выпрямляет характеристику. Константа в функции зависит от модели дальномера, k = 0,42 константа для GP2D120 но может быть применена и для других моделей. Поэтому первым шагом для хорошей функции преобразования необходимо экспериментальным путем определить константу k. На рисунке ниже предаставлен график для GP2D12 с k = 4.0.

Irlinear-fig2.jpg

Следующим шагом сведем полученную приближенно линейную характеристику с формулой линейного уравнения. <math>y = m * x + b</math> В этом случае y соответствует линейному расстоянию, заменяем в функции y и x <math>1 / (R + k) = m * V + b</math> Преобразовываем для получения функции расстояния от напряжения <math>R = (1 / (m * V + b)) - k</math> Результат содержит операции с плавающей запятой, от которой нам надо избавится: <math>R = (m' / (V + b')) - k</math> где <math>m' = 1/m</math> и <math>b' = b/m</math> . После чего мы можем применять формулу в целочисленных расчетах.


Пример применения для 10 bit АЦП (0..1023) и GP2D12 : <math>R = (m' / (V + b')) – k</math>

<math>R = (6787 / (V - 3)) - 4</math> Где m'=6787, b'=3 и k=4. Необходимо проверить значение V для предотвращения деления на 0, V должен быть больше b'. Для данной формулы , V должен быть больше 3. С 10-bit целым, напряжение для GP2D12 изменяется от 80 при отсутствии препятствий до 0 если объект прямо перед GP2D12. Этот подход работает и для других дальномеров. После подбора константы для GP2D120 формула будет выглядеть так: <math>R = (2914 / (V + 5)) - 1</math>


Так как это целочисленная математика то результат получаем в сантиметрах, что более дружелюбно чем результат АЦП преобразования.

Beam Pattern

Шаблон излучения для этих дальномеров довольно схож между типами. В основном диапазон измерений от 10см до 80см и поток примерно в виде конуса с диаметром на середине конуса около 16см. В связи с узостью шаблона рекомендуется установка дальномера на вращающуюся платформу с Servo для сканирования окрестностей. Таким образом, расширяя угол.

При использовании дальномеров в роли бампера, необходим наиболее широкий луч излучения для охвата наибольшей зоны перед роботом. Типовое решение это применений 2х дальномеров установленных перекрестно (см. рисунок ниже). Наиболее часто применяется для этой цели GP2D15.

Bumper.jpg

В зависимости от типа используемого дальномера, выход с них можно обьеденять для сбережения I/O на микропроцессоре.

Подключение Дальномеров

Все дальномеры, за исключением GP2Y0A700, оснащены одинаковым разъемом для подключения. Он называется Japan Solderless Terminal (JST). Разъем имеет 3 контакта: ground, vcc и output. Так как дальномер излучает непрерывно, нет необходимости в синхронизации для инициации чтения, это упрощает взаимодействие но увеличивает энергопотребление(примерно 25mA) и возникает вероятность интерференции излучения с другими ИК датчиками. Для борьбы с интерференцией применяйте методы описанные ранее.

GP2Y0A700 поставляется в специальном корпусе и оснащен 5 контактным JST разъемом. Разъем имеет 5 контактов: ground, vcc, output, ground, vcc. Это сделано для подачи дополнительного питания 400 mA пикового(30-50 mA постоянного). Как и другие дальномеры GP2Y0A700 излучает постоянно.

Снятые с производства GP2D02 and GP2D05 используют JST с 4ма контактами: ground, vcc, clock и output.


ИК Дальномеры аналоги

.... продолжение следует .....