Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программные продукты и системы, 2024, том 37, № 3

международный научно-практический журнал
Бесплатно
Новинка
Основная коллекция
Артикул: 845112.0001.99
Программные продукты и системы : международный научно-практический журнал. - Тверь : НИИ Центрпрограммсистем, 2024. - Т. 37, № 3. - 162 с. - ISSN 0236-235X. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2174622 (дата обращения: 23.11.2024)
Фрагмент текстового слоя документа размещен для индексирующих роботов
Научно-исследовательский институт 
«Центрпрограммсистем» 
 
 
 
Программные 
продукты и системы 
 
 
НАУЧНЫЙ ЖУРНАЛ 
 
 
 
2024, том 37, № 3  
(год издания тридцать седьмой) 
 
 
 
 
Главный редактор 
Г.И. САВИН, академик РАН 
 
 
 
 
 
 
 
 
 
 
 
 
SOFTWARE & SYSTEMS 
 
 
 
 
 
Research Journal 
 
 
 
 
2024, vol. 37, no. 3 
 
 
 
 
 
Editor-in-Chief  
G.I. SAVIN, Academician of the Russian Academy of Sciences 
 
 
 
 
 
 
Research Institute CENTERPROGRAMSYSTEM 
 
 


Издатель НИИ «Центрпрограммсистем»  
(г. Тверь, Россия) 
Учредитель В.П. Куприянов 
Журнал зарегистрирован в Роскомнадзоре  
3 марта 2020 г. 
Регистрационное свидетельство ПИ № ФС 77-77843 
 ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ 
Научный журнал  
 
2024. Т. 37. № 3  
DOI: 10.15827/0236-235X.142 
 
Главный редактор  
 
Подписной индекс в каталоге 
Урал-Пресс 70799  
 
Г.И. САВИН, академик РАН 
 
Научные редакторы номера: 
ISSN 0236-235X (печатн.) 
ISSN 2311-2735 (онлайн) 
 
Н.А. СЕМЕНОВ, д.т.н., профессор 
 
Т.М. ТАТАРНИКОВА, д.т.н., профессор 
 
РЕДАКЦИОННАЯ КОЛЛЕГИЯ 
 
Семенов Н.А. – заместитель главного редактора, д.т.н., профессор Тверского государственного технического  
университета (г. Тверь, Россия) 
Сотников А.Н. – заместитель главного редактора, д.ф.-м.н., профессор, заместитель директора  
Межведомственного суперкомпьютерного центра РАН (г. Москва, Россия) 
Афанасьев А.П. – д.ф.-м.н., профессор Московского физико-технического института (технического университета),  
заведующий Центром распределенных вычислений Института проблем передачи информации РАН (г. Москва, Россия) 
Баламетов А.Б. – д.т.н., профессор Азербайджанского научно-исследовательского и проектно-изыскательского института  
энергетики (г. Баку, Азербайджан) 
Борисов В.В. – д.т.н., профессор филиала Национального исследовательского университета «МЭИ»  
в г. Смоленске (г. Смоленск, Россия) 
Голенков В.В. – д.т.н., профессор Белорусского государственного университета информатики и радиоэлектроники  
(г. Минск, Беларусь) 
Елизаров А.М. – д.ф.-м.н., профессор Института математики и механики им. Н.И. Лобачевского Казанского федерального  
университета (г. Казань, Россия) 
Еремеев А.П. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия) 
Кузнецов О.П. – д.т.н., профессор Института проблем управления РАН (г. Москва, Россия) 
Мамросенко К.А. – к.т.н., доцент Московского авиационного института (Национального исследовательского университета),  
руководитель Центра визуализации и спутниковых информационных технологий НИИСИ РАН (г. Москва, Россия) 
Палюх Б.В. – д.т.н., профессор Тверского государственного технического университета (г. Тверь, Россия) 
Сулейманов Д.Ш. – академик АН Республики Татарстан, д.т.н., профессор Казанского государственного технического  
университета (г. Казань, Россия) 
Татарникова Т.М. – д.т.н., доцент, профессор Санкт-Петербургского государственного  
электротехнического университета «ЛЭТИ» им. В.И. Ульянова (Ленина) (г. Санкт-Петербург, Россия) 
Ульянов С.В. – д.ф.-м.н., профессор, ведущий научный сотрудник Объединенного института ядерных исследований  
(г. Дубна, Россия) 
Хорошевский В.Ф. – д.т.н., профессор Московского физико-технического института (технического университета)  
(г. Москва, Россия) 
Шабанов Б.М. – д.т.н., чл.-корр. РАН, директор Межведомственного суперкомпьютерного центра РАН (г. Москва, Россия) 
Язенин А.В. – д.ф.-м.н., профессор Тверского государственного университета (г. Тверь, Россия) 
 
АССОЦИИРОВАННЫЕ ЧЛЕНЫ РЕДАКЦИИ 
 
