Вы сейчас просматриваете Аппаратная реализация интеллектуальных систем управления

Аппаратная реализация интеллектуальных систем управления

Содержание

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

Одна из задач, которую можно возложить на искусственный интеллект — изучение местности (в лабораторных условиях — лабиринта), в том числе недоступной для человека по каким-либо причинам, в частности:

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

Используемые технологии для разработки мобильного робота

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

Для создания подвижного робота необходимо:

  • Выбрать архитектуру процессора.
  • Определить используемые технологии.

Выбор микроконтроллера происходит, в основном, среди двух наиболее распространённых семейств процессоров:

  • PIC — микроконтроллеры фирмы MicrochipTechnology на базе Гарвардской архитектуры (т.е. команды и обрабатываемые данные хранятся раздельно). Отличительные особенности данных процессоров — невысокая цена и простота использования. Существуют линейки 8, 16 и 32-ух битных процессоров.
  • Архитектура ARM, разработанная одноимённой компанией с использованием RISC-технологии (процессор с сокращенным набором команд). 32-ух битные процессоры этой архитектуры выпускаются множеством производителей, что существенно расширяет выбор для потребителя. Достоинства процессоров, такие как низкое энергопотребление и гибкость настройки, позволили им повсеместно распространиться. Особенно часто ARM-контроллеры применяются в переносных автономных устройствах.

Так как в автономном роботе необходим микроконтроллер с низким энергопотреблением и широкими возможностями, остановим свой выбор на архитектуре ARM. Наиболее же подходящим микропроцессором по совокупности ценовых, производительных качеств и широте возможностей будет являться LPC2148 от производителя NXP/Philips. В семействе процессоров LPC214x поддержка ШИМ реализована на аппаратном уровне.

Главной задачей робота служит перемещение по поверхности. Для этого необходимо управлять маршевыми электродвигателями. При помощи цифрового сигнала (уровень 1 и 0 — высокий и низкий) можно либо включить, либо выключить какое-либо устройство. Для придания цифровому роботу движения с разными скоростями посредством электродвигателей постоянного тока используется ШИМ.

Широтно-импульсная модуляция (PulseWidth Modulation, PWM) — способ аппроксимации аналогового сигнала цифровым методом, заключающийся в подаче на выход процессора, подсоединённого к двигателю, сигнала, состоящего из высоких и низких уровней.

В результате инертности, при подаче нуля двигатель не может остановиться, а при подаче единицы не успевает разогнаться до максимальной скорости. Основная используемая величина при использовании ШИМ — скважность (отношение длительности периода к длительности импульса).

Меняя скважность, можно изменить эквивалентное постоянное напряжение, подаваемое на выход, подключенный к двигателю постоянного тока (рисунок 1):

Рисунок 1 – Широтно-импульсная модуляция (ШИМ)
Рисунок 1 – Широтно-импульсная модуляция (ШИМ)

Для снятия информации с датчика расстояния используется 10-разрядный аналого-цифровой преобразователь (АЦП), встроенный в микроконтроллер.

Разработка программного обеспечения для робота

Для создания мобильного робота необходимо программирование микроконтроллера (МК) с последующей отладкой, в частности:

  • Сначала необходимо отладить управление двигателями на основе ШИМ с анализом данных, поступающих сдатчика с помощью АЦП.
  • Затем уже усложнять программу и внедрять алгоритмы искусственного интеллекта (ИИ), которые будут рассматриваться в отдельной статье.
  • Для комплексно проверки возможности управления микроконтроллером двигателями по показаниям датчика написана программа, которая управляет скважностью ШИМ на основе значений, снимаемых с АЦП. Алгоритм простой — при изменении состояния ЦАП изменяется значение скважности ШИМ.

Отладку кода для LPC2148 можно производить как в виртуальной среде «Proteus» (рисунок 2):

Рисунок 2 – Отладка программы для MK в среде «Proteus»
Рисунок 2 – Отладка программы для MK в среде «Proteus»

Среда «Proteus» представляет собой программный комплекс моделирования электрических схем на основе технологии SPICE. Ключевым отличием этого комплекса от аналогичных служит наличие моделей микроконтроллеров.

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

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

Так же можно использовать специализированную отладочную плату KickStartKitforLPC2148-R2T (рисунок 3):

Рисунок 3 – Отладочная плата KickStartKitforLPC2148-R2T
Рисунок 3 – Отладочная плата KickStartKitforLPC2148-R2T

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

Схема для реализации поставленной задачи (управления скважностью импульсов в зависимости от показаний датчика) показана на рисунке 2.

Зависимость скважности ШИМ от значений АЦП в получившейся работающей программе можно увидеть, например, в виртуальном осциллографе «Proteus», изменяя напряжение на входе АЦП (рисунки 4 и 5):

Рисунок 4 – Виртуальный осциллограф «Proteus» (Скважность ШИМ 50%, напряжение на АЦП 2,5В)
Рисунок 4 – Виртуальный осциллограф «Proteus» (Скважность ШИМ 50%, напряжение на АЦП 2,5В)
Рисунок 5 – Виртуальный осциллограф «Proteus» (Скважность ШИМ 85%, напряжение на АЦП 4,25В)
Рисунок 5 – Виртуальный осциллограф «Proteus» (Скважность ШИМ 85%, напряжение на АЦП 4,25В)

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

  • Решать задачи уровня искусственного интеллекта для подвижного робота.
  • Корректно управлять электродвигателями робота.
  • Оптимально взаимодействовать с датчиками расстояния, машинное зрение.

Анализ схемы показал, что со своей задачей она полностью справляется.

Список литературы

  1. Искусство схемотехники/ П. Хоровиц, У. Хилл. — М: Мир, 1993.- 410 с.
  2. microchip.com
  3. iar.com

Источник: Аппаратная реализация интеллектуальных систем управления / Д.Г. Прокатень, А.В. Протодьяконов, Д.Е. Раменев, И.С. Сыркин // Вестник КузГТУ. — 2011. — №6. — C. 76-78.

Статья в формате docx

Добавить комментарий

Gekoms LLC

Коллектив экспертов, большая часть опыта и знаний которых востребованы в области промышленной автоматизации, разработке технически сложного оборудования, программировании АСУТП, управлении электроприводом. Телефон: +7(812) 317-00-87 Email: info@gekoms.ru Сайт: https://gekoms.org