ГОСТ Р 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