D. Классификация скорости сверла по звуку



AN INTEGRATED SYSTEM FOR AUTONOMOUS ROBOTICS MANIPULATION

University, Pittsburgh, PA, USA.

 

J. Andrew Bagnell, Felipe Cavalcanti, Lei Cui, Thomas Galluzzo, Martial Hebert,

Moslem Kazemi, Matthew Klingensmith, Jacqueline Libby, Tian Yu Liu,

Nancy Pollard, Mihail Pivtoraiko, Jean-Sebastien Valois and Ranqi Zhu

[https://www.ri.cmu.edu/pub_files/2012/10/IROS12_1059_FI.pdf]

 

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

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

Здесь будут описаны подходы 3D восприятия, планирования в реальном времени, движения с управляемой силой и аудио обработка. Будут представлены результаты производительности для хватания предметов и сложных задач манипулирования собственными испытаниями и независимой командой оценки.

 

ВВЕДЕНИЕ

Работа осуществлялась в рамках конкурса DARPA Autonomous Robotic Manipulation–Software track (ARM-S). 6 команд с идентичным оборудованием учувствовали в первой фазе сконцентрированной на проблемах хватания и простого манипулирования. Задача хватания в свою очередь затрагивает такие области, как детектирование, локализация и обычных объектов, как молоток, дрель и пр. Кроме того, объекты маленького размера (относительно размера захвата) сознательно выбраны, чтобы показать ловкость подхода.

Алгоритмы выбирались из расчёта:

1) скорость выполнения алгоритма обеспечивает быстроту реакции на события среды, что влечёт малое изменение планов во время выполнения действий, а, следовательно, позволяет избежать ошибок.

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

 

На вершине головы для восприятия установлена монокулярная цветная камера с высоким разрешением (5 мегапикселей) с фиксированным фокусным расстоянием. Стереопара Bumblebee2 и Времяпролётная камера[1] SR4000 обеспечивают 3D чувствительность. Два конденсаторных микрофона Audio-Technica образуют стереопару, которые действуют как уши на голове. Голова установлена на 4-осевой шее, способной передвигаться, наклоняться и двигаться вперед для позиционирования камер и сенсоров. Прикрепленная к фиксированному торсу рука 7-DOF Barrett WAM с 3-пальцевым захватом. Рука прикреплена к WAM через 3-осевой датчик силы-момента. Ладонь и каждый палец снабжены 24-клеточным датчиком давления.

Рис. 1: Роботехническая манипуляционная платформа.

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

В Группе Разработки роботов Гуманоидов MIT в качестве исследовательской платформы для изучения ловких манипуляций, визуального восприятия и иных учебных задач был разработан сило-чувствительный гуманоид Domo [1]. Основное отличие Domo – в своей руке использует серию эластичных приводов, обеспечивающие естественную силовую согласованность для осторожного взаимодействия с окружающей средой.

Исследователи из UMass Amherst разработали множество робо-платформ для манипуляций, например, UMan [2] и Dexter [3]. Подобно системе в данной статье, UMan и Dexter используют комбинацию рук Barrett и WAM, в которых силовая согласованность суставов обеспечивается по кабелям, она требует активного контроля с помощью точного измерения силы. Наша система реализует ряд активных сило-согласующих действий для захвата и манипулирования объектами [4].

Мобильная платформа с манипулятором HERB, разработанная в лаборатории Personal Robotics в Университете Карнеги-Меллона [5], предназначена для выполнения ежедневных задач, таких как выбор и поднятие объектов. Решаются путем интеграции планирования восприятия и манипуляции, а также с открытым циклом запланированных движений.

Наконец, платформа PR2 для исследований и разработок робо-манипуляций, разработанная в Willow Garage [6], основаная на Robotic Operation System (ROS).

Каждая из существующих платформ концентрирует внимание на каком-то одном аспекте работы автономных роботов-манипуляторов для решения конкретных задач, не занимаясь полномасштабной интеграцией компонентов восприятия, планирования, выполнения движений с силовой согласованностью или выполнения движения по замкнутому контуру[2]. Интеграция методов в нашем дизайне позволяет достигнуть высокого уровня надежности и повторяемости задач, согласно требованиям конкурса DARPA ARM-S.


