Министерство образования и науки Луганской Народной Республики
ГОУ ВО «Луганский государственный университет имени Владимира Даля»
Стахановский инженерно-педагогический институт менеджмента
Кафедра информационных систем
Научный реферат
«контроллеры в робототехнике. примеры. оптимизация»
по дисциплине
«Основы теории управления»
Автор реферата: студент группы ДГ-ИТ7-1
Верхулевский К.А.
Преподаватель,
зав. каф. ИС, к.т.н., доцент: Карчевский В.П.
Стаханов, 2021
СОДЕРЖАНИЕ
ВВЕДЕНИЕ……………………………………………………………. | 2 | |
1. | СТРУКТУРА КОНТРОЛЛЕРОВ…………………………………… | 3 |
2. | ПРИМЕРЫ КОНТРОЛЛЕРОВ…………………………………….. СРАВНЕНИЕ СТАНДАРТНОГО И ПОЛЬЗОВАТЕЛЬСКОГО АЛГОРИТМОВ УПРАВЛЕНИЯ ДВИЖЕНИЕМ…………………... | 3 |
3. | ||
5 | ||
ВЫВОДЫ……………………………………………………………… | 8 | |
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………………. | 8 | |
Компьютер выполняет ваши команды, но не способен читать ваши мысли.
Доналд Нат
ВВЕДЕНИЕ
Робот – это электромеханическое, пневматическое, гидравлическое устройство, программа, либо их комбинация, работающая без участия человека и выполняющие действия, обычно осуществляемые человеком.
Другими словами робот – это автоматическое устройство, имитирующее движения и действия человека.
Робот построен по компьютерной технологии, сознание робота - это вычислительная машина, с которой информация может быть считана и перенесена на отдельный носитель. Робот не лечится, а ремонтируется путем ввода соответствующих диагностических программ.
У робота отсутствует ассоциативное мышление. У него отсутствует любопытство – есть лишь программа по накоплению информации, которая ему необходима. Робот все понимает умом, душевные качества ему не присущи – все-таки он не имеет души.
Существует 3 правила робототехники, которые сформулировал в 1942 году автор научно-фантастических произведений Айзек Азимов в своем рассказе Хоровод:
Робот не может повредить человеку или, бездействуя, допустить, чтобы человеку был нанесен вред.
Робот должен подчиняться приказам, которые дает ему человек за исключением случаев, когда такие приказы противоречат первому правилу
Робот должен защищать свое существование до тех пор эта защита не противоречит первому или второму правилу [1].
СТРУКТУРА КОНТРОЛЛЕРА
Микроконтроллер, или контроллер (МК, controller) - это микросхема для управления электронными устройствами. По сути, контроллер является мозгом робота, который получает информацию из внешнего мира с помощью сенсоров и передает управляющие сигналы в актуаторы.
Микроконтроллер с точки зрения схемотехники представляет собой однокристальный компьютер, в состав которого входит процессор, ОЗУ, ПЗУ и интерфейсы периферийных устройств. Существует множество различных микроконтроллеров, различающихся по типу процессора, объему и типу памяти, составу периферийных интерфейсов, и т.п. К наиболее распространенной периферии МК можно отнести:
цифровые и аналоговые порты ввода/вывода (GPIO);
интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;
широтно-импульсные модуляторы (PWM);
массивы встроенной флеш-памяти.
Широкое распространение получили семейства микроконтроллеров ARM, AVR и PIC, которые применяются в промышленных системах управления, станках с ЧПУ, в современных бытовых устройствах и различных гаджетах [2].
ПРИМЕРЫ КОНТРОЛЛЕРОВ
Arduino
Рисунок 1. - Вычислительная платформа Arduino
На микроконтроллерах AVR (реже ARM) основана популярная аппаратная вычислительная платформа Arduino (рис.1). Это устройство представляет собой плату с микроконтроллером Atmel ATmega, всей необходимой для него обвязкой, регулятором напряжения и USB-UART мостом. Все выводы платформы выведены на края платы, и как правило уже оборудованы разъемами.
Основные модели Arduino имеют в своем составе 8-битный микропроцессор ATmega. Как правило, для большинства проектов использующих Arduino, такого слабого процессора вполне хватает. Имеется и версия на основе 32-разрядного ARM Cortex M3 (ATMEL SAM3U), но пока она не получила достаточного распространения среди энтузиастов [3].
Наиболее популярная версия Arduino Uno базируется на микроконтроллере ATmega328. Имеет 15 GPIO портов, включая 6 ШИМ. Микроконтроллер снабжен 32Кб Flash-памяти и 2Кб RAM. Тактовая частота процессора 16МГц.
Для программирования Arduino не требуется внешний программатор, так как в микроконтроллер уже зашит загрузчик (boot loader). Кроме того, на плате размещается USB-UART мост (рис.2), который позволяет загружать скетчи при помощи обычного USB интерфейса [3].
The Shrimp
Рисунок 2. - USB-UART мост
Как уже упоминалось, на плате Arduino, помимо самого микроконтроллера, размещается USB-UART мост и понижающий регулятор напряжения. Насколько усложнится работа с платформой, если убрать эти элементы?
Активисты из сообщества Shrimping It задались этим вопросом, и разработали минималистическую версию Arduino, назвав её The Shrimp.
Состоит Shrimp из микроконтроллера ATmega328 (или 168), минимальной обвязки из нескольких конденсаторов, кварцевого резонатора, диода и резистора. Чтобы микроконтроллер смог принимать скетчи Arduino, его необходимо прошить загрузчиком, либо оригинальным, либо аналогом типа OptiLoader [3].
Чтобы залить скетч через USB, потребуется внешний USB-UART. Такое устройство можно приобрести на ebay за 3-4$. Имея внешний мост можно программировать множество Shrimp-ов.
Maple
Нехватка ресурсов Arduino привела к созданию таких же простых в использовании на более мощных платформ для разработки электронных устройств. Одной из таких продвинутых в техническом плане платформ является Maple
(текущая ревизия r5), базирующаяся на 32-битном микроконтроллере STM32F103RB с архитектурой ARM Cortex M3 (рис.3).
Рисунок 3. - Платформа Maple
Тактовая частота использованного микроконтроллера STM32 составляет 72МГц. Maple имеет на своем борту 120Кб Flash памяти и 20Кб SRAM. Для GPIO используются аж 43 вывода, из которых 15 с поддержкой 16-битной ШИМ. Из периферии есть: 15 12-битных аналоговых выходов, 4 таймера, 2 I2C, 2 SPI и 3 USART. А еще имеется встроенная система заряда LiPo батарей.
Облегченная модель Maple Mini имеет ядро с такой же тактовой частотой и памятью, и отличия заключаются только в количестве выводов. Ведется разработка флагманской Maple Native II, которая будет иметь еще больше выводов чем стандартный Maple и больший объем памяти (512 Flash и 64SRAM) [3].
Mbed
Рисунок 3. - Платформа mbed
Как и Maple, платформа mbed не так популярна как семейство Arduino (рис.4). Однако, в основе mbed лежит более мощный микроконтроллер NXP LPC1768 с архитектурой ARM Cortex M3. Процессор работает на частоте 96МГц и снабжен 512Кб Flash-памяти и 32Кб RAM.
В официальном репозитории имеется большая коллекция различных библиотек на все случаи жизни. Программирование контроллера осуществляется путем копирования скомпилированного бинарного файла на флеш контроллера и перезагрузка устройства специальной кнопкой в центре платы. Сами же программы составляются с помощью весьма удобного on-line компилятора [3].
СРАВНЕНИЕ СТАНДАРТНОГО И ПОЛЬЗОВАТЕЛЬСКОГО АЛГОРИТМОВ УПРАВЛЕНИЯ ДВИЖЕНИЕМ
Применение контроллеров управления движением в виде интегральных схем (ИС) со встроенным набором специализированных функций обеспечивает простоту использования и быстрый выход на рынок для стандартных приложений. При необходимости получения нестандартного, настраиваемого профиля, а также при сложной координации между различными осями, возникающей при обработке уникальных нестандартных ситуаций, разработчики могут использовать программируемые контроллеры. Необходимые вычислительные ресурсы при этом обеспечиваются за счет применения в качестве контроллеров цифровых сигнальных процессоров (ЦСП) или программируемых логических интегральных схем (ПЛИС). На выбор конкретного типа контроллера, помимо его аппаратного обеспечения, влияет также наличие поставщиков, программно-аппаратных средств сторонних производителей и доступность готовых программных модулей [4].
Необходимо отметить, что в контроллерах управления, как правило, отсутствует функция непосредственного управления двигателями (драйверы МОП-транзисторов и БСИТ), что обусловлено двумя причинами. Во-первых, силовые драйверы должны соответствовать типу электродвигателя независимо от выбранного контроллера. Во-вторых, технологические процессы, основанные на комплементарных структурах «металл-оксид-полупроводник», которые используются в цифровых контроллерах для получения высокой плотности элементов, значительно отличаются от техпроцессов изготовления силовых полупроводниковых (п/п) приборов. Однако для управления электродвигателями малой мощности возможна интеграция контроллера с драйверами и силовыми п/п-приборами. Несмотря на фундаментальные различия, термин «контроллер» часто ассоциируется с функциональными блоками устройств силовой электроники, что приводит к путанице при поиске по ключевым словам.
Верхнюю часть линейки контроллеров управления роботизированными системами занимают устройства с расширенным набором функций, например, семейство микроконтроллеров (МК) C2000 компании Texas Instruments. C2000 представляет собой набор устройств с различными комбинациями базовых функций, вычислительных ресурсов, типов и количества портов ввода-вывода и встроенных аппаратных функций – таймеров, сторожевых таймеров и генераторов импульсов с ШИМ. Например, МК TMS320 Delfino серии C2000 (Рис. 5). Он содержит встроенный модуль для вычислений с плавающей запятой, что позволяет устранить проблемы, возникающие при обработке чисел с фиксированной запятой, а также поддерживает перенос программного кода между устройствами с фиксированной и плавающей запятой посредством виртуального модуля IQMath. Это устраняет необходимость в использовании второго процессора с одним или двумя ядрами, который способен эффективно выполнять как математические задачи цифровой обработки сигналов, так и задачи управления системой. В состав TMS320 также входит модуль вычисления тригонометрических функций (TMU), который ускоряет работу алгоритмов, типичных для контуров управления, например, вычисление крутящего момента [4].
Разработка приложений для данного процессора обеспечивается программно-аппратными средствами, например, отладочной платой LAUNCHXL-F28377S C2000 Delfino LaunchPad, базирующейся на 32-разрядном ядре процессора TMS320C28x. LaunchPad оснащен МК F28377S, который обеспечивает суммарно 400 млн операций в секунду (MIPS) посредством 200-мегагерцевого центрального процессора C28x и 200-мегагерцевого сопроцессора управления реального времени.
Рисунок 5. - МК TMS320 Delfino серии C2000 производства компании Texas Instruments. |
МК содержит 1 Мбайт встроенной памяти программ и широкий набор периферийных устройств, к которым относятся 16- и 12-разрядные АЦП, компараторы, 12-разрядные ЦАП, фильтры с дельта-сигма-модуляцией, генераторы ШИМ с высоким разрешением, усовершенствованные модули захвата, импульсные квадратурные датчики положения, модули CAN и прочее. Отладочная плата LaunchPad содержит встроенный изолированный эмулятор JTAG XDS100 v2, который позволяет осуществлять посредством порта USB программирование и отладку МК в составе системы в режиме реального времени. Комплект LaunchPad включает в себя также два 40-контактных разъема для подключения одновременно двух плат расширения BoosterPack и бесплатное свободно распространяемое программное обеспечение Code Composer Studio (CCS), интегрированную среду разработки IDE и программные модули controlSUITE [4].
ВЫВОДЫ
Диапазон контроллеров управления движением для робототехнических систем варьируется от простых узкоспециализированных ИС до МК с высокой степенью интеграции, гибкой архитектурой и большим набором дополнительных функций и программных модулей. Несмотря на то, что фиксированный набор встроенных функций узкоспециализированных контроллеров выглядит как фактор, ограничивающий возможности их применения, некоторые из этих устройств позволяют пользователю выбирать различные профили движения и устанавливать критические параметры. Узкоспециализированные контроллеры адекватны уровню сложности решаемых задач, имеют малую стоимость и просты в использовании.
Для сложных проектов с уникальными нестандартными требованиями, а также для более высоких уровней взаимодействия модулей и управления системой эффективным решением являются программируемые МК, поддерживаемые наличием интегрированной среды разработки программ, готовых программных модулей, средств отладки и пакетов программ для аттестационного тестирования.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Накано Э. Введение в робототехнику: Пер. с япон. - М.: Мир, 1988. - 334 с.
All-Audio.pro – Статьи, схемы, справочники. [Электронный ресурс]. – Режим доступа:https://all-audio.pro/c32/datashiti/arduino-iar.php (07.04.2021).
Популярная робототехника. [Электронный ресурс]. – Режим доступа: http://www.poprobot.ru/ideologia/kontroller (07.04.2021)
WEB – портал для разработчиков электроники. [Электронный ресурс]. – Режим доступа: http https://www.terraelectronica.ru/news/4982 (07.04.2021)