Диссертация (1149252), страница 10
Текст из файла (страница 10)
Типичный пример такой ситуации показанна рисунке 1.10, где четыре робота расположены близко друг к другу46и почти сонаправлены. В данном случае необходимо увеличить расстояниемежду роботами, в частности, расстояние 12 между роботами 1 и 2.Вместе с тем робот 2 «ближе» к 3-му, чем робот 1 ко 2-му, так что ⋆2 < ⋆1 .Тогда согласно основной идее управления скоростью 2 < 1 . Это вопрекиожиданиям ставит под сомнение увеличение 12 .Рисунок 1.10 — Нежелательная ситуацияДополнительные проблемы связаны с тем, что всякий раз, когда ⋆2 и ⋆1одновременно близки к нулю, как на рисунке 1.10, знак их разности становитсяочень чувствителен к малым погрешностям в определении положенийроботов. Тормозящая компонента привносит необходимую робастностьи, в отличие от основного управления (⋆ ), достигает максимальногозначения, когда робот имеет «близких» соседей спереди. Главная задача этойкомпоненты заключается в том, чтобы гарантировать, что ни один роботне настигнет своих близких предшественников.
Для этого робот определяет ихтормозящие компоненты и вычисляет для себя превышающую их компоненту.Это возможно, поскольку «близость» означает, что предшественники находятсяв зоне видимости робота.Для формирования тормозящей компоненты в 1.12 предварительновыберем непрерывные функции , : [−, ] → [ 0, ] и : [ 0, +∞) → [ 0, ](см. рисунок 1.11), которые тождественно равны нулю за пределами [−− , − ]и [ 0, ] соответственно, а их максимальные значения = (0) = (0) > 0, = (0) > 0 таковы, что{︀}︀[ (0) − ] := max ; 2 <.Обозначим через | полярный угол локации соседа в относительнойсистеме координат робота , а через |— угол ориентации в той же системекоординат (см. рисунок 1.12).Вес соседа (относительно ) определим соотношением| := (|) (| ) (‖ − ‖),(1.13)47если находится в основной зоне учета робота ; и соотношением| := (|) (‖ − ‖),(1.14)если находится во вспомогательной зоне. Таким образом, вес нулевой, еслиробот либо недостаточно близок к роботу (т.е.
‖ − ‖ ≥ ), либоне является почти сонаправленным с ним (т.е. ||| ≥ − ), либо опережает его(т.е. ∈ S ), но скорее опережает «сбоку», чем «спереди» (т.е. || | ≥ − ).Соседа с | > 0 назовем ближайшим, а последовательность роботов,в которой за каждым роботом цепочки следует его ближайший сосед —цепочкой ближайших соседей (ЦБС).Рисунок 1.11 — Функции, используемые для формированиятормозящей компонентыРисунок 1.12 — Азимут | и угол ориентации |робота относительно робота Лемма 1.2.1. В любой ЦБС отсутствуют циклы.Доказательство: Пусть 0 , 1 , .
. . , — ЦБС. С учетом (1.13), (1.14)и по определению ближайшего соседа| +1 | | ≤ − и +1 ∈ S ⇒ | +1 | | ≤ − .(1.15)48Покажем, что в системе координат робота 0 робот находится в секторе,изображенном на рисунке 1.13. Используем индукцию по . Для =1 утверждение непосредственно следует из (1.15) и из определениявспомогательной зоны учета.
Пусть утверждение выполнено для некоторого ,и робот сонаправлен с роботом 0 . Синие сектора на рисунке 1.14локализуют положение робота + 1 относительно робота для различныхвозможных положений . Вместе с тем в силу первого неравенства в (1.15)угловое расхождение | |0 | между роботами 0 и не превосходит − .Таким образом ограничивающий синий сектор луч может быть повернутотносительно самого себя против часовой стрелки на угол, не превосходящий− . Следовательно, угол его наклона относительно направления 0 робота 0не превышает (+1) − .
Аналогично, луч может быть повернут относительнолуча, показанного на рисунке 1.14 штрих-линией, по часовой стрелке на угол,не превосходящий − , тем самым угол его наклона относительно этого лучатакже не превышает (+1) − . Это означает, что робот +1 находится в секторе,изображенном на рисунке 1.13, где := + 1. В результате убеждаемся, чторобот находится в данном секторе при любом .Рисунок 1.13 — Сектор, содержащий робота Рисунок 1.14 — Ситуация, когда робот сонаправлен с 049Предположим, что лемма не верна. Тогда существует ЦБС вида 0 , . . . , , +1 = 0 , где 0 , .
. . , попарно различны, и значит, ≤ − 1. Поскольку робот находится в секторе, изображенном на рисунке 1.13,а робот 0 — его ближайший сосед, существует два варианта их расположенияотносительно друг друга (см. рисунок 1.15). Но тогда с учетом первогонеравенства в (1.15) − ( − 1) − ≤ − в нарушение определения угла− : − < 2. Полученное противоречие завершает доказательство. Рисунок 1.15 — Робот 0 — ближайший сосед робота .Следовательно, во-первых, ЦБС состоит не более, чем из роботов,причем эти роботы попарно различны, и во-вторых, каждый робот являетсякорневым элементом конечного числа ЦБС. Заметим, что он способенопределить все такие ЦБС, поскольку расстояние между ближайшими соседямине превосходит , и < −1 , где — дальность видимости робота.Определим ранг робота как максимальную длину (количество элементов)ЦБС, которая начинается с .
Нетрудно заметить, что ранг уменьшается по мереперехода от робота к роботу вдоль ЦБС, и каждый робот способен вычислитьсвой ранг.Тормозящую компоненту в (1.12) определим рекурсивно. Для роботовранга 1 положим ее равной нулю. Допустим, что тормозящая компонента уже определена для всех роботов ранга ≤ r, и рассмотрим робота ранга r + 1.
Для любого его ближайшего соседа тормозящая компонента уже определена, поскольку ранг этого соседа ≤ r. Положим−1| := | [1 + −1 ],если робот лежит во вспомогательной зоне учета робота , и50−1| := | [1 + −2 ],если расположен в основной зоне учета. Окончательно, := max | ,где max берется по всем ближайшим соседям робота .1.3Теорема об отсутствии столкновений между роботамиТеорема 1.3.1. Пусть верны предположения 1.1.1 и 1.1.2, каждый роботудовлетворяет предположению 1.1.3 и управляется регулятором (1.2)с параметрами , , для которых выполнено (1.6). Пусть начальноерасстояние между любыми двумя роботами превышает 3 −1 + , где — радиус диска из предположения 1.1.3. Тогда столкновения между роботамиисключены: () ̸= () ∀ ̸= , ≥ 0.Для доказательства теоремы потребуется следующая лемма.Лемма 1.3.1.
Столкновение двух роботов возможно только после того,как оба начали движение по поверхности = 0 разрыва закона управления(1.2) в скользящем режиме.Доказательство: По леммам 1.1.3 и 1.1.4, начиная с некоторого моментавремени ⋆ ≤ 3 −1 , оба робота войдут в скользящий режим, причем одиниз них при ∈ [ 0, ⋆ ] остается в пределах диска радиусом с центромв начальном положении этого робота. В то же время другой робот переместитсяна расстояние, не превышающее 3 −1 , так как его скорость не превосходит .По предположению теоремы 1.3.1 + 3 −1 меньше начального расстояниямежду двумя роботами, поэтому столкновение до момента ⋆ невозможно.
Доказательство теоремы 1.3.1: Предположим, что утверждениене верно, и некоторые роботы, скажем, и ̸= сталкиваются: := { ≥ 0 : () ̸= ()} ≠ [ 0, + ∞). Тогда компонента связности [ 0, ) множества 51ограничена: 0 < < +∞, и () ̸= () ∀ ∈ [ 0, ), ( ) = ( ).По лемме 1.3.1, начиная с некоторого момента времени ⋆ < , обаробота и войдут в скользящий режим. Тогда по лемме 1.1.5при ≥ ⋆ их движение происходит по интегральной кривой автономногодифференциального уравнения ′ =().
Поскольку различные интегральныекривые не пересекаются, оба робота двигаются по одной и той же интегральнойкривой . Введем ее натуральную параметризацию (в окрестности ( ) = ( )) и рассмотрим соответствующие координаты () и ()роботов и . Очевидно, ˙ = , ˙ = , ( ) = ( ) и () ̸= ()при < , ≈ . Так как функции (·) и (·) непрерывны, одна из них,скажем, (·) всегда превосходит другую: () < () при < , ≈ . Далеерассматриваем только такие . Тогда — ближайший сосед робота , которыйлежит в его основной зоне учета.
Таким образом,[︀]︀ () ≥ | () 1 + −1 () , := 2 = (0) (0) (0),где| () = [ |() ] [ | () ] [ ‖ () − ()‖ ].Пусть → − 0. Тогда () − () → 0, () − () → 0, |() → 0,| () → 0, ⋆ () → 0. Как следствие, | () → , и(1.12)lim ˙ () − ˙ () = lim () − () ==→ −0→ −0(1.12)[︀]︀== lim [ ⋆ () ] − () − [ ⋆ () ] + () ≥→ −0[︀(︀)︀]︀≥ lim [ ⋆ () ] − [ ⋆ () ] + | () + | ()−1 − 1 () ≥→ −0≥ [ 0 ] − [ 0 ] + = > 0.Следовательно, ( ) > ( ), так как () > () ∀ < , ≈ . Таким образом,приходим к противоречию с ранее установленным равенством ( ) = ( ), чтозавершает доказательство теоремы. 521.4Теорема об отсутствии кластеризации роботовВ данном параграфе считаем, что помимо предположений 1.1.1–1.1.3выполнено и предположение 1.1.4. По теореме 1.1.2 всю команду роботов можноразбить на непересекающиеся группы 1 ∪ .
. . ∪ так, что роботы из однойгруппы сходятся к общей орбите 0 из (1.9). (Некоторые группы могутбыть пустыми.)Для избежания кластеризации роботов за счет их бокового сближениятребуются более тонкие (в сравнении с предыдущим параграфом) настройкирегулятора скорости. Соответствующие требования касаются выбора зон учетаи заключаются в следующем.Предположение 1.4.1. Всякий раз, когда робот находится на любойкривой 0 и ориентирован по касательной к ней, справедливы следующиеутверждения:i) вспомогательная зона учета (темный сектор на рисунке 1.16) имеетединственную общую с 0 точку, которая является вершиной этогосектора;ii) радиусы, ограничивающие основную зону учета (светлый секторна рисунке 1.16), пересекают 0 только в вершине этого сектора.Поскольку кривая 0 регулярная, свойства i) и ii) выполнены для всех0 < − < < 2 при достаточно малых , > 0.Рисунок 1.16 — Пересечение зоны учета с кривой 0Конкретизируем, что означает «отсутствие кластеризации».