Дизайн программы

ПО основано на open-source пакетах, используемых в робототехнике повсеместно.

· Robot Operating System (ROS) – межпроцессорное взаимодействие между главными подпрограммами, подпрограммами всех сенсоров и нашим контроллером робота.

· Open Robotics Automation Virtual Environment (OpenRAVE) использовался в первую очередь для хранения представления окружающей среды, частей манипулятора, положения датчиков и остальных моделей сцены.

· OpenWAM – ПО для управления обоими роботическими руками WAM и Барретта.

 

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

Рис. 2. Структура ПО

На верхнем уровне Дерево Поведения управляет выполнением задач путём прямого доступа к классам обработки данных. Структура данных OpenRAVE хранит состояние среды, которое постоянно обновляется из телеметрии, фильтров положения и алгоритмов восприятия. Класс интерфейса робота абстрагирует соединения к различным видам сенсоров, контроллеру шеи и к котроллеру руки OpenWAM. Класс сенсора хранит список изображений для быстрого доступа к ним алгоритму восприятия. И, наконец, GUI предоставляет возможность управления поведением контроллера исполнения действий, визуализации данных и датчиков, вместе с отрисовкой модели робота в OpenRAVE.

Типичные окна интерфейса показаны на рис. 3.

Рис. 3: Окна GUI: a) Графический 3D-render OpenRAVE; b) Визуализация и выполнение поведения; c) Изображения с камеры головы; d) Принтер данных с остальных сенсоров.

 

A. The Behaviors Architecture for Robotic Tasks (BART)
«Поведенческая Архитектура Робототехнических Задач»

Для разработки системы требовался метод организации выполнения задач. Учитывая сложность задачи и необходимость корректировки планов, было внедрено Дерево Поведения [7] – это язык графического моделирования в сфере разработки ПО, оно облегчает представление организованных элементов в системах крупных масштабов; идеальный инструмент для составления решения сложных задач манипуляции из примитивов с ограниченными возможностями. Это понятие является основой данной «Поведенческой Архитектуры Робототехнических Задач». Деревом Поведения является иерархическая структура, узлами которого выступают поведения. Поведение – это простая функция первого класса[3], которая не принимает ничего за вход и возвращает логическое значение успеха. Каждое поведение отвечает за выполнение некоторых действий или проверки некоторых условий в системе. Самый низкий уровень дерева состоит из листовых поведений, которые связывают дерево с роботизированной системой, обеспечивают механизм прямого интерфейса, который позволяет передавать информацию обратной связи в дерево и выводить данные из дерева. Составные поведения формируют более высокие уровни дерева. Они включают в себя как поведение листьев, так и поведения нижних уровней. Роль составных поведений – структурировать порядок выполнения более простых поведений. Например, некоторые составные поведения могут последовательно выполнять поведения нижних уровней, а другие могут выполнять некоторые из тех поведений параллельно.

Деревья Поведения обеспечивают масштабируемый способ организации логики и выполнения любого процесса. Основное различие между типичным языком программирования и деревом поведения в том, что дерево – динамический объект, а не статичный код. Следовательно, можно строить и реструктурировать исполнение программы во время выполнения, а не во время компиляции. Добавление интроспекции[4] в реальном времени облегчает разработку, предоставляя способ наблюдать за тем, что система выполняет в любое время. Видя, какие действия выполняются, которые завершились успешно, а которые завершить не удались, можно быстро определить, как осуществить главную общую задачу.

Другим преимуществом является возможность реализовывать алгоритмы, которые изменяют древовидную структуру в режиме онлайн, чтобы изменить способ работы системы. Например, система может автоматически планировать или изучать последовательности действий, которые улучшают или оптимизируют выполнение определенной задачи [8].

Другие архитектурные библиотеки, такие как SMACH [9], используют иерархические автоматы для организации сложных робототехнических задач.

