Українська   English
 ДонНТУ    Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

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

1. Актуальность темы

Автономные интеллектуальные мобильные роботы предназначены для автоматической работы в заранее неопределенных условиях внешней среды. Они могут применяться в различных областях человеческой деятельности и могут решать различные задачи. Например, доставлять грузы, перемещать различные предметы, производить разведку, производить какую-либо технологическую операцию на большом пространстве (например, уборку помещения) и т.п.

2. Цель и задачи исследования

Цель работы – Разработка модели RC машины на базе микропроцессора STM32f407, объект должен перемещаться по заданной траектории (линии), которая определяется датчиком TCRT5000 (Line tracker sensor). Управление должно быть осуществлено через технологию Bluetooth, c помощью мобильного приложения.

Учитывая неполноту входной информации, и работу в динамически изменяющейся окружающей обстановке, сформулируем ряд задач:

  1. Разработать архитектуру интеллектуальной системы управления;
  2. Разработать алгоритм идентификации и оценки окружающей среды;
  3. Разработать на основе этих данных систему управления.

3. Определение положения системы во внешней среде

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

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

На рисунке 1 представлена схема системы управления.

Структурная схема системы управления и  идентификации

Рисунок 1 – Структурная схема системы управления и идентификации

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

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

Параметры формируются с помощью базы знаний и алгоритмов. Здесь же производится распознавание окружающих объектов и построение сенсорной карты среды. В базе алгоритмов содержатся математические алгоритмы для выстраивания на основе данных целевой сенсорной карты, распознавания окружающей обстановки и предметов (распознавание звуковых образов и изображений, цифровая обработка сигналов), вычисление необходимых параметров, и проверка полученных данных. База знаний представляет информацию о внешней среде, заложенную на этапе обучения и приобретаемую в процессе функционирования. Знания упорядочиваются и обновляются.

Система управления поведением разбивает поставленную задачу на последовательность подзадач и формирует поведение робота для выполнения задач. Формирует целевую точку, соответствующие режимы работы информационно-измерительной системы идентификации. От неё получает данные о процессе выполнения и отображает их пользователю. Также предоставляет пользователю обработанную информацию о ситуации и сенсорную карту, полученную от информационно – измерительной системы идентификации.

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

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

Блок первичной обработки производит обработку и анализ изображений, поступающих от оптико-электронных систем.

Учитывая характер решаемых задач, необходимо учесть следующие ограничения и особенности:

  1. Информация о характеристиках фона и наблюдаемых объектов чаще всего содержит неточные размеры объектов или вовсе отсутствует;
  2. В связи с ограниченностью времени на принятие решений и наличием замкнутого контура управления движением обработка, анализ и распознавание должны выполняться в реальном времени;
  3. Работа системы управления, слежения и обработки должна проводиться при минимальном участии человека или в автономном режиме.

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

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

На рисунке 2 представлена структура системы обнаружения объектов, которая включает перечисленные выше концепции.

Структура программно-алгоритмического обеспечения оптико-электронной системы обнаружения объектов

Рисунок 2 – Структура программно-алгоритмического обеспечения оптико-электронной системы обнаружения объектов

4. Анализ состава оборудования

В качестве шасси используется текстолитовая плита и алюминиевые уголки к которым прикреплены двигателями с редукторами, к редукторам прикреплены колеса (рисунок 3).

Колесо и редуктор RC-машины

Рисунок 3 – Колесо и редуктор RC-машины

Управление системой осуществляется микроконтроллером STM32f407 на отладочной плате Discovery.

Для питания объекта используются 3 последовательно соединенные батарейки напряжение 12 В.

Управление двигателями осуществлено через DC-DC драйвер L298N. Двигатели соединены последовательно.

Траектория вычисляется через датчики TCRT5000.

Для движения объекта используется 4 коллекторных двигателя. На двух двигателях установлены энкодеры l2523-60002. Величина с информационного выхода предназначена для определения скорости. У двигателей (рисунок 4), совмещенных с энкодером 6 выходов [3]:

Двигатель с энкодером

Рисунок 4 – Двигатель с энкодером

Так как на выходе энкодера сигнал имеет синусоидальную форму, используется ОУ для преобразования сигнала в прямоугольные импульсы (рисунок 6). В схеме используется ОУ AD8544, который припаян к печатной плате SOPI14.

Схема подключения изображена на рисунке 5.

Схема подключения энкодера к ОУ

Рисунок 5 – Схема подключения энкодера к ОУ

Сигналы на выходе ОУ

Рисунок 6 – Сигналы на выходе ОУ