Дата выхода в свет 16.09.2024 г. 
Отпечатано ИПП «Фактор и К» 
Россия, 170100, г. Тверь, ул. Крылова, д. 26 
Выпускается один раз в квартал   
Год издания тридцать седьмой  
Формат 6084 1/8. Объем 160 стр. 
Национальный исследовательский университет «МЭИ», г. Москва, Россия 
Технологический институт Южного федерального университета, г. Таганрог, Россия 
Тверской государственный технический университет, г. Тверь, Россия 
 
АДРЕС ИЗДАТЕЛЯ И РЕДАКЦИИ  
Россия, 170024,  
г. Тверь, просп. Николая Корыткова, д. 3а 
Телефон (482-2) 39-91-49 
Факс (482-2) 39-91-00 
E-mail: red@cps.tver.ru 
Сайт: www.swsys.ru 
Заказ № 7. Тираж 1000 экз. Цена 550,00 руб. 
 
 


Publisher Research Institute  
CENTERPROGRAMSYSTEM (Tver, Russian Federation)  
 
Founder V.P. Kupriyanov 
 
The journal is registered with the Federal Service  
 SOFTWARE & SYSTEMS  
Research Journal  
 
2024, vol. 37, no. 3 
DOI: 10.15827/0236-235X.142 
 
Editor-in-chief  
for Supervision of Communications, Information Technology  
and Mass Communications (Roskomnadzor)  
March 3rd, 2020 
 
G.I. SAVIN, Academician of RAS 
 
Science editors of the issue: 
 
 
 
N.A. SEMENOV, Dr.Sc. (Engineering), Professor 
Registration certificate ПИ № ФС 77-77843 
ISSN 0236-235X (print) 
 
 
T.M. TATARNIKOVA, Dr.Sc. (Engineering),  
Professor 
ISSN 2311-2735 (online) 
 
EDITORIAL BOARD 
 
Semenov N.A. – Deputy Editor-in-Chief, Dr.Sc. (Engineering), Professor of the Tver State Technical University  
(Tver, Russian Federation) 
Sotnikov A.N. – Deputy Editor-in-Chief, Dr.Sc. (Physics and Mathematics), Professor, Deputy Director  
of the Joint Supercomputer Center of the Russian Academy of Sciences (Moscow, Russian Federation) 
Afanasiev A.P. – Dr.Sc. (Physics and Mathematics), Professor of the Moscow Institute of Physics and Technology,  
Head of Centre for Distributed Computing of Institute for Information Transmission Problems  
(Moscow, Russian Federation) 
Balametov A.B. – Dr.Sc. (Engineering), Professor of the Azerbaijan Scientific-Research & Design-Prospecting  
Power Engineering Institute (Baku, Azerbaijan) 
Borisov V.V. – Dr.Sc. (Engineering), Professor of the MPEI Branch in Smolensk (Smolensk, Russian Federation) 
Golenkov V.V. – Dr.Sc. (Engineering), Professor of the Belarusian State University of Informatics and Radioelectronics  
(Minsk, Republic of Belarus) 
Elizarov A.M. – Dr.Sc. (Physics and Mathematics), Professor of the N.I. Lobachevsky Institute of Mathematics  
and Mechanics of the Kazan Federal University (Kazan, Russian Federation) 
Eremeev A.P. – Dr.Sc. (Engineering), Professor of the National Research University Moscow Power Engineering  
Institute (Moscow, Russian Federation) 
Kuznetsov O.P. – Dr.Sc. (Engineering), Professor of the Institute of Control Sciences of the Russian Academy  
of Sciences (Moscow, Russian Federation) 
Mamrosenko K.A. – Ph.D. (Engineering), Associate Professor of the Moscow Aviation Institute (National Research  
University), Head of the Center of Visualization and Satellite Information Technologies SRISA RAS  
(Moscow, Russian Federation) 
Palyukh B.V. – Dr.Sc. (Engineering), Professor of the Tver State Technical University (Tver, Russian Federation) 
Suleimanov D.Sh. – Academician of TAS, Dr.Sc. (Engineering), Professor of the Kazan State Technical University  
(Kazan, Russian Federation) 
Tatarnikova T.M. – Dr.Sc. (Engineering), Associate Professor, Professor of the St. Petersburg Electrotechnical  
University LETI (St. Petersburg, Russian Federation) 
Ulyanov S.V. – Dr.Sc. (Physics and Mathematics), Professor of the Dubna International University for Nature,  
Society and Man (Dubna, Russian Federation) 
Khoroshevsky V.F. – Dr.Sc. (Engineering), Professor of the Moscow Institute of Physics and Technology  
(Moscow, Russian Federation) 
Shabanov B.M. – Dr.Sc. (Engineering), Corresponding Member of the RAS, Director of the Joint Supercomputer Center  
of the Russian Academy of Sciences (Moscow, Russian Federation) 
Yazenin A.V. – Dr.Sc. (Physics and Mathematics), Professor of the Tver State University (Tver, Russian Federation) 
 