Однако есть очевидные преимущества Деревьев Поведения над автоматами (State Machine). Основное преимущество заключается в том, что каждое отдельное поведение может быть легко использовано повторно в контексте поведения на более высоком уровне без необходимости указывать, как они соотносятся с последующим поведением. Выполнение поведения определяется контекстом родительского поведения. Напротив, состояние в иерархических автоматах (Hierarchical State Machines (HSM)) требует определения переходов для последующих состояний и поэтому поведение должно быть переопределено новыми переходами при использовании в другом контексте. Простота повторного использования была основной причиной того, что были выбраны Деревья Поведения, а не HSM для выполнения задачи. Деревья Поведения также стали популярными в индустрии разработки игр [10]. В первую очередь они использовались в качестве альтернативы существующим игровым системам ИИ, которые ранее были реализованы конечными автоматами (FSM) и, в частности, HSM [11].

Типы поведения: Дерево Поведения в BART реализовано как двоичное дерево принятия решений. Каждое составное поведение может содержать только два дочерних поведения, которые выполняются в соответствии с двоичным логическим оператором родителя. Существуют два типа составных поведений:

· последовательный (&& - каждое последующее поведение только после успешного завершения предыдущего);

· выборочный (|| - последующие поведения выполняются пока хоть одно поведение не завершиться с успехом, иначе сбой).

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

Также есть неукороченные версии логических операторов и/или, которые выполняют все дочерние поведения, и возвращают полный логический результат успеха или неудачи.

BART поддерживает декораторы поведения. Эти декораторы могут обернуть любое существующее поведение дополнительными функциями. Например, можно применить декоратор Loop к поведению, чтобы повторять его определенное количество раз или до тех пор, пока оно не удастся. Другой пример, декоратор Logging или Announce применяется для хранения или распечатки информации отладки по мере выполнения Дерева Поведения.

3 строки кода из задачи захвата лопаты.

1 Announce(Behavior(findHammer), ”Search for Hammer”) * Behavior(moveToWing); 2 Loop(findHammerAndReadyArm) && Behavior(planGrasp) && Announce(Behavior(graspHammer), ”Caution, moving arm”); 3 findAndGraspHammer.execute();

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

 

B. Подсистема восприятия

Задачи автономного манипулирования требуют идентификацию и локализацию объектов в рабочем пространстве. Эта информация необходима для планирования движения, определения местоположений цели захвата и для обхода преград.

1) Идентификацию и локализацию объектов. ПО восприятия состоит из 3х слоёв: обнаружение, верификация и локализация. На этапе обнаружения шейные приводы перемещают датчики для осмотра рабочего пространства. Обособленные 3D-облака точек сшиваются и анализируются, чтобы отделить фоновый стол из потенциальных объектов-кандидатов. Алгоритм определения и приведения плоскостей с использованием метода фильтрации RANSAC [12] используется для выделения точек, принадлежащих столу, среди других, принадлежащих объектным кандидатам. Точки объекта-кандидата затем группируются в компоненты, связанные с изображением. Группы, имеющие области, близкие известным объектам, хранятся для дальнейшего анализа. Список местоположений средних точек отфильтрованных кластеров будет обрабатываться на следующем этапе верификации. Во время него каждый кандидат повторно передискретизируется после изменения фокуса датчика на его предполагаемое расположение, и процесс обнаружения повторяется. Центральная линия откалиброванной камеры совмещается с кандидатом, для этого вычисляется обратная кинематика углов поворота и наклона шеи. Это выравнивание минимизирует эффекты искажения датчика и помогает гарантировать, что объект будет полностью содержаться в поле зрения. После выравнивания процесс вычитания фона повторяется и, если оставшийся размер кластера все еще находится в соответствующем диапазоне размеров, кандидат объекта считается «проверенным», и выполняется следующий шаг – локализация.

