СПОСОБ И УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СЕТЬЮ МОБИЛЬНЫХ РОБОТИЗИРОВАННЫХ УСТРОЙСТВ
METHOD AND DEVICE FOR MANAGING NETWORK OF MOBILE ROBOTIZED DEVICES

Область техники
Настоящее изобретение относится к способам и устройствам для децентрализованного управления сетью мобильных роботизированных устройств, выполняющих совместно задачи мониторинга пространства на некоторой целевой территории.
Предшествующий уровень техники
Научно-технические прогресс приводит к постепенной автоматизации и механизации самых разных сфер жизни. Это в том числе касается и задач, для решения которых наличие некоторого управляющего или контролирующего воздействия со стороны человека традиционно считалось необходимым. Важным классом таких задач являются задачи мониторинга пространства.
Задача мониторинга пространства, как правило, предполагает обнаружение некоторого целевого объекта, например, физического тела или сигнала, на некоторой целевой территории. Целевой объект должен быть заранее определен - или с помощью описания конкретного типа объекта, достаточного для его однозначной идентификации и отличия от любого другого объекта с помощью существующих средств (например, при поиске людей, потерявшихся в лесу, проводится поиск именно людей с проведением четкого отличия от других одушевленных и неодушевленных объектов по признакам размера, температуры, особенностей движения и проч.), или же неким набором признаков (например, при обеспечении безопасности на некоторых производствах проводится обнаружение любых перемещений живых существ в тех зонах, где его быть не должно -не только людей, но и любых живых существ, появление которых может привести к нарушению технологических процессов - причем уровень угрозы может варьироваться от размеров обнаруженного объекта). Карта целевой территории может быть заранее неизвестна, при этом задача картографирования местности может решаться параллельно, но, как правило, не является основной задачей.
Решение таких задач необходимо в самых разных сферах жизни: при ликвидации последствий стихийных бедствий и несчастных случаев (например, поиск потерявшихся/пропавших людей, прочесывание местности, оценка уровня ущерба от потерявшихся/пропавших людей, прочесывание местности, оценка уровня ущерба от стихийного бедствия), обеспечение безопасности определенных территорий (например, мониторинг параметров состояния окружающей среды для идентификации отклонений от технологических процессов), мониторинг определенных параметров территории (например, построение профилей температуры воздушных масс над посевными территориями, фиксирование изменений экологического состояния окружающей среды) и тому подобные задачи.
В настоящее время подавляющее большинство таких задач решается в ручном режиме, лишь некоторые - в полуавтоматическом (с применением технологических решений и непосредственном участии людей) и лишь единицы - в автоматическом. Современные реалии, при возрастающем количестве и масштабах таких задач, диктуют необходимость поиска наиболее эффективных решений. Безусловно, для каждой конкретно поставленной задачи эффективное решение, как и само понятие эффективности, определяется по-своему, но можно сформулировать некоторые общие принципы эффективности, стремление к которым объединяет решения частных задач:
- обеспечение наименьшего уровня задействованности человеческого ресурса при обеспечении решения;
- наименьшее количество уязвимых мест, обеспечивающих работоспособность всей системы;
- простота развертывания и свертывания системы;
- способность к охвату больших территорий, мощные вычислительные способности;
- масштабируемость решения;
- гибкость по отношению к изменению условий задачи;
- способность к решению сопряженных задач.
Для некоторых частных задач выполнение некоторых из этих принципов не является обязательным, но в целом системы, соответствующие вышеперечисленным принципам, оптимально подходят для решения задач из объявленного класса.
Существующие решения, предполагающие ручной режим сбора информации, очевидно, являются трудномасштабируемыми и очень трудоемкими и наличие тенденций к постепенному отказу от таких решений в пользу полуавтоматических и автоматических методов при возрастающих объемах задач представляется очевидным.
Средства, предполагающие полуавтоматический режим работы в настоящее время редко являются гибкими и масштабируемыми. Например, чтобы увеличить зону действия РЛС (радиолокационной станции) даже на 1% зачастую необходимо строительство еще одной РЛС. Кроме того, многие из них предполагают серьезные действия по монтажу систем, занимающие большое время, требующие большого количества ресурсов и влияющими на экологию местности, что делает невозможным их использование для решения краткосрочных задач.
Оставшиеся существующие гибкие и масштабируемые решения подобных задач, действующие как в полуавтоматическом, так и в автоматических режимах не удовлетворяют принципу наименьшего количества уязвимых мест, выход из строя которых влечет за собой потерю работоспособности всей системы. Выполнение этого принципа очень важно для решения большей части задач, приведенных выше в качестве примеров. Полуавтоматический режим работы предполагает наличие управляющего и/или контролирующего воздействия со стороны некоего оператора, что и является уязвимым местом - без оператора система неработоспособна. В системах, реализующих автоматический режим работы, наблюдается похожая проблема, однако роль оператора здесь выполняет некий управляющий узел, центральный элемент, лидер и т.п.
Таким образом, существует необходимость в решении, удовлетворяющем всем вышеобозначенным принципам эффективности и позволяющем избежать недостатки перечисленных существующих решений.
Сущность изобретения
С учетом указанных выше недостатков в данной области техники настоящее изобретение обеспечивает управления мобильным роботизированным устройством сети управляемых мобильных роботизированных устройств. Устройство устанавливается на мобильном роботизированном устройстве и обеспечивает обработку данных о текущем местоположении мобильного роботизированного устройства, среде и других устройствах сети. В согласовании с устройствами управления других устройств сети устройство решает задачу покрытия целевого пространства устройствами сети, строит маршрут патрулирования, передает управляющие сигналы на модуль управления приводами мобильного роботизированного устройства инициирующие передвижение устройства по маршруту патрулирования. Устройство также обеспечивает мониторинг целевого объекта в ходе передвижения по маршруту патрулирования и в случае его обнаружения сообщает об этом другим участникам сети или оператору. Устройство состоит из процессора, блока памяти, сенсоров местоположения, сенсоров окружающей среды, модуля управления приводами, подключенного к элементам системы маневрирования мобильного роботизированного устройства, детектора изменения параметров задачи мониторинга, предназначенного для целей приема данных об изменении условий задачи мониторинга от оператора сети мобильных роботизированных устройств, сетевого приемник/передатчик, сконструированного для целей обмена данными с другими устройствами сети, и детектора целевого объекта, сконструированного для целей обнаружения целевого объекта и передачи данных процессору устройства.
Краткое описание чертежей
ФИГ. 1 - структурная схема варианта осуществления устройства управления мобильным устройством;
ФИГ. 2 - структурная схема варианта размещения элементов устройства управления мобильным устройством на одном из вариантов мобильного устройства;
ФИГ. 3 - последовательность операций варианта осуществления процесса вычисления задачи покрытия заданного пространства, выполняемого устройством управления мобильным устройством;
ФИГ. 4 - последовательность операций варианта осуществления процесса анализа маршрута движения, выполняемого устройством управления мобильным устройством;
ФИГ. 5 - последовательность операций варианта осуществления процесса выбора зоны патрулирования, выполняемого устройством управления мобильным устройством;
ФИГ. 6 - последовательность операций варианта осуществления процесса выбора целевой точки, выполняемого устройством управления мобильным устройством;
ФИГ. 7 - последовательность операций варианта осуществления процесса обработки сигналов тревоги, выполняемого устройством управления мобильным устройством;
Детальное описание изобретения
ФИГ. 1 - структурная схема варианта осуществления устройства управления мобильным устройством 100, включающая базу данных 106, процессор 116, состоящий из блоков, производящих вычисления и связанный при помощи контроллера 136 с набором сенсоров 138-144, модулем управления приводами 146, сообщающем вычисленные сигналы на приводы устройства, а также с сетевым приемником/передатчиком 148 для обработки входящих и исходящих сообщений.
Связь между элементами процессора 116 с другими элементами, взаимодействующие со внешней средой 138, 140, 142, 144, 148, в том числе и с другими устройствами сети 148, а также приводами мобильного устройства 146 осуществляется при помощи контроллера 136, представляющего из себя шину данных. Функциями контроллера являются прием данных, хранение и передача адресату, а также опциональное шифрование и дешифрование данных при передаче.
База данных состоит из 4 основных массивов: массива данных о местоположении 108, в который записываются данные о местоположении устройства, получаемые вычислителем положения в пространстве 122, массива данных о среде ПО, в который записываются данные, полученные вычислителем параметров среды при помощи сенсоров окружающей среды 140, а также массивов данных о маршрутах 112 и данных о состоянии устройств сети 114, причем к последним двум из которых обращаются непосредственно блоки процессора - такие, как анализатор маршрутов 132, анализатор критических ситуаций 128 и обработчик сигналов тревоги 130. Массив данных о маршрутах 112 содержит данные о выбранном маршруте движения и/или маршруте патрулирования выбранной целевой зоны, а также опционально может содержать сведения о маршрутах других устройств сети. В блоке данных о состоянии устройств сети 114 содержится информация о других устройствах, их целевых зонах патрулирования, а также их текущем местоположении, наличии/отсутствия критических ситуаций в их движении, текущий характер движения, показывающий, находится ли в настоящее время устройство в состоянии разрешения критической ситуации или же происходит плановое движение по рассчитанному маршруту и других данных, характеризующих текущее состояние других устройств сети.
Сенсоры местоположения 138 связаны с вычислителем положения в пространстве 122 и однозначно ассоциируют устройство с точкой его расположения в пространстве. В роли таких сенсоров может выступать, например, GPS - антенна, при необходимости работы в условиях отсутствия сигнала GPS в качестве таких сенсоров может быть использована камера, информацию с которой обрабатывает вычислитель положения в пространстве, используя алгоритмы визуальной одометрии.
Сенсоры окружающей среды 140 представляют из себя набор датчиков, передающих данные о среде на блок процессора, отвечающий за вычисление параметров среды 124 - формы и параметров территории, на которой будет решаться поставленная задача, карты этой территории с учетом наличия/отсутствия препятствий движению и так далее. В роли таких сенсоров могут выступать камеры инфракрасного и видимого спектров и/или камера глубин.
Детектор изменения параметров задачи 142 фиксирует внешние сигналы о том, что задача изменилась - например, выбрана новая зона мониторинга, изменился целевой объект или требуется сбор всех мобильных устройств сети в одном месте - в частности, при завершении работы системы устройств и ее сворачивании. Следует отличать внешние сигналы, поступающие извне системы от оператора обрабатываемые детектором изменения параметров задачи, от внутренних, поступающих от элементов мобильных устройств сети, получаемых при помощи сетевого приемника 148 и обрабатываемых обработчиком сигналов тревоги 130. Система работает полностью автономно, однако, для возможности влияния на процесс решения задачи, в частности для подачи команды о завершении задачи, необходима связь системы 100 с оператором. При этом данные, на детектор изменения параметров задачи в целях безопасности могут поступать в зашифрованном виде - в таком случае детектор изменения параметров задачи должен быть снабжен дешифратором. В качестве детектора изменения параметров задачи, в одном из способов реализации изобретения используется простейший радиоприемник, настроенный для приема и обработки сигналов определенного заранее заданного вида, снабженный дешифратором сообщений. При получении таких сигналов информация об изменениях, вносимых в условия задачи, передаются на обработчик сигналов тревоги 130 в виде сигнала тревоги, требующего изменения условий задачи мониторинга. Также детектор может иметь возможность отправлять оператору подтверждения получения сообщений, для чего он может быть снабжен передатчиком.
Детекторы целевого объекта 144 обеспечивают возможность обнаружения целевого объекта в границах определенной зоны видимости, доступной для данного набора детекторов. Их аппаратная реализация полностью зависит от целевого объекта и может быть реализована как антенна для детектирования сигналов определенного вида, так и, например, как систему камер и/или тепловизоров для обеспечения возможности обнаружения физического объекта.
Данные с детекторов целевого объекта передаются анализатору целевого объекта 118, который, в свою очередь, индикатирует факт обнаружения или необнаружения целевого объекта - например, посредством обработки видеоизображения. Стоит отметить, что зона видимости детекторов целевого объекта, ее размеры и правила ее вычисления являются важными входными параметрами для решения задачи покрытия вычислителем задачи покрытия 120. При обнаружении целевого объекта выполняется заранее определяемый алгоритм поведения, зависящий от конкретной постановки задачи и задаваемый заранее. Обязательной частью таких алгоритмов является изменение условий задачи мониторинга с соответствующей генерацией сигналов тревоги, передаваемых как на обработчик сигналов тревоги 130, так и другим элементам сети посредством сетевого передатчика 148. Это могут быть сигналы как о том, что дальнейшее решение задачи не требуется и система переходит в режим сворачивания или же о том, что всем устройствам необходимо занять положение, при котором целевой объект будет находиться в зоне видимости максимально возможного числа устройств. Сигналы об обнаружении целевого объекта передаются также другим устройствам сети мобильных устройств при помощи сетевого передатчика 148, если это предусмотрено алгоритмом поведения при обнаружении целевого объекта. Стоит отметить, что на каждом устройстве сети установлено устройство управления 100.
Модуль управления приводами 146, получая сигналы от вычислителя характеристик движения 134, преобразует их в команды для приводов устройства, обеспечивающими его движение, параметры которого рассчитываются процессором 116. Основной функцией процессора 116 является осуществление вычислений, необходимых для успешного функционирования системы, в том числе обработка данных, поступающих от детекторов и сенсоров 138, 140, 142, 144, определение факта обнаружения целевого объекта, построение и согласование маршрутов движения с другими элементами сети, обеспечение обмена информацией между устройствами - в том числе и для разрешения возникающих критических ситуаций, а также расчет характеристик движения, сообщаемых модулю управления приводами 146.
В одном из вариантов осуществления изобретения, вычислитель задачи покрытия 120 осуществляет разделение целевого пространства на зоны, число которых равно количеству устройств в сети.
В одном из вариантов осуществления изобретения, анализатор маршрутов 132 обрабатывает данные, поступающие как от обработчика сигналов тревоги 130, так и от вычислителя задачи покрытия 120 и решает ряд задач, среди которых определение зоны патрулирования, выбор маршрута патрулирования, определение целевой точки для движения. Решение обозначенных задач вырабатывается с учетом информации, полученной от других устройств сети. В результате своей работы анализатор маршрутов принимает решение о выборе необходимого маршрута движения, сообщаемого вычислителю характеристик движения 134.
При этом анализатор маршрутов использует в своей работе запросы к конструктору маршрутов 126, который реализует алгоритм построения маршрута движения между двумя заданными в качестве входных параметров точками целевого пространства. При этом конструктор также способен рассчитать длину этого маршрута в величинах длины или в эквивалентах величин времени, необходимого для преодоления этого маршрута устройствами с текущими характеристиками. Точный алгоритм построения таких маршрутов зависит от конкретной постановки задачи и параметров используемых для ее решения устройств, при этом сами алгоритмы, как правило, не несут в себе новизны и выбираются из базы существующих, однако возможно и использование кардинально новых подходов и алгоритмов.
К конструктору маршрутов 126 может отправлять запросы также анализатор критических ситуаций 128, функцией которого является детектирование факта возникновения критической ситуации на основании данных о местоположении 108, данных о маршрутах 112. Еще одной функцией анализатора критических ситуаций является обновление данных о работоспособности других устройств сети на основании периодического пеленга других устройств сети через сетевой приемник/передатчик 148 для определения факта выхода какого-либо устройства из строя, что также является критической ситуацией для всей сети устройств. Критической ситуацией также является сильное отклонение времени прохождения маршрута от рассчитанного ранее при прохождении маршрута за сильно отличающееся от расчетного время 3 и более раз подряд. Сильным отклонением, как правило, читается отклонение более 50% в относительных величинах и более 20 секунд в абсолютных. Такая ситуация квалифицируется как изменение параметров задачи, так как время прохождения определенных участков в реальности отличается от расчетного и задачу необходимо решить заново, учитывая реальное значение времени прохождения. При положительном выводе о наличии критической ситуации, данные передаются на обработчик сигналов тревоги 130, а также осуществляется широковещательная рассылка другим устройствам о возникновении таковой - в виде исходящих сигналов тревоги посредством сетевого передатчика 148. При этом обработчик сигналов тревоги 130 анализирует не только информацию о критических ситуациях, передаваемую ему анализатором критических ситуаций 128, но также обрабатывает входящие сигналы тревоги, которые получаются или от детектора изменения параметров задачи 142, или от других устройств при помощи сетевого приемника 148. Сигналы тревоги, полученные от других устройств, могут информировать как о необходимости изменения условий задачи, так и о возникновении критической ситуации и необходимости реагирования на нее у другого устройства сети и их обработка исходит в том числе и при помощи конструктора маршрутов 126.
ФИГ. 2 - структурная схема варианта размещения элементов устройства управления мобильным устройством на одном из вариантов мобильного устройства - мультироторе квадрокоптерного типа.
Мобильное устройство схематично изображено в виде рамы и пропеллеров, однако же предполагается также наличие прочих необходимых для осуществления движения компонентов - моторов, полетного контроллера и регулятора оборотов двигателя. К мобильному устройству прикрепляется вариант устройства управления мобильным устройством, представляющий из себя набор из 8 сенсоров окружающей среды 208, сенсора местоположения 212, детектора изменения параметров задачи 216, детектора целевого объекта и остальных компонентов устройства управления мобильным устройством, локализованных в едином блоке 204.
Набор сенсоров окружающей среды 208 состоит из 9 датчиков, 4 из которых располагаются в центре каждой вертикальный грани основания рамы 219, а оставшиеся 4 - на боковом ребре ножек, под винтами. В роли таких сенсоров могут выступать, например, обычные и стерео-камеры, камеры глубин, ультразвуковые и инфракрасные датчики и камеры, радары, лидары и другие датчики, позволяющие оценить параметры окружающей среды, важные для решения задачи. Такое их расположение позволяет получать информацию о препятствиях для избежания столкновений с ними и обеспечению эффективного по времени облета. Подобное расположение при правильном подборе сенсоров обеспечивает видимость на 360 градусов в плоскости рамы и под углом до 45 градусов к плоскости рамы в других направлениях.
В роли сенсора местоположения выступает камера 212, расположенная в центре тяжести квадрокоптера - как правило, это центр нижней грани основания рамы, и GPS-антенна, физически соединенная с устройством управления 204. Такое сочетание позволяет оценивать местоположение по GPS сигналу, а в условиях его отсутствия и/или при необходимости повышения точности позиционирования в пространстве происходит обработка данных с камеры 212 методами визуальной навигации и одометрии. Камеры, установленные схожим образом с сенсором местоположения 212 часто устанавливают на БПЛА для контроля процесса посадки, что не входит в противоречие с функционалом камеры 212, а значит, данные, полученные с ее помощью, могут использоваться как для анализа местоположения, так и для контроля процесса посадки. Кроме того, при использовании в качестве 212 стереокамеры, появляется возможность высокоточного картирования местности в пределах зоны видимости этой камеры.
Детектор целевого объекта 220 также представляет из себя камеру, направленную, однако, в отличие от камеры 212 не строго вниз, а под углом 45 градусов к плоскости рамы. Такое направление было выбрано как наиболее подходящее для детектирования человеческих лиц на расстоянии, тем не менее, в зависимости от типа целевого объекта, детектор целевого объекта может располагаться в другом месте и быть направленным в другую сторону. При этом, в зависимости от природы целевого объекта, в роли детектора целевого объекта 220 может выступать не только камера в оптическом диапазоне, но также и инфракрасная камера, ультразвуковые датчики, датчики температуры, радары, радиоприемники или другие детекторы, способные распознать целевой объект.
Датчик изменения параметров задачи 216 может располагаться как вне устройства управления 204, так и быть объединенным с ним в один блок. Он представляет их себя приемник сигналов в установленном диапазоне и должен обеспечивать их передачу на анализатор целевого объекта 118, расположенный в блоке устройства управления 204.
Само устройство управления 204 представляет из себя единый блок и, в данном варианте осуществления изобретения, располагается сверху на раме квадрокоптера таким образом, чтобы его центр тяжести системы из устройства управления 204, датчика изменения параметров задачи 216 и детектора целевого объекта 218 совпадал с центром тяжести квадрокоптера - для того, чтобы не было необходимости дополнительной корректировки курса движения и регуляторов вращения пропеллеров 218 за счет смещения центра тяжести. При этом симметрично расположенные одинаковые датчики окружающей среды 208 и сенсор местоположения 212 при установке не вносят корректив в расположение центра тяжести квадрокоптера. ФИГ. 2 предполагает отсутствие необходимости выделения в качестве отдельных элементов приводов пропеллеров 218, регуляторов их вращения, полетного контроллера и прочих функциональных элементов самого мобильного устройства, поскольку эти элементы не входят в описываемую систему и принадлежат не ей, а самому мобильному устройству, на которое система устанавливается.
ФИГ. 3 - последовательность операций варианта осуществления процесса вычисления задачи покрытия заданного пространства, выполняемого устройством управления мобильным устройством, начинающегося с получения данных о количестве, и характеристиках устройств сети, а также данных о среде. При этом под характеристиками устройств сети подразумевается в том числе и размер и правила вычисления зоны видимости этих устройств V(x,y,z), определяемый параметрами сенсоров окружающей среды. После проверки получения таких данных 304 выполняется последовательность действий, описывающая возможный вариант решения задачи покрытия 308. В рамках решения этой задачи осуществляется поиск М точек, при расположении устройств в которых их совокупная зона видимости, состоящая из объединения зон видимости всех устройств, будет содержать в себе целевую зону мониторинга. Изначально допустимое значение М неизвестно и в первую очередь предполагается, что такое расположение доступно для N устройств в М=N точках 312. Далее решается математическая задача поиска покрытия целевого пространства D(x,y,z) набором из М устройств, каждое из которых имеет зону видимости V(x*,y*,z*), находясь в точке (x*,y*,z*) 316. В случае, при котором такое покрытие найдено уже для М=N, делается вывод об успешном решении задачи покрытия 320 и осуществляется переход к следующему блоку алгоритма 328. Если же такое покрытие не найдено, делается вывод о необходимости увеличения числа М, которое и увеличивается с некоторым шагом 324 до тех пор, пока решение задачи покрытия не будет найдено. Практика показывает, что наиболее эффективным точки зрения скорости работы и простоты дальнейших вычислений является значение шага увеличения значения М, соответствующего отношению количества устройств сети N к 4, округленному в меньшую сторону [N/4]. Однако в зависимости от специфики и конкретной постановки задачи могут быть использованы другие шаги. После успешного решения задачи покрытия 320 найденные точки разбиваются на N зон. При М=N в каждой зоне будет только одна точка, при M>N хотя бы в одной зоне будет больше одной точки. Разбиение точек по зонам может быть выполнено с помощью алгоритмов построения N гамильтоновых графов с попарно непересекающимися множествами вершин на полном графе, построенном на точках - решениях задачи покрытия как на вершинах. При этом в качестве значений весов ребер могут быть использованы длины маршрутов между этими точками в целевом пространстве во временном эквиваленте, рассчитанные при помощи конструктора маршрутов. Такое разбиение выполняется на шаге 328, после чего эти данные сохраняются в память в память устройства в качестве данных о маршрутах 332 и инициируется работа анализатора маршрутов 336, который использует рассчитанные на шаге 328 данные в качестве входных. Точки-решения задачи покрытия впоследствии будет использованы в качестве точек, последовательный обход которых гарантирует эффективное патрулирование пространства.
ФИГ. 4 - последовательность операций варианта осуществления процесса анализа маршрута движения, выполняемого устройством управления мобильным устройством при помощи анализатора маршрутов. Алгоритм начинает свою работу в первый раз при получении данных о точках - решениях задачи покрытия и их разбиении по зонам, все следующие итерации инициализируются получением каких-либо новых данных, проверка получения которых 404 выполняется с определенной периодичностью. Если изначально целевая точка известна, что проверяется на шаге 408 и еще не достигнута, что проверяется на шаге 420 при помощи запроса истории данных о местоположении, происходит запрос у конструктора маршрутов маршрута до целевой точки 428, так как маршрут мог измениться с учетом новых полученных данных. Если изначально целевая точка неизвестна, требуется ее определить. При совершении начальных итераций не будет известна также зона патрулирования, которую будет необходимо выбрать 416 при помощи алгоритма, вариант которого представлен на ФИГ. 5. Под зоной патрулирования понимается область целевого пространства, в пределах которой устройство будет перемещаться. Такая зона взаимно однозначным образом закрепляется за каждым устройством. При известной целевой зоне происходит выбор целевой точки в этой зоне 424 при помощи алгоритма, вариант которого представлен на ФИГ. 6. При этом если изначально целевая точка была известна, но на шаге 420 выясняется, что при движении устройства она уже была достигнута, также требуется выбор целевой точки 424. Сам факт изначального наличия известной целевой точки показывает, что зона патрулирования известна, поэтому дополнительного ее определения не требуется. На выходе 432 алгоритм выдает данные о целевой точке и маршруте к ней, которые, в свою очередь, передаются как на вычислитель характеристик движения, так и другим устройствам сети посредством сетевого передатчика.
ФИГ. 5 - последовательность операций варианта осуществления процесса выбора зоны патрулирования, выполняемого устройством управления мобильным устройством при помощи анализатора маршрутов в ходе анализа маршрута движения. ФИГ. 5 представляет из себя вариант реализации алгоритма выбора зоны патрулирования. Изначально происходит обработка данных о состоянии устройств сети 504, под чем подразумевается сопоставление известного списка зон их статусу обновление данных местоположении устройств сети. Вариантов статуса зоны 3 - зона может быть свободной, занятой и находиться в промежуточном состоянии, называемом «Processing». Нахождение в промежуточном состоянии означает наличие претендентов на занятие этой зоны. Происходит выбор потенциальной зоны 508 между свободными зонами и зонами, имеющими статус «Processing». Во время выбора потенциальной зоны возможно осуществление запросов у конструктора маршрутов длин маршрутов как правило, во временном эквиваленте до точек зон с целью определения ближайшей по отношению к текущему положению устройства. После выбора ближайшей зоны, ей присваивается статус «Processing» 512. Этот статус носит локальный характер и каждое устройство сети сначала рассчитывает этот статус для себя, а затем посылает широковещательное сообщение в сеть, сообщая о таком статусе зоны и запрашивая ее статус у других устройств сети 516. При этом происходит непрерывное обновление данных о состоянии устройств сети как за счет ответов на запрос о статусе этой зоны у других устройств, так и за счет приема входящих сообщений, широковещательно отправленных другими устройствами сети. После получения ответа от других устройств сети о статусе зоны, можно сделать вывод о том, является ли она свободной 520. Если зона свободна, то есть претендентов на нее не имеется, происходит занятие зоны 540, заключающееся в присвоении зоне статуса занятой и выбора ее в качестве целевой зоны патрулирования для этого устройства. Информация о занятии зоны схожим образом отправляется в сеть при помощи широковещательной рассылки 552. В случае, если зона при запросе окажется занятой 524, необходимо обновить данные о состоянии устройств сети 528 и вернуться к шагу 508, то есть к выбору новой потенциальной зоны, при учете новых данных о статусе зоны/зон. Такая ситуация возникает крайне редко в силу того, что она реализуется только в том случае, если во время рассылки широковещательных сообщений на шаге 516 и их обработки какое-либо устройство успело занять зону. Возникновения таких ситуаций можно избежать в принципе, отправляя все сообщения и принимая все решения с задержкой, достаточной для того, чтобы другие устройства сети успели обработать информацию и начать претендовать на занятие той или иной зоны. В том случае, если по ответам на запрос 516 сделан вывод о том, что зона не является ни свободной, ни занятой, делается вывод о том, что для каких-то устройств зона имеет состояние «Processing». Поскольку статус этот имеет локальное значение, формируется группа устройств, у которых конкретная зона имеет такой статус. Все эти устройства претендуют на эту зону и необходимо выбрать из этой группы одно устройство, которое в итоге и займет эту зону. Осуществление такого выбора происходит в рамках решения задачи согласования 532. Критерием выбора, как правило, является наименьшая длина маршрута до ближайшей точки зоны. При этом следует отметить, что для реализации равноправия элементов сети, и, как следствие, ее одноранговости, вводится виртуальная валюта. Изначально, каждое устройство имеет одинаковый запас виртуальной валюты, но каждый раз, когда ему кто-то уступает задача согласования решается не в его пользу, устройство вынуждено выплачивать уступившим некоторое количество виртуальной валюты, представляющее из себя эквивалент потерянной полезности, измеряемой в данном случае в разнице во времени полета устройства до зоны, выбранной изначально и времени полета до следующей потенциальной зоны, в на которое устройство будет претендовать при решении задачи согласования не в его пользу. Эквивалент рассчитывается для всех устройств одинаково. При таком подходе устройство, вынужденное все время уступать, рано или поздно будет обладать достаточным запасом виртуальной валюты для того, чтобы «оплатить» уступки остальных устройств при одновременном претендовании на что-либо, в том числе на зону. Согласование с применением виртуальной валюты применяется в основном при реагировании на критические ситуации с другими правилами расчета потерянной полезности, однако же при большом более 100 количестве устройств сети такой подход необходимо применять и для задачи выбора целевой зоны. Результатов у решения задачи согласования 532 может быть только два, одно из которых -положительное, заключающееся в том, что другие устройства сети признают доминирующее право на занятие зоны и при получении такого решения 536, зону можно занять 540. При отсутствии положительного решения устройство присваивает зоне локальный статус свободной 548, после чего происходит обновление данных о состоянии устройств сети 528 и переход к шагу очередного выбора потенциальной зоны 508 при учете невозможности рассмотрения на этом этапе той же зоны, что и на прошлом. Следует отметить, что занятие зоны 540 возможно только в том случае, если она имеет статус свободной у всех устройств сети. Для проверки этого факта могут потребоваться дополнительные запросы о статусе зоны к другим устройствам сети в рамках процесса занятия зоны.
ФИГ. 6 - последовательность операций варианта осуществления процесса выбора целевой точки, выполняемого устройством управления мобильным устройством при помощи анализатора маршрутов в ходе анализа маршрута движения. Задача возникает при известной зоне патрулирования и при известном маршруте патрулирования, представляющего из себя набор точек в зоне патрулирования, как правило, полученный на этапе решения задачи покрытия, упорядоченный в порядке их предполагаемого облета. Если маршрут патрулирования уже известен 604, необходимо выбрать следующую точку маршрута в качестве целевой 624. Если маршрут патрулирования заранее неизвестен, необходимо его построить. Для этого конструктору маршрутов отправляется запрос о построении маршрутов между всеми парами точек целевой зоны патрулирования, являющихся точками-решения задачи покрытия 608. После получения этих данных происходит построение маршрута патрулирования 612. Для этого строится полный граф, вершины которого соответствуют точкам зоны патрулирования, а веса ребер соответствуют длинам маршрутов между парами вершин во временном эквиваленте. На полученном графе строится гамильтонов цикл кратчайшей длины. Последовательность вершин этого пути и представляет из себя упорядоченный набор точек зоны патрулирования, являющийся маршрутом патрулирования. Далее необходимо определить первую точку цикла. Для этого у конструктора маршрутов запрашиваются длины маршрутов от текущего местоположения устройства до всех точек целевой зоны 616 и в качестве первой точки маршрута выбирается та, расстояние до которой во временном эквиваленте наименьшее 620. Далее происходит выбор первой точки маршрута патрулирования в качестве целевой точки движения 624. Данный алгоритм в сочетании с предыдущими подразумевает, что при достижении определенной точки маршрута в качестве целевой точки выбирается следующая точка маршрута по порядку, а при достижении точки, которая ранее была определена как критическая и необходимости вернуться назад, к облету рассчитанного маршрута, в качестве «следующей точки маршрута» выбирается ближайшая к текущему местоположению точка рассчитанного маршрута. Ближайшая к текущему местоположению точка - точка маршрута патрулирования, длина маршрута от текущего местоположения до которой, рассчитанная при помощи конструктора маршрутов, является наименьшей.
ФИГ. 7 - последовательность операций варианта осуществления процесса обработки сигналов тревоги, выполняемого устройством управления мобильным устройством при помощи обработчика сигналов тревоги 130. Алгоритм инициализируется после получения сигнала тревоги 704 от анализатора критических ситуаций 128, или от детектора изменений параметров задачи число, или от других устройств сети через сетевой приемник. Существует два типа сигналов тревоги - предполагающие изменения условий задачи мониторинга и, соответственно, не предполагающие.
Сигналы об изменении параметров задачи, полученные при помощи детектора изменения параметров задачи также интерпретируются как сигналы тревоги. Кроме того, необходимость изменения параметров задачи может быть установлена после получения соответствующей информации от других устройств сети, относящейся к изменению численности абонентов, параметров среды и/или обнаружению целевого объекта этим или другими устройствами сети или при отличии отклонения реального времени преодоления маршрута устройством от расчетного в течение 3 и более облетов маршрута подряд от расчетного более, чем на 50%. При обнаружении целевого объекта, которое так же приравнивается к сигналу тревоги, активируются заранее заложенные паттерны поведения, предполагаемые необходимыми для решения текущей задачи изначально. На практике это или сворачивание всей системы, сбор ее элементов в заранее заданной точке пространства или, наоборот, мобилизация в районе точки, в которой был обнаружен объект. Описание этих паттернов и перехода к ним может отличаться от реализации к реализации и не является сутью принципа действия устройства для децентрализованного управления сетью мобильных роботизированных устройств при решении задачи мониторинга пространства, поэтому особенности реагирования на обнаружение целевого объекта не будут рассмотрены в рамках настоящего алгоритма. При изменении условий задачи мониторинга задача решается заново. Для этого исходные данные обновляются, блоки процессора перезагружаются 712 и работа всей системы инициализируется заново -начиная с вычислителя задачи покрытия 720.
Если же сигнал тревоги не предполагает изменения условий задачи, делается вывод о том, что какое-то устройство сети запрашивает присутствие другого устройства в некой критической точки для выхода из собственной критической ситуации. Такие ситуации могут возникнуть, например, при невозможности преодолеть определенные препятствия ввиду недостатка информации об окружающей среде и отсутствии ориентиров, в роли которых могут выступать расположенные в некоторой критической точке устройства. Критическую точку вычисляет устройство, подающее сигнал тревоги и отправляет данные о ней вместе с самим сигналом. В частности, это является функцией анализатора критических ситуаций. Получив входящий сигнал тревоги, не предполагающий изменения параметров задачи, обработчик сигналов тревоги запрашивает у конструктора маршрутов данные о маршруте от текущего местоположения устройства до критической точки 716 и на основании полученных данных о маршруте решает с другими устройствами задачу согласования 724, заключающуюся в выборе устройства, которое в итоге направится к целевой точке. При этом снова действует принцип уступок в виде отношений в эквивалентах потери функции полезности в виде виртуальной валюты, описанный выше. В виде потерь функции полезность здесь выступает эквивалент длины маршрута до критической точки и обратно. Такие отношения, формализованные с помощью виртуальной валюты, обеспечивают равноправие элементов сети и, как показывает практика, наиболее эффективному решению задачи мониторинга. При положительном решении 730 задачи согласования осуществляется выбор критической точки в качестве целевой 734 и данные о ней передаются анализатору маршрутов 742, который по вышеописанному алгоритму обеспечивает движение в критическую точку. При отрицательном решении задачи согласования делается вывод об отсутствии необходимости реагировать на сигнал тревоги 738, и обработчик сигналов тревоги опять переходит в режим ожидания сигналов тревоги.
Стоит отметить, что описанный вариант реагирования на сигнал тревоги предполагает мгновенное разрешение критической ситуации при достижении устройством критической точки, рассчитанной устройством, попавшем в такую ситуацию. Возможны и другие варианты, при которых после достижения критической точки происходит ожидание разрешения критической ситуации, в том числе с возможностью расчета новых критических точек и движением в них. В таком случае критическая точка считается достигнутой только после разрешения критической ситуации.
Существует еще один тип критических ситуаций, не являющийся обязательным для устройств такого назначения, но необходимый для решения некоторых типов задач мониторинга пространства. При наличии неполадок в физическом состоянии мобильного устройства или при низком уровне заряда батареи, определяемым датчиком заряда батареи самого мобильного устройства, также возникает критическая ситуация, для разрешения которой устройству необходимо двигаться в сторону новой критической точки, где оно может пополнить запасы электроэнергии. При этом мобильное устройство или подает остальным устройствам сети сигнал тревоги, показывающий, что это устройство вышло из строя, а значит, параметры задачи изменились, или делегирует свои функции другому устройству, ранее не входящему в состав сети, занимающему его место в сети и получающее от него все исходные данные, хранящиеся как в памяти, так и в блоках процессора. Подобные сигналы тревоги о выходе устройства из строя могут подаваться и в других случаях, в которых определен факт выхода устройства из строя. При делегировании функций подача сигнала тревоги не требуется. При этом устройство, которому делегируются функции, как правило, находится вблизи зарядной станции и, получив все данные, полностью замещает устройство, которое делегирует свои функции. По завершению процесса делегирования функций старое устройство уже не является входящим в сеть и для того, чтобы новь принимать участие в решение общей задачи мониторинга пространства ему необходимо получение нового сигнала - или о том, что ему делегирует свои функции какое-то из устройств сети, или о том, что оно может войти в состав сети на индивидуальных правах - в таком случае возникает критическая ситуация, связанная с изменением параметров задачи.