ASSOCIATED EDITORIAL BOARD MEMBERS 
 
National Research University Moscow Power Engineering Institute, Moscow, Russian Federation 
Technology Institute at Southern Federal University, Taganrog, Russian Federation 
Tver State Technical University, Tver, Russian Federation 
 
Release date 16.09.2024 
Printed in printing-office Faktor i K 
Krylova St. 26, Tver, 170100, Russian Federation 
Published quarterly. 37th year of publication 
Format 6084 1/8. Wordage 160 pages  
EDITORIAL BOARD AND PUBLISHER OFFICE ADDRESS  
Nikolay Korytkov Ave, 3а, Tver, 170024, Russian Federation 
Phone: (482-2) 39-91-49  Fax: (482-2) 39-91-00 
E-mail: red@cps.tver.ru 
Website: www.swsys.ru 
Prod. order № 7. Circulation 1000 copies. Price 550,00 rub.  


Вниманию авторов 
 
Журнал «Программные продукты и системы» публикует материалы научного и научно-практического 
характера по новым информационным технологиям, результаты академических и отраслевых исследований 
в области использования средств вычислительной техники. Практикуются выпуски тематических номеров 
по искусственному интеллекту, системам автоматизированного проектирования, по технологиям разработки 
программных средств и системам защиты, а также специализированные выпуски, посвященные научным 
исследованиям и разработкам отдельных вузов, НИИ, научных организаций.  
Журнал «Программные продукты и системы» внесен в Перечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученых степеней кандидата и доктора наук. 
Информация об опубликованных статьях по установленной форме регулярно предоставляется в систему 
РИНЦ, в CrossRef и в другие базы и электронные библиотеки. 
Журнал «Программные продукты и системы» включен в ядро коллекции РИНЦ, размещенное на платформе Web of Science в виде базы данных RSCI. 
Автор статьи отвечает за подбор, оригинальность и точность приводимого фактического материала.  
При перепечатке ссылка на журнал обязательна. Статьи публикуются бесплатно. 
 
Условия публикации 
 
К рассмотрению принимаются оригинальные материалы, отвечающие редакционным требованиям и соответствующие тематике журнала. Группы научных специальностей:  
1.2. Компьютерные науки и информатика  
1.2.1. Искусственный интеллект и машинное обучение (физико-математические науки).  
1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки). 
2.3. Информационные технологии и телекоммуникации 
2.3.1. Системный анализ, управление и обработка информации, статистика (технические науки, физикоматематические науки).  
2.3.2. Вычислительные системы и их элементы (технические науки). 
2.3.3. Автоматизация и управление технологическими процессами и производствами (технические 
науки).  
2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки, физико-математические науки). 
2.3.6. Методы и системы защиты информации (технические науки, физико-математические науки). 
2.3.7. Компьютерное моделирование и автоматизация (технические науки, физико-математические науки). 
2.3.8. Информатика и информационные процессы (технические науки). 
Работа представляется в электронном виде в формате Word. Объем статьи вместе с иллюстрациями – не 
менее 10 000 знаков. Диаграммы, схемы, графики должны быть доступными для редактирования (Word, 
Visio, Excel). Заголовок должен быть информативным; сокращения, а также терминологию узкой тематики 
желательно в нем не использовать. Количество авторов на одну статью – не более четырех, количество статей одного автора в номере, включая соавторство, – не более двух. Список литературы, наличие которого 
обязательно, должен включать не менее 10 пунктов. 
Необходимы также содержательная структурированная аннотация (не менее 200 слов), ключевые слова 
(7–10) и индекс УДК. Название статьи, аннотация и ключевые слова должны быть переведены на английский 
язык (машинный перевод недопустим), а фамилии авторов, названия и юридические адреса организаций 
(если нет официального перевода) – транслитерированы по стандарту BGN/PCGN.  
Вместе со статьей следует прислать экспертное заключение о возможности открытого опубликования 
материала и авторскую справку. Обзательно соблюдение автором договора (публичной оферты). 
 
Порядок рецензирования 
 
Все статьи, поступающие в редакцию (соответствующие тематике и оформленные согласно требованиям 
к публикации), подлежат двойному слепому рецензированию в течение месяца с момента поступления, рецензия отправляется авторам.  
В редакции сформирован устоявшийся коллектив рецензентов, среди которых члены редколлегии журнала, эксперты из числа крупных специалистов в области информатики и вычислительной техники ведущих 
вузов страны, а также ученые и специалисты НИИСИ РАН, МСЦ РАН (г. Москва) и НИИ «Центрпрограммсистем» (г. Тверь). 
Редакция журнала «Программные продукты и системы» в своей работе руководствуется сводом правил 
Кодекса этики научных публикаций, разработанным и утвержденным Комитетом по этике научных публикаций (Committee on Publication Ethics – COPE). 
 
 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
