Программируемые или узкоспециализированные контроллеры управления движением: варианты реализации сложных роботизированных комплексов

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

Успехи в развитии современной элементной базы — электродвигателей и драйверов, силовых полупроводниковых приборов (МОП-транзисторов и БСИТ), систем управления (переходящих в настоящее время с аналога на цифру) и датчиков систем обратной связи позволяют реализовать точное управление движением манипуляторов более простыми способами по сравнению с тем, как это было несколько лет назад. На рис. 1 изображена базовая система управления позиционированием для робототехники, которая включает в себя контроллер, выполняющий алгоритм прикладной программы; драйверы двигателей; силовые устройства; датчики обратной связи; механические узлы; электродвигатель, как правило, оснащенный датчиками; устройства измерения напряжений и токов в контрольных точках. Однако, поскольку требования к производительности систем резко возросли, в целом сложность проектов остается на прежнем уровне.

Базовая система управления позиционированием в робототехнике

Рис. 1. Базовая система управления позиционированием в робототехнике

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

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

Еще одно важное решение связано с выбором датчиков обратной связи. В большинстве роботизированных систем используются определенные типы датчиков обратной связи для точного измерения положения рабочего органа и, таким образом, для определения скорости и ускорения (так как скорость является производной по времени от координат объекта, а ускорение — производной по времени от скорости). В качестве преобразователей сигналов обратной связи могут использоваться датчики Холла, синхронные решающие приборы или оптические кодеры.

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

В некоторых системах промышленной автоматизации реализовано бездатчиковое, так называемое векторное управление электродвигателями, что позволяет снизить стоимость и сложность механической части системы. Алгоритм векторного управления (Field-Oriented Control) использует точные синхронизированные данные тока и напряжения в каждой фазе обмоток двигателя, выполняет сложные преобразования системы координат и матричные вычисления для определения положения двигателя в реальном масштабе времени.

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

О конфигурации промышленных роботов

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

К наиболее распространенным конструкциям промышленных роботов относятся:

  • Робот, работающий в декартовский системе координат по трем линейным осям движения в плоскостях x, y и z. Данная конфигурация используется в машинах, осуществляющих перемещение и установку деталей, нанесение герметизирующих покрытий и простые сборочные операции.
  • В роботе цилиндрической системы все движения ограничены рабочей зоной, имеющей форму цилиндра. Данный тип робота сочетает в себе линейное движение в плоскостях y, z и вращательное движение вокруг оси z, и используется для сборочных операций, смены рабочего инструмента и точечной сварки.
  • Сферический или полярный робот объединяет в себе два сочленения с вращательным движением и одно сочленение с линейным перемещением, при этом манипулятор соединен с основанием вращательным сочленением (рис. 2). Данный робот производит движение вокруг двух поворотных осей и вдоль одной линейной оси, что требует большого объема вычислений для преобразования данных, относящихся к разным системам координат. Движение манипулятора задается в полярной системе координат и ограничивается сферической рабочей зоной. Данный тип робота находит применение при сварке, литье и смене рабочего инструмента.

Сферический или полярный робот

Рис. 2. Сферический или полярный робот

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

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

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

Обзор профилей управления движением

Задача управления движением в робототехнике кажется достаточно простой: привести рабочий орган в конечное положение настолько быстро и точно, насколько это возможно с заданной нагрузкой. Как и во всех инженерных решениях, здесь имеются компромиссы, позволяющие получить оптимальный результат в зависимости от приоритетов, устанавливаемых конкретным приложением. Например, допустимо ли большее ускорение и замедление с целью быстрого достижения высокой скорости с риском возможного перерегулирования или даже колебательного процесса в конечной точке? В какой степени экономически оправдано точное измерение скорости? Как осуществить оптимальный выбор ускорения, скорости и координат для перемещения из положения A в положение B? Каковы приоритеты и параметры, которые определяют «оптимум» в данном конкретном приложении?

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

Профили управления движением включают в себя:

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

Профиль S-кривой позволяет уменьшить рывки (изменения ускорения) в каждой переходной точке траектории

Рис. 3. Профиль S-кривой позволяет уменьшить рывки (изменения ускорения) в каждой переходной точке траектории

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

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

Необходимо отметить, что в контроллерах управления, как правило, отсутствует функция непосредственного управления двигателями (драйверы МОП-транзисторов и БСИТ), что обусловлено двумя причинами. Во-первых, силовые драйверы должны соответствовать типу электродвигателя независимо от выбранного контроллера. Во-вторых, технологические процессы, основанные на комплементарных структурах «металл-оксид-полупроводник», которые используются в цифровых контроллерах для получения высокой плотности элементов, значительно отличаются от техпроцессов изготовления силовых полупроводниковых (п/п) приборов. Однако для управления электродвигателями малой мощности возможна интеграция контроллера с драйверами и силовыми п/п-приборами. Несмотря на фундаментальные различия, термин «контроллер» часто ассоциируется с функциональными блоками устройств силовой электроники, что приводит к путанице при поиске по ключевым словам.

