allgosts.ru25. МАШИНОСТРОЕНИЕ25.040. Промышленные автоматизированные системы

ГОСТ Р 60.0.7.1-2016 Роботы и робототехнические устройства. Методы программирования и взаимодействия с оператором

Обозначение:
ГОСТ Р 60.0.7.1-2016
Наименование:
Роботы и робототехнические устройства. Методы программирования и взаимодействия с оператором
Статус:
Действует
Дата введения:
01/01/2018
Дата отмены:
-
Заменен на:
-
Код ОКС:
25.040.30

Текст ГОСТ Р 60.0.7.1-2016 Роботы и робототехнические устройства. Методы программирования и взаимодействия с оператором



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТР

60.0.7.1—

2016

РОБОТЫ И РОБОТОТЕХНИЧЕСКИЕ УСТРОЙСТВА

Методы программирования и взаимодействия с оператором

Издание официальное

Москве

Стакдартимформ

2016

ГОСТ Р 60.0.7.1—2016

Предисловие

1    РАЗРАБОТАН Федеральным государственным автономным научным учреждением «Центральный научно-исследовательский и опьтно-конструкторский институт робототехники и технической кибернетики» (ЦНИИ РТК) совместно с Институтом прикладной математики им. М.В. Келдыша РАН

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 459 «Информационная поддержка жизненного цикла изделий»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 ноября 2016 г. No 1845-ст

4    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. АЛ? 162-ФЗ «О стандартизации е Российской Федерации». Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты». а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет ()

©Стандартинформ. 2016

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

И

ГОСТ Р 60.0.7.1—2016

Содержание

1    Область применения..................................................................................................................................

2    Нормативные ссылки..................................................................................................................................

3    Термины и определения.............................................................................................................................

4    Классификация систем программирования.............................................................................................

4.1    Общие положения................................................................................................................................

4.2    Этапы исполнения программы управления функционированием робота.......................................

4.3    Классификационные признаки применяемых программных технологий........................................

4.4    Система императивного программирования......................................................................................

4.5    Система декларативного программирования....................................................................................

4.6    Методы построения программ.............................................................................................................

5    Методы программирования роботов, уровни абстракции.......................................................................

5.1    Общие положения................................................................................................................................

5.2    Уровень программируемой логики......................................................................................................

5.3    Низкий уровень процессора а робота.................................................................................................

5.4    Высокий уровень процессора и робота..............................................................................................

6    Методы взаимодействия оператора с роботом........................................................................................

6.1    Общие положения................................................................................................................................

6.2    Взаимодействие с использованием задающих устройств................................................................

6.3    Звуковое взаимодействие...................................................................................................................

6.4    Визуальное взаимодействие...............................................................................................................

6.5    Взаимодействие через церебральные интерфейсы.........................................................................

6.6    Взаимодействие, использующее иные биометрические показатели...............................................

6.7    Комплексное взаимодействие.............................................................................................................

7    Организация взаимодействия программного обеспечения и исполнительных механизмов роботов,

включая организацию параллельных вычислений..................................................................................

7.1    Способы программирования распределенных систем.....................................................................

7.2    Протоколы взаимодействия...............................................................................................................

Библиография...............................................................................................................................................

1

1

2

5

5

5

6

. 9 . 9 . 9 . 9

. 9 . 9 10 11

(ОПОСОСЬСОСОЧЧЧФО)

ГОСТ Р 60.0.7.1—2016

Введение

Стандарты комплекса ГОСТ Р 60 распространяются на роботы и робототехнические устройства. Их целью является повышение интероперабельности роботов и их компонентов, а также снижение за* трат на их разработку, производство и обслуживание за счет стандартизации и унификации процессов, интерфейсов и параметров.