УДК 517.9, 519.6  
 
 
 
doi: 10.15827/0236-235X.142.301-309 
 
 
 
 
  2024. Т. 37. № 3. С. 301–309 
 
Оптимизация процессов интеллектуального управления  
в реальном времени на физической модели робота-манипулятора  
с помощью генетического алгоритма 
 
М.С. Катулин 1, А.Г. Решетников 1, А.Р. Рябов 1, С.В. Ульянов 1, 2 
 
1 Объединенный институт ядерных исследований,  
Лаборатория информационных технологий им. М.Г. Мещерякова, г. Дубна, 141980, Россия 
2 Университет «Дубна», Институт системного анализа и управления, г. Дубна, 141980, Россия 
 
Ссылка для цитирования 
Катулин М.С., Решетников А.Г., Рябов А.Р., Ульянов С.В. Оптимизация процессов интеллектуального управления 
в реальном времени на физической модели робота-манипулятора с помощью генетического алгоритма //  
Программные продукты и системы. 2024. Т. 37. № 3. С. 301–309. doi: 10.15827/0236-235X.142.301-309 
Информация о статье 
Группа специальностей ВАК: 1.2.1 
Поступила в редакцию: 18.10.2023 
 
    После доработки: 23.03.2024  
    Принята к публикации: 02.04.2024 
 
 
Аннотация. При разработке интеллектуальной системы управления возникает необходимость подбора оптимальных параметров, при которых эта система будет достигать цели управления. Для подбора параметров используют 
математическую модель или аналогичные методы. В данной работе рассматривается проблема настройки системы 
интеллектуального управления с недоопределенными параметрами. В качестве примера использована система 
управления четырехзвенным роботом-манипулятором в контуре обратной связи на основе системы машинного 
зрения. Наглядно продемонстрирована работа системы управления, для которой характерно наличие внешних факторов, влияющих на ее поведение и не всегда подлежащих учету. В рассматриваемом примере это люфты приводов, ошибки/неточности работы системы машинного зрения или внезапное изменение положения цели. В работе 
подробно описаны устройство робота-манипулятора, система машинного зрения и используемые регуляторы.  
На первом шаге настройки системы искомые параметры подобраны эмпирически, затем выполнена оптимизация 
с применением генетического алгоритма. Представлен способ применения генетического алгоритма для оптимизации параметров системы управления на физическом объекте в реальном времени. Рассмотрены алгоритмические 
особенности применяемого генетического алгоритма, в том числе реализации функции пригодности. Приведены 
результаты оптимизации и сделан сравнительных анализ работы системы с разными параметрами. Продемонстрирована возможность реализации подобных систем и применения генетических алгоритмов в реальном времени. 
Представлены методы технологии проектирования интеллектуальных систем, которые могут быть перенесены и 
на другие объекты управления. 
Ключевые слова: генетический алгоритм, манипулятор, машинное зрение, глобальная отрицательная обратная 
связь 
 
Введение. Решение задачи интеллектуальостаются в большей мере недоопределенными. 
Для обучения системы автоматического управления, содержащей недоопределенные (не учитываемые в математической модели объекта 
управления) параметры, нужен новый подход, 
позволяющий получать результат без применения точной математической модели.  
 
Обзор существующих подходов 
 
Применение теории интеллектуального 
ного управления подразумевает наличие свойств 
адаптации и обучения в системе автоматического управления, например, подбор определенных параметров регуляторов, описывающих оптимальное поведение системы в условиях внешних и внутренних возмущений. 
Проверка и прогнозирование поведения системы в таких условиях осуществляются с помощью математической модели, в том числе  
в системе виртуальной реальности [1]. Однако 
поиск оптимальных решений усложняется 
внешними факторами, влияющими на поведение системы, например, температурой окружающей среды [2]. Существуют примеры систем, 
поведение которых зависит и от свойств объекта, с которым они взаимодействуют, как в 
случае летательного манипулятора, открывающего дверь [3]. Такие внешние факторы трудно 
учитывать в математической модели, и они 
управления рассмотрим на примере физиче- 
ской модели робота-манипулятора. В этой модели возмущениями выступают, в частности, 
износ деталей, их брак или заводские люфты 
приводов и редукторов, трения в местах крепления осей вращения робота или дополнительная нагрузка, которой оперирует робот [4]. 
Данные особенности объекта управления вносят множество недоопределенных параметров, 
 
301 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
В качестве обратной связи используются 
показания датчиков. В данной работе сенсорная часть была реализована средствами машинного зрения. На изображении, полученном 
стандартной камерой в 2D-формате, определяются отклонения текущей позиции манипулятора от целевых координат захватывающего 
объекта. 
 
Описание аппаратной реализации  
объекта управления 
 