Приведенные далее примеры показывают широкий спектр функций, охватываемых контроллерами управления движением. В качестве примера специализированного функционально законченного устройства можно привести ИС TB6560AFTG производства компании Toshiba, объединяющую в себе контроллер и драйвер шагового двигателя с широтно-импульсным микрошаговым управлением и синусоидальной формой выходного тока. Данная ИС выполнена в 48-выводном корпусе QFN размером 7×7 мм и позволяет реализовать эффективное управление в прямом и обратном направлениях двухфазным биполярным шаговым двигателем с использованием только одного тактового сигнала. Встроенные драйверы обеспечивают ток в обмотках двигателя до 2,5 А. Одной из проблем управления шаговыми двигателями, даже при их использовании в микрошаговом режиме, являются вибрации, которые могут возникать при старте или остановке движения. Хотя в большинстве случаев вибрация не представляет угрозы, она может стать проблемой при работе с хрупкими объектами, например, стеклянной посудой, или при воздействии на собственные резонансы механической системы. Контроллер TB6560AFTG предоставляет пользователю возможность адаптации скорости нарастания и спада выходного тока драйвера для минимизации колебательных процессов.

Верхнюю часть линейки контроллеров управления роботизированными системами занимают устройства с расширенным набором функций, например, семейство микроконтроллеров (МК) C2000 компании Texas Instruments. C2000 представляет собой набор устройств с различными комбинациями базовых функций, вычислительных ресурсов, типов и количества портов ввода-вывода и встроенных аппаратных функций — таймеров, сторожевых таймеров и генераторов импульсов с ШИМ. Например, МК TMS320 Delfino серии C2000 (рис. 4). Он содержит встроенный модуль для вычислений с плавающей запятой, что позволяет устранить проблемы, возникающие при обработке чисел с фиксированной запятой, а также поддерживает перенос программного кода между устройствами с фиксированной и плавающей запятой посредством виртуального модуля IQMath™. Это устраняет необходимость в использовании второго процессора с одним или двумя ядрами, который способен эффективно выполнять как математические задачи цифровой обработки сигналов, так и задачи управления системой. В состав TMS320 также входит модуль вычисления тригонометрических функций (TMU), который ускоряет работу алгоритмов, типичных для контуров управления, например, вычисление крутящего момента.

Разработка приложений для данного процессора обеспечивается программно-аппратными средствами, например, отладочной платой LAUNCHXL-F28377C2000 Delfino LaunchPad, базирующейся на 32-разрядном ядре процессора TMS320C28x. LaunchPad оснащен МК F28377S, который обеспечивает суммарно 400 млн операций в секунду (MIPS) посредством 200-мегагерцевого центрального процессора C28x и 200-мегагерцевого сопроцессора управления реального времени.

МК TMS320 Delfino серии C2000 производства компании Texas Instruments

Рис. 4. МК TMS320 Delfino серии C2000 производства компании Texas Instruments

МК содержит 1 Мбайт встроенной памяти программ и широкий набор периферийных устройств, к которым относятся 16- и 12-разрядные АЦП, компараторы, 12-разрядные ЦАП, фильтры с дельта-сигма-модуляцией, генераторы ШИМ с высоким разрешением, усовершенствованные модули захвата, импульсные квадратурные датчики положения, модули CAN и прочее. Отладочная плата LaunchPad содержит встроенный изолированный эмулятор JTAG XDS100 v2, который позволяет осуществлять посредством порта USB программирование и отладку МК в составе системы в режиме реального времени. Комплект LaunchPad включает в себя также два 40-контактных разъема для подключения одновременно двух плат расширения BoosterPack и бесплатное свободно распространяемое программное обеспечение Code Composer Studio (CCS), интегрированную среду разработки IDE и программные модули controlSUITE™.

Заключение

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

Статью подготовил и перевел
Морозов Вячеслав, г. Ростов-на-Дону,

по материалам журнала
"Electronics information update".