5. Выбор программируемого контроллера

Семейство STM32F407xx основано на высокопроизводительном ARM Cortex-M4 32-битное ядро RISC, работающее на частоте до 168 МГц. Ядро имеет единичную точность с плавающей запятой (FPU), которая поддерживает все инструкции обработки данных ARM и точные типы данных. Также реализован полный набор DSP инструкции и блок защиты памяти (MPU), который повышает безопасность приложения.

Семейство STM32F407xx включает в себя высокоскоростнуюые встроенную память (флэш-память до 1 Мбайт, до 192 Кбайт SRAM), до 4 Кбайт резервное копирование SRAM, а также широкий спектр расширенных операций ввода-вывода и периферийных устройств, имеющих 2 подключения.

Шины APB, три шины AHB и 32-битная матрица с несколькими шинами AHB [4]. Все устройства предлагают три 12-разрядных АЦП, два ЦАП, RTC с низким энергопотреблением, двенадцать универсальных 16-разрядные таймеры, включая два PWM-таймера для управления двигателем, два 32-разрядных таймера общего назначения.

Генератор истинных случайных чисел (ГСЧ). Они также имеют стандартные и передовые коммуникационные интерфейсы.

Новые усовершенствованные периферийные устройства включают SDIO, расширенный гибкий контроль статической памяти (FSMC) интерфейс (для устройств, предлагаемых в упаковках по 100 контактов и более), камера интерфейс для датчиков CMOS.

Семейства STM32F407xx работают при температуре от –40 до +105 °C.

Диапазон от источника питания от 1,8 до 3,6 В. Напряжение питания может упасть до 1,7 В, когда устройство работает в диапазоне температур от 0 до 70 °C с использованием внешнего источника питания.

Режим позволяет проектировать маломощные приложения.

Семейство STM32F407xx предлагает устройства в различных комплектациях от 64 до 176 контактов. Набор включенной периферии меняется в зависимости от выбранного устройства.

Эти особенности делают семейство микроконтроллеров STM32F407xx подходящим для широкого спектра применений:

Внешний вид контроллера представлен на рисунке 7, а блок-схема STM32F407 – на рисунке 8.

Плата STM32F407 <q>Discovery</q>

Рисунок 7 – Плата STM32F407 Discovery

Блок-схема STM32F407

Рисунок 8 – Блок-схема STM32F407

6. Операционный усилитель

Особенности этой серии заключаются в более низком токе питания при пропускной способности 1 МГц, более высоком выходном токе и лучшей производительности при более низком напряжении.

AD8544 представляет собой одиночные, двойные и четырехканальные усилители на входе и выходе с одним рельсом и очень малым током питания, полоса пропускания 1 МГц. Все это работает от одного источника питания 2,7 В, а также от источника питания 5 В. При питании 5 В ток в цепи обычно составляет 60 мкА, но даже при 1 В от шины питания усилителя AD854x может обеспечить выходной ток 30 мА. Эти части обеспечивают полосу пропускания 1 МГц при низком потреблении тока 45 мА на усилитель.

В серии AD854x обычно используется ток 45 мкА на усилитель, что намного меньше, чем от 200 мкА до 700 мкА, использовавшихся в предыдущих версиях с аналогичными характеристиками. Все эти преимущества делают серию AD854x – хорошим выбором для модернизации портативных устройств, а также для увеличения срока службы батареи.

Лучшая производительность при более низких напряжениях.

Семейство AD854x было разработано для обеспечения лучшей производительности по сравнению с предыдущими версиями при питании в 3,0 В и 2,7 В.

Типичное значение полосы пропускания усиления близко к 1 МГц при 2,7 В. Усиление напряжения при 2,7 В и 3,0 В обычно составляет 500 000. Допустимый запас по температуре составляет более 60 °C, что существенно облегчает использование данного оборудования.

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

AD8544 оптимизированы для поддержания высоких коэффициентов усиления при более низких напряжениях питания, делая их полезными для активных фильтров и ступеней усиления.

AD8544 используется для расширенного диапазона промышленных температур (от –40 °C до + 125 °C). Он поставляется в узких корпусах SOIC с 14 отведениями и TSSOP с 14 отведениями.

Блок-схема ОУ приведена на рисунке 9.

Блок-схема ОУ

Рисунок 9 – Блок-схема ОУ [5]
(анимация: 6 кадров, 7 циклов повторения, 15,85 килобайт)

7. Описание драйвера

