В современных роботах в качестве управляющих систем используют средства вычислительной техники. В связи с гигантским объемом информации, поступающей как от оператора, так и от системы очувствления, которую необходимо переработать для создания программы движений и действий робота — системы с большим числом степеней свободы, — при создании управляющих систем возникает проблема реального времени. Это значит, что вычислительная техника даже при возросшем за последние годы быстродействии не успевает справиться с поставленными задачами и зачастую сдерживает темп движений робота. Проблема усугубляется еще и тем, что для качественного выполнения быстрых движений программирование часто ведется на основе расчетов по математической модели робота, т. е. применяется так называемое аналитическое программирование [22]. При этом также решается ряд вспомогательных задач, связанных, например, с необходимостью компенсировать различные погрешности механической системы робота, обусловленные неточностью изготовления его звеньев и регулировок узлов.
Формирование программы управления движениями и действиями робота производится на верхнем уровне II (см. рис. 2.8) системы управления на основе информации, полученной от оператора путем указания цели или обучения (блок 5) и от систем очувствления, регистрирующих состояние внешней среды (блок 6). При аналитическом программировании на базе созданной модели и поставленной оператором цели в блоке 7 формируется и запоминается последовательность действий и план движений робота. При этом осуществляются необходимые проверки на достижимость цели, исходя
из свойств модели, отражающих внутренние (ограничения на подвижность звеньев) и внешние ограничения (препятствия в зоне действия робота, скорости перемещения объектов, готовность оборудования к обслуживанию и др.). Полученная на этом этапе программа представляет собой набор координат позиций в рабочем пространстве робота с указанием времени перехода из точки в точку и времени выстоя в этих точках, состояния захвата (сжат, разжат), перечня команд, выдаваемых на обслуживаемое оборудование и т. д. На следующем этапе (блок 8) грубо задается траектория перемещений из позиции в позицию путем назначения промежуточных базовых точек — узлов интерполяции [23]. Эти точки выбирают, исходя из допустимой погрешности аппроксимации, диктуемой технологическими условиями с учетом заложенного в систему алгоритма интерполяции. Если технологические условия полностью не определяют траекторию и законы движения, то имеющаяся неопределенность должна быть разрешена путем "волевого" назначения закона движения (например, по отрезкам прямых).
В связи с тем, что базовые точки определены в декартовых координатах, в системе управления решается так называемая обратная задача (блок 9) — перевод в обобщенные координаты исполнительной системы робота. Время решения этой задачи зависит от того, можно ли, решая систему трансцендентных уравнений, получить формулы пересчета в явном виде, что в свою очередь определяется структурой скелета руки [18]. Этот факт следует учитывать при выборе структуры руки. Другая особенность этой задачи заключается в неоднозначности решения, которая разрешается в настоящее время на уровне эвристических соображений, например, исходя из конфигурации руки в предыдущей базовой точке.
Преобразование совокупности базовых точек в конечную программу движения в функции времени осуществляется посредством блока 10, реализующего некоторый заложенный в него алгоритм интерполяции. В этом алгоритме учтены требуемые законы разгона и торможения, а также условия "гладкости" законов движения в базовых точках. В настоящее время для интерполяции траекторий используют степенные функции времени (сплайны различных порядков) с учетом скорости и ускорения в начале интерполируемого участка [9]. Синтезированная таким образом программа при необходимости корректируется (блок 12) и передается на нижний уровень I для отработки после преобразования координат (блок 13) двигателями.