Cloud of Science. 2018. T. 5. № 1 http:/ / cloudofscience.ru
Методы управления движением шагающих внутритрубных роботов1
С. И. Савин, Л. Ю. Ворочаева
ФГБОУ ВО «Юго-Западный государственный университет» 305040, Курск, ул. 50 лет Октября, 94
e-mail: [email protected], [email protected]
Аннотация. В качестве объектов исследования в данной статье рассматриваются шагающие внутритрубные роботы с наиболее распространенными конструктивными плоскими и пространственной схемами. Для них обобщенно рассмотрены подходы к управлению движением, целью которых является реализация заданного перемещения ног и корпуса устройств с учетом геометрии трубы. Представлен обзор методов генерации последовательности шагов робота по трубе, методов задания траектории и ориентации корпуса устройства, подходов к решению обратной задачи кинематики, а также обзор регуляторов системы управления, позволяющих учитывать особенности контактного взаимодействия робота с внутренней поверхностью трубы, и их сравнительный анализ. Ключевые слова: внутритрубный шагающий робот, последовательность шагов, траектория корпуса, ориентация корпуса, обратная задача кинематики, регулятор, квадратичное программирование.
1. Введение
Внутритрубные роботы представляют собой класс роботов, практическое применение которых заключается в мониторинге состояния труб и проведении ремонтных работ в трубопроводах. Обе эти задачи очень обширны и включают в себя большое число подзадач [1-6]. Это свидетельствует об актуальности исследований, проводимых в области внутритрубных роботов, и именно этим обусловлено большое разнообразие конструктивных схем данных устройств, способов их передвижения в трубах, видов контактных элементов, при помощи которых роботы взаимодействуют со стенками трубы. Так, в [7] выделены семь классов внутритрубных роботов, в качестве классификационного признака используется способ перемещения. По тому же критерию предложена классификация в [8, 9], но выделяемые при этом классы внутритрубных роботов отличаются от ранее предложенных. А в [10] рас-
1 Работа выполнена в рамках Гранта Президента Российской федерации МК-2577.2017.8, договор № 14.756.17.2577-МК.
смотрены сразу три варианта классификации: по типу двигателя, принципу движения и типу системы управления.
Следует отметить, что не зависимо от классификационного признака, при проектировании и доведении до практической реализации любого внутритрубного робота в каждом из классов необходимо решить ряд задач, связанных с навигацией устройства, способом передвижения по трубе, подходом к преодолению препятствий и разветвлений, а также разработать для этого методы и алгоритмы управления движением робота. В каждом классе внутритрубных роботов эти задачи трансформируются в более узкие и специализированные, обусловленные конструктивными особенностями того или иного устройства.
В данной работе принято решение остановиться на одном из классов внутритрубных роботов — шагающих — и рассмотреть вопросы, связанные с управлением передвижением таких роботов в трубах круглого сечения без ответвлений. Особенностью внутритрубных шагающих роботов является то, что для них может быть справедлив ряд подходов, ранее разработанных для шагающих по различным поверхностям роботов, а другая часть подходов может быть развита и дополнена с учетом ограничений, накладываемых введением трубы [11-13].
2. Описание объектов исследования и постановка задач
Как было рассмотрено выше, существует большое разнообразие классификаций внутритрубных роботов, в каждой из которых выделены свои отличительные признаки, позволяющие отнести робота к тому или иному классу. Здесь представлена классификация внутритрубных роботов, в которой объединены два критерия: степень внедрения роботов в реализацию практических задач, а также распространенность проводимых с данными роботами теоретических исследований (рис. 1).
Рисунок 1. Классификация внутритрубных роботов
По приведенной классификации видно, что всех внутритрубных роботов можно разделить на четыре класса: 1) пассивные, 2) колесные, гусеничные, 3) многозвенные и 4) другие типы. Пассивные роботы не имеют движителей и перемещаются по трубам с потоком жидкости или газа [14-16]. В настоящее время именно такие устройства используются на практике наиболее часто. Это связано в том числе с их конструктивной простотой по сравнению с другими типами роботов. Ко второму классу роботов относятся колесные, гусеничные и аналогичные типы конструкций, которые во время передвижения по трубе постоянно с ней контактируют при помощи тел качения [17-19]. Третий класс роботов — это многозвенные системы, их можно подразделить на ползающие конструкции, движение которых аналогично перемещению змей, червей, гусениц [20-22], и шагающие системы, которые двигаются по трубе с периодическим отрывом ног от ее поверхности [23-25]. Эти три класса внутритрубных роботов достаточно подробно рассмотрены в современной научной литературе. Все остальные конструкции можно отнести к четвертому классу — другим типам.
В данной работе остановимся на рассмотрении особенностей движения шагающих внутритрубных роботов, некоторые конструктивные схемы которых, ранее представленные в научной литературе, приведены на рис. 2.
в
Рисунок 2. Конструктивные схемы внутритрубных шагающих роботов: а, б — плоские; в — пространственная
На основании работ [23-25], посвященных шагающим роботам, выявлено, что нерешенными, в том числе, остаются следующие вопросы:
1. Генерация последовательности шагов робота.
2. Генерация траектории корпуса шагающего внутритрубного робота.
3. Задание ориентации корпуса шагающего внутритрубного робота.
4. Решение обратной задачи кинематики шагающего внутритрубного робота.
5. Разработка регулятора, применимого для управления механическими системами с явными связями, учитывающего ограничения, связанные с трением и мощностью приводов.
6. Исследование устойчивости системы управления шагающего внутритрубно-го робота.
7. Исследование оптимальности системы управления шагающего внутритруб-ного робота.
8. Получение и обработка сенсорной информации.
9. Практическая реализация шагающего внутритрубного робота (сенсорной системы и алгоритмов управления).
Рассмотрим возможные варианты решения первых пяти из указанных задач.
3. Генерация последовательности шагов робота 3.1. Формирование траектории звена
Для того чтобы проанализировать задачу формирования траектории движения шагающего робота, дадим необходимые определения.
Траекторией движения звена робота будем называть совокупность траектории движения центра масс этого звена гс (I) и ориентации этого звена Т(1) как функций времени:
Гс С) = [Хс (О Ус (О (ОГ е Р3, Т(0 £80(3), (1)
где Р3 — трехмерное евклидово пространство; 80(3) — специальная ортогональная группа (группа вращений).
Заметим, что Т(1) может быть параметризована любым образом, в том числе с использованием углов Эйлера, кватернионов или матрицы направляющих косинусов. Функции гс (I) и Т(1) можно было бы объединить, представив положение и ориентацию звена элементом специальной евклидовой группы 8Е(3), но в данной работе будем рассматривать их раздельно для удобства дальнейшего изложения.
Походкой робота будем называть совокупность траекторий всех его звеньев в процессе движения. В случае если все функции Т (I) его звеньев — периодические,
т. е. Зг, У£: Т (£ + г) = Т (£), то можно говорить о периодической походке робота. Следует заметить, что периодические походки, как правило, возможны лишь при движении по трубопроводам с периодической структурой, в том числе прямым трубам.
Таким образом, планирование движения робота можно свести к планированию его походки. Заметим, что предложенное определение позволяет описывать любые механизмы внутритрубных роботов. В случае если рассматриваемый робот является шагающим, то можно описать несколько дополнительных аспектов планирования его движения.
3.2. Формирование последовательности шагов робота
Для формирования походки шагающего робота удобно использовать так называемую последовательность шагов робота. Под шагом робота будем понимать положение точки контакта р^ е Я3 между контактным элементом ноги робота и внутренней поверхностью трубы. Процесс перемещения контактного элемента от прошлой точки контакта к следующей будем называть совершением шага. С учетом вышесказанного последовательностью шагов ноги робота называется упорядоченный набор шагов
Ркг = [Рк,1 Рк,2 - Рй,к1- (2)
Тогда последовательностью шагов робота называется:
1) совокупность последовательностей шагов его ног в сочетании с порядком выполнения шагов различными ногами, или
2) упорядоченная последовательность шагов с указанием, какая из ног робота выполняет шаг.
Приведем пример для первого определения последовательности шагов робота:
Р = {Рк^ Рк2, Рк3, Рк4} (3)
К = 1,2,3,4,
где К — упорядоченная последовательность натуральных чисел, означающая, в каком порядке ноги робота выполняют шаги, причем подразумевается цикличность выполнения шагов. В предложенном примере первой выполняет шаг первая нога робота, затем третья, затем вторая, затем четвертая, затем снова первая и т. д.
Приведем пример для второго определения последовательности шагов робота:
Р = [рк1,1 рк3,1 рк2,1 рк4,1 рк1,2 Рк3,2 Рк2,2 Рк4,2 •"], (4)
где рКА1 означает первый шаг контактного элемента к4 (или, эквивалентно, первый шаг четвертой ноги).
Для формирования последовательности шагов используется преобразование трубы к карте высот, а затем выполняется свертка этой карты обратно в трубу [26]. Рассмотрим этот алгоритм более детально. Для трубопроводов круглого сечения без ответвлений вводится понятие центральной линии /(s), под которой понимается кривая, точки которой соответствуют центрам сечений трубы [27]. Причем
/) = К, „ (s) 5 г (s)]T ,s G[s0 ), ||d//ds||= 1, (5)
такая, что через произвольно выбранную точку P е / может быть построена нормальная плоскость Q(P) к /(s).
Положение произвольно выбранной точки Q на внутренней поверхности трубы описывается значениями s и ф, где ф е [0 2п] — угол, определяющий положение точки в заданном сечении трубы относительно локальной системы координат [28, 29]. Сама труба при этом полностью описывается функциями /(s) и d (s), где последняя определяет диаметр трубы.
Выбранное геометрическое описание трубы позволяет выполнить преобразование, отображающее трубу на карту высот, представляющую собой математический объект для представления опорной поверхности как скалярной функции двух переменных при построении последовательностей шагов для двуногих роботов [30]:
h(s, ф) = -d(s). (6)
Процедуру построения карты высот для заданной трубы можно представить как развертку трубы, что позволяет упростить геометрию трубопровода. Сгенерированная на карте высот последовательность отображается обратно на исходную трубу при помощи другого преобразования — свертки трубы. Тогда положение точки Q на внутренней поверхности трубы можно записать как функцию s, ф и h:
Q(s, ф, h) = /(s) - hT(e ,ф)е2, (7)
где T(e, ф) — матрица поворота на угол ф вокруг оси e; h — высота точки (s, ф) на карте высот, определяемая выражением (6); (s), е2 (s) и e3 (s) — ортогональные единичные векторы, образующие систему координат для заданной точки на центральной линии (определенной значением s), причем e (s) является касательным к центральной линии.
Последовательности шагов, полученные при помощи преобразования трубы к карте высот для труб разной пространственной геометрии, представлены на рис. 3-5.
Рисунок 3. Труба с последовательностью шагов (с осью изгиба, направленной под 45° к оси Oz)
Рисунок 4. Труба с последовательностью шагов (прямая труба с тремя расширениями)
1
о О
Рисунок 5. Труба с последовательностью шагов (плоский трубопровод с четырьмя П-поворотами)
Далее для упрощения обозначений остановимся на рассмотрении лишь одной из ног робота. Как было сказано выше, последовательность шагов удобно использовать для формирования походки робота. Это связано с тем, что каждый шаг рассматриваемой ноги робота р^ содержит информацию о положении одной из точек робота, иначе говоря, каждый шаг накладывает на робота связь. Пусть ц — набор параметров, определяющих положение и конфигурацию робота (например, набор обобщенных координат). Тогда каждый шаг робота можно рассматривать как связь, действующую в течение заданного временного интервала:
Гк ((Я(0) = Р/, г е [/ г} ,2], (8)
где гк — радиус-вектор, определяющий положение точки К (контактного элемента рассматриваемой ноги робота); / — номер шага рассматриваемой ноги робота.
Вообще говоря, точка К или находится в положении, заданном р^., или движется из р^. к положению г Таким образом, удобно начинать построение походки с выбора траекторий точки К. Ниже представлены два подхода к построению траектории: в первом используются полиномиальные функции, а во втором — методы оптимизации.
3.3. Построение траектории точки как полиномиальной функции
Рассмотрим подход, когда траектория точки К задана в виде полиномиальной функции. Тогда проекции этой функции на координатные оси имеют вид:
хк (О = Ер=0 а*,р • гр, (9)
Ук(г) = ХР.0ау,р •гр, (10)
гк (о=ЕР.о а,р •г р, (11)
где ахр, ау , а2 р — коэффициенты полиномиальной функции.
Приведем пример, как эти коэффициенты могут быть найдены. Для этого можно использовать информацию о желаемых положениях точки К до и после процесса совершения шага, а также тот факт, что эта точка неподвижна до начала совершения шага и остается неподвижной после его окончания. Таким образом, получаем следующий набор условий:
ХК (0 = Рк/ • ех, ХК О/ ) = Р/ • , (12)
^Хк(г0) = 0, ^Хк(г/) = 0, (13)
ш ш
I2 й2
—х^ (*0) = 0 — х^ ) = 0,
Ч - tj,2,'/ - tj+\^,
(15)
\ '0 '2 '0 '0 '5 " °х,0 Р К • е х
\ '2 '4 ах,\ Р К-+\ • е х
0 \ 2'с 3'о 43 5'о ах,2 0
0 \ 2'/ 3'/ 4'; 5'; ах,3 0
0 0 2 6'0 \2'02 20'3 ах,4 0
0 0 2 6'/ 20'3 _ _ах,5 _ 0
где е^ — единичный вектор, направленный вдоль оси Ох; '0 — время начала шага;
^ — время завершения шага.
Подставляя полученные условия в (9) и выбирая п = 6, получаем систему линейных уравнений:
(16)
Если матрица в левой части данной СЛАУ обратима, то, решая (16), получим коэффициенты полинома (9). Эта матрица окажется вырожденной лишь при условии, что ?0 = ^, что означает, что на выполнение шага не отведено времени. Такая
ситуация является ошибкой в постановке задачи управления.
Для того чтобы получить коэффициенты полиномов (10) и (11), достаточно заменить в (16) ех на е или ег соответственно, где е и ег — единичные векторы,
направленные вдоль осей Оу и Oz.
Такой способ задания траектории стопы достаточно прост и может быть выполнен для любой пары шагов р^ и . Перечислим некоторые основные преимущества данного подхода:
1. Каждая траектория гк (') задается тремя полиномами 5-го порядка, причем коэффициенты этих полиномов вычисляются путем решения трех систем алгебраических уравнений, что можно сделать в реальном времени с минимальными вычислительными затратами.
2. Задача генерации траектории гк (') в такой постановке имеет одно и только одно решение (если t0 Ф).
Перечислим некоторые основные недостатки данного подхода:
1. Данный подход не позволяет проводить оптимизацию траектории движения точки К.
2. Данный подход не позволяет учитывать наличие препятствий на пути точки К.
3. Вычисление полиномов высоких порядков сопряжено с численными ошибками.
Заметим, что использование полиномов для задания траектории является неявным решением оптимизационной задачи. Так, в работе [31] показано, что решением задачи нахождения траектории с минимальным рывком (производной ускорения) является полином пятого порядка.
3.4. Построение траектории точки путем оптимизации
Альтернативным подходом является построение траектории точки K путем оптимизации. Здесь возможны различные варианты. Рассмотрим случай, когда искомая траектория разбита на m точек:
r^ ^ [r1 Г2 ... г„]. (17)
Поставим задачу найти траекторию точки K, лежащую внутри выпуклого многогранника Q, свободного от препятствий, такую, чтобы за каждый временной промежуток точка K проходила одинаковое расстояние. Данная задача может быть сформулирована как задача выпуклого программирования:
minimize £ ^Н r+1 - r ^
subject to
Ai-,. < b VU (18)
Г =Р к/,
Гт = Р К/+1 ,
где А и Ь — матрица и вектор, реализующие представление многогранника О в виде системы неравенств. Заметим, что в данном случае траектория рассматривается лишь как набор точек, скорости и ускорения не являются параметрами оптимизации. Их можно сделать таковыми, добавив нужные кинематические связи между переменными положения, скоростями и ускорениями. Перечислим некоторые основные преимущества данного подхода:
1. Возможно в явном виде учитывать ограничения, связанные с формой имеющегося свободного пространства.
2. Можно использовать достаточно сложные целевые функции, одновременно оптимизировать величины, связанные с ускорением, скоростью и положением точек на траектории, управлять точностью траектории на различных ее участках (выбирая моменты времени, которым соответствуют точки траектории; например, выделив 10 точек на первые 0.9 секунд движения и 10 точек на оставшиеся 0.1 секунды, можно получить значительно большую точность в конце траектории движения) и др.
3. Современные программные средства для решения задач квадратичного программирования (и выпуклого программирования в целом) позволяют решать достаточно сложные задачи с большим числом переменных и линейных ограничений в виде равенств и неравенств. Эти программные пакеты предоставляют возможности для детектирования ошибок, возникших в процессе решения, что важно при использовании такого рода инструментов на практике.
4. Использование программных оболочек, таких как YALMIP [32], позволяет значительно упростить процесс разработки программ, основанных на решении задач математического программирования на этапе проверки работоспособности алгоритмов и тестирования методов управления. Получаемый при их использовании программный код во многом соответствует исходным математическим формулировкам.
Перечислим некоторые основные недостатки данного подхода:
1. Решение задач математического программирования, как правило, является вычислительно сложной процедурой. Даже при использовании современных численных методов вычислительные затраты на решение такой задачи будут многократно превосходить затраты на решение набора линейных уравнений, используемого для построения полиномиальных траекторий.
2. Решение задач математического программирования производится при помощи специального программного обеспечения, называемого «решателями». Использование такого программного обеспечения ведет к установлению некоторых требований к бортовым вычислителям робота.
Отметим, что алгоритмы походки, описанные в этом разделе, справедливы для широкого диапазона конструкций шагающих роботов и могут быть легко адаптированы для роботов с разным количеством ног.
4. Задание траектории и ориентации корпуса
Заметим, что задача генерации траектории центра масс во многом зависит от числа степеней свободы ног шагающего робота. Пусть конфигурация робота описывается набором параметров q е Q, где Q — множество всех возможных конфигураций, а положение и ориентация корпуса робота — набором параметров x е X, где X — множество всех возможных положений и ориентаций корпуса робота. Тогда при условии, что 3Q с Q и 3Xj с X такие, что dimQ =dimQ, dimX1 =dimX, и для любого q е Q i-я нога робота может осуществлять движение контактного элемента K по произвольным траекториям, лежащим внутри некоторой области декартова пространства ненулевого объема при условии, что положение и ориентация
корпуса робота меняются по произвольному закону х(£) е Х1, задача формирования траектории движения корпуса робота в области Х1 является независимой от задачи формирования траектории точки К в декартовом пространстве. Иначе говоря, любая траектория точки К, целиком лежащая в , может быть реализована вне зависимости от выбора траектории центра масс и ориентации корпуса робота при условии, что х(') е Х1. Выявление выполнения этого условия является важной
частью решения задачи генерации траектории корпуса робота, так как оно позволяет значительно упростить эту задачу.
Описываемый в этом разделе алгоритм производит дискретизацию траектории корпуса робота, вычисляя матрицу направляющих косинусов Т, определяющую его ориентацию, и радиус-вектор, задающий положение его центра масс гс, для каждого момента времени '.. Здесь предполагается, что известны векторы га .), определяющие положение контактных элементов, а также матрица Т(^1) и вектор гК (г} \), найденные на предыдущем шаге .
Рассматриваемый здесь алгоритм включает два этапа. Первый заключается в нахождении желаемой ориентации корпуса робота, а второй — в нахождении желаемого положения его центра масс.
4.1. Задание желаемой ориентации корпуса робота
Зададим вектор направления ак для контактных элементов робота гп следующим образом [26]:
II 1Г (19)
К,г+з " гк,гИ
К,\ +^К,3 , (20)
Зная значение Т(' ), можно найти положения шарниров гт ('._ 1) на предыдущем шаге, решая прямую задачу кинематики. С их помощью мы можем задать вектор направления аР :
= г^+зМ - г„ М (21)
^ ,\ + ^ ,2 + ^ ,3 = й-й, (22)
11 ,\ + °Р ,2 + °Р ,3 11
=
^К ,\ +ик ,2 +ик ,3
Используя полученные таким образом выражения, можно найти матрицу поворота, преобразующую аР в ак. Для этого найдем ось вращения еРК и угол поворота аРК [26]:
ГТ V /Т
(23)
к II II '
хак II
= cos-1 (ар -ак).
(24)
Тогда можем найти матрицу направляющих косинусов Т(Г.) следующим обра-
зом:
Щ) = Т(е
РК-> о-рк Ж^) ,
где Т(еж,аж) — матрица поворота вокруг оси еРК на угол арк [33].
Т( ерк, арк) = cos(арк )1 + sin(арк )Е1 + (1 - ))Е^
где
"1 0 0"
I = 0 1 0 , е рк еу
0 0 1 А _
" 0 -ег еу " ех2 е е е е х у х г
Е1 = ег 0 -ех , Е 2 = е е У х е2 е е У У г
_-еу ех 0 е е г х е е е2 г у г
(25)
(26)
(27)
(28)
Заметим, что этот метод может накапливать ошибку по углу крена (в представлении ориентации используются углы Эйлера крен-тангаж-рыскание).
4.2. Определение желаемого положения центра масс корпуса робота
Для того чтобы найти желаемое положение центра масс корпуса робота гс {tj), будем искать вектор р, смещающий положение центра масс на предыдущем шаге гс ) таким образом, чтобы минимизировать расстояние между точками р и Ki.
Это позволяет уменьшить «растяжение» ног робота, приводя их в положение, удаленное от кинематических особых положений. Вектор р может быть найден следующим образом:
р = агвтт+ Г0. + р-г^ \\. (29)
Эта задача может быть переписана как задача квадратичного программирования или решена непосредственно с использованием метода наименьших квадратов. Во втором случае зададим вектор d и матрицу С:
а
Щ.)г<» + г^,-,) - Г
К!
,(0)
I
а =
, с
(30)
Т(Г, )г« + г*0, - ГкКО) ] [I
К 6
(0)
(31)
(32)
Для того чтобы получить непрерывные траектории из ранее сгенерированных последовательностей положений гс ), можно использовать интерполяцию. Для
того чтобы интерполировать последовательность ориентаций робота, они должны быть записаны в другом представлении, так как непосредственная покомпонентная интерполяция сплайнами матриц направляющих косинусов может привести к тому, что получаемые интерполяцией значения не будут ортонормальными и потребуют процедуры ортогонализации. Для того чтобы избежать этого, заменим матрицы Т(Г .) кватернионами ), которые будут описывать эквивалентные ориентации
корпуса [33]. Такие последовательности кватернионов могут быть затем интерполированы с использованием специальных алгоритмов, таких как 81егр [34]. Используя такую интерполяцию, можно получить ориентацию корпуса робота для любого момента времени и записать ее в виде матрицы направляющих косинусов Т.
4.3. Оптимизируемые параметры
Назовем несколько основных параметров, которые могут оптимизироваться при генерации траектории и ориентации корпуса робота. Первый параметр — близость ног робота к особым положениям (например, величина растяжения ног робота). Заметим, что, если корпус робота можно расположить таким образом, чтобы удалить все ноги от особых положений, при прочих равных условиях это будет желаемым результатом. Это связано с тем, что нога робота будет менять свой режим движения вблизи своих особых положений. Часть траекторий точки контакта в таком положении может оказаться невыполнимой.
Второй параметр — соответствие положения и ориентации корпуса геометрии трубопровода. Так как трубопровод обладает симметрией, связанной с его круглым сечением, эта симметрия может использоваться как источник информации о желаемой ориентации и положении корпуса. Например, можем потребовать, чтобы кор-
пус робота был ориентирован вдоль осевой линии трубопровода, а геометрический центр корпуса находился на этой линии.
Перейдем к рассмотрению методов решения обратной задачи кинематики для шагающих внутритрубных роботов.
5. Методы решения обратной задачи кинематики
Методы решения обратной задачи кинематики для шагающих внутритрубных роботов можно подразделить на аналитические и численные. Первые из них для плоской и пространственной конструкции роботов подробно изложены в [35] и заключаются в задании положения и ориентации корпуса робота, основываясь на желаемом положении точек контакта и последующем разбиении обратной задачи кинематики для всего механизма, на независимые подзадачи для каждой из его ног. Здесь остановимся на обзоре численных методов.
Будем полагать, что известны желаемые положения точек контакта Ki, центра масс С и ориентация корпуса, заданная матрицей направляющих косинусов Т, параметризованной тремя углами Эйлера ф, у и 9. Положения точек к определяются радиус-векторами г , точки С — вектором г .
Тогда введем вектор-функцию «задания» г как функцию вектора обобщенных координат q:
г (4) = [фу9 Гст ... ]т. (33)
Тогда обратная задача кинематики состоит в нахождении таких значений q*(í), которые обеспечат равенство г (4*(0) и г*(?).
На практике одним из лучших методов решения этой задачи является использование методов Ньютона и связанных с ними подходов (например, алгоритма Ле-венберга — Марквардта), непосредственно решающих систему уравнений:
Г (4(0) - г*(0 = 0. (34)
Далее рассмотрим некоторые другие подходы.
5.1. Метод решения обратной задачи кинематики через нахождение обобщенных скоростей
Связь между производными обобщенных координат (обобщенными скоростями) с) и производной функции г является линейной:
дт
Тогда для нахождения (| используем следующий подход:
Г Ог У
<3ц
(36)
где + означает нахождение псевдообратной матрицы по методу Мура-Пенроуза:
Л+= А1(ЛЛТ)-1.
(37)
Используя равенство (36) и представление производной в виде конечной разности, получим следующий итеративный алгоритм нахождения желаемого значения вектора обобщенных координат:
Я* С,-) = я*(^) +
дя
(38)
где М — шаг по времени.
5.2. Метод решения обратной задачи кинематики через нахождение обобщенных скоростей и ускорений
Недостатком приведенного выше алгоритма является использование лишь обобщенных скоростей для нахождения нового значения обобщенных координат. Для повышения точности нахождения я (/) можем использовать в процедуре численного интегрирования как обобщенные скорости, так и ускорения (используя разложение искомой функции в ряд Тейлора).
Для нахождения обобщенных ускорений используем зависимость
сг,
с/ 5г, .
— Ч--ч
сц Л сц
(39)
Тогда обобщенные скорости и ускорения могут быть найдены следующим образом:
(40)
&
О сл^/сц
Таким образом, получим следующий итеративный алгоритм нахождения желаемого значения вектора обобщенных координат:
Я*(/,) = Ч*(Л-1) + Я + 0.5с1*ДГ.
Этот же алгоритм может быть записан в следующем виде:
& дгг & дя
дг,/ дЯ
Я* ) = я'С,--1) + [0.5 А/2 М ]Т
дг,/ дя 0
(41)
(42)
5.3. Метод решения обратной задачи кинематики как оптимизационной задачи
Обратную задачу кинематики можно формально записать как задачу математического программирования:
minimize || г (q*) - г* ||. (43)
q*
Такая формулировка позволяет решать обратную задачу кинематики даже в случае, когда она не имеет решений; тогда будут найдено значение q , минимизирующее невязку.
В случае, если обратная задача имеет множество решений, можем записать ее следующим образом:
minimize || q* ||
q* (44)
subj ect to r (q*) - Г* = 0.
Так как г (q) в общем случае нелинейная, то получаемые программы (43) и (44) также являются нелинейными и невыпуклыми. Преимуществом решения задач выпуклого программирования является то, что для них разработаны весьма эффективные алгоритмы [36-38]. Для того чтобы сформулировать обратную задачу кинематики как выпуклую задачу (задачу квадратичного программирования), произведем линеаризацию г (q):
сГ
Г (q) = ^ q + Г о. (45)
Cq
Так как минимум нормы функции совпадает с минимумом квадрата нормы, то, используя евклидову норму, запишем новую целевую функцию:
Sr. * Y ( Sr.
-г-q+Го- г -г- q+Го- г ,Sq ) lSq
r =
qT
СГ
(46)
Сг л / *чт Сг / * ч т / * ^
^ q+2(г о- г)Т^- q+(г о- г*)T (г о- г*).
/«.ж 4 £ О ¿'/"ч
^) ^ ^
Постоянная часть целевой функции не играет роли в решении задачи оптимизации. С учетом этого запишем обратную задачу кинематики следующим образом:
minimize q*T
5г
СГ • , *чТ СГ
q + 2(г(0 - г,)1-^q. (47)
¿4) ¿4 ¿4
Такой подход дает хорошие результаты только в случае, когда линейная аппроксимация (45) достаточно точно описывает функцию г в окрестности решения. В других случаях возможно использование итеративного алгоритма, основан-
ного на локальной линеаризации и решении задачи (47) с постепенным приближением к решению исходной обратной задачи. Такой подход может привести к попаданию в локальные минимумы.
Альтернативным является алгоритм, основанный на преобразовании невыпуклой программы к задаче смешанного целочисленного программирования (от англ. — mixed integer convex optimization) [39]. Такой подход позволяет избежать проблемы попадания в локальные минимумы, но сопряжен со значительными вычислительными затратами.
6. Описание и анализ основных методов управления, характерных для многозвенных роботов
Для управления многозвенными механизмами разработано множество методов. Часть методов разрабатывалась для определенного класса многозвенных механизмов, но может быть легко обобщена. Так, манипуляторы являются примером многозвенных механизмов, активно применяемых на практике, для которых разработан набор эффективных методов управления. Их существенным отличием от мобильных многозвенных роботов является наличие стойки или, иначе говоря, активного соединения с неподвижным основанием. Примерами технологий управления, разработанных для манипуляторов, являются low impedance control [16, 40, 41], admittance control [42-44], proxy-based sliding mode control [45-47] и др.
Также многие методы управления разрабатывались для более широкого класса систем, например для линейных динамических систем или для аффинных систем с точки зрения управляющих воздействий. К таким методам управления относятся линейный квадратичный регулятор (ЛКР), итеративный линейный квадратичный регулятор (ИЛКР) [48], адаптивный ПД регулятор [49-51], computed torque control [12, 13, 52].
Особенностью многозвенных внутритрубных роботов является их взаимодействие с опорной поверхностью. Так, для перемещения по вертикальному участку трубы роботу необходимо контролировать величины нормальных реакций поверхности для того, чтобы избежать выхода полной реакции опоры на границу конуса трения, что может привести к проскальзыванию или потере контакта. Это делает проблему управления такими роботами несколько более сложной, придавая ей сходство с проблемой схвата и манипулирования объектами.
Одним из подходов к описанию такой проблемы управления является рассмотрение ее как проблемы управления механической системой с явными механическими связями. В этом случае состояние системы характеризуется тремя наборами переменных: переменными состояния x, управляющими воздействиями u и обобщенными реакциями связей X. Задачей управления является нахождение такой
временной зависимости и(0, которая бы обеспечивала желаемое поведение функции х(7). В связи с этим можно выделить три набора подходов, которые можно использовать для управления такой системой:
1. Использовать методы управления, разработанные для систем без явных связей, такие как ЛКР, ПД регулятор, сотрШ^ощиесоп^о1 и др.
2. Преобразовывать задачи управления системами с явными связями к эквивалентным, где явных связей нет. Это можно сделать путем декомпозиции или проецирования уравнений динамики.
3. Использовать методы, явным образом учитывающие наличие механических связей.
Проведем анализ каждого из этих подходов.
Первый подход отличается простотой и удобством реализации. При этом требуется определить границы его применимости. Так, при движении по вертикальным или наклонным трубам задача предотвращения потери контакта или проскальзывания может быть нетривиальной, и перед тем как использовать методы управления, разработанные для систем без явных связей, требуется убедиться, что это не приведет, например, к потере контакта. С другой стороны, такой подход к управлению может привести к существенно неоптимальному управлению (например, многократному превышению оптимального расхода электроэнергии).
Второй подход требует предварительных преобразований задачи. Так, в работе [53] предложено использовать ортогональную декомпозицию уравнений динамики шагающей системы для получения решения обратной задачи динамики. В работе [54] рассмотрен вопрос использования проекций для преобразования исходных линеаризованных динамических уравнений к виду, в котором задача оптимального управления эквивалентная исходной может быть решена без рассмотрения уравнений связей. В публикации [55] предложено развитие этого метода. Преимуществами этих подходов является то, что они позволяют неявным образом учитывать действие связей. Это, в свою очередь, дает возможность обеспечить устойчивость такого рода регуляторов. Недостатком этих подходов является то, что, как и в предшествующем случае, они не предоставляют инструментов для управления реакциями связей.
Третий подход реализуется такими методами управления, как mode1predictive-соп1хо1, а также управлением, основанным на решении задач математического программирования. При этом переменные х, и и X, получаемые на данном временном промежутке (а также их значения на последующих временных промежутках), могут выступать в роли параметров оптимизации. Получаемые таким образом задачи математического программирования зачастую относятся к выпуклой оптимизации. В таком случае ограничения, связанные с проскальзыванием, могут быть записаны в
явном виде. В случае если они записаны как ограничения типа «конус трения», то получаемая задача будет иметь вид SOCP (от англ. — second-order cone program), если же используется линейная аппроксимация конуса трения, то задача будет иметь вид QP (задачи квадратичного программирования). Обе задачи являются выпуклыми и решаются соответствующими методами: методом внутренней точки (англ. — interior point method), методом активного множества (англ. — active set method). Преимуществом таких подходов является возможность в явном виде задавать ограничения на значения переменных X и u, находя их оптимальные значения с учетом ограничений. Недостатком является высокая вычислительная сложность.
Ниже некоторые из упомянутых здесь методов описаны более подробно, а также продемонстрировано, как они могут быть использованы для решения конкретных задач управления шагающими внутритрубными роботами.
6.1. Модифицированный линейный квадратичный регулятор
Динамика робота описывается нелинейными дифференциальными уравнениями, представленными в [56]. При этом для построения системы управления роботом удобно использовать динамические уравнения, линеаризованные вдоль траектории движения системы. Эти линеаризованные уравнения имеют вид
s = A(0s + B(0u + c(0, (48)
где А, В и с — матрицы и вектор, заданные как функции времени; s = [q q]T — вектор состояния системы; q — обобщенные координаты; q — обобщенные скорости.
Линейный квадратичный регулятор — это метод генерации оптимальных управляющих воздействий u для линейных динамических систем с квадратичной целевой функцией. Приведем такую целевую функцию:
J = J (s - s*)T Q(s - s*) + (u - u*)R(u - u*), (49)
где s = s (t) — желаемое значение вектора состояния s (задающее воздействие);
u — желаемое значение управляющих воздействий u, полученное решением обратной задачи динамики; Q и R — весовые положительно определенные матрицы.
Матрица коэффициентов линейного квадратичного регулятора может быть найдена следующим образом:
K = R-1BT P, (50)
= О, С =
(54)
где P — симметрическая положительно определенная матрица, которая может быть найдена путем решения алгебраического уравнения Риккати:
AT Г + PA - PBR1BT Г + Q = 0. (51)
6.2. Линейный квадратичный регулятор со связями
Рассмотрим случай, когда на механическую систему наложены связи g(q):
= 0. (52)
При условии, что g не зависит явным образом от времени, можем найти первую и вторую производные выражения (52) следующим образом:
—я = 0,--я = 0 (53)
5q Л д^ 5q
То же выражение может быть записано в пространстве состояний следующим образом:
8g/8q 0
( 8д ^ ^ 8^/8q
В статье [54] предложено использовать следующую модификацию ЛКР. Пусть N — матрица, представляющая ортонормированный базис в ядре оператора О. Тогда можем задать следующие преобразованные матрицы:
= NTAN, В„ = NTB, ^ = NTBQN. (55)
Затем, подставив Лм, В^ и ^^ в (50) и (51) и решив полученное уравнение Риккати, получим преобразованную матрицу коэффициентов Кд,. Закон управления будет иметь вид
иаьдк = КнN (8 - 8*) + и*. (56)
Описывая данных подход, можно сказать, что уравнения связей оказываются встроенными в уравнения динамики системы. Задача нахождения и рассмотрена в работе [53], где предложено использовать QR разложение для декомпозиции уравнений динамики с целью получения возможности непосредственно решить обратную задачу динамики. В данном разделе используется стандартный подход к решению обратной задачи динамики, не учитывающий влияние механических связей.
6.3. Дополненный линейный квадратичный регулятор со связями
В этом разделе описывается предложенная в работе [55] модификация ЛКР со связями (СЛКР). Эта модификация основана на комбинации СЛКР и пропорциональ-
но-дифференциального (ПД) регулятора. Идея предлагаемого подхода состоит в использовании ПД регулятора для управления ногой робота, осуществляющей шаг, и использовании СЛКР для осуществления управления оставшимися степенями свободы робота. В связи с тем, что приоритетным является абсолютное положение контактного элемента, а не конфигурация ноги робота, ПД управление осуществляется в декартовых координатах. Для конкретности изложения далее будем рассматривать случай, когда шаг осуществляется с переносом контактного элемента К.
Пусть гю (я) описывает положение точки К и (/) задает ее желаемое положение. Тогда ПД управление может быть задано в следующей форме:
Ирв = (4 " »Ъ) + " ) + ИрВ, (57)
где Кр и К — матрицы коэффициентов; ^ — матрица Якоби ноги робота;
*
цро — закон управления, реализующий гравитационную компенсацию.
Задача настройки матриц коэффициентов для ПД регуляторов с использованием методов глобальной оптимизации рассматривалась в [57, 58]. Матрица ^ по определению имеет вид
з. =агщп/ дчлж^ (58)
где гА1К1 — вектор, проведенный из точки А1 к точке К1; яА1К1 = [91 92 ]T — вектор, включающий подмножество обобщенных координат, достаточное для описания конфигурации ноги робота АВК.
Тогда дополненный ЛКР со связями будет иметь вид
и =
0ИХИ 0ИХ(И_И) 1тхт 0(п-т)хт 1(п-т)х(п-т) 0(п-т)хт
исьдя и
(59)
где 0 — матрица нулей; I — единичная матрица, чьи размерности указаны в нижнем индексе; п — количество приводов робота; т — количество приводов в движущейся ноге робота.
Содержание формулы (59) состоит в том, чтобы заменить выходы СЛКР, отвечающие за управление шагающей ногой, на выходы ПД регулятора (57). В общем случае матрица в правой части (59) зависит от выбранных обозначений и того, какая нога движется в данный момент. Качество работы предложенного регулятора рассматривается в работе [55].
6.4. Многоуровневый регулятор, основанный на квадратичном программировании
Уравнения динамики шагающего робота имеют вид
1 •
4 2 (60) Г(1 + Гц = 0.
Эффективные методы нахождения всех описанных здесь величин приведены в [59].
Будем рассматривать систему управления внутритрубным роботом, основанную на использовании двухуровневого регулятора. В общем виде структура регулятора имеет вид
и = ьвр (Сстс (е)), (61)
где Сстс (е) — функция, реализующая работу СТС регулятора; Ь^р — функция,
отображающий выход СТС регулятора на пространство управляющих воздействий робота путем решения задачи квадратичного программирования; и — вектор, компонентами которого являются моменты электроприводов (вектор управляющих воздействий); е — ошибка управления:
е = q* - q. (62)
Дадим краткое описание СТС регулятора. Для этого рассмотрим упрощенную версию уравнений динамики (60), из которых исключены механические связи:
нq + iнq + g + d = т (63)
В выражении (63) т заменено на т, чтобы в дальнейших выкладках можно было делать различие между векторами обобщенных моментов электроприводов, полученными для выражений (60) и (63).
Заметим, что уравнения (63) и уравнения (60) описывают различные динамические системы и имеют разные решения. Для новой динамической системы (63) рассмотрим дифференциальное уравнение, описывающее желаемую динамику ошибки управления:
ё + К^ё + К^е = 0. (64)
Если матрицы Ка и Кр диагональные и положительно определенные, то ошибка е, удовлетворяющая уравнению (64), будет стремиться к нулю. Дважды продифференцируем (62), подставим полученное выражение для ё в (64), также выразим из (63) и подставим в его в (64), а затем выразим из полученной формулы т:
. 1 •
т = Н(К^ё + Кре) + Щ + -Щ + § + с1=Сстс(е). (65)
Полученное выражение представляет собой нелинейный регулятор, включающий так называемые серво-часть, зависящую от ошибки управления, и модельную часть, зависящую от желаемого значения обобщенного ускорения и текущего положения механизма. Подробнее данный регулятор описан в работах [51, 60]. Вопросы настройки регулятора (нахождения матриц К и К ) рассматривались в [57, 61].
7. Заключение
В качестве объектов исследования в данной работе рассматриваются внутритруб-ные шагающие роботы с четырьмя и шестью ногами, каждая из которых образована двумя или тремя звеньями, движущиеся в плоских и пространственных трубах. На основании обзора литературных источников, посвященных данной тематике, авторами выделены девять задач, требующих решения при проектировании таких роботов, методы и подходы к решению пяти из них подробно рассмотрены в статье.
Первой задачей является формирование последовательности шагов. Для ее решения введены понятия шага и последовательности шагов робота, предложен метод развертки трубы в карту высот, генерации на этой карте последовательности шагов, а затем свертки трубы с полученными шагами. Рассмотрены два подхода к описанию траекторий, соединяющих эти последовательности: полиномиальный и оптимизационный, выявлены достоинства и недостатки каждого из них.
Вторую и третью задачи, заключающиеся в генерировании траектории центра масс корпуса робота и определении его ориентации, удобнее рассматривать совместно. Предложенный в работе двухэтапный алгоритм позволяет дискретно вначале определять желаемую ориентацию корпуса робота, а затем находить желаемое положение его центра масс. При таком подходе можно проводить оптимизацию по двум параметрам, одним из которых является близость ног робота к особым положениям, а вторым — соответствие положения и ориентации корпуса геометрии трубопровода.
Четвертая задача состоит в решении обратной задачи кинематики для выбранной схемы внутритрубного шагающего робота аналитическим или численным методом. В работе подробно рассмотрены только численные методы, в одном из них задача решается через нахождение обобщенных скоростей, во втором — через нахождение обобщенных скоростей и ускорений, а в третьем — с использованием оптимизации. Описаны особенности каждого метода, а также условия, при которых тот или иной метод является эффективным.
Пятая задача заключается в разработке метода управления внутритрубным шагающим роботом. В статье выделены три основных подхода. Первый из них ис-
пользует методы управления, разработанные для систем без явных связей, второй преобразовывает задачи управления системами с явными связями к эквивалентным, где явных связей нет, а третий использует методы, явным образом учитывающие наличие механических связей. Для каждого подхода приведены их достоинства и недостатки. Помимо этого, более подробно рассмотрены методы управления, основанные на модифицированном и дополненном линейном квадратичном регуляторе со связями, а также многоуровневом регуляторе с квадратичным программированием.
Литература
[1] Yousef B. F., Bastaki N., Mavridis N., Antali S., Menhali J., Al-Nuaimi K., Dhaheri N. A., Endo G., Hirose S., Sekine H., Seto D. In-Pipe Inspection robot // Adaptive Mobile Robotics. Proc. 15th Int. Conf. on Climbing and Walking Robots and the Support Technologies for Mobile Machines. — World Scientific, 2012. P. 289-296.
[2] Suzumori K., Miyagawa T., Kimura M., Hasegawa Y. Micro inspection robot for 1-in pipes // IEEE/ASME Transactions on Mechatronics. 1999. Vol. 4, No. 3. P. 286-292.
[3] Roh S. G., Choi H. R. Differential-drive in-pipe robot for moving inside urban gas pipelines //
IEEE Transactions on Robotics. 2005. Vol. 21, No. 1. P. 1-17.
[4] Suzuki M., Yukawa T., Satoh Y., Okano H. Mechanisms of autonomous pipe-surface inspection robot with magnetic elements // Proc. IEEE Int. Conf. Systems, Man and Cybernetics (SMC), Taiwan Taipei, 2006. Vol. 4. P. 3286-3291.
[5] Moghaddam M. M., Hadi A. Control and guidance of a pipe inspection crawler (PIC) // ISARC: Proc. 22nd Int. Symposium on Automation and Robotics in Construction. Italy, Ferrara, 2005. P. 11-14.
[6] HoshinaM., Mashimo T., Toyama S. Development of spherical ultrasonic motor as a camera actuator for pipe inspection robot // Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), USA, St. Louis, MO, 2009. p. 2379-2384.
[7] Kwon Y.-S., Lee B., Whang I.-C., Kim W.-K., Yi B.-J. A flat pipeline inspection robot with two wheel chains // Proc. IEEE Int. Conf. China : Shanghai Robotics and Automation (ICRA), 2011. P. 5141-5146.
[8] Schempf H. Mutschler E., Goltsberg V., Skoptsov G., Gavaert A., Vradis G. Explorer: Untethered real-time gas main assessment robot system // ASER: Proc. Int. Workshop on Advances in Service Robotics. Italy, Bardolino, 2003. Vol. 3. P. 1-6.
[9] Roh S. G. Navigation inside pipelines with differential-drive inpipe robot // Proc. IEEE Int. Conf. Robotics and Automation (ICRA). USA, Washington, 2002. Vol. 3. p. 2575-2580.
[10] Мальчиков А. В. Динамика управляемого движения шестизвенного мобильного внут-ритрубного робота: лиса ... канд. техн. наук: 01.02.06. — Курск : ЮЗГУ, 2013.
[11] Deits R. Convex segmentation and mixed-integer footstep planning for a walking robot. Doctoral dissertation. — Massachusetts Institute of Technology. 2014.
[12] Park J. H., Chung H. Hybrid control for biped robots using impedance control and computed-torque control // Proc. IEEE Int. Conf. Robotics and Automation, USA, Detroit : MI, 1999. Vol. 2. P. 1365-1370.
[13] Park J. H., Kim K. D. Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control // Proc. IEEE Int. Conf. Belgium, Leuven Robotics and Automation, 1998. Vol. 4. p. 3528-3533.
[14] Keshwani R., Bhattacharya S. Design and optimization of eddy current sensor for instrumented pipeline inspection gauge // Sensor Review. 2008. Vol. 28, No. 4. P. 321-325.
[15] Pigs in the pipes https://www.theengineer.co.uk/issues/november-2013-online/pigs-in-the-pipes/
[16] Pratt G. A. Low impedance walking robots // Integrative and Comparative Biology. 2002. Vol. 42, No. 1. P. 174-181.
[17] Choi H. R., Roh S. G. In-pipe robot with active steering capability for moving inside of pipelines // Bioinspiration and Robotics: Walking and Climbing Robots. Vienna, Austria : I-Tech, 2007. P. 375-402.
[18] Horodinca M., Doroftei I., Mignon E., Preumont A. A simple architecture for in-pipe inspection robots // Proc. Int. Colloq. Mobile, Autonomous Systems, Germany, Magdeburg, 2001. P. 61-64.
[19] Jun C., Deng Z., Jiang S. Study of locomotion control characteristics for six wheels driven in-pipe robot // Proc. IEEE Int. Conf. Robotics and Biomimetics (ROBIO). China, Shenyang, 2004. p. 119-124.
[20] Baba T., Kameyama Y., Kamegawa T., Gofuku A. A snake robot propelling inside of a pipe with helical rolling motion // Proc. of IEEE SICE Annual Conf. Taiwan, Taipei, 2010. p. 2319-2325.
[21] Bertetto A. M., Ruggiu M. In-pipe inch-worm pneumatic flexible robot // Proceedings IEEE/ASME Int. Conf. Advanced Intelligent Mechatronics: Italy, Como, 2001. Vol. 2. p. 1226-1231.
[22] Melo K., Paez L. Modular snake robot gaits on horizontal pipes // Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS): Portugal, Vilamoura, 2012. P. 3099-3104.
[23] Савин С. И., Ворочаева Л. Ю., Ворочаев А. В. Классификация режимов движения четырех-ногого плоского внутритрубного робота // Cloud of science. 2017. Т. 4, № 2. С. 224-248.
[24] Galvez J. A., De Santos P. G., Pfeiffer F. Intrinsic tactile sensing for the optimization of force distribution in a pipe crawling robot // IEEE/ASME Transactions on mechatronics. 2001. Vol. 6, No. 1. P. 26-35.
[25] Silva M. F., Tenreiro Machado J. A. A historical perspective of legged robots // J. of Vibration and Control. 2007. Vol. 13, No. 9-10. P. 1447-1486.
[26] Savin S., Vorochaeva L. Yu. Footstep planning for a six-legged in-pipe robot moving in spatially curved pipes // Proc. Int. Siberian Conf. Control and Communications (SIBCON). Kazakhstan, Astana, 2017. P. 1-6.
[27] Савин С. И., Ворочаева Л. Ю. Метод описания плоского трубопровода применительно к задаче управления внутритрубным роботом // Современные материалы, техника и технологии. 2017. № 3 (11). С. 45-51.
[28] Савин С. И., Ворочаева Л. Ю., Ворочаев А. В. Алгоритм генерации походок для робота, осуществляющего движение в трубопроводах // Известия ЮЗГУ. Серия: Техника и технологии. 2017. Т. 7, № 1. С. 90-97.
[29] Savin S., Jatsun S., Vorochaeva L. Trajectory generation for a walking in-pipe robot moving through spatially curved pipes //MATEC Web Conference, 2017. Vol. 113. Art. No. 02006.
[30] Gutmann J. S., Fukuchi M., Fujita M. A floor and obstacle height map for 3D navigation of a hu-manoid robot // Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Spain, Barcelona, 2005. P. 1066-1071.
[31] Javier R. Movellan Minimum Jerk Trajectories. 2011. Р. 1-6. http://mplab.ucsd.edu/tutorials/minimumJerk.pdf
[32] Lofberg J. YALMIP: A toolbox for modeling and optimization in MATLAB // Proc. IEEE Int. Symposium Computer Aided Control Systems Design. New Orleans, LA, 2004. p. 284-289.
[33] Diebel J. Representing attitude: Euler angles, unit quaternions, and rotation vectors. — Stanford University. 2006. P. 1-35.
[34] Shoemake K. Animating rotation with quaternion curves // ACM SIGGRAPH computer graphics. 1985. Vol. 19, No. 3. P. 245-254.
[35] Савин С. И., Ворочаева Л. Ю. Подход к решению обратной задачи кинематики для шагающих внутритрубных роботов / Механика и математическое моделирование в технике: сб. тр. II Всероссийской научно-технической конф. — М. : МГТУ им. Баумана. 2017. С. 415-419.
[36] Boyd S., Vandenberghe L. Convex optimization. — Cambridge university press. 2004.
[37] Grant M., Boyd S., Ye Y. CVX: Matlab software for disciplined convex programming. 2008. http://stanford.edu/-boyd/cvx.
[38] Mattingley J., BoydS. CVXGEN: A code generator for embedded convex optimization // Optimization and Engineering. 2012. Vol. 13. No. 1. p. 1-27.
[39] Dai H., Izatt G., Tedrake R. Global inverse kinematics via mixed-integer convex optimization // International Symposium on Robotics Research. Chile, Puerto Varas, 2017. P. 1-16.
[40] Pratt G. A., Willisson P., Bolton C., Hofman A. Late motor processing in low-impedance robots: Impedance control of series-elastic actuators // Proc. American Control Conf., Boston, MA, 2004. Vol. 4. P. 3245-3251.
[41] Sensinger J. W. Unconstrained impedance control using a compact series elastic actuator // Proc. 2nd IEEE/ASME Int. Conf. Mechatronic and Embedded Systems and Applications, China, Beijing, 2006. P. 1-6.
[42] Seraji H. Adaptive admittance control: An approach to explicit force control in compliant motion // Proc. IEEE Int. Conf. Robotics and Automation, San Diego, CA, 1994. P. 2705-2712.
[43] Ott C., Mukherjee R., Nakamura Y. Unified impedance and admittance control // Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Anchorage, AK, 2010. p. 554-561.
[44] Lecours A., Mayer-St-Onge B., Gosselin C. Variable admittance control of a four-degree-of-freedom intelligent assist device // Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Saint Paul, MN, 2012. p. 3903-3908.
[45] Kikuuwe R., Fujimoto H. Proxy-based sliding mode control for accurate and safe position control // Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Orlando, FL, 2006. P. 25-30.
[46] Van Damme M., Vanderborght B., Verrelst B., Van Ham R., Daerden F., Lefeber D. Proxy-based sliding mode control of a planar pneumatic manipulator // Int. J. of Robotics Research. 2009. Vol. 28, No. 2. P. 266-284.
[47] Van Damme M., Vanderborght B., Van Ham R., Verrelst B., Daerden F., Lefeber D. Proxy-based sliding mode control of a manipulator actuated by pleated pneumatic artificial muscles // Proc. IEEE Int. Conf. Robotics and Automation, Italy, Roma, 2007. P. 4355-4360.
[48] Li W., Todorov E. Iterative linear quadratic regulator design for nonlinear biological movement systems // ICINCO: Proc. 1st Int. Conf. on Informatics in Control, Automation and Robotics, Portugal, Setubal, 2004. P. 222-229.
[49] Slotine J. J. E., Li W. On the adaptive control of robot manipulators // Int. J. of Robotics Research. 1987. Vol. 6, No. 3. P. 49-59.
[50] Tao G., Kokotovic P. V. Adaptive control of systems with actuator and sensor nonlinearities. — NY : John Wiley & Sons, 1996.
[51] Ortega R., Spong M. W. Adaptive motion control of rigid robots: A tutorial //Automatica. 1989. Vol. 25, No. 6. P. 877-888.
[52] Middletone R. H., Goodwin G. C. Adaptive computed torque control for rigid link manipulators // Proc. 25th IEEE Conf. Decision and Control, Greece, Athens, 1986. Vol. 25. P. 68-73.
[53] MistryM., Buchli J., Schaal S. Inverse dynamics control of floating base systems using orthogonal decomposition // Proc. IEEE Int. Conf. Robotics and Automation (ICRA) Anchorage, AK, 2010. P. 3406-3412.
[54] Mason S., Rotella N., Schaal S., Righetti L. Balancing and walking using full dynamics LQR control with contact constraints // Proc. IEEE-RAS 16th Int. Conf. Humanoid Robots, Mexico, Can-cun, 2016. P. 63-68.
[55] Savin S., Jatsun S., Vorochaeva L. Modification of Constrained LQR for Control of Walking inpipe Robots // Dynamics of Systems, Mechanisms and Machines (Dynamics), Omsk, Russia, 2017.
[56] Savin S., Vorochaeva L. Nested quadratic programming-based controller for pipeline robots // Proc. Int. Conf. Russia Industrial Engineering, Applications and Manufacturing (ICIEAM), St. Petersburg, 2017. P. 1-6.
[57] Jatsun S., Savin S., Yatsun A. Comparative analysis of global optimization-based controller tuning methods for an exoskeleton performing push recovery // Proc. 20th Int. Conf. System Theory, Control and Computing (ICSTCC), Romania, Sinaia, 2016. P. 107-112.
[58] Jatsun S., Savin S., Yatsun A. Parameter optimization for exoskeleton control system using Sobol sequences // Proc. Int. Conf. Robot Design, Dynamics and Control: ROMANSY XXI. Italy, Udine, 2016. P. 361-368.
[59] Featherstone R. Rigid body dynamics algorithms. — Springer, 2014.
[60] Jatsun S., Savin S., Lushnikov B., Yatsun A. Algorithm for motion control of an exoskeleton during verticalization // ITM Web of Conferences. 2016. Vol. 6. P. 01001.
[61] Яцун С. Ф., Савин С. И., Яцун А. С., Яковлев И. А. Синтез параметров регулятора экзоскеле-та, с использованием 1рт последовательностей // Известия ЮЗГУ. Серия Техника и технологии. 2015. № 4 (17). С. 24-31.
Авторы:
Людмила Юрьевна Ворочаева — кандидат технических наук, доцент кафедры механики,
мехатроники и робототехники, Юго-Западный государственный университет
Сергей Игоревич Савин — кандидат технических наук, доцент кафедры механики, мехатро-
ники и робототехники, Юго-Западный государственный университет
Cloud of Science. 2018. T. 5. № 1 http:/ / cloudofscience.ru
Control methods for in-pipe walking robots
S. I. Savin, L. Yu. Vorochaeva
*Southwest State University 50 let Oktyabrya St., 94, Kursk, Russia, 305040
e-mail: [email protected], [email protected]
Abstract. In this paper, planar and spatial in-pipe walking robots are studied. A general overview of control methods for in-pipe walking robots is given. Methods for step sequence generation, trajectory generation for the robot's body and inverse kinematics are analyzed. Different controllers that account for the contact interaction of the robot with the inner walls of the pipe are presented and analyzed.
Key words: in-pipe walking robot, step sequence, robot body's trajectory, robot body's orientation, inverse kinematics, controller, quadratic programming.
References
[1] Yousef B. F., Bastaki N., Mavridis N., Antali S., Menhali J., Al-Nuaimi K., Dhaheri N. A., Endo G., Hirose S., Sekine H., Seto D. (2012) In-Pipe Inspection robot. In book: Adaptive Mobile Robotics: World Scientific, p. 289-296.
[2] Suzumori K., Miyagawa T., Kimura M., Hasegawa Y. (1999) IEEE/ASME Transactions on Mecha-tronics. 4(3):286-292.
[3] Roh S. G., Choi H. R. (2005) IEEE Transactions on Robotics. 21(1):1-17.
[4] Suzuki M., Yukawa T., Satoh Y., Okano H. (2006) Mechanisms of autonomous pipe-surface inspection robot with magnetic elements. In book: Systems, Man and Cybernetics (SMC): Proc. IEEE Int. Conf. Taiwan, Taipei. vol. 4, pp. 3286-3291.
[5] Moghaddam M. M., Hadi A. (2005) Control and guidance of a pipe inspection crawler (PIC). ISARC: Proc. 22nd Int. Symposium on Automation and Robotics in Construction, Italy, Ferrara, pp. 11-14.
[6] Hoshina M., Mashimo T., Toyama S. (2009) Development of spherical ultrasonic motor as a camera actuator for pipe inspection robot. Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), St. Louis, MO, pp. 2379-2384.
[7] Kwon Y.-S., Lee B., Whang I.-C., Kim W.-K., Yi B.-J. (2011) A flat pipeline inspection robot with two wheel chains. Proc. IEEE Int. Conf. Robotics and Automation (ICRA), p. 5141-5146.
[8] Schempf H., Mutschler E., Goltsberg V., Skoptsov G., Gavaert A., Vradis G. (2003) Explorer: Un-tethered real-time gas main assessment robot system. Proc. Int. Workshop on Advances in Service Robotics ASER, Italy, Bardolino, vol. 3, pp. 1-6.
[9] Roh S. G. (2002) Navigation inside pipelines with differential-drive inpipe robot // Proc. IEEEInt. Conf. Robotics and Automation (ICRA), Washington, vol. 3, pp. 2575-2580.
[10] Mal'chikov A. V. (2013) Dinamika upravlyayemogo dvizheniya shestizvennogo mobil'nogo vnu-tritrubnogo robota. Tesis. Kursk, Yugo-Zapadnyy gos. un-t. [In Rus]
[11] Deits R. (2014) Convex segmentation and mixed-integer footstep planning for a walking robot. Doctoral dissertation, Massachusetts Institute of Technology.
[12] Park J. H., Chung H. (1999) Hybrid control for biped robots using impedance control and comput-ed-torque control. Proc. IEEE Int. Conf. Robotics and Automation: Detroit, vol. 2, pp. 1365-1370.
[13] Park J. H., Kim K. D. (1998) Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control. Proc. IEEE Int. Conf. Robotics and Automation, Belgium, Leuven, vol. 4, pp. 3528-3533.
[14] Keshwani R., Bhattacharya S. (2008) Sensor Review. 28(4):321-325.
[15] https://www.theengineer.co.uk/issues/november-2013-online/pigs-in-the-pipes/
[16] Pratt G. A. (2002) Integrative and Comparative Biology. 42(1): 174-181.
[17] Choi H. R., Roh S. G. (2007) In-pipe robot with active steering capability for moving inside of pipelines. Bioinspiration and Robotics, Walking and Climbing Robots. Vienna, Ip. 375-402.
[18] Horodinca M., Doroftei I., Mignon E., Preumont A. (2001) A simple architecture for in-pipe inspection robots. Proc. Int. Colloq. Mobile, Autonomous Systems: Germany, Magdeburg. p. 61-64.
[19] Jun C., Deng Z., Jiang S. (2004) Study of locomotion control characteristics for six wheels driven in-pipe robot. In book: Robotics and Biomimetics (ROBIO): Proc. IEEE Int. Conf. China, Shenyang. p. 119-124.
[20] Baba T., Kameyama Y., Kamegawa T., Gofuku A. (2010) A snake robot propelling inside of a pipe with helical rolling motion. Proc. of IEEE SICE Annual Conf., Taiwan, Taipei, p. 2319-2325.
[21] Bertetto A. M., Ruggiu M. (2001) In-pipe inch-worm pneumatic flexible robot. Proc. IEEE/ASME Int. Conf. Advanced Intelligent Mechatronics, Italy, Como, vol. 2, pp. 1226-1231.
[22] Melo K., Paez L. (2012) Modular snake robot gaits on horizontal pipes. Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), Portugal, Vilamoura, p. 3099-3104.
[23] Savin S. I., Vorochayeva L. Yu., Vorochayev A. V. (2017) Cloud of science. 4(2):224-248. [In Rus]
[24] Galvez J. A., De Santos P. G., Pfeiffer F. (2001) IEEE/ASME Transactions on Mechatronics. 6(1):26-35.
[25] Silva M. F., Tenreiro Machado J. A. (2007) J. of Vibration and Control. 13(9-10):1447-1486.
[26] Savin S., Vorochaeva L. Yu. (2017) Footstep planning for a six-legged in-pipe robot moving in spatially curved pipes. Proc. Int. Siberian Conf. Control and Communications (SIBCON), Astana, Kazakhstan, pp. 1-6.
[27] Savin S. I., Vorochayeva L. Yu. (2017) Sovremennyye materialy, tekhnika i tekhnologii. 3(11):45-51. [In Rus]
[28] Savin S. I., Vorochayeva L. Yu., Vorochayev A. V. (2017) Izvestiya Yugo-Zapadnogo gosudar-stvennogo universiteta. Seriya: Tekhnika i tekhnologii. 7(1):90-97. [In Rus]
[29] Savin S., Jatsun S., Vorochaeva L. (2017) MATEC Web Conference, 113: 02006.
[30] Gutmann J. S., Fukuchi M., Fujita M. (2005)A floor and obstacle height map for 3D navigation of a humanoid robot. Proc. IEEE Int. Conf. Robotics and Automation (ICRA), p. 1066-1071.
[31] Javier R. (2011) Movellan Minimum Jerk Trajectories, p. 1-6. http://mplab.ucsd.edu/tutorials/minimumJerk.pdf
[32] Lofberg J. (2004) YALMIP:A toolbox for modeling and optimization in MATLAB. Proc. IEEE Int. Symposium Computer Aided Control Systems Design, New Orleans, LA, p. 284-289.
[33] Diebel J. (2006) Representing attitude: Euler angles, unit quaternions, and rotation vectors. Stanford University, p. 1-35.
[34] Shoemake K. (1985) ACMSIGGRAPH computer graphics, 19(3):245-254.
[35] Savin S. I., Vorochayeva L. Yu. (2017) Podkhod k resheniyu obratnoy zadachi kinematiki dlya shagayushchikh vnutritrubnykh robotov. Proc II Vserossiyskoy nauchno-tekhnicheskoy konf. Mekhanika i matematicheskoye modelirovaniye v tekhnike, Moscow, p. 415-419. [In Rus]
[36] Boyd S., Vandenberghe L. (2004) Convex optimization. Cambridge university press.
[37] Grant M., Boyd S., Ye Y. (2008) CVX: Matlab software for disciplined convex programming. http://stanford.edu/-boyd/cvx.
[38] Mattingley J., Boyd S. (2012) Optimization and Engineering. 13(1):1-27.
[39] Dai H., Izatt G., Tedrake R. (2017) Global inverse kinematics via mixed-integer convex optimization. International Symposium on Robotics Research, Puerto Varas, Chile. p. 1-16.
[40] Pratt G. A., Willisson P., Bolton C., Hofman A. (2004) Late motor processing in low-impedance robots: Impedance control of series-elastic actuators. Proc. American Control Conf., Boston, MA, vol. 4, p. 3245-3251.
[41] Sensinger J. W. (2006) Unconstrained impedance control using a compact series elastic actuator. Proc. 2nd IEEE/ASME Int. Conf. Mechatronic and Embedded Systems and Applications:, Beijing, China, p. 1-6.
[42] Seraji H. (1994) Adaptive admittance control: An approach to explicit force control in compliant motion. Proc. IEEE Int. Conf. Robotics and Automation, San Diego, CA, p. 2705-2712.
[43] Ott C., Mukherjee R., Nakamura Y. (2010) Unified impedance and admittance control. Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Anchorage, AK, p. 554-561.
[44] Lecours A., Mayer-St-Onge B., Gosselin C. (2012) Variable admittance control of a four-degree-of-freedom intelligent assist device. Proc. IEEE Int. Conf. Robotics and Automation (ICRA):, Saint Paul, MN, p. 3903-3908.
[45] Kikuuwe R., Fujimoto H. (2006) Proxy-based sliding mode control for accurate and safe position control. Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Orlando, FL, p. 25-30.
[46] Van Damme M., Vanderborght B., Verrelst B., Van Ham R., Daerden F., Lefeber D. (2009) Int. J. of Robotics Research, 28(2):266-284.
[47] Van Damme M., Vanderborght B., Van Ham R., Verrelst B., Daerden F., Lefeber D. (2007) Proxy-based sliding mode control of a manipulator actuated by pleated pneumatic artificial muscles. Proc. IEEE Int. Conf. Robotics and Automation, Roma, Italy, p. 4355-4360.
[48] Li W., Todorov E. (2004) Iterative linear quadratic regulator design for nonlinear biological movement systems. Proc. 1st Int. Conf. on Informatics in Control, Automation and Robotics ICINCO, Setubal, Portugal, p. 222-229.
[49] Slotine, J. J. E., Li W. (1987) Int. J. of Robotics Research. 6(3):49-59.
[50] Tao G., Kokotovic P. V. (1996) Adaptive control of systems with actuator and sensor nonlineari-ties. NY, John Wiley & Sons, Inc.
[51] Ortega R., SpongM. W. (1989) Automatica, 25(6):877-888.
[52] Middletone R. H., Goodwin G. C. (1986) Adaptive computed torque control for rigid link manipulators. Proc. 25th IEEE Conf. Decision and Control, Athens, Greece. Vol. 25. p. 68-73.
[53] MistryM., Buchli J., Schaal S. (2010) Inverse dynamics control of floating base systems using orthogonal decomposition. Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Anchorage, AK, p. 3406-3412.
[54] Mason S., Rotella N., Schaal S., Righetti L. (2016) Balancing and walking using full dynamics LQR control with contact constraints. Proc. IEEE-RAS 16th Int. Conf. Humanoid Robots, Cancun, Mexico, p. 63-68.
[55] Savin S., Jatsun S., Vorochaeva L. (2017) Modification of Constrained LQR for Control of Walking in-pipe Robots. Dynamics of Systems, Mechanisms and Machines (Dynamics). Omsk, Russia.
[56] Savin S., Vorochaeva L. (2017) Nested quadratic programming-based controller for pipeline robots. Proc. Int. Conf. Industrial Engineering, Applications and Manufacturing (ICIEAM), St. Petersburg, Russia, p. 1-6.
[57] Jatsun S., Savin S., Yatsun A. (2016) Comparative analysis of global optimization-based controller tuning methods for an exoskeleton performing push recovery. Proc. 20th Int. Conf. System Theory, Control and Computing (ICSTCC), Sinaia, Romania, p. 107-112.
[58] Jatsun S., Savin S., Yatsun A. (2016) Parameter optimization for exoskeleton control system using Sobol sequences. Proc. Int. Conf. Robot Design, Dynamics and Control: ROMANSY XXI, Udine, Italy, p. 361-368.
[59] Featherstone R. (2014) Rigid body dynamics algorithms. Springer.
[60] Jatsun S., Savin S., Lushnikov B., Yatsun A. (2016) ITM Web of Conferences, 6:01001.
[61] Yatsun S. F., Savin S. I., Yatsun A. S., Yakovlev I. A. (2015) Izvestiya Yugo-Zapadnogo gosudar-stvennogo universiteta. Seriya Tekhnika i tekhnologii. 4(17):24-31. [In Rus]