Стандарты комплекса ГОСТ Р 60 представляют собой совокупность отдельно издаваемых стан* дартов. Стандарты данного комплекса относятся к одной из следующих тематических групп: «Общие положения, основные понятия, термины и определения». «Технические и эксплуатационные характер»* стихи». «Безопасность», «виды и методы испытаний». «Механические интерфейсы». «Электрические интерфейсы». «Коммуникационные интерфейсы», «Методы программирования». «Методы построения траектории движения (навигация)», «Конструктивные элементы». Стандарты любой тематической группы могут относиться как ко всем роботам и робототехническим устройствам, так и к отдельным группам объ* ектое стандартизации — промышленным роботам в целом, промышленным манипуляционным роботам, промышленным транспортным роботам, сервисным роботам в целом, сервисным манипуляционным роботам и сервисным мобильным роботам.

Настоящий стандарт относится к тематической группе «Методы программирования» и распространяется на все роботы и робототехнические устройства.

IV

ГОСТ Р 60.0.7.1—2016

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

РОБОТЫ И РОБОТОТЕХНИЧЕСКИЕ УСТРОЙСТВА Методы программирования и взаимодействия с оператором

Robots and robotic devices. Techniques for programming and operator interaction

Дата введения — 2018—01—01

1    Область применения

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

Требования настоящего стандарта распространяются на системы программирования и взаимодействия с оператором промышленны< и сервисных (в том числе медицинских, домашних, инспекционных, учебных и т.л.) роботов и робототе<нических устройств.

В настоящем стандарте термин «робот» относится, как к роботам (3.1). таки к робототехническим устройствам (3.2). если иное не оговорено особо.

2    Нормативные ссылки

В настоящем стандарте испотьэованы нормативные ссылки на следующие стандарты:

ГОСТ 19.005—85 Единая система программной документации. P-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения

ГОСТ 34.321—96 Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными

ГОСТ 19781—90 Обеспечение систем обработки информации программное. Термины и определения

ГОСТ 20000—OG Организация данных в системах обработки данных. Термины и определения

ГОСТ 28397—89 Языки программирования. Термины и определения

ГОСТ Р 60.0.0.1—2016 Роботы и робототехнические устройства. Общие положения

Примечание — При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов (сводов правил и/или классификаторов) а информационной система общего пользования — на официальном сайге Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется испогъзовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.

Издание официальное

1

ГОСТ Р 60.0.7.1—2016

3 Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями:

3.1 _

робот (robot): Исполнительное устройство с двумя или более программируемыми степенями под* еижности. обладающее определенным уровнем автономности и способное перемещаться во внешней среде с целью выполнения поставленных задач.

[1]. (пункт 2.6)

3.2 _

робототехническое устройство (robotic device): Исполнительное устройство, обладающее свойствами промышленного или сервисного робота, но у которого отсутствует требуемое число программируемых степеней подвижности или определенный уровень автономности.

(1). [пункт 2.8]_

3.3

степень подвижности (axis): Управляемая координата, используемая для определения вращательного или поступательного движения робота.

[1], [пункт 4.3]_

3.4

автономность (autonomy) Способность выполнять поставленные задачи в зависимости от текущею состояния и восприятия окружающей среды без вмешательства человека.

[1), [пункт 2.2]

3.5

промышленный робот (industrial robot): Автоматически управляемый, перепрограммируемый манипулятор. программируемый по трем или более степеням подвижности, который может быть установлен стационарно или на мобильной платформе для применения в целях промышленной автоматизации.

[1]. [пункт 2.9]

з!ё

сервисный робот (service robul). PuCoi, выполняющий нужную дли человека или обирудиванин работу, за исключением применений в целях промышленной автоматизации.

[1]. [пункт 2.10]

3.7

манипулятор (manipulator) Устройство, механизм которого обычно состоит из нескольких звеньев, вращающихся или перемещающихся поступательно друг относительно друга с целью взятия и/или перемещения объектов (детагей или инструмента), как правило, по нескольким степеням свободы.

[1], [пункт 2.1]

З.в_

степень свободы (degree of freedom): Одна из координат, максимальное число которых — 6. необходимых для определение движения тела в пространстве.

[1]. [пункт 4.4]

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

2

ГОСТ Р 60.0.7.1—2016

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

3.9

