Система навигации мобильного робота по опорным маякам

Ультразвуковой маяк

beacon

Введение

Задача определения координат робота – наиболее актуальная в большинстве областей применения мобильных роботов.

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

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

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

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

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

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

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

Глава 1. Проектирование изделия «Система навигации мобильного робота по опорным маякам».

1.1 Техническое задание. Постановка задачи.

Задание: Разработать систему навигации мобильного робота по опорным маякам.  Задача системы – определять координаты робота относительно рэперной точки площадки.

Требования к системе:

- Автономность. Время непрерывной работы – не менее 2.5 часов.

- Размеры  конструкции - не более чем 80х80х80мм.

- Подсоединение к компьютеру.

- Наличие беспроводных каналов данных

- Модульная реализация

- Наличие адгезионных поверхностей на нижней и верхней гранях.

- Идентичность и взаимозаменяемость всех маяков системы.

Game-tabel

Игровой стол соревнований Eurobot 2011

1.2 Техническое предложение.

На данном рисунке видны места (обозначены черными квадратами в углах и в центре на периферии площадки)  для опорных маяков. Координаты этих мест считаются известными. В дальнейшем будем обозначать их, как X1, Y1, Z1; X2, Y2, Z2; X3, Y3, Z3;

Поверхность этих мест покрыта адгезионным тканевым покрытием (липучка).  Нижняя поверхность маяка при этом имеем противоположное по свойствам покрытие,  и прилипает к верхней. Одновременно маяки могут занимать только 3 позиции, причем строго определенные, также один маяк может быть установлен на роботе противника и один маяк на собственном роботе. Высота маяка – координата Z всегда больше чем высота любого объекта на поле, в том числе роботов. Кроме того разность высот между излучателем и приемником примем много меньше, чем расстояние между маяками, это позволяет совместить систему отсчета в плоскость электронной платы маяка и приравнять ее к 0. Таким образом, Zi=0 i=1,2,3,4,5.

Для любого произвольного положения робота предлагается замерять расстояния до каждого из маяков, затем зная координаты маяков, математически вычислять собственные координаты. Наглядно это можно изобразить следующим способом:

working-beacon-principle

Принцип работы системы маяков

Эта модель идеализирована. Недостатки укажем позже.

Иерархия системы:

  1. Маяк на роботах – мастер, периферийные маяки – рабы.
  2. Все математические вычисления по определению собственной координаты проводятся на маяке на борту робота. (Мастер). Периферийные маяки исполняют роль активных отражателей.
  3. Передача данных в радиоканал происходит только по запросу мастера.
  4. Связь с компьютером происходит только на мастере.

Принцип определения расстояния:

Для определения расстояния применен принцип измерения времени задержки между излучаемым сигналом и принятым. Такой же метод используется в РЛС.  В качестве поля распространения было выбрано воздушное, то есть звуковое, так как скорость звука имеет величину порядка 340.29 м / с, время задержки на минимально возможном расстоянии имеет величину порядка и может быть измерено с помощью таймеров контроллера.  Расчетные формулы

Пусть t-искомое время задержки. Скорость звука в воздухе имеет зависимость от температуры, показателя адиабаты и газовой постоянной воздушной смеси. Для воздуха К=1.37, Rг=340, нормальная температура воздуха – 293К, при этом устройство не предназначено для использования при изменяющихся температурах, поэтому примем скорость звука 340 м/с и в дальнейшем будем считать неизменной.

Звук – среда, наполненная различными видами помех, но основной из них находится в диапазоне слышимости человека – до 20КГц,  до этой же частоты излучает сам человек (речь идет о максимуме интенсивности, сам спектр гораздо шире), наглядно это можно изучить, применив к временному звуковому процессу прямое преобразование Фурье с выделением спектра звука(спектральной мощности):

AFC1

Рис. 1. Спектр музыкального звука.

AFC2

Рис. 2. Спектр затухающего колебания.

AFC3