Журнал: ELECTRONICS INFORMATION UPDATE, май 2017 г.
Производитель: OLIMEX Ltd.
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
TMS320-P28016
TMS320-P28016
OLIMEX Ltd.
Арт.: 295534 ИНФО PDF
Доступно: 3 шт. от: 3620 руб.
Отладочная плата на базе DSP TMS320F28016.USB-UART, JTAG, CAN, UEXT
TMS320-P28016 3620,00 от 2 шт. 3320,00
3 шт.
(на складе)
TMS320-XDS100-V3
TMS320-XDS100-V3
OLIMEX Ltd.
Арт.: 1107284 ИНФО
Доступно: 81 шт. от: 4670 руб.
Бюджетный JTAG программатор-отладчик класса XDS100, выполненный по референс-дизайну Texas Instruments. Отладчик поддерживает все существующие сигнальные микроконтроллеры и процессоры TI, в т.ч. ARM и двухъядерные.USB, JTAG XDS100
TMS320-XDS100-V3 4670,00 от 2 шт. 4290,00
19 шт.
(на складе)
62 шт.
(под заказ)
Производитель: Терраэлектроника
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
TE-XDS100V3
TE-XDS100V3
Терраэлектроника
Арт.: 1042719 ИНФО
Поиск
предложений
JTAG эмулятор класса XDS100 (версия 3) для микроконтроллеров и микропроцессоров Texas Instruments семейств TMS320C28x, TMS320C54x, TMS320C55x, TMS320C64x+, TMS320C674x, TMS320C66x, ARM9, ARM Cortex-R4, ARM Cortex-A8. Все операции выполняются под Code Composer Studio V5, которая в этом случае бесплатна!USB, JTAG XDS100
TE-XDS100V3
-
Поиск
предложений
TE-TMS320F28335CST1
TE-TMS320F28335CST1
Терраэлектроника
Арт.: 1190005 ИНФО PDF
Доступно: 11 шт. от: 5720 руб.
Встраиваемый модуль на базе 32-разрядного сигнального микроконтроллера TMS320F28335 Delfino, имеющего в составе ядра сопроцессор арифметики с плавающей точкой. В версии CST1 модуля штыревые разъемы Port1 и Port2 не запаяны.USB-UART, JTAG, RS-485 ISO, CAN ISO
TE-TMS320F28335CST1 5720,00 от 2 шт. 5250,00
11 шт.
(на складе)
Производитель: Texas Instruments
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
BOOSTXL-SENSHUB
BOOSTXL-SENSHUB
Texas Instruments
Арт.: 1187971 ИНФО PDF
Доступно: 206 шт. от: 3460 руб.
Дочерняя плата-Boosterpack, совместимая с популярной отладочной платой EK-LM4F120XL и предназначенная для оценки работы Cortex-M4F микроконтроллеров Texas Instruments совместно с современными датчиками.
BOOSTXL-SENSHUB 3460,00 от 2 шт. 3180,00
7 шт.
(на складе)
199 шт.
(под заказ)
C2000-GANG
C2000-GANG
Texas Instruments
Арт.: 1327652 ИНФО PDF
Доступно: 30 шт.
Выбрать
условия
поставки
C2000 Gang Programmer
C2000-GANG
30 шт.
(под заказ)
Выбрать
условия
поставки
LAUNCHXL-F28377S
LAUNCHXL-F28377S
Texas Instruments
Арт.: 1923344 ИНФО PDF
Доступно: 185 шт. от: 3190 руб.
Макетная плата серии LaunchPad со встроенным отладчиком XDS100v2
LAUNCHXL-F28377S 3190,00 от 3 шт. 2930,00
5 шт.
(на складе)
180 шт.
(под заказ)
BOOSTXL-EDUMKII
BOOSTXL-EDUMKII
Texas Instruments
Арт.: 1930481 ИНФО PDF
Доступно: 16 шт. от: 4280 руб.
BOOSTXL-EDUMKII – отладочная плата Educational BoosterPack MKII предлагает разработчикам высокий уровень интеграции и позволит быстро создать прототип комплексного решения
BOOSTXL-EDUMKII 4280,00 от 2 шт. 3930,00
4 шт.
(на складе)
12 шт.
(под заказ)
Производитель: Embest Info&Tech Co.,Ltd.
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
XDS100v3 USB JTAG
XDS100v3 USB JTAG
Embest Info&Tech Co.,Ltd.
Арт.: 1331628 ИНФО PDF
Доступно: 3 шт. от: 6040 руб.
Третья версия эмулятора, совместимая со стандартом IEEE 1149.7, реализует эмуляцию и отладку чипов TI через стандартный 14-контактный JTAG интерфейс. Для связи с компьютером используется высокоскоростной USB 2.0 интерфейс.USB, JTAG XDS100
XDS100v3 USB JTAG 6040,00 от 2 шт. 5540,00
3 шт.
(на складе)