Локализация известных объектов проводится путём сопоставления наблюдаемых данных с их грубыми трехмерными геометрическими шаблонами, которые генерируются априори. Шаблоны охватывают ожидаемые ориентации объекта с разбросом угла от 5 до 10 градусов. Сходство шаблона и наблюдаемого объекта определяется путём разделения изображения на регионы и сравнения информации о глубине в них. Результатом является ожидаемое положение объекта и оценка «качества» совпадения, она позволяет проверить, что идентифицирован нужный объект и идентифицировано его местоположение. После грубой оценки локализованная поза уточняется с помощью алгоритма Iterative Closest Point[5] (ICP) с ограниченным углом обзора, который отображает точки 3D модели в наблюдаемые данные. Число точек 3D модели уменьшается, чтобы в уточнение были включены только точки, видимые с оценённого угла обзора камеры. Это устраняет влияние отклонений модели и выборки, ухудшающих регрессию позиций. Если есть несколько кандидатов на объект, то в качестве решения принимается поза с наилучшей оценкой «качества». На рис. 4 представлена последовательность работы локализации.

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

 

Рис. 4. Конвейер локализации объекта восприятия.

 

C. Слежение за рукой

Слежение за рукой необходимо для уменьшения ошибок, возникающих из-за неточностей определения положения сочленений WAM. Наш подход состоит использовании метода обнаружения края, который основан на алгоритме RAPiD [13]. Устойчивость метода была улучшена с помощью нескольких модификаций. Во-первых, расширенный алгоритм использует оба изображения со стерео-камеры, согласовывая края на обоих. Во-вторых, расширенный алгоритм несколькими итерациями перепроецирования (в режиме отслеживания) уменьшает неопределенность положения края. В-третьих, алгоритм запускается несколько раз для каждого кадра с набором семян из исходных позиций кандидата, чтобы избежать локальных минимумов. Из этих семян мы выбираем наилучшее совпадение согласно классификации линейной регрессией, обученной методом помеченных сходимостей (labeled convergences)[6]. В настоящее время наша система отслеживания руки работает со скоростью 4 кадра в секунду (fps) и достигает точности оценки позы 5 мм и 3 градуса. На рисунке 5 мы резюмируем этот процесс на блок-схеме.

Рис. 5. Диаграмма метода отслеживания руки робота.

 

D. Классификация скорости сверла по звуку

Стерео-микрофон на голове классифицирует звуки, которые рука может вызвать при взаимодействии с объектами во время различных задач. Это знание дает обратную связь, чтобы помочь с успешным выполнением задачи. Например, анализ звука может быть использован для определения того, был ли нажат триггер электрического дрели полностью или нет. Следовательно, скорость сверла напрямую коррелирует с тем, насколько далеко рычаг сверления нажат пальцами. Легче услышать скорость сверления, вместо того, чтобы пытаться увидеть положение пальца камерой или почувствовать положение пальца с датчиком давления. Мы определяем 3 скорости сверла: низкая, средняя и высокая. Это позволяет классифицировать звук сверла в один из трех классов. Задача включения дрели выполнена только тогда, если звук попадает в класс высокой скорости. Последовательность классификации звука изображена на рис.6. Необработанный сигнал отбирается с частотой 44,1 кГц с 16-битным словом. Затем оцифрованный сигнал разбивается на короткие окна длиной около 0,5 секунды. БПФ (FFT)[7] используется для преобразования каждого окна в частотную область, а затем различные векторы признаков извлекаются как из частотной области, так и из исходной временной области. Векторы признаков из правой и левой стереопары усредняются вместе. Эти векторы затем используются как входы в несколько 2х-классовые классификаторы Support Vector Machines (SVM)[8], по одной для каждой пары классов. Затем двоичные выходы SVM объединяются в многоклассовый классификатор с использованием Ориентированного Ациклического Графа Принятие Решений (Decision Directed Acyclic Graph). SVM были обучены в автономном режиме с использованием данных с ручным заданием меток, с испытаниями на каждую из трех скоростей дрели. Затем классификатор может работать в режиме онлайн с использованием обученных моделей. Подробнее см. в статье [14].

 

Рис. 6. Конвейер выполнения звуковой классификации.

 

E. Планирование перемещений