Откуда видно, что с ростом частоты, интенсивность помех, излучаемая людьми, уменьшается.  Поэтому широкое распространение получили ультразвуковые методы измерения расстояния на частотах 25 КГц, 33 КГц, 40 КГц и более для более плотных сред ( например для воды применяют 200 КГц). Наиболее распространена частота 40КГц. Применение этой частоты приведет к коллизиям, так как большинство датчиков вражеских роботов работают именно на ней. 33КГц – наиболее редкая частота, резонансные приемники/излучатели – большая редкость для такой частоты, кроме того, это, как правило, более мощные устройства (рассчитанные на минимальное напряжение от 30 до 40 вольт, что невозможно достичь в заданном пространстве устройства. Поэтому для выполнения задачи был выбран датчик с резонансной частотой 25КГц.

АЧХ пьезокерамических УЗ приемников(40 КГц):

AFC4

АЧХ пьезокерамических УЗ излучателей(40 КГц):

AFC5

В данной системе из 5 объектов необходимо разделить во времени взаимодействия объектов. Для этого необходимо выделить параметры ультразвукового сигнала, по которым каждый маяк будет знать, что сейчас его очередь отвечать в эфир. Также в качестве такого сигнализатора можно использовать иной канал данных, например, радиоканал. Итак, способы определения очереди устройств:

- Временное разделение. Базируется на различной длительности излучаемого сигнала, к примеру. Для первого маяка – 150 мкс, для второго – 200 мкс и так далее. Следовательно, в дежурном режиме каждый маяк-раб находится в режиме ожидания события – приход сигнала, по которому засекается таймер, если время сигнала находится в диапазоне , где е – погрешность времени определения (определяется экспериментально), то сигнал адресован именно этому маяку и он незамедлительно переизлучает сигнал обратно с тем же самым временем излучения, то есть работает в режиме активного отражателя. Таким образом, время между излучением и возвращением сигнала увеличивается на величину задержки, в которую входят задержки вычислений на контроллере и срабатывания переизлучения, что будет рассчитано позже после синтеза устройства.

- Предупреждение о приеме через выделенный радиоканал. В этом случае  применяется многоканальная система передачи данных, каждый канал соответствует маяку-рабу. Основная задача радиоканала – предупредить маяк-раб о начале приема сигнала. Так как скорость передачи радиоволн много больше скорости звука, то контроллер успеет встать в режим приема ультразвукового сигнала.

Принимаем решение строить комбинированную систему с радиомодулем, это позволит реализовать оба способа с выбором оптимального.

Автономность системы будем обеспечивать питанием от литий-ионных элементов.

Модульность обеспечим применением интегральной технологии плат.

Теперь можно приступать к синтезу электронного устройства.

1.3 Синтез электронного устройства. Выбор элементов схемы.

Итак, синтез электронного устройства произведем в следующем порядке:

- Выбор УЗ приемника и излучателя.

- Выбор радиомодулей.

- Выбор микроконтроллера.

- Расчет питания. Выбор преобразователей напряжения. Выбор питающих элементов.

- Выбор  передающей части устройства по протоколу EIA-232 для связи с компьютером.

- Синтез передающего тракта.

- Синтез принимающего тракта.

1.3.1 Выбор УЗ приемника и излучателя.

Предварительно зададимся напряжением питания устройства – не более 18 вольт. Резонансная частота – 25 КГц.  Дальность действия из условия минимальной чувствительности и максимальной интенсивности излучателя примем равной – не менее 4 метров, что соответствует диагонали игрового стола.

16х12

Датчики 25R/T-16P – не проходят критерий напряжения питания. Из остальных датчиков в доступе оказались лишь UT/R-1612MP-25.

Их характеристики:

Емкость – 2000пф

Резонансная частота – 25+-1КГц

Тип корпуса – открытый

Материал – алюминий

Дальность действия – не более 4 метров

Входное напряжение – от 10 до 20 вольт

Масса – 5 грамм

Диапазон рабочих температур – от -20 до 70 вольт

US

1.3.2 Выбор радиомодуля.

Критерии:

- Многоканальность

- Дешевизна (необходимо несколько штук)

- Монтаж поверх компонентов платы (из-за экономии места)

- Наличие интерфейсов (SPI, или UART, или I2C)

- Низкое энергопотребление

- Разрешенный диапазон частот.

- Встроенная антенна.

- Дальность действия – не менее 4 метров. Преодоление единичных препяствий.

Наиболее удовлетворяют этим критериям радиомодули TR24A:

Параметры:

Напряжения питания: 2.5 – 3.7 вольта

Число каналов – 81

Рабочая температура: -40, +85

Чувствительность по приему – 85 Дб

Рабочие частоты: 2400-2482 МГц

1.3.3 Расчет питания устройства.

Для расчета питания устройства необходимо определить напряжение питания цифровой части устройства. В данном случае оно ограничивается сверху радиомодулем TR24A и составляет 3.3 В, но как будет сказано далее, для усиления сигнала будет использоваться сдвоенный операционный усилитель, который имеет разнополярное питание +-5В. В этом случае применим в качестве питания схемы два уровня:

- +-5В для питания операционных усилителей

- +3.3 вольта для питания цифровой части

Так как напряжение питания всего устройства не будет менее 10 вольт, то выберем импульсные стабилизаторы напряжения TMR1221 для +-5В и  PEAK P6AU-053R3E для питания 3.3 вольта. Их краткие характеристики:

TMR1221

-         Ток 200 мА.

-         Эффективность – 73%.

-    Входное напряжение 9-18 вольт.

PEAK P6AU-053R3E:

1.3.4 Выбор COM интерфейса.

В следствие ограничения напряжения питания 3.3 вольта, остановимся на преобразователе уровней MAX3232CPE.  Его основная задача – преобразование уровней UART  в уровни  EIA-232 и наоборот.

1.4 Синтез оптимального принимающего каскада.

Принимающий каскад является основой данного устройства. Как уже было сказано, приемник настроен на резонансную частоту, следовательно, здесь отсутствует задача синтеза узкополосного частотного фильтра.

Постановка задачи:

- Разработать каскад выборки полезного сигнала, задача которого выдать логическую единицу при появлении полезного сигнала и сбросить выход в ноль при его прекращении.

На основе опыта было установлено, что амплитуда колебаний ультразвукового приемника на расстоянии около 3 метров составляет порядка 60-80 мВ. При этом, необходимо учесть, что звуковые волны – волны разряжения и сжатия, поэтому колебания – симметричные относительно нуля. Для простоты примем их прямоугольными. Так как далее будет сказано, что передатчик формирует прямоугольные импульсы.

diagram1

Итак, для начала определим коэффициент усиления контура колебаний. Примем выходную амплитуду колебаний 5 вольт, тогда К=5/0.05=100. Для этого применим сдвоенный операционный высокоскоростной усилитель AD8032. Реализуем местные обратные связи. Их задача – интегрирование (сглаживание) шумов. На входе операционного усилителя поставим параллельно УЗ приемнику резистор. Это необходимо из-за высокого входного сопротивления ОУ, чтобы лишняя энергия, произведенная УЗ приемником не ухудшала его параметры, а рассеивалась на резисторе. Сопротивление подобрано опытным путем и оно равно 24Ком.

Питание ОУ – двуполярное, это необходимо, чтобы в состоянии покоя сигнал на выходе ОУ был равен нулю. На выходном каскаде ОУ поставим выпрямитель в виде быстрого сигнального диода Шоттки 1N5711. Полученные прямоугольные колебания сгладим интегратором RC –цепочкой. Постоянная времени RC цепочки подобрана таким образом, что за полупериод амплитуда сигнала не уменьшилась ниже уровня логической единицы. R=10 K, C=6нФ. Затем, на выходе каскада установим триггер Шмидта, этот нелинейный элемент необходим для выправления сигнала, имеющего всплески и провалы (помехи), выдавая на выходе логический уровень, который может считывать любое цифровое устройство. Триггер Шмидта инвертирует сигнал, таким образом, наш каскад выдает 0 при наличии полезного сигнала и 1 при его отсутствии.

Гистерезис триггера Шмидта.

Schmitt trigger

Схема каскада

diagram OA

1.4.1 Моделирование процессов.

Моделирование каскада проведем в системе MicroCap 9.  Для этого в библиотеках системы найдем нужные нам компоненты по их условным обозначениям. MicroCap 9 имеет параметры этих элементов по их эквивалентным моделям и позволяет строить приближенный анализ их работы.

time diagram 1

Описание процессов:

- На первом графике представлен сигнал на выходе ОУ.

- На втором графике представлен сигнал на входе ОУ, принятый с ультразвукового приемника

- На  3м графике представлен сглаженный сигнал на выходе интегратора

- На 4м графике представлен логический уровень (нуля в данном случае)  на выходе каскада.

Для демонстрации необходимости триггера Шмидта и работоспособности схемы, уменьшим постоянную времени интегратора, в результате получим нестабильность выхода (видно на последнем графике):

time diagram 2

1.5 Синтез передающего каскада

Чтобы управлять ультразвуковым излучателем, необходимо подавать на него сигнал на резонансной частоте 25КГц и с определенной амплитудой – в данном случае не менее 10 вольт для поддержания заданной интенсивности излучения.

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

Для этого выберем микросхему L6202.

Принципы работы:

- На входы In1 и In2 подаем логические сигналы, управляя диагоналями.

- Вход Enable – разрешение работы.

- Лог. 1 на IN1 открывает левый верхний транзистор, формируя на выходе OUT1 напряжение Vs, лог.0 подает на этот выход уровень земли. Аналогично для выхода OUT2.

Примечание:

Устройство имеет аппаратный DeadTime, равный 40 наносекундам, это достигается за счет задержки срабатывания логики, которая базируется на элементах 3И. Таким образом,  достигается защита от сквозных токов сторон Н-моста, но согласно описанию имеется факт протекания повышенных токов в момент включения/выключения диагоналей, это связано с необходимостью зарядки/разрядки емкостей переходов транзисторов, что в высокоскоростном режиме приводит к нагреву микросхемы. На этот случай устройство имеет термальное отключение при перегреве.

- CBoot – бутстрепные конденсаторы, их емкость 15 нанофарад, номинальное напряжение – не менее 24 вольт.

H bridge1

Схема подключения полного Н-моста.

H bridge2

Выход Sen – аналоговый сигнал уровня тока в цепи Н-моста, в данном случае, не стоит задача организации обратной связи по току, поэтому эта опция не используется.

1.6. Расчет элементов питания

По условию время автономной работы устройства должно составлять не менее 2.5 часов. При этом напряжение питания ультразвуковой части должно составлять не менее 10 вольт. Как будет указано далее, в устройстве есть серьезные ограничения на габариты, по чертежу выяснилось, что максимальное количество элементов питания составляет 5 штук, уложенных в ряд, при этом габариты блока батарей составят 78х58мм, что лишь на 2 мм меньше 80мм, таким образом, остановимся на варианте 4 батареи формата АА. Но суммарное питание в этом случае будет всего 6 вольт, для исправления этой ситуации применим новейшую технологию литий-ионных аккумуляторов в корпусе батареи АА напряжением 3.7 вольта. Следовательно, напряжением питания устройства составит 3.7х4=14.8 В Рассчитаем потребную емкость аккумуляторов, для этого рассчитаем потребляемые токи (исходя из возможных максимумов):

- радиомодуль TR24A – 10 мА

- контроллер – 40 мА

- Преобразователь уровней – 30мА

- Операционный усилитель – 15 мА

- Полумостовая схема – 20мА

- Индикация – 30мА

- Дисплей ( в улучшенной версии маяка, в данной работе не рассматривается) 30мА

Таким образом,  прогнозируемое потребление составит порядка 175мА. При выборе емкости аккумуляторов 700мАЧ и напряжении питания 3.7 вольта время работы составит порядка 12 часов, что выше требуемого в

несколько раз.

Ниже на графике представлена диаграмма разряда литий-полимерного аккумулятора и никель-металгидридного. Как видно, они идентичны друг другу по форме.

schedule of low battery

График разряда Li-Po аккумулятора. Ток разряда – 15 А

График разряда Ni-Mh аккумулятора током 500 мА

500ma

График разряда Ni-Mh аккумулятора током 2500 мА

2500ma

Из представленных графиков видно, что в  целом аккумуляторы форм-фактора АА имеют примерно постоянную характеристику на всем протяжении разряда с практически катастрофическим ее падением при исчерпании энергии батареи.  Следовательно, можно принять указанную емкость аккумуляторов за номинальную и вести расчет по ней.

1.7 Выбор микроконтроллера

Задача выбора микроконтроллера базируется на 2х критериях:

- Вычислительная мощность

- Функциональные возможности.

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

- Управление диагоналями Н-моста. 2 дискретных выхода.

- SPI интерфейс. Либо аппаратный, либо 4 дискретных входа/выхода.

- COM интерфейс для связи с компьютером. Аппаратный. 2 дискретных входа/выхода.

- Радиоинтерфейс. Требует интерфейс SPI и дополнительно 4 дискретных входа/выхода.

- Светодиодные индикаторы – 2 штуки. Необходимы для сигнализации о работе устройства на расстоянии. Индикатор 1 – наличие полезного сигнала, индикатор 2 – режим работы (нормальный – мигание, ошибка – постоянно включен). Необходимо 2 дискретных выхода.

- Вход сигнализации наличия полезного сигнала. Требует 1 дискретный вход.

- Разрешение или запрет работы Н-моста, требует 1 дискретный выход.

- Измерение напряжения питания устройства. Необходим АЦП. 1 канал . Требуется для предотвращения разряда аккумуляторов ниже критического уровня. (Литий-полимерные аккумуляторы при достижении определенного уровня разряда теряют способность к зарядке).

- Отладочный интерфейс JTAG. Аппаратный.

- Символьный ЖК-дисплей. Необходим для удобства отладки. Показывает пользователю важные параметры маяка, такие как: текущее напряжение питание, состояние сети, наличие полезного сигнала. Последний измеренный результат, номер маяка(каждый маяк привязан к своему посадочному месту).  В минимальном, но усложненном варианте управления дисплеем занимает 7 дискретных входов/выходов.

Итого: Устройство требует как минимум 25 дискретных входов/выходов. Напряжение питания 3.3 вольта. Интерфейс SPI. JTAG отладку. Интерфейс связи с компьютером RS-232.

В связи с этим, хорошо подходит в данной ситуации 8-разрядный контроллер ATmega 32A, это новое поколение контроллеров с пониженным энергопотреблением и сохраненной при этом производительностью. Работает при напряжении 3.3 вольта с тактовой частотой 16 МГц. Кроме того, существует возможность реализовать программный проект на C  и даже C++, что и будет сделано в данной работе.  Корпус МК – DIP. Это связано с удобством монтажа.

atmega32

Atmega 32А

Глава 3 . Программная часть изделия.

3.1 Общее описание работы. Алгоритм.

Как видно из предыдущего описание системы, ее объекты абсолютны идентичны на аппаратном уровне. Но программная часть кардинально отличается.

Задачи программной части системы:

  1. Маяк-мастер

- Расчет текущих координат траектории

- Сбор данных через радиоканал со всех маяков-рабов.

- Посылка данных на компьютер по запросу.

- Вывод информации на дисплей

- Формирование меандра с частотой 25 КГц для излучения УЗ.

2. Маяк-раб

- Определение наличия полезного сигнала

- Расчет времени между предупреждением о начале приема (по радиоканалу) и началом приема полезного сигнала.

- Расчет пройденного звуком расстояния с помощью формулы скорости звука.

- Посылка вычисленного значения на маяк-мастер.

- Формирование меандра с частотой 25 КГц для излучения УЗ.

- Вывод информации на дисплей.

3.2. Система беспроводной многоканальной передачи данных

Базовой ячейкой системы передачи данных является модуль tr24a. Он имеет антенну на плате

Это модуль многоканального RF-трансивера для беспроводной передачи данных в безлицензионном ISM-диапазоне 2.4GHz на расстоянии до 50m…100m со скоростью 1Mbps. Благодаря малым габаритам, высокой степени интеграции, простому SPI-интерфейсу, отсутствию необходимости ручной настройки, встроенной печатной антенне и очень низкой цене, такие модули гораздо удобнее в применении, чем отдельные микросхемы. Основой модуля служит кристалл интегрального трансивера EM198810A компании ELAN Microelectronics.

диапазон частот: 2400MHz…2482MHz

количество каналов: 81 каналов

чувствительность: −85dBm…-80dBm

IIP3: −14dBm…-11dBm

максимальный входной уровень: +10dBm

выходная мощность: +2dBm

скорость данных: 1Mbps

диапазон напряжения питания: 2.5V…3.7V

ток потребления в режиме передачи: 26mA

ток потребления в режиме приёма: 25mA

ток потребления в режиме ожидания: 1.9mA (RF-синтезатор и VCO-генератор отключены)

ток потребления в режиме «сна»: 3.5uA

дальность связи однотипных модулей: 50m…100m

Формат пакетов, которые передает трансивер таков:

Длинна
1 байт
Адрес
1 байт
Команда
1 байт
Данные

За CRC отвечает сам радиомодуль.

В приложении в конце работы будет дан код класса, который реализует взаимодействие с данным радиомодулем. Состав класса:

- Запись в регистр трансивера.

- Чтение из регистра трансивера.

- Инициализация трансивера.

- Флаг FIFO. Проверка.

- Флаг PKT. Проверка

- Получение текущего режима работы.

- Получить текущую температуру.

- Получить информацию об ошибках

- Переход в режим IDLE (безопасный режим смены настроек)

- Переход в режим RX приема данных

- Переход в режим ТХ передачи данных

- Переход в режим сна

- Сброс указателя на голову буфера

- Перейти в режим приема пакета

- Перейти в режим отправки пакета

- Управление скремблером.

- Система исправления ошибок.

- Управление делителем частоты кварца.

- Определение типа кодирования данных.

- Аппаратная поддержка CRC.

- Установить длину преамбулы.

- Установить длину синхронизирующего слова.

- Установка длины трейлера.

- Получение значения RSSI.

Результаты работы

beacon side view

beacon top view

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

Leave a Reply

You must be logged in to post a comment.