УСТРОЙСТВО ОРИЕНТАЦИИ И НАВИГАЦИИ ТЕЛЕЖКИ МОБИЛЬНОГО РОБОТА ПРИ ЕГО ПЕРЕМЕЩЕНИИ ПО ГОРИЗОНТАЛЬНОЙ ПОВЕРХНОСТИ В ЗАДАННОМ ПОМЕЩЕНИИ

Техническое решение относится к робототехнике, а именно - к устройствам навигации и определения местоположения тележки мобильного робота в плоских декартовых координатах при перемещении тележки робота по горизонтальной поверхности в заданном помещении коридорно-комнатного типа.
В современной робототехнике одной из актуальных задач является задача разработки способов и устройств автономной «интеллектуальной» навигации роботов. При автономном передвижении робот должен уметь определять свое местоположение на карте местности с заданной точностью и осуществлять управление своим движением без участия человека. Поэтому, актуальной является разработка специализированных «умных» устройств и программных средств, осуществляющих навигацию мобильных роботов. Согласно известному определению, данному в энциклопедическом интернет-ресурсе «Википедия», навигация - это процесс управления некоторым объектом, имеющим собственные методы передвижения, в определенном пространстве передвижения. Чтобы осуществлять такое управление, роботу необходимо иметь указание цели движения, некий алгоритм осуществления движений, карту местности, очерчивающую возможные пути передвижения, а также устройство, способное определять ориентацию робота и его текущее местоположение на карте. В общем случае такая задача сегодня полностью не решена, и единого, универсального способа и устройства для ориентации и навигации мобильного автономного робота в любом возможном пространстве перемещений пока не создано.
Данное техническое решение предназначено для решения одного из частных случаев этой общей задачи - случая перемещения мобильного робота в помещении коридорно-комнатного типа (квартира, офис, больничные палаты и т.п.) по горизонтальной поверхности одного этажа в отсутствие динамически перемещающихся других объектов (людей, механизмов) в поле зрения робота.
Сегодня известно много способов и устройств для автономной ориентации и навигации мобильных роботов и робототехнических автоматизированных систем (автокаров, автомобилей и т.п.) в пространстве. Широко известен, например, способ ориентации и навигации с использованием систем спутниковой связи - Глонасс, GPS и др. (см. Бобровский, С.Н. Навигация мобильных роботов // Журн. PC Week. - 2004. - №9. - С. 60-63). Однако гражданским организациям доступны GPS-приемники, способные определять местоположение объекта только с погрешностью около 5 м, не точнее, что неприемлемо в условиях бытовых, больничных и/или офисных помещений с соизмеримыми линейными размерами.
Известно устройство, сочетающее в себе лазерный сканер и систему GPS навигации для уточнения координат положения объекта в координатной сетке GPS (заявка US 2006106533). Лазерный сканер работает по принципу лазерного локатора и время от времени уточняет координаты робота в сетке GPS. Однако это устройство очень дорогое по стоимости, тяжелое и сложное по своей конструкции и, кроме того, оно не обеспечивает определения угла поворота тележки робота в пространстве координат, не содержит карты местности, т.е. не может привязать местоположение робота к плану помещения, а система GPS часто не работает внутри помещений. Поэтому, в целом, данное устройство не применимо внутри помещений.
Известно также устройство, основанное на использовании только одного лазерного сканера-локатора (патент US 4918607), работающего по принципу определения расстояния по запаздыванию обратно отраженного оптического сигнала. Лазерный сканер-локатор размещается на вращающейся платформе на поверхности тележки робота и сканирует все пространство вокруг робота во время его движения, определяя расстояние до отражающих свет объектов на пути движения робота. Но это устройство тоже очень дорогое по стоимости, не содержит карты местности и имеет дополнительный существенный недостаток, связанный с невозможностью получить нужный по мощности обратно отраженный световой сигнал от черных поверхностей и зеркальных поверхностей, расположенных под углом к оси сканирующего луча лазера. Более того, луч лазера и/или его отражение во время движения робота могут попасть в глаз человека, что недопустимо с точки зрения техники безопасности. Поэтому данное устройство также малоприменимо в условиях бытовых, больничных и/или офисных помещений.
Известны и более безопасные методы и устройства локации - методы и устройства, основанные на использовании ультразвуковых локаторов и систем пассивного технического зрения (видеокамер).
Известно устройство мобильного робота (патент RU 274543), на самодвижущейся тележке которого установлен приемник и передатчик ультразвукового сигнала для обнаружения препятствия на пути движения робота. Но это устройство только определяет наличие препятствия по линии движения робота и не определяет местоположения робота в координатах карты местности. Отсутствует у робота и собственно карта местности для навигации его движения, поэтому такой робот просто будет передвигаться по свободным от препятствий проходам методом произвольного блуждания, как это делает большинство известных домашних роботов-пылесосов.
Известны также Ультразвуковой технологический мобильный робот (свидетельство на полезную модель RU 5541) и система управления мобильным роботом (патент на полезную модель RU 83858), которые содержат набор ультразвуковых датчиков с приемниками и излучателями ультразвука. Однако эти системы очень дороги, т.к. их предложенная конструкция и алгоритм обработки сигналов требуют применения сложных узлов для обеспечения ориентации робота - блока когнитивной графики, блока базы данных и блока оценки произвольного контура в случае Ультразвукового робота по свидетельству RU 5541, а также нейронной сети-классификатора с блоком нечеткой логики и электронным компасом в случае системы управления мобильным роботом по патенту RU 83858.
С использованием системы пассивного технического зрения известен способ корректировки курса мобильного робота на основе устройства для определения текущего местоположения робота (патент RU 2210492), которое содержит обзорную телекамеру с видеоплатой, подсоединенной к компьютеру для распознавания базовых знаков на потолке. Изобретение позволяет определять местоположения робота по базовым знакам на потолке, т.е. определять его примерное нахождение в той или иной части помещения, а также корректировать направление его движения при обнаружении препятствия. Недостаток этого способа и устройства - необходимое дополнительное размещение на потолках помещений специальных знаков, что не позволяет использовать робот в неподготовленном помещении. Кроме того, данный способ и устройство не позволяют вычислять декартовы координаты робота и его угол поворота на карте местности.
Наиболее близким по своим эксплуатационным характеристикам к заявляемому техническому решению является способ визуального контроля ориентации тележки мобильного робота при его перемещении по горизонтальной поверхности в заданном помещении, изложенный в описании к патенту на изобретение RU 2307730. Этот способ реализуется следующим образом. На тележке мобильного робота устанавливается на одной высоте два различных источника излучения (лампочки). На горизонтальной поверхности местности, по которой ожидается передвижение робота, создается система неподвижных реперных точек и неподвижно устанавливается видеокамера. Для каждой реперной точки на матрице изображения видеокамеры определяется усредненное точечное изображение источника излучения. По изображениям текущих положений источников излучения по мере движения робота вначале определяют ближайшие к ним изображения реперных точек, не лежащих на одной прямой, по которым затем производят интерполирование положений источников излучения в плоской системе координат, а также определяют угловое положение тележки мобильного робота. Это изобретение обеспечивает автоматическое уточненное определение плоских декартовых координат и углового положения тележки мобильного робота при его перемещении по горизонтальной поверхности в заданном помещении.
Недостатком этого способа является то, что необходимо создание специальных реперных точек в помещении, а видеокамера не размещена на тележке робота, т.е. использование робота возможно только в одной специально подготовленной комнате в поле зрения видеокамеры, либо все помещения, доступные для движения роботу, необходимо оснащать реперными точками и видеокамерами, что дорого и требует прокладки дополнительных коммуникаций (проводов связи видеокамер с компьютером, кабелей питания видеокамер и т.п.).
В соответствии с этим поставлена задача, направленная на устранение всех вышеуказанных недостатков. Авторами предлагается недорогое, безопасное и мобильное решение для устройства ориентации и навигации тележки мобильного робота при его перемещении в заданном помещении по горизонтальной поверхности, которое могло бы располагаться полностью на тележке мобильного робота, которое не использует опасное лазерное излучение, не требует создания в помещениях никаких дополнительных реперных точек, маяков, разметок, знаков, но функционально позволяет с заданной точностью, достаточной для практического применения, с учетом возможных погрешностей измерения каждого датчика определять координаты робота на карте местности и его угловое положение в случае потери ориентации.
L
R
Предлагаемое устройство схематично показано на Фиг. 1. Предлагаемое устройство 1, размещаемое на тележке мобильного робота 2 с электромоторами 2а и 3б, содержит 4 стандартных и недорогих ультразвуковых датчика расстояния 4а, 4б, 4в, 4г, например, типа HCSR04 (см. Product User's Manual «Ultrasonic Sensor HCSR04» / Cytron Technologies Sdn. Bhd., Skudai, Malaysia, цена в 2013 г. около 5 USD за датчик), расположенных на тележке мобильного робота (сокращенно - тележке робота) с учетом возможности измерения расстояния до предметов и стен в помещении в 4-х взаимно перпендикулярных направлениях по направлению движения робота - вперед, назад, вправо, влево. Также предлагаемое устройство 1 содержит электронный блок памяти, вычислений и управления ультразвуковыми датчиками расстояния и движением тележки (сокращенно - бортовой компьютер) 5, в который заложена геометрическая карта-план помещений и алгоритм управления перемещением робота. Выходы ультразвуковых датчиков расстояния выполнены с возможностью подключения ко входам бортового компьютера 5а, а выходы бортового компьютера 5б выполнены с возможностью подключения входов устройств управления ультразвуковыми датчиками, а именно устройств запуска датчиков на измерение, и устройств блока электромоторов тележки, также управляемых по командам с бортового компьютера. Геометрическая карта-план помещений при этом содержится в блоке памяти компьютера и представляет собой список объектов - комнат и коридоров помещений - с присвоенными им характерными отличительными признаками: условными номерами (названиями), геометрическими размерами - шириной (W) и длиной (L) каждого помещения в метрах, номером соседнего помещения с которыми данное помещение соединено входом, а также левыми {X;Y} и правыми {X;Y}координатами входа в помещение относительно декартовых осей X и Y, расположенных по двум примыкающим друг к другу стенкам помещения - передней (X) и левой (Y) соответственно.
1
1
2
2
L
L
R
R
2
1-2
2
2
f
b
r
l
i
i
Принцип формирования геометрической карты-плана помещений и принимаемая система координат для них поясняются на Фиг. 2 на примере двух помещений - коридора и комнаты (любое другое количество помещений, их другая конфигурация и геометрия легко обобщаются и реализуются на основе этого примера по аналогии). Каждое помещение - комната 1 и коридор 2 - имеют свою систему координат {X1;Y1} и {X2;Y2}, а также свою ширину и длину {W,L} и {W,L} соответственно. Проход 3 из коридора 2 в комнату 1 задается координатами {X1Y1=0}, и {X1;Y1=0} в системе координат комнаты 1, которые могут быть легко пересчитаны и в систему координат коридора 2, т.к. известны ширина коридора W и смещение D координаты {X1=0} относительно {X2=0}. Комната и коридор могут дополнительно содержать мебель 4, координаты которой на карте не задаются. Тележка робота, содержащая предлагаемое устройство 5 в начальный момент времени осуществляет свое движение, например, по коридору 2 вправо со скоростью V. При этом в оперативной памяти бортового компьютера предлагаемого устройства в качестве текущей переменной местоположения выступает номер помещения, в котором оно находится (номер 2 в данном случае), а длина (L) и ширина (W) этого помещения известны устройству из карты-плана помещений. Предлагаемое устройство при движении тележки робота работает и реализует свои функции следующим образом. В случае простого прямолинейного движения тележки робота, содержащей предлагаемое устройство (Фиг. 3) бортовой компьютер постоянно в цикле выдает сигнал запуска измерений на каждый датчик и опрашивает все свои датчики, получая информацию о расстояниях до стен вперед (r), назад (r), вправо {r) и влево (r). Поскольку каждое измерение r не может быть выполнено абсолютно точно и обычно содержит некоторую погрешность (неточность) измерений Δr текущие координаты тележки робота в системе координат {X2;Y2}для уменьшения ошибки ориентации определяются как среднее арифметическое по результатам 2-х измерений:
1-е измерение: ,
b
r
где Δr и Δr - возможные (типовые) погрешности измерений расстояний назад (b) и вправо (r) (определяются при испытаниях тележки робота, содержащей предлагаемое устройство);
2-е измерение:
,
l
где Δr и Δrf - возможные (типовые) погрешности измерений расстояний вперед (f) и влево (l) (также определяются при испытаниях тележки робота, содержащей предлагаемое устройство);
и усреднение:
.
При этом дополнительно в каждом цикле измерений контролируются соотношения:
,
2
2
2
2
где ΔL и ΔW - допустимые погрешности измерений геометрических размеров помещений (задаются разработчиком робота). Проверка условий (5) и (6) постоянно «подтверждает» тележке робота ее местоположение на карте - факт нахождения в коридоре 2 с геометрическими размерами L и W с учетом возможных погрешностей измерений. Размерами самого робота в данном алгоритме пренебрегаем. Считаем, что все расстояния датчиками определяются с учетом известных габаритов робота, т.е. все расстояния отсчитываются от центра масс робота.
r
r
l
2
2
r
1
l
2
b
1
f
2
L
L
R
R
Далее, если роботу требуется перейти в помещение 1, то в один из моментов времени своего движения он окажется в положении справа от прохода (Фиг. 4). Проход в рамках описания принципа работы данного технического решения предполагается всегда свободным, т.е. дверь отсутствует. В этот момент времени показания боковых ультразвуковых датчиков расстояния предлагаемого устройства в сумме перестанут удовлетворять условию (6). Это произойдет даже в случае, если справа от устройства по «глухой» стене окажется какой-либо небольшой предмет-препятствие 4d, меняющий показания r, как это показано на Фиг. 4. Все равно сумма расстояний r и r окажется много больше ширины коридора W±ΔW. Это будет означать, что согласно карте местности слева от тележки робота обнаружен проход в помещение 1. В этом случае предлагаемое устройство запоминает текущие величины расстояний r=r∗ и r=r∗, поворачивает тележку с роботом влево на 90° так, что становятся верными вместо них значения r=r∗ и r=r∗ и центрует свое положение по оси X по центру прохода, основываясь на известных из карты местности координатах прохода {X1;Y1=0} и {X1;Y1=0} в системе координат комнаты 1, а также на известном из карты смещении начала координат системы {X1;Y1} относительно системы {X2;Y2}. Координата X2 робота в этом случае будет определяться простым соотношением:
b
f
После этого тележка с роботом 5 въезжает в помещение 1 на глубину S (Фиг. 5), предлагаемое устройство контролирует и определяет глубину S по показаниям rи r аналогично алгоритму по формулам (1)-(4), а именно:
S определяется как среднее арифметическое из двух измерений:
1-е измерение: ,
b
b
где (r±Δr) - текущий результат измерений расстояния назад;
2-е измерение:
f
f
где (r+Δr) - текущий результат измерений расстояния вперед;
и усреднение: .
b
3
f
4
Сам момент пересечения линии прохода 3 определяется тележкой робота, содержащей предлагаемое устройство 5, по резкому уменьшению, а затем резкому увеличению показаний боковых ультразвуковых датчиков расстояний - в момент пересечения прохода они в сумме покажут его ширину. В этот момент времени координата Y1 тележки робота в системе координат комнаты 1 принимается равной нулю (принимается Y1=0) и запоминаются показания r=r∗ и r=r∗.
Следующим этапом предлагаемому устройству необходимо определить значение своей координаты Y1, т.к. в данном примере только из смещения S за счет наличия мебели 4a и 4d (см. Фиг. 5) нельзя прямо вычислить координату Y1, а значение координаты XI уже известно из условия входа тележки с роботом 5 в комнату 1 прямо по центру прохода 3, т.е. из (7) прямо следует:
.
Предложенное техническое решение позволяет легко выполнить и эту операцию. Координата YI тележки с роботом, которая «вошла» в комнату за счет смещения S, определяется снова как среднее арифметическое из двух измерений и вычислений:
1-е измерение: ,
b
b
где (r±Δr) - текущий результат измерений расстояния назад в положении S;
1-е измерение: ,
f
f
где (r±Δr) - текущий результат измерений расстояния вперед в положении S;
и усреднение: .
Далее предлагаемому устройству необходимо проверить размеры комнаты 1 по показаниям ультразвуковых датчиков расстояния и сравнить их с известными значениями из карты по аналогии с проверкой соотношений (5) и (6), чтобы убедиться, что оно действительно находится в нужном помещении - в комнате 1. Однако может оказаться, что сзади, спереди и/или сбоку от тележки с роботом, как показано на Фиг. 5, находятся еще и другие предметы мебели или другие препятствия/предметы, не позволяющие в этом положении тележке с роботом сразу измерить размер помещения с заданной точностью. Тогда тележка с роботом 5 начинает поворачиваться вокруг своей оси, например, вправо на угол φ, как это показано на Фиг. 6 и Фиг. 7, производя измерения и вычисляя размер комнаты из простых геометрических формул. Сравнивая вычисленные размеры с известными из карты размерами в зависимости от угла поворота робота можно рано или поздно, проводя сканирования с несколькими разными углами φ, получить совпадение с размерами из карты с заданной точностью, если тележка с роботом действительно находится в выбранном помещении с номером 1 (размеры помещений 1 и 2 не совпадают), или не получить совпадений никогда, если тележка с роботом находится в другом помещении - помещении 2. Здесь при сканировании по углу φ может быть несколько вариантов измерения расстояний, изображенных, например, на Фиг 6 и Фиг. 7 и, соответственно, несколько вариантов вычислений. Однако все эти варианты очевидны, набор их конечен, поэтому все вычисления для всех вариантов легко могут быть выполнены бортовым компьютером предлагаемого устройства, базируясь на школьном курсе геометрии, т.е. практическая применимость данного алгоритма очевидна. Например, для Фиг. 6 ширина комнаты, определяемая как
,
1
где φ-θ=90°, даст правильный результат в пределах допустимой заданной погрешности ΔW. Для Фиг. 6. длина комнаты, определяемая как
1
даст правильный результат в пределах допустимой заданной погрешности ΔL.
В случае наличия препятствия на пути какого-либо направления измерений, размеры, вычисленные с помощью этого направления, окажутся несовпадающими с размерами помещения, указанными на карте. В этом случае принимается решение о номере комнаты по вычислениям по другим размерам, либо тележка робота поворачивается на другой угол, проводя новые вычисления под новым углом, до получения надежных совпадений, либо до полного своего поворота вокруг оси на 360°. В последнем случае, если не удалось получить при полном повороте достоверных совпадений ни в каких измерениях, делается вывод об ошибке текущего номера помещения.
Этот же алгоритм простых геометрических расчетов позволяет тележке робота 5, если она «потеряла» ориентацию, полностью определить заново свои координаты (x,y) и угол поворота (φ) в любом помещении, зная только номер помещения, в котором она находится, и его линейные геометрические размеры (ширину W и длину L) (Фиг. 8). Это выполняется по следующему алгоритму.
f
b
r
l
f
b
r
l
На основании показаний ультразвуковых датчиков расстояния составляется функция ошибки E(x,y,θ), определенная для каждой точки комнаты и каждого угла поворота робота φ с учетом φ+θ=90°. Функция ошибки представляет собой сумму квадратов отклонений показаний датчиков r, r, r, r от истинных расстояний до стен R, R, R, R по направлениям измерений:
.
Истинные расстояния до стен определяются из общих геометрических соотношений следующим образом:
,
[a,b]
где I(θ) - индикатор множества [a,b] такой, что:
где Z - множество всех целых чисел.
Далее одним из известных численных методов, например, методом градиентного спуска (см. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. Пер. с англ. - М.: Мир, 1985.), находится минимум функции ошибки по (17) при каком-то конкретном наборе координат. Эти координаты
и являются решением задачи определения координат тележки робота в любой заданной комнате с помощью предложенного устройства.
Таким образом, предложенное техническое решение функционально позволяет с заданной точностью, достаточной для практического применения, определять координаты тележки робота на карте местности и ее угловое положение при перемещении тележки робота по горизонтальной поверхности в заданном помещении коридорно-комнатного типа.