мобильный робот (mobile robot): Робот, способный передвигаться под своим собственным управлением.

Щ, [пункт 2.13)_

3.10    транспортный робот (transport robot): Мобильный робот, предназначенный для перемещения на своей платформе физических объектов.

3.11 _

язык программирования (programming language): Язык, предназначенный для представления программ.

Примечание — К традиционным языкам программирования процедурного типа относят, как правило, языки для представления программ в виде последовательности предписания.

[ГОСТ 28397—89. таблица 1. пункт 1 ]

Примечание — В настоящем стандарте используется расширение данного термина а форме «язык программирования компьютера» для того, чтобы отличать его от 3.12.

3.12    язык программирования действий робота (robot activity programming language): Язык, пред* назначенный для представления пэограмм функционирования робота.

Примечания

1    Компьютерная реализация операторов языка программирования действий робота осуществляется с помощью языков программирования компьютера (3.11).

2    Языки программирования действий робота позволяют определять последовательность действий робота в терминах координат, траекторий, выполняемых задач, сенсорных данных, реакций на внешние воздействия и т.п.

3.13    компьютерная система робота (robot computerized system): Комплекс аппаратно-программных средств, включающих в себя компьютеры, микропроцессоры и другие вычислительные устройства, снабженные соответствующим прсграммным обеспечением и управляющие роботом и/или обрабатывающий пам пор му ю информацию

3.14    реализация языка программирования (programming language implementation): Программноаппаратные средства, обеспечивающие работу компьютерной системы робота согласно тому или иному стандарту языка программирования.

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

3.15    парадигма программирования (programming paradigm): Реализуемая языком программирования модель вычислений.

Примечание — Язык программирования может одновременно поддерживать несколько моделей вычислений.

3.16

трансляция программы (program translation): Преобразование программы, представленной на одном языке программирования, г программу на другом языке и в определенном смысле равносильную первой.

[ГОСТ 19781 —90, таблица 1. пункт 50]

3

ГОСТ Р 60.0.7.1—2016

3.17 _

транслятор (translator): Программа или техническое средство, выполняющие трансляцию про* граммы.

(ГОСТ 19781—90. таблица 1. пункт 38)

3.18

компиляция программы; program compilation): Трансляция программы с языка высокого уровня в форму, близкую к программе на машинном языке.

(ГОСТ 19781—90. таблица 1. пункт 51)

3.19

компилятор (оотрйег): Программа или техническое средство, выполняющие компиляцию про* граммы.

[ГОСТ 19781—90. таблица 1. пункт 40)

3.20

интерпретация программы (program interpretation): Реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.

[ГОСТ 19781—90. таблица4, пункт 1)

3.21

интерпретатор (interpreter): Программа или техническое средство, выполняющие интерпретацию программы.

[ГОСТ 19781—90. таблица 1, пункт 43)

3.22    императивное программирование (imperative programming): Парадигма программирования, которая описывает действия надданными, выражающимися в терминах последовательностей команд.

3.23    декларативное программирование (declarative programming): Парадигма программирования, которая описывает действия надданными в виде выражения определений.

3.24

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

[ГОСТ 19781—90. таблица 1. пункт 46)

3.25

параллельные процессы (parallel processes): Процессы обработки данных, у которых интервалы времени выполнения перекрываются за счет использования различных ресурсоводной и той же системы.

[ГОСТ 19781—90. таблица 1. пункт 85}

3.26

система программирования (programming system): Система, образуемая языком программирования. компиляторами или интерпретаторами программ, представленных на этом языке соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.

[ГОСТ 19781—90. таблица 1. пункт 21)

4

ГОСТ Р 60.0.7.1—2016

3.27 _

распределенная информационная система (distributed information system): Информационная система, объекты данных и/или процессы которой физически распределяются на две или более компьютерные системы.

(ГОСТ 34.321—96. пункт 2.40)

3.28    актор (actor): Отображение в программе сенсора или мехатронного устройства, входящего в состав робота, в виде вычислительной сущности, обменивающейся сообщениями по гибким протоколам в рамках распределенной информационной системы.