На робототехническом полигоне Лаборатовлияющих на поведение системы управления. 
Задачи адаптации и обучения для подобных систем могут быть решены путем подбора значений коэффициентов усиления традиционных 
ПИД-регуляторов в обратной связи, например, 
с помощью моделирования поведения манипулятора в среде Matlab Simulink [5]. Подбор оптимальных коэффициентов при этом может 
быть выполнен с помощью технологии интеллектуальных вычислений и генетического алгоритма (ГА) [6]. Главный недостаток данного 
подхода состоит в необходимости иметь математическую модель для настройки параметров 
системы управления. 
Другой подход к управлению роботом-марии информационных технологий им. М.Г. Мещерякова Объединенного института ядерных 
исследований (г. Дубна) была поставлена задача разработать систему с наглядной демонстрацией управления объектом со множеством 
недоопределенных параметров. В качестве 
объекта управления выбран стационарный четырехосный робот-манипулятор. Манипулятор 
собран из общедоступных компонентов и имеет 
множество люфтов (рис. 1).  
Задача манипулятора – захватить заданный 
нипулятором состоит в применении алгоритма 
инверсной (обратной) кинематики [7]. Обратная кинематика позволяет работать с математическими и компьютерными моделями объектов 
управления, что при должной верификации с 
реальным объектом позволяет извлекать обучающие траектории системы с различными 
начальными условиями. Однако такой подход 
имеет и свои ограничения, в частности, не учитываются физические особенности системы, канала обратной связи, зашумленность и точность 
позиционирования объекта управления и др. 
 
Принцип глобальной отрицательной  
обратной связи 
 
объект, произвольно расположенный перед 
ним, при этом захват объекта осуществляется 
по принципу глобальной отрицательной обратной связи. Для определения положения цели и, 
соответственно, вычисления ошибки используется простейший детектор на основе веб-камеры и методов машинного зрения. 
Задача управления объектом, как правило, 
подразумевает перевод объекта управления  
в целевое положение в фазовом пространстве 
состояний. Чтобы определить силу управляющего воздействия, используют обратную связь. 
Обратная связь может быть и положительной, 
когда изменение управляющего воздействия 
совпадает по знаку с изменением выходного 
сигнала, что, как правило, приводит к экспоненциальному росту выходного сигнала, и отрицательной – в этом случае система стремится 
к стабильному целевому значению. 
Целевые значения достигаются с помощью 
 
 
Рис. 1. Общий вид манипулятора с обратной 
связью: 1 – четырехосный манипулятор  
с захватом; 2 – одноплатный компьютер;  
3 – контроллер на базе Arduino Mega;  
4 – USB-камера; 5 – сонар 
 
Fig. 1. General layout of the feedback manipulator: 1 – 4-axis manipulator with a grip;  
2 – single-board computer; 3 – Arduino Mega 
controller; 4 – USB camera; 5 – sonar 
разных типов регуляторов. Широкое распространение получили пропорциональные (П), 
пропорциональные интегральные (ПИ), пропор- 
циональные дифференциальные (ПД) и про- 
порциональные интегрально-дифференциальные (ПИД) регуляторы [8]. Интегральная составляющая регулятора позволяет устранить в 
системе статическую ошибку, дифференциальная – улучшить динамические показатели, форсируя переходный процесс, а пропорциональная формирует точность позиционного управления. 
 