L298 представляет собой интегрированную монолитную цепь с 15-выводами. Это высоковольтный сдвоенный полно проходной драйвер с высоким током, предназначенный для принятия стандартных логических уровней TTL и привода индуктивные нагрузки, такие как реле, соленоиды, постоянный ток и шаговые двигатели. Два разрешающих входа могут включить или отключить устройство независимо от входных сигналов.

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

Технические особенности:

Описание ввода [6]:

  1. Vcc – питание двигателя;
  2. GND – земля;
  3. OUT1, OUT2 – выход первого канала;
  4. OUT3, OUT4 – выход второго канала;
  5. ENA – включение первого канал;
  6. IN1, IN2 – направление первого канала;
  7. ENB – включение второго канала;
  8. IN3, IN4 – направление второго канала.

Внешний вид драйвера L298N приведен на рисунке 10, блок-схема – на рисунке 11.

Драйвер L298N

Рисунок 10 – Драйвер L298N

Блок-схема драйвера L298N

Рисунок 11 – Блок-схема драйвера L298N

8. Описание трекера

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

Диапазон измерения расстояния от 1; мм до 8; мм, а центральная точка составляет около 2,5; мм. Также имеется встроенный потенциометр для регулировки чувствительности.

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

Область применения [7]:

Особенности:

Внешний вид датчика изображен на рисунке 12.

Модуль цифрового датчика линии TCRT5000

Рисунок 12 – Модуль цифрового датчика линии TCRT5000

9. Принцип работы

В Android устройстве формируются команды перемещения машинки в зависимости от наклона смартфона/планшета, либо от нажатой кнопки. Все расчеты производятся в Android-приложении, и сразу же вычисляются значения ШИМ для левого и правого двигателей. Приложение обладает гибкими настройками, такими как диапазон ШИМ, чувствительность наклона, минимальный порог ШИМ и др. По Bluetooth передаются команды вида:

L-255\r R-120\r

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

L255\rR-255\r

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

H1\r

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

Символы команд L, R и H можно задавать в настройках Android-приложения. Также для работы с памятью микроконтроллера предусмотрены команды Fr – чтение значений и Fw – запись значений.

Для написания приложения под Android может быть использована среда Eclipse [8].

10. Настройки Android-приложения

К каждой настройке внизу есть небольшое пояснение, где указано за что отвечает конкретный пункт (рисунок 13).

Скриншот настроек Android-приложения CxemCar версии 1.0

Рисунок 13 – Скриншот настроек Android-приложения CxemCar версии 1.0 [9]

Для установления связи с Bluetooth модулем машинки, в настройках приложения необходимо задать MAC-адрес. Предварительно необходимо настроить сопряжение устройств в настройках вашего Android-устройства. Для этого переходим в Настройки Bluetooth и нажимаем Поиск устройств (рисунок 14), телефон находит наш Bluetooth-модуль, нажимаем по нему и вводим пароль.

Подключение устройства

Рисунок 14 – Подключение устройства [10]

Заключение

В ходе разработки мобильного робота, на основании задач, планируемых к выполнению, был выбран микроконтроллер, а также необходимые датчики для реализации отслеживания траектории и определения роботом «себя» в пространстве в текущий момент времени. Помимо этого, во время выполнения проекта были составлены определенный алгоритм управления роботом с мобильного устройства. Все сигналы для перемещения машинки формируются от нажатой кнопки, что дает четкое понимание устройству, в каком режиме работать [11].

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

Список источников

  1. Simulink. [Электронный ресурс]. – Режим доступа: https://matlab.ru/products/Simulink
  2. WaijungBlockset. [Электронный ресурс]. – Режим доступа: http://waijung.aimagin.com/
  3. Reflective Optical Sensor with Transistor Output, DataSheet № TCRT5000
  4. DUAL FULL-BRIDGE DRIVER, Electronics Description, DataSheet № L298N
  5. Eclipse (среда разработки). [Электронный ресурс]. – Режим доступа: https://www.eclipse.org/
  6. Интерфейсная шина IIC (I2C). [Электронный ресурс]. – Режим доступа: http://easyelectronics.ru/...
  7. Управление мобильными роботами [Электронный ресурс]. – Режим доступа: https://moluch.ru/...
  8. STM32F407VE [Электронный ресурс]. – Режим доступа: https://www.st.com/...
  9. CMOS Rail-to-Rail General-Purpose Amplifiers, DataSheet № AD8541_8542_8544
  10. 1CxemCAR - Android-управление машинкой по Bluetooth. [Электронный ресурс]. – Режим доступа: https://cxem.net/...
  11. Датчик линии TCRT5000 цифровой. [Электронный ресурс]. – Режим доступа: http://know.smartelements.ru/...