3.29    объект программного управления (program control object): Совокупность исполнительных устройств и сенсоров, составляющих робот, объединенных компьютерной системой и осуществляющих управление степенями подвижности механической системы.

3.30 _

сетевая структура (network structure): Множество, частично упорядоченное так. что по крайней мере для некоторых элементов множества существует более одного предшествующего.

(ГОСТ 20886—85. приложение, пункт 4]

3.31 _

иерархическая структура (I) ter arch tea I structure): Множество, частично упорядоченное так. что существует ровно один элемент этого множества, не имеющий предшествующего, а все остальные элементы имеют ровно один предшествующий.

(ГОСТ 20886—85. приложение, пункт 5]

3.32 _

объектно-ориентированное программирование; ООП (object-oriented programming): Метод построения программ как совокупностей объектов и классов объектов, которые могут вызывать друг друга для выбора и выполнения операций.

Примечание — Объекты состоят из данных и операций над данными.

(ГОСТ 19781—90, таблица 1. пункт 47)

4 Классификация систем программирования

4.1    Общие положения

Программные сенсорные и управляющие системы роботов различают по методам программирования на разных уровнях абстракции (см. 5). по методам взаимодействия с оператором (см. 6), по способам организации программного обеспечения и объектов программного управления (см. 7), по функциональному назначению (см. 8). Данные системы роботов имеют общие классификационные признаки по разделению по времени на этапы исполнения (см. 4.2) и по применяемым программным технологиям (см. 4.3).

4.2    Этапы исполнения программы управления функционированием робота

Программные системы роботов функционируют в трех основных режимах:

-    инициализация работы:

•    выполнение основного цикла:

•    завершение работы.

Этап инициализации работы включает в себя:

•    включение основных компонент робота;

-    самотестирование и диагностику с информированием оператора об обнаруженных ошибках;

•    переход в стартовое состояние программной системы и механических компонент робота.

Этап выполнения основного цикла включает в себя:

•    формирование программного управления на основе периодически изменяемой цели работы и/или исполняемой миссии, задаваемых через вышестоящие устройства или от операторов при cynep-ви зорном управлении (т.е. отслеживание программных траекторий в режиме контурного управления.

5

ГОСТ Р 60.0.7.1—2016

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

-    формирование воздействий на исполнительные органы, включая двигатели, манипуляторы, микрофоны. проекционные устройства и т.п.;

-    взаимодействие с исполнительными элементами через драйверы:

•    взаимодействие с датчиками обратной связи (сенсорами) и внесение в память данных от них;

•    фильтрацию и предобработку получаемой информации, в том числе на основе записей из долговременной памяти;

•    мониторинг состояния робота, его компонентов и среды на основе комплексного анализа задач программного управления и показаний датчиков обратной связи;

•    интерпретацию данных го основе дедуктивных или иных процедур.

Этап завершения работы включает в себя:

•    анализ ошибок, полученных в процессе работы, и их запись в долговременную память для последующего анализа;

-    переход в завершающее состояние программкой системы и механических компонентов робота.

4.3    Классификационные признаки применяемых программных технологий

Системы программирования классифицируют по следующим признакам:

1)    по парадигме программирования:

а)    императивное программирование;

б)    декларативное программирование;

в)    структурное программирование;

2)    по наличию встроенных средств параллелиэации:

а)    с параллельными процессами;

б)    без параллельных процессов;

3)    по наличию поддержки технологии объектно-ориентированного программирования (ООП):

а)    с поддержкой ООП;

б)    без поддержки ООП.

Пример — Наиболее распространенными императивными языками программирования общего назначения с различными встроенными возможностями поддержки ООП. в порядке увеличения их выразительных возможностей, являются: Алгол 60. Алгол 68, С, C++. C# и т.д.

4.4    Система императивного программирования