302 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
Управление манипулятором осуществляманипулятора необходимо рассчитать, насколь- 
ко нужно переместить захват манипулятора с 
камерой, чтобы объект оказался в рабочей зоне 
захвата. Есть несколько путей для достижения 
этой цели.  
Один из них – использовать знание геометется с помощью одноплатного компьютера 
Raspberry PI4, который взаимодействует с контроллером манипулятора по COM-порту. Манипулятор входит в состав экспериментального полигона и управляется по локальной сети 
с помощью REST API [9]. Видеосигнал поступает с web-камеры, подключенной непосредственно к одноплатному компьютеру. Сонар 
подключен к контроллеру манипулятора. Анализ кадров, полученных с USB-камеры, выполняется полностью на одноплатном компьютере. Для этих целей был разработан простейший алгоритм обнаружения, реализованный  
с использованием библиотеки OpenCV. Алгоритм обнаружения представляет собой следующую последовательность шагов: 
– задание диапазонов допустимых значений 
цвета по трем каналам; 
– получение изображения с камеры; 
– предобработка изображения: перевод его 
рии манипулятора, измерить положение камеры, исправить дисторсию объектива камеры 
и вычислить коэффициенты пересчета координат из детектора в физическое положение объекта относительно камеры. Однако, во-первых, 
это крайне трудоемкий процесс, поскольку измерения и калибровка требуют больших временных затрат и уникальны для конкретного 
устройства. Во-вторых, качество деталей манипулятора очень низкое, учесть все неточности 
печати и сборки крайне затруднительно. В-третьих, поворот сервоприводов осуществляется 
неточно с люфтом местами до трех градусов  
и с шагом порядка одного градуса, что значительно сказывается на точности наведения. 
Другой путь заключается в использовании 
в цветовое пространство HSV и размытие 
фильтром Гаусса с радиусом 11; 
– отбрасывание пикселей, значения которых не подходят под заданные допустимые 
значения цветового канала; 
– выделение контуров на основе оставшихся пикселей; 
– выбор контура с максимальной площадью; 
– если площадь выбранного контура больше 
100 (защита от ложного срабатывания), то возврат прямоугольника, обрамляющего контур,  
в противном случае возврат прямоугольника 
нулевого размера. 
Как уже упоминалось, рассматриваемый 
манипулятор имеет четыре сервопривода: первый расположен в основании робота, последний в захвате. Минимальные и максимальные 
значения заложены в виде констант в программе контроллера, а стартовые хранятся  
в энергонезависимой памяти. 
итеративного процесса корректировки положения осей манипулятора с маленьким шагом таким образом, чтобы система постепенно сходилась к положению, когда объект находится в 
зоне работы захвата. Для этого нужно сменить 
стандартную систему координат изображения, 
при которой центр координат находится  
в верхнем левом углу, на систему координат  
с центром, совпадающим с целевым положением объекта в кадре. После данного преобразования координат положение объекта можно 
представить как ошибку, которую требуется 
минимизировать. При успешном решении этой 
задачи камера будет наведена точно на объект. 
Но для захвата нужно не просто повернуться  
в сторону объекта, но и приблизиться к нему.  
В качестве характеристики расстояния до объекта была использована разница между целевой шириной объекта в кадре и шириной объекта из результатов работы детектора.  
Процесс захвата объекта происходит итераТаким образом, была получена некая характеристика, которую также нужно минимизировать. 
За движения робота по направлению к обътивно, с помощью машинного зрения манипулятор определяет положение объекта и перемещается в его сторону. Процесс останавливается 
на основании показаний сонара, когда информация о размере и положении искомого объекта подтверждает, что он находится в зоне работы захвата.  
 
екту отвечают три сервопривода, при этом на 
ошибку положения по осям Y и Z влияют сразу 
два из них. В первом приближении задача вычисления обновленного положения на каждом 
шаге может быть решена методом подбора коэффициентов для системы уравнений: 
Этапы решения задачи 
 
Вычисление смещения манипулятора. 
Для вычисления обновленных углов приводов 
p1 = p1 + w11errx + w12erry + w13errz, 
p2 = p2 + w21errx + w22erry + w23errz, 
p3 = p3 + w31errx + w32erry + w33errz, 
 
