Научная статья на тему 'Разработка интеллектуального уровня управления робототехническим комплексом'

Разработка интеллектуального уровня управления робототехническим комплексом Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
181
56
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка интеллектуального уровня управления робототехническим комплексом»

ный на быстром преобразовании Фурье, выполняется за время порядка 0(1п(п)2).

Кодирование:

При операции кодирования информационный полином умножается на порождающий многочлен. Умножение исходного слова 5 длины к на неприводимый полином при систематическом кодировании можно выполнить следующим образом: К исходному слову приписываются 2{ нулей, получается полином Т =Бх2. Этот полином делится на порождающий полином С, находится остаток Я, Бх21 = QG + Я, где <2 - частное. Этот остаток и будет корректирующим кодом Рида-Соломона, он приписывается к исходному блоку символов. Полученное кодовое слово С = Бх21 + Я.

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

Существует и другая процедура кодирования (более практичная и простая). Положим а1Е СР(ц), (г = 1,2,..., к — 1), аЕСР(ц) - примитивный элемент поля СР(д), и пусть а = (а0, а1,., ак-1) - вектор информационных символов, а значит а(х) = а0 + а1х + —+ ак-1хк-1 - информационный многочлен. Тогда вектор и = (а(1), а(а),..., а(а4-2)) есть вектор кода Рида - Соломона, соответствующий информационному вектору а. Этот способ кодирования показывает, что для кода Рида - Соломона вообще не нужно знать порождающего многочлена и порождающей матрицы коды, достаточно знать разложение поля СР(ц) по примитивному элементу а, и размерность кода к (длина кода в этом случае определяется как п = ц — 1). Все дело в том, что

за разностью п—к полностью скрывается порождающий многочлен д(х) и кодовое расстояние. Декодирование:

Декодировщик, работающий по авторегрессивному спектральному методу декодирования, последовательно выполняет следующие действия: Вычисляет синдром ошибки Строит полином ошибки Находит корни данного полинома Определяет характер ошибки Исправляет ошибки Применение:

Сразу после появления (60-е годы 20-го века) коды Рида-Соломона стали применяться в качестве внешних кодов в каскадных конструкциях, использующихся в спутниковой связи. В подобных конструкциях -ые символы Рида-Соломона (их может быть несколько) кодируются внутренними сверточ-ными кодами. На приемном конце эти символы декодируются мягким алгоритмом Витерби (эффективный в каналах с АБГШ) . Такой декодер будет исправлять одиночные ошибки в д-ичных символах, когда же возникнут пакетные ошибки и некоторые пакеты д-ичных символов будут декодированы неправильно, тогда внешний декодер Рида-Соломона исправит пакеты этих ошибок. Таким образом, будет достигнута требуемая надежность передачи информации. В настоящий момент коды Рида-Соломона имеют очень широкую область применения благодаря их способности находить и исправлять многократные пакеты ошибок.

Для программной реализации имитации работы кода был выбран код Рида-Соломона, который способен обнаруживать и исправлять 2 ошибки или 4 стирания.

ЛИТЕРАТУРА

1. Гришко А.К., Юрков Н.К., Кочегаров И.И. Методология управления качеством сложных систем / Труды Международного симпозиума Надежность и качество. — Пенза: 2014. - Т. 2. - С. 377-379

2. Гришко А.К., Юрков Н.К., Артамонов Д.В., Канайкин В.А. Системный анализ параметров и показателей качества многоуровневых конструкций радиоэлектронных средств / Прикаспийский журнал: управление и высокие технологии. 2014. № 2 (26). С. 77-84.

3. Гришко А.К. Технология радиоэлектронных средств. - Пенза: 2007. - 344 с.

4. Зудов А.Б., Гришко А.К. Интерфейсы на естественном языке как связь нейронных сетей с экспертными системами / В мире научных открытий. - Красноярск: - 2010. №5-1. С. 119-122.

5. Шибанов С.В., Яровая М.В., Шашков Б.Д., Кочегаров И.И., Трусов В.А., Гришко А.К. Обзор современных методов интеграции данных в информационных системах / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 292-295

6. Дзюба Е.А., Шибанов С.В., Хмелевской Б.Г., Кочегаров И.И., Гришко А.К. Отображение метаданных в реляционную модель данных / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 295-297

7. Кочегаров И.И. Система управления жизненным циклом изделий на основе универсальной технологической платформы // Труды международного симпозиума Надежность и качество. 2010. Т. 2. С. 424-426.

8. Кочегаров И.И. Распознавание параметров элементов при передаче данных при межсистемном взаимодействии // Труды международного симпозиума Надежность и качество. 2005. Т. 1. С. 512-514.

9. Шибанов С.В., Фишбейн А.И., Шашков Б.Д., Григорьев А.В, Гришко А.К. Проблемы отображения данных в информационных системах и подходы к их решению / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 301-306

УДК 621.865.8

Жумабаева А.С., Ергалиев Д.С.

Евразийский Национальный университет им. Л.Н. Гумилева, г. Астана, Казахстан РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОГО УРОВНЯ УПРАВЛЕНИЯ РОБОТОТЕХНИЧЕСКИМ КОМПЛЕКСОМ

Введение

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

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

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

На основе микропроцессоров, выпускается множество видов контроллеров, в том числе и для управления различными производственными процессами, а так же, для контроля за ними.

В начале 1998 года фирма Ас1уа^есЬ приступила к выпуску своего очередного продукта - АБАМ-5510, продолжив линию АБАМ-5000. Ничего революционного просто к серии базовых блоков АБАМ-5000/485 и АБАМ-500 0/САЫ, ориентированных на работу с управляющей машиной верхнего уровня в режиме «вопрос - ответ» по одному из популярных промышленных интерфейсов, добавился еще один - программируемый.

Появление модуля АБАМ-5510 позволило расположить управляющую программу пользователя

непосредственно в памяти контроллера, что сократило время реакции в контуре управления виртуально до 5-10 мкс.

Этот факт позволяет применить системы на базе ADAM-5510 для решения задач «жесткого» реального времени.

Аппаратные средства системы управления на примере контроллера ADAM -5510

Задача наблюдения и управления технологическим процессом на производстве может быть весьма сложной. По мере увеличения числа точек контроля параметров и количества исполнительных механизмов системы управления становятся все более сложными. Для построения таких систем все шире используются системы сбора данных и управления на базе РС совместимой техники, но при этом для многих из них требуются наличие в их составе управляющего компьютера [1]. Микроконтроллер ADAM-5510 фирмы Advantech позволяет реализовать автономно функционирующие распределенные системы управления, для которых применение какого-либо управляющего компьютера совершенно не обязательно.

Программируемый контроллер ADAM -5510 - на основе PC для автономного сбора данных и управления, который может управлять, контролировать и приобретать данные через многоканальные модули ввода - вывода. Его IBM-PC совместимые аппаратные средства и операционная система выполняет программы, написанные и на языках высокого уровня и на языке ассемблер. Каждая система может обработать до 4 модулей ввода - вывода (до 64 точек ввода - вывода). Система также обеспечивает порты последовательной передачи данных (RS-232/485), позволяя системе связаться с другими устройствами для выполнения универсальных приложений.

ADAM-5510 представляет собой компактный IBM PC совместимый контроллер, выполненный на базе микропроцессора 80188 и работающий под управлением операционной системы ROM-DOS.

Функциями второго уровня управления или интеллектуального контроля модуля ADAM-5510 являются:

приём команд, передаваемых верхним уровнем, их обработка и передача контроллерам нижнего уровня управления;

сбор данных с контролеров нижнего уровня, а также с датчиков, присоединённых непосредственно к интеллектуальному контроллеру;

обработка полученных данных, их представление для передачи верхнему уровню управления;

контроль состояния подсистем борта промышленного робота;

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

синхронизация работы подсистем промышленного робота;

обеспечение функционирования подсистем борта промышленного робота в условиях отсутствия обмена информацией с верхним уровнем управления;

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

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

ством автоматики под управлением контроллера ADAM-5510.

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

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

Задачами, подлежащими управлению и контролю, в данном робототехническом комплексе являются:

- управление перемещением промышленного робота;

- управление схватом манипулятора промышленного робота;

- управление движением конвейера робототех-нического комплекса;

- контроль осуществления хода сверления детали;

- контроль разрешения цикла.

Листинг программы управления манипулятором промышленного робота

#include "5510drv.h" #include "stdio.h" #include "conio.h" #include "math.h" #include "stdlib.h"

void main() {

char c,s; do {

clrscr();

printf ("Vyberite rejim raboty.\n"); printf ("1-automat, 2-ruchnoy.\n"); scanf ("%s",&ss); switch(ss)

{ case '1':

{

printf ("stanok dvizhetsya i rezhet detal.\n"); dov=1;

Set505 6(&dov,3,0,ABit);

ADAMdelay(8000);

dov=0;

Set505 6(&dov,3,0,ABit);

printf (" stanok otrezal detal.\n");

dov=1;

Set505 6(&dov,3,3,ABit);

printf ("stanok vozvrashaetsya v ishodnoe sostoyanie. \n");

ADAMdelay(2000); dov=0;

Set505 6(&dov,3,3,ABit);

printf ("stanok v ishodnom

sostoyanii.\n");

dov=1;

Set505 6(&dov,3,2,ABit);

printf ("vvod manipulyatora v stanok.\n");

ADAMdelay(1000);

dov=0;

Set505 6(&dov,3,2,ABit);

printf ("manipulyator u stanka.\n");

dov=1;

Set505 6(&dov,3,5,ABit); printf ("vzyatie detali.\n"); ADAMdelay(5000); dov=0;

Set505 6(&dov,3,5,ABit);

printf ("manipulyator vzyal detal.\n"); dov=1;

Set505 6(&dov,3,7,ABit);

printf (" otvod manipulyatora ot stanka.\n");

\n");

ADAMdelay(1000); dov=0;

Set5056(&dov,3,7,ABit);

printf ("manipulyator otveden.\n");

dov=1;

Set5056(&dov,3,9,ABit);

printf ("povorot manipulyatora k bunkeru.

ADAMdelay(2000); dov=0;

Set5056(&dov,3,9,ABit);

printf ("manipulyator povernulsya. \n");

\n")

dov=1;

Set5Q5 6(&dov,3,1Q,ABit); printf ("vvod manipulyatora

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

v bunker.

ADAMdelay(10 0 0); dov=0;

Set505 6(&dov,3,10,ABit);

printf ("manipulyator vveden. \n");

dov=1;

Set5056(&dov,3,2,ABit);

printf ("manipulyator ostavil detal v bunkere. \n");

ADAMdelay(5000); dov=0;

Set5056(&dov,3,2,ABit); printf ("detal v bunkere. \n");

dov=1;

Set5056(&dov,3,4,ABit);

printf ("vivod manipulatora iz bunkera.

\n");

ADAMdelay(10 0 0); dov=0;

Set5056(&dov,3,4,ABit);

printf ("manipulator viveden. \n");

dov=1;

Set505 6(&dov,3,11,ABit);

printf ("povorot manipulyatora k

stanku.\n");

ADAMdelay(2000); dov=0;

Set505 6(&dov,3,11,ABit); printf ("manipulyator stanku.\n");

povernulsya

dov=1;

Set5Q56(&dov,3,1,ABit); Set5Q56(&dov,3,8,ABit);

printf ("perevod manipuliatora k

zagatovke. \n");

ADAMdelay(2QQQ); dov=Q;

Set5Q56(&dov,3,8,ABit); Set5Q56(&dov,3,1,ABit); break; }

case '2': i do

i

clrscr();

printf ("Vvedite nomer komandy (Q-1Q).\n");

printf ("Q - delitelnii stanok otrezaet detal.\n");

printf ("1 - sjatie shvata.\n"); printf ("2 - razsjatie shvata.\n"); printf ("3 - povorot manipuliatora v pravo na 9Q g.\n");

printf ("4 - dvijenie manipulyatora pryamo .\n");

printf ("5 - ostanovka rezki detali .\n"); printf ("6 - vozvrat stanka v ishodnoe polozhenie .\n");

printf ("7 - povorot manipuliatora v levo na 9Q g .\n");

printf ("8 - pod'em manipulyatora .\n"); printf ("9 - otpuskanie manipulyatora .\n");

printf (\n);

printf ("Vvedite 'M' dlay vihoda.\n"); scanf ("%c",&cc); if (cc=='M') break; else { switch(cc) {

case '0':printf ("delitelnii stanok otrezaet detal \n");

dov=1;

Set5056(&dov,3,0,ABit);

ADAMdelay(8000);

dov=0;

Set5056(&dov,3,0,ABit); break;

case '1':printf ("sjatie shvata \n"); dov=1;

Set5056(&dov,3,3,ABit); ADAMdelay(10 0 0); dov=0;

Set5056(&dov,3,3,ABit); break;

case '2':printf ("razsjatie shvata

\n");

dov=1;

Set5056(&dov,3,4,ABit); ADAMdelay(10 0 0); dov=0;

Set5056(&dov,3,4,ABit); break;

case '3':printf ("povorot

manipuliatora v pravo na 90 g. \n"); dov=1;

Set5056(&dov,3,2,ABit);

ADAMdelay(2000);

dov=0;

Set5056(&dov,3,2,ABit); break;

case '4':printf ("dvijenie

manipulyatora pryamo.\n"); dov=1;

Set5056(&dov,3,5,ABit); ADAMdelay(10 0 0); dov=0;

Set5056(&dov,3,5,ABit); break;

case '5':printf ("ostanovka rezki detali.\n");

dov=1;

Set5056(&dov,3,7,ABit); ADAMdelay(10 0 0); dov=0;

Set5056(&dov,3,7,ABit);

break;

case '6':printf ("vozvrat stanka v ishodnoe polozhenie .\n");

dov=1;

Set5056(&dov,3,9,ABit);

ADAMdelay(2000);

dov=0;

Set5056(&dov,3,9,ABit);

break;

case '7':printf ("povorot

manipuliatora v levo na 90 g.\n"); dov=1;

Set505 6(&dov,3,10,ABit);

ADAMdelay(2000);

dov=0;

Set505 6(&dov,3,10,ABit);

case ' 8':printf

manipulyatora .\n"); dov=1;

Set5056(&dov,3,1,ABit);

ADAMdelay(2000);

dov=0;

Set5056(&dov,3,1,ABit);

case ' 9':printf

manipulyatora.\n") ;

Set505 6(&dov,3,8,ABit); ADAMdelay(10 0 0); dov=0;

Set505 6(&dov,3,8,ABit);

break; ("

pod'em

break;

("otpuskanie

dov=1;

break;

выгодно отличающие блок системы управления яв-= 'M'); }} ляются:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- использование контроллера ADAM - 5510 существенно уменьшает габариты, массу и энергопотребление блока системы управления;

- дружественная, и знакомая среда программирования Borland C++;

- после «прошивки» программы в контроллер, манипулятор может работать автономно от PC в ручном или автоматическом режиме работы;

- разработанную программу целесообразно использовать в процессе обучения.

while (cc! getch ();

Заключение

В результате проделанной работы была спроектирована система интеллектуального уровня управления робототехническим комплексом. Система управления реализована на контроллере ADAM -5510 фирмы Advantech. Важнейшими критериями,

ЛИТЕРАТУРА

1. Проектирование систем автоматизации технологических процессов: Справочное пособие/Под. ред. А.С.Клюева.-М.: Энергоатомиздат, 1990.464 с.

2. Бурдаков С.Ф., Дьяченко В.А. Проектирование манипуляторов промышленных роботов и роботизированных комплексов. М.: Высшая школа, 1986.

3. www.proavtomatika.ru/sensor/sick/ih.htm

4. Синтез системы управления мобильным роботом методом интеллектуальным эволюции. Дивеев А.И., Шмалько Е.Ю. Надежность и качество сложных систем. 2013. №3. С. 52-59.

5. Трусов В.А. Однопозиционный модуль управления шаговым двигателем / Трусов В.А., Кочегаров И.И., Горячев Н.В., Юрков Н.К. // Теоретические и прикладные аспекты современной науки. 2015. № 7-3. С. 131-133.

6. Трусов В.А. Проектирование одновибратора без перезапуска на программируемой логической интегральной схеме / Трусов В.А., Кочегаров И.И., Горячев Н.В. // Молодой ученый. 2015. № 4 (84). С. 276-278.

7. Абрамов О.В. Проектирование технических систем с элементами настройки // Надежность и качество сложных систем. 2014. № 2(6). С.51-55.

УДК 621.3.078 Ерофеев С.А.

ФГБОУ ВПО «Санкт-Петербургский государственный политехнический университет», Санкт-Петербург, Россия

СИНТЕЗ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ СЛОЖНЫМИ КОНЕЧНО-ЭЛЕМЕНТНЫМИ ОБЪЕКТАМИ НА БАЗЕ МЕТОДА РУНГЕ-КУТТА В СРЕДЕ МАПАВ

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

Рассмотрим основные положения конечно-элементного подхода к расчету напряженно-деформированного состояния твердых тел. Согласно принципу виртуальных работ механическое перемещение и должно удовлетворять условию стационарности функционала Лагранжа [1], который имеет следующий вид:

L(u) = J

1 t д u -T'-E + pU -=

's _ _ r —

2 = =

dt2

dV -J PTudS ,

(1)

L(W) = J

V

где W = [ux,uy,uz]T , a = [TxTyyTzzTzyTzxTxyf ,

1 _t_ ,Тгт„ д2W -a1 e + W1 R——

2 dt2

dV -J PT W dS , (2)

" = [e

E =1 Exx ,Eyy ,Ezz ,2 Ezy ,2 Ezx ,2 Exy J

P = [Px,Py,Pz]T

R = p

1 0 0 0 1 0 0 0 1

Разобьем объект на ЫЕ конечных элементов, в результате чего образуется конечно-элементная сетка с узлами числом ЫР. Основные неизвестные во всех узлах объединяются в глобальный столбец

Ш = [...,Ы(ХГ>,и(У\П(/\...]Т размерностью ЫЛ = 3 X № ,

где j - номер узла (от 1 до ЫР). Перемещения и потенциалы узлов конечного элемента с номером i Ц = 1...ЫЕ) составляют локальный вектор-столбец

W(l) = ctfW ,

(i)

где матрица «у называется матрицей

инциденции. Основные неизвестные в любой точке (как в узле, так и не в узле) конечного элемен-

та с номером

определяются как

w = NfafW

где - матрица функций формы, которые под-

бираются по геометрии конечного элемента и не зависят от времени [3]. В этой же точке

e=b(i)w(,)=в(1а%

a= T(1)E ,

B(1

где V - объем тела, Б - площадь, Т и Е - тензоры механических напряжений и деформаций [2], •• - символ свертки тензоров, р - плотность материала, Р - механические усилия на поверхности пьезоэлемента ( Р = П-Т , где п - нормаль к поверхности) .

Сопоставляя тензорам и векторам соответственно матрицы и столбцы их компонентов, выражение (1) можно преобразовать в:

- матри-

матрица Подста-

ца производных от функций формы, Т -упругости, состоящая из модулей Юнга.

новка выражений для w, Е и и в (2) приводит к выражению Ь для одного конечного элемента, то

есть Ь(1> . Сложение Ь(1> по i = 1...ЫЕ позволяет получить глобальный функционал Лагранжа для всей конечно-элементной сетки в целом (то есть всего объекта исследования) в следующем виде:

Ь(Ш> = 1ШТкШ + ШТм-, (3) 2 31

и

где

i Надоели баннеры? Вы всегда можете отключить рекламу.