Вычисление траекторий движения руки для выполнения задач захвата и манипуляции. Для алгоритмов планирования задачи определяются в операционном пространстве[9] робота [15]. Это пространство больше подходит для обнаружения столкновений и для вычисления желаемого движения руки. Тем не менее, отображение из операционного пространства в пространство конфигурации (C) манипулятора требуется для управления рукой с помощью задания углов сочленений. Планировщик состоит из 3х уровней: сначала выполняется планировщик нижнего уровня, за ним – более сложный и медленный только в том случае, если предыдущий уровень потерпел неудачу. Первый уровень – это самый быстрый планировщик рабочего пространства, основанный на обратной кинематике для прямолинейных движений рукой. Он способен обнаруживать столкновения вдоль траектории, хотя и не в состоянии их избежать. Вторым слоем планирования является вариант алгоритма CHOMP [16]. Он способен изменять траектории для ухода от столкновений с помощью ковариантного градиентного спуска градиента. Наконец, третий глобальный планировщик основан на алгоритме Bi-RRT [17], расширенный возможностью учёта ограничений положения захвата [18], он предназначен выполнять определенные задачи, такие как перенос объектов без изменения их ориентации во время движения. Рассмотрим уровни более детально.

1) Обратная Кинематика: на этом уровне вычисляются набор конфигураций, соответствующих заданному положению захвата в рабочем пространстве с помощью IK-быстрого метода [19]. Каждый элемент qIK конфигураций в полученном наборе тестируется на наличие столкновений. Конфигурации без столкновений (удовлетворяющие ограничениям свободного пространства), далее сортируются в зависимой от задачи функцией полезности FIK: C → ℝ, которая оценивает качество конфигурации в отношении выполняемой задачи. Например, она может прикинуть возможности манипуляции рукой в положении qIK [20] или близость к препятствиям. Для некоторых задач в FIKможет быть учтена первоначальная конфигурация qI (напр., рука сложена): требуется минимизировать расстояние C-пространства между qI и qIK или близость препятствия вдоль геодезической, соединяющей две конфигурации, рассчитанные управлением в рабочем пространстве в разделе 2-F.1. Возможные qIK хранятся в очереди приоритетов согласно величине FIK. Используется лучшее qIK, траектория от qI до qIK разбивается на отрезки для определения в них столкновений, пределов сочленений и особенностей. Если они не найдены, траектория используется, в противном случае будет вызван планировщик более высокого уровня.

2) Планирование на основе Оптимизации Коварианта: гладкая траектория без столкновений вычисляется методами численной оптимизации. Первоначальная траектория сначала выбирается на основе эвристики; например, геодезическая в С-пространстве, или прямая линия в рабочем пространстве робота. Предположим, что конечными конфигурациями траектории являются qI и qF. Тогда проблему вычисления допустимой траектории можно сформулировать как минимизацию некоторой функции стоимости F при ограничениях траектории. Пусть функция стоимости F: Q × U → ℝ (независящая от времени) есть затраты системы при управлении u из конфигурации q ∈ C. На практике стоимость может быть связана с продолжительностью действия управления, величиной потребляемой энергии, величиной риска и т. д. Целевая функция обычно конструируется таким образом, что информация от восприятия робота, отображённая в скалярное значение, была согласована с желаемой величиной стоимости движения.

Наша функция стоимости есть взвешенная сумма функций-компонентов, которые задают набор критериев для желаемой эффективности:

,                                              (1)

где вектор весов w ∈ ℝk. Некоторые наиболее важные компоненты функции стоимости, например, препятствия, гладкость и ограничения движения захвата, приведены ниже.

Компонента гладкости fsu( t)) есть функция от траектории. Эта функция является суммой квадратов производных. Для каждой производной d = 1, ... , D, рассматривается конечная разностная матрица Kd, и гладкость представляется в виде суммы:

                                       (2)

где константы ed являются граничными величинами qI и qF, а wd есть веса каждой компоненты стоимости. Функция гладкости может быть переписана в квадратичной форме:

                                          (3)

с соответствующими константа, где А положительно определена. Последняя также используется как метрика ковариантного градиентного спуска.

Функция стоимости для столкновений предполагается непрерывной и дифференцируемой. Один из подходов получения функции стоимости и представления препятствий окружающей среды заключается в использовании сигнального поля расстояний d: ℝ3 → ℝ, которое задает расстояние от точки x ∈ ℝ3 до ближайшей границы препятствия. Значения поля расстояний отрицательны внутри препятствий, положительны снаружи и являются нулями на границе.