Парадигма императивных языков — описание последовательности действий через наборы последовательных команд, списков координат и т. д., изменяющих состояние робота или программы. Такие языки программирования компьютера общего назначения, как С. Fortran. Pascal и Python, являются типичными представителями данной парадигмы, а программы на них яопяются не нем иным, как последовательностями инструкций. Аналогично устроены и специализированные языки программирования действий роботов, например язык KRL, разработанный фирмой КиКАдля своих роботов.

В низкоуровневых языках программирования компьютера (например. Ассемблер) состоянием могут быть память, регистры и флаги, а инструкциями — команды, которые поддерживает целевой процессор. В языках более высокого уровня (С. Fortran . Pascal) появились переменные, а инструкции представляют комплексные операции, занимающие сотни строк на языке Ассемблера. В современных высокоуровневых языках программирования компьютера (Python. С#. Lisp) манипулировать разрешается лишь переменными. Как правило, в таких языках (императивные, общего назначения) часто используются оператор присваивания и переменные, что затрудняет отладку программ и приводит к возникновению специфических ошибок. Однако такие языки оказываются значительно ближе декларативных к внутренней архитектуре процессоров, за счет чего средства разработки для них появились раньше и организованы они прсще.

4.5    Система декларативного программирования

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

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

6

ГОСТ Р 60.0.7.1—2016

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

Описанные выше подходы могут использоваться одновременно, например язык Ассемблера —для программирования микроконтроллеров робота, язык С — для создания программного обеспечения бортового компьютера и язык Prolog — для построения системы принятия решений.

4.6 Методы построения преграмм

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

4.6.1    Структурное программирование

Структурное программирование (по ГОСТ 19761) представляет метод построения программ, использующий только иерархически вложенные конструкции, каждая из которых имеет единственную точку входа и единственную точку выхода. В структурном программировании используются три вида структур, связанных с передачей управления: последовательная, условного перехода и циклическая.

4.6.2    Объектно-ориентированное программирование

Объектноориентированное программирование (по ГОСТ 19781) представляет метод построения программ в виде совокупности объектов и классов объектов, которые могут вызывать друг друга для выбора и выполнения операций.

Примечание — Объекты состоят из данных и операций над данными.

4.6.3    Агентно-ориентированное программирование

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

4.6.4    Компонентно-ориентиэованное программирование

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

4.6.5    Обобщенное программирование

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

4.6.6    Графическая система P-технологии программирования

Графическая система P-технологии программирования по ГОСТ 19.005 представляет программу в виде Р-схемы — нагруженного по дугам ориентированного графа, изображаемого с помощью вертикальных и горизонтальных линий и состоящего из структур (подграфов), каждая из которых имеет только один вход и один выход. Данная методология является расширением структурного программирования на двумерное пространство.

5 Методы программирования роботов, уровни абстракции

5.1 Общие положения

Конечным результатом исполнения программы роботом является изменение его пространственных или информационных параметров

Программирование может бьть осуществлено на следующих уровнях абстракции:

- уровень программируемой логики (наиболее низкий уровень абстракции):

•    низкий уровень процессора (микропроцессора) или робота:

•    высокий уровень процессора или робота.

7

ГОСТ Р 60.0.7.1—2016

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

5.2    Уровень программируемой логики

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

5.3    Низкий уровень процессора и робота

Программирование на низком уровне универсального или специализированного процессора осуществляется на языке Ассемблера или макроязыке.

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

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

5.4    Высокий уровень процессора и робота

Программирование на высоком уровне процессора осуществляется с использованием языков императивного или декларативного программирования, таких как С. Fortran. Pascal. Python. С#. Lisp, Prolog и другие.

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

•    жесткой последовательности движений:

•    задание последовательности движений в зависимости от данных, получаемых от сенсорной системы или от аппаратных устройств типа управляющих панелей или джойстиков;

•    задание последовательности действий в терминах решаемых задач.

Примерами языков программирования действий робота высокого уровня являются RAPID (ABB. Швеция). PDL2 (Comau, Италия), Karel (Fanuc. Япония). AS (Kawasaki. Япония). KRL (KUKA. Германия), Inform (Yaskawa. Япония) и др.

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

6 Методы взаимодействия оператора с роботом

6.1    Общие положения

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

6.2    взаимодействие с использованием задающих устройств

Данный метод взаимодействия осуществляется с помощью:

- кинематически подобных задающих манипуляторов:

•    джойстиков;

8

ГОСТ Р 60.0.7.1—2016

•    кнопок/тумблеров;

•    устройств ввода информации в компьютер;

•    педалей;

•    силомоментной обратной связи.

6.3    Звуковое взаимодействие

Данный метод взаимодействия осуществляется с помощью:

•    звуковых сигналов;

•    речевых команд:

•    синтеза речи;

•    распознавания речевых команд.

6.4    Визуальное взаимодействие

Данный метод взаимодействия осуществляется с помощью:

•    жестов;

•    визуальных сигналов;

•    распознавания выражения лица (мимики);

•    положения глазных яблок;

•    отображения действий робота на экране монитора через графический интерфейс пользователя (GUI).

6.5    Взаимодействие через церебральные интерфейсы

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

6.6    Взаимодействие, использующее иные биометрические показатели

К иным биометрическим показателям относятся:

•    электрическое напряжение в мышцах человека:

-    удельная электрическая еикость кожи человека;

•    проводимость кожи (миогрвммы).

6.7    Комплексное взаимодействие

Данный метод взаимодействия основывается на одновременном использовании разных взаимодействий. например:

-    элементы эмоционального коммуникативного поведения;

-    мультимодальные интерфейсы.

7 Организация взаимодействия программного обеспечения и исполнительных

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

7.1 Способы программирования распределенных систем

Сетевое взаимодействие строится на основе задания основных видов топологии сети:

•    без заданной топологии — программно регистрируется единственный робот;

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

•    с иерархической топологией — роботы объединены в иерархическую структуру в виде дерева;

•    с графовой топологией — роботы объединены в графовую структуру.

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

Каждый сенсор и устройство, а также робот в целом отображаются в программе актора. Актор является вычислительной сущностью, которая в ответ на полученное сообщение может одновременно:

-    отправить конечное число сообщений другим акторам:

9

ГОСТ Р 60.0.7.1—2016

- создать конечное число новых акторов;

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

выполняться параллельно.

7.2 Протоколы взаимодействия

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

•    метку времени.

•    данные об исполняемой роботом команде или группе команд.

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

При этом программная силема может быть организована с параллельными вычислениями. Параллелизм может быть и неявным.

На уровне языков программирования поддержку параллелизма реализуют следующими способами:

•    на уровне операционной системы: потоки и процессы:

•    на уровне языка: библиотеки, например pthread. MPI;

•    на уровне языка: директивы компилятора, например ОрепМР в C++;

•    на уровне языка: парадигма, например реализация модели акторов в Erlang:

•    на уровне алгоритма управления.

10

ГОСТ Р 60.0.7.1—2016

Библиография

(1] ИСО 6373:2012 (ISO 8373:2012)    Роботы и робототехнические системы. Словарь

{Robots and robotic devices — Vocabulary)

11

ГОСТ Р 60.0.7.1—2016

УДК 621.865.8:007.52:62-529:006.354    ОКС 25.040.30    ОКП 38 8600

Ключевые слова: роботы, робо'отехнические устройства, промышленные роботы, сервисные роботы, программирование, языки программирования, методы программирования роботов, взаимодействие робота с оператором

Редактор Q.E. Титов Технический редактор В.Ю. Фотиееа Корректор В.Е. Нестерова Компьютерная верстка АС. Тыртышного

Сдано в набор 06.12.2016. Подписано в печать 23.12.2016. Формат 60 * 64 '/а. Гарнитура Ариап. Уел. »еч. л. 1.86. Уч.-им-л. 1.66. Тира* 27 эхэ Зак. 3260

Подготовлено на осхова электронной версии, предоставленной разработчиком стандарта

Имаио и отпечатан» ао ФГУП «СТЛНДЛРТИНФОРМ». 123995 Москва. Гранатный лер.. 4.