303 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
Формула ПД-регулятора: 
pi = pi + Pi + Di, 
где pi  – значение угла i-го сервопривода; errx, 
erry  – ошибки положения центра объекта; errz  – 
характеристика расстояния до объекта; wij  – 
веса влияния соответствующей ошибки на положение сервопривода. 
Первый привод выполняет поворот манипугде i  – номер сервопривода; pi – значение угла 
сервопривода; Pi и Di – пропорциональная  
и дифференциальная части ПД-регулятора сервопривода. 
Вычисление пропорциональной части ПДрегулятора первого сервопривода осуществляется по формуле 
лятора относительно основания и не может 
влиять на величины erry и errz. По этой причине 
w12 и w13 можно приравнять к нулю и опустить, 
как и пренебречь членами w21 и w31. 
P1 = kp1err1 = kp1errx, 
Поскольку шаг работы сервоприводов догде kp1  – пропорциональный коэффициент для 
ПД-регулятора первого сервопривода.  
Пропорциональная часть второго и третьего 
приводов вычисляется аналогично: 
P2 = kp2err2 = kp2a(erry + b/a errz) = kp2'(erry +  
+ a'errz), 
P3 = kp3err3 = kp3c(erry + d/c errz) = kp3'(erry +  
вольно большой, а конструкция манипулятора 
имеет множество люфтов, такой подход работает только в случае небольших значений весов, а это значит, что робот будет достигать 
цели достаточно медленно. Исправить это и 
сгладить формы движения можно с помощью 
ПИД-регулятора. Чтобы не перегружать уравнения 
дополнительными 
коэффициентами, 
+ c'errz), 
где kp2' = kp2 a; a' = b/a; kp3' = kp3 c; c' = d/c. 
Дифференциальная составляющая для первого сервопривода: 
можно использовать ПД-регулятор, который 
показал свою эффективность при стабилизации 
подобных процессов [10, 11]. 
D1 = kd1(err1 – err1(t-1)) = kd1(errx – errx(t-1)), 
Эмпирически было установлено, что примегде err1 – ошибка положения первого сервопривода; err1(t-1) – ошибка положения сервопривода 
на предыдущем шаге; kd1 – дифференциальный 
коэффициент для регулятора первого сервопривода. 
Дифференциальная часть второго и третьего сервоприводов включает две компоненты 
ошибки. Для второго сервопривода это будет 
выглядеть так: 
нение ПД-регуляторов вместо пяти весовых коэффициентов приводит к непредсказуемым 
резким движениям манипулятора при приближении к искомому объекту. Предположительно, при некоторых положениях объекта 
два ПД-регулятора входят в резонанс, что приводит к экстремально большому шагу сервоприводов, и робот теряет объект из поля зрения 
телекамеры. 
D2 = kd2(err1 – err1(t-1)) = kd2(a(erry + b/a errz) –  
Чтобы ПД-регуляторы не оказывали неже– a(erry(t-1) + b/a errz (t-1))). 
После раскрытия скобок: 
D2 = kd2a(erry – erry(t-1) + b/a(errz – errz(t-1))) =  
= kd2'(erry – erry(t-1) + a'(errz – errz (t-1))), 
где kd2' = kd2 a; a' = b/a. 
Для дифференциальной части третьего привода все аналогично и после повторения операций принимает вид 
D3 = kd3'(erry – erry(t-1) + c'(errz – errz(t-1)), 
где kd3' = kd3 c; c' = d/c. 
Таким образом, решение задачи управления 
лательного воздействия друг на друга, их количество должно соответствовать количеству 
управляемых сервоприводов. В представленной модели ошибки erry и errz имеют очевидную связь при влиянии на сервоприводы 2 и 3. 
Влияние данных ошибок на каждый привод необязательно равнозначное, поэтому справедливо будет ввести весовые коэффициенты влияния каждой ошибки на соответствующий привод. Пусть нумерация приводов начинается с 1, 
при этом первый привод – карусель робота. Тогда для всех приводов можно будет вычислить 
ошибки по следующим уравнениям: 
сводится к подбору восьми коэффициентов: 
kp1, pd1 – для первого привода, kp2', kd2' и a' – для 
второго привода, kp3', kd3' и c' – для третьего 
привода. 
Применение ГА для оптимизации подerr1 = errx, 
err2 = aerry + berrz,  
err3 = cerry + derrz,  
или 
err1 = errx, 
err2 = a(erry + b/a errz),  
err3 = c(erry + d/c errz),  
бора параметров управления. Первоначально 
задача подбора параметров была решена путем 
эмпирического перебора. Удалось подобрать 
такие значения, при которых манипулятор стал 
стабильно достигать цели, но для этого ему 
требовалось большое число шагов (порядка 40). 
В качестве альтернативного способа подбора 
где a, b, c и d – пропорциональные коэффициенты линейной зависимости ошибок erry и errz.  
 
304 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
оптимальных значений были рассмотрены эволюционные алгоритмы, основное место среди 
которых занимает ГА [6, 12]. 
Существует множество вариантов реализаособи представляет собой генерацию нужного 
количества случайных байт. Рекомендуется, 
чтобы мутация каждого гена производилась  
с вероятностью 1/8b. Отбор сделали элитарным, чтобы не терять хорошие решения. 
Сам алгоритм представляет собой последовательность перечисленных далее шагов. 
1. Случайным образом генерируется нулевая популяция заданного размера. 
2. Выполняется оценка каждой особи популяции. 
3. Создается новая популяция, и в нее переносятся N лучших особей из предыдущей. 
4. Случайным образом выбираются две разции ГА, и большинство из них оперируют бинарными генами. В рассматриваемой задаче 
параметры представляют собой числа с плавающей точкой, поэтому требовалось найти метод кодирования набора чисел с плавающей 
точкой в бинарные хромосомы. В качестве 
языка программирования использован Python3, 
стандартные методы битового кодирования в 
котором привязаны к количеству байт на число 
(1, 2, 4 или 8). Алгоритм позволяет производить поиск оптимальных значений в заданном 
интервале, прямое кодирование чисел в биты 
приведет как минимум к тому, что не все эти 
биты будут задействованы.  
С другой стороны, можно представить инные особи из предыдущей популяции. Выбор 
осуществляется с помощью модуля случайного 
значения, полученного из нормального распределения, с математическим ожиданием в 0  
и среднеквадратичным отклонением в 30 %  
от размера популяции. 
5. С вероятностью P1 выполняется двухточечный кроссинговер. 
6. Выбранные ранее или полученные после 
скрещивания особи добавляются в новую популяцию. 
7. Повторяются шаги 4–6 до тех пор, пока 
тервал значений параметра как линейку, на  
которой будет столько делений, сколько мы 
сможем закодировать в выбранное число байт. 
Таким образом, было принято решение о преобразовании всех дробных чисел в целые, описывающие номер деления на этой виртуальной 
линейке: 
b
 
размер новой популяции не будет равен заданному размеру. 
8
2
,
(
min) (max min)
i
v


=
−


−