Можно вывести дискретные варианты d(x), которые работают на сетке. Существует множество быстрых методов вычисления преобразований дискретных расстояний; например, метод из [21] имеет линейную сложность по количеству ячеек сетки. К сожалению, для типичных областей, с которыми работает манипулятор, это вычисление занимает несколько секунд на современном оборудовании даже при минимально допустимом разрешении сетки. Но, наоборот, это разрешение полезно увеличить в максимально возможной степени, поскольку оно улучшает сходимость оптимизатора. Поэтому полезно использовать граничные представления объектов геометрическими примитивами (такими как сферы, ящики и т.д.), для которых вычисления расстояния имеют аналитическую форму.

Наконец, во многих случаях полезно применять стоимость рабочего пространства для движения робота. В контексте задачи манипуляции хотелось бы удерживать захват в отдельной области SE(3)[10]. Как было сказано, любая непрерывная и дифференцируемая функция стоимости может быть использована в таком подходе. Рассмотрим некоторый элемент робота b ∈ B и его положение в рабочем пространстве, можно задать функцию стоимости в виде меры пространства, чтобы она была равна 0, если b внутри области, а иначе становилась бы квадратичной относительно расстояния до области. Используя меру по оси Оx в качестве примера, предположим, что мы хотим ограничить позицию b, если её координата х больше xmin. Можно задать потенциал стоимости в рабочей области так:

                                            (4)

Практика показала, что производительность планировщика может быть чувствительной к начальному семени траектории, поэтому генерируется последовательность нескольких различных начальных траекторий на основе контекстной информации из среды. Чтобы свести к минимуму количество начальных траекторий, порядок элементов в последовательности ранжируется за счет использования субмодулярного[11] характера этих попыток. Каждая траектория в последовательности выбирается так, чтобы максимизировать предельное улучшение планируемого успеха последовательности, предполагая, что все предыдущие элементы потерпели неудачу. [8]

 

F. Управление и хватание

1) Управление в операционном пространстве

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

Требуемые скорости в сочленениях для заданной скорости руки  вычисляются, используя подход управления скоростью движения, предложенный Liegeois [23] в виде

                                             (5)

где J – Якобиан робота, обозначением J+ есть псевдо-обратный к нему, λ – коэффициент усиления, а H(q) – функция стоимости/полезности в нуль-пространстве (ядре линейного пространства). Различные критерии могут быть использованы для определения H(q) в зависимости от цели, например, избегать ограничений суставов или кинематических особенностей.

Команда для требуемого крутящего момента двигателя рассчитывается с использованием метода расчета с заданным крутящим моментом с добавленной обратной связи по скорости [22] для отслеживания желаемых скоростей суставов в (5),

                                  (6)

где M(q) – матрица инерции, C(q,q̇) – вектор Кориолиса/центробежный вектор, g(q) – вектор силы тяжести, Kq,d – матрица усиления, а τ – вектор крутящего момента сочленений. Желаемое совместное ускорение q̈d получается путём дифференцирования . Скорость захвата определяется от задачи к задаче, но обычно перемещение сервоприводом выполняется до желаемого положения захвата xd в пространстве задач и до контакта с объектом. В таком случае желаемая скорость руки вычисляется как

,

где Kx,p – положительный пропорциональный коэффициент усиления. Мы используем вышеуказанную формулу управления в операционном пространстве для достижения скоростей захвата, требуемых многими манипуляционными поведениями.

2) Примитивы хватания.

3 простых и потому эффективных шага хватания с управлением силой:

 

Рис. 7: Хватание молотка в три шага: касание земли, хватание, поднятие.

 

В этих примитивах кончики пальцев, контролирую силу находятся в контакте с предметом, а сами пальцы – в контакте с поверхностью. См. [4] для более детального изучения реализации этих примитивов.

 

Рис. 8: Этапы хватания дрели с манипуляцией: прикосновение к валу,
прикосновение к базе, захват вала и активация кнопки.

 


Дата добавления: 2019-09-02; просмотров: 105; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!