8. Для всех особей со 2-й с вероятностью P2 
применяется оператор мутации. 
где i – целое число, характеризующее значение v 
в заданном интервале [min, max]; b – число 
байт в i. 
9. Выполняется оценка всех особей. 
10. Повторяются шаги 3–9 столько раз, 
Обратное преобразование: 
сколько поколений было задано при запуске. 
11. Выбирается лучшая особь в качестве ре8
зультата. 
(max min)
min.
2 b
v
i
−
=
+
 
Подбор оптимальных параметров управПосле данного преобразования получаем 
ления. В качестве цели были выставлены значения, полученные из машинного зрения (рис. 2). 
хромосому длиной, равной произведению 
числа параметров на b. Генерация случайной 
 
 
а) 
б) 
Рис. 2. Результат работы машинного зрения: а) вид объекта из телекамеры;  
б) результат ответа на запрос к модулю машинного зрения 
 
Fig. 2. Machine vision result: a) an object from a web-camera;  
б) the result of a query response to the machine vision module 
 
 
 
305 


Программные продукты и системы / Software & Systems  
 
 
 
 
 
 
 
 
 
 
 
 
 
  37(3), 2024 
дущем этапе. В качестве размера интервала выступило удвоенное значение соответствующего параметра. 
При каждом выполнении функции проОшибки вычисляются следующим образом: 
errz = 0.5 – width, 
errx = 0.44 – x, 
erry = 0.82 – y. 
Для оценки качества коэффициентов в 
верки (функции пригодности) производилась 
запись проверяемых коэффициентов и результата проверки для последующего анализа. Значения функции пригодности во времени представлены на рисунке 3 (важно отметить, что 
оценки непригодных решений (когда робот не 
дошел до объекта) на данном графике не отражены). 
 
 
Рис. 3. Значения функции пригодности  
во времени 
 
Fig. 3. Fitness function values in time 
О том, что значения коэффициентов схоREST API манипулятора были добавлены новые Action и Service [9] с одинаковым именем 
checkcoeffs. Action принимает в качестве параметров восемь значений коэффициентов. Работа Action повторяет работу Action захвата 
объекта до момента захвата, то есть робот итеративно движется к объекту, но не зажимает 
его захватом, а возвращается в стартовое положение. При вычислении оценки была применена парадигма минимизации ошибки: чем 
меньше значение оценки, тем лучше. Для реализации этого условия во время работы программы проверки коэффициентов идет суммирование ошибки положения объекта по результатам машинного зрения. Оценка вычисляется 
по формуле S = Ʃi=2di((errzi) + (erryi) + (errxi)), где 
di – число шагов с успешной детекцией объекта 
на i-м шаге процедуры. Первый шаг из оценки 
исключен, так как ошибка первого шага зависит от начального положения манипулятора  
и объекта и никак не зависит от проверяемых 
коэффициентов. 
Если в какой-то момент объект выходит из 
дятся, можно судить по графикам изменения 
значений коэффициентов (http://www.swsys.ru/ 
uploaded/image/2024-3/1.jpg). 
 
Результаты экспериментов 
 
Поскольку функция оценки качества выбора коэффициентов зависит от множества 
случайных факторов, было произведено по 30 
запусков для коэффициентов, подобранных 
вручную, и коэффициентов, полученных с помощью ГА. Результаты распределения значений представлены на рисунках 4 и 5. 
С новыми коэффициентами манипулятор 
поля зрения телекамеры, ошибка приравнивается к постоянному, заведомо большому значению. Объект может выйти из поля зрения телекамеры на первом же шаге, а может и через некоторое ненулевое количество шагов. Если 
придется выбирать из плохих решений, очевидно, что, чем больше шагов робот сделает до 
потери объекта из поля зрения, тем лучше. Поэтому финальное значение ошибки неудачного 
захвата объекта вычисляется как постоянное 
заведомо большое значение за вычетом числа 
шагов с успешно обнаруженным объектом. 
Также было принято решение ограничить 
число шагов до 100. 
Проверка коэффициентов осуществляется 
стал быстрее достигать объекта. Для достижения цели при использовании эмпирически подобранных коэффициентов в среднем требуется около 40 шагов, при использовании коэффициентов ГА – около 10. 
 
полностью на стороне робота. Для получения 
значения оценки используется запрос информации из Service checkcoeffs. Ответ в поле data 
содержит число с плавающей точкой. 
Для подбора параметров был запущен опиАнализ результатов 
 
Проведенные эксперименты показали, что 
санный выше ГА со следующими параметрами: размер популяции – 80, вероятность  
мутации особи – 0.1, вероятность скрещива- 
ния – 0.5, элитарная часть – 10 %, число поколений – 15. 
Диапазоны параметров выбраны на основе 
манипулятор достигает цели значительно 
быстрее, количество шагов, необходимых для 
захвата объекта, сократилось примерно в четыре раза. Значения отклонений от цели сходятся равномернее без резких скачков в сто- 
значений, подобранных эмпирически на преды- 
 
306