Область техники, к которой относится изобретение
Изобретение относится к летательным аппаратам, в частности к уточнению траектории движения автономно движущегося летательного аппарата.
Уровень техники
Беспилотные летательные аппараты (БПЛА, UAV) постепенно становятся частью повседневной жизни - они выполняют доставку грузов, различные исследования, анализ окружающего пространства, мониторинг территорий, контроль объектов, фото- и видеосъемку, используются в спасательных операциях и находят множество других применений.
Усложнение задач, которые могут быть возложены на БПЛА, требует от них улучшений в качестве ориентирования и управления в пространстве, в том числе рядом с людьми. Также необходимо, чтобы летательные аппараты имели высокий уровень безопасности. При этом необходимо, чтобы летательные аппараты выполняли поставленные задачи оптимальным образом.
Следование БПЛА по опорной траектории используется в различных областях, например, в кинематографии или при посадке на движущуюся платформу. В уровне техники предложены разные подходы для следования по предварительно заданной опорной траектории - например, в публикациях [1] Т. Baca, D. Hert, G. Loianno, М. Saska, and V. Kumar, "Model predictive trajectory tracking and collision avoidance for reliable outdoor deployment of unmanned aerial vehicles," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018, pp. 6753-6760, [2] M.-E. Guerrero-Sanchez, O. Hernandez-Gonzalez, G. Valencia-Palomo, F.-R. Lopez-Estrada, A.-E. Rodnguez-Mata, and J. Garrido, "Filtered observer-based ida-pbc control for trajectory tracking of a quadrotor," IEEE Access, vol. 9, pp. 114 821-114 835, 2021, [3] O. Mechali, L. Xu, Y. Huang, M. Shi, and X. Xie, "Observer-based fixedtime continuous nonsingular terminal sliding mode control of quadrotor aircraft under uncertainties and disturbances for robust trajectory tracking: Theory and experiment," Control Engineering Practice, vol. 111, p. 104806, 2021.
Несмотря на прикладываемые усилия, обозначенная задача остается открытой для исследований по нескольким причинам: достижение производительности в реальном времени, избегание находящихся вблизи препятствий, возможность применения в различных погодных условиях и т.д. Вследствие этого генерация политики субоптимального управления для маневрирования в насыщенной препятствиями неизвестной и к тому же изменяющейся среде является довольно сложной задачей, особенно с точки зрения обеспечения ограничений по динамической осуществимости и безопасности полета в режиме реального времени.
Частично эти проблемы можно было бы решить методом управления с прогнозирующей моделью (Model Predictive Control, МРС) - например, методом на основе линейной модели (LMPC) или методом на основе нелинейной модели (NMPC), однако в чистом виде такой метод не позволяет выполнять управление в реальном времени в большинстве практических ситуаций из-за ограниченности доступных вычислительных ресурсов, из-за используемых в этом методе подходов к формулировке задачи и к обработке препятствий и входных данных. Более того, точность МРС сильно зависит от имеющихся в распоряжении возможностей обнаружения - например, поля обзора (FoV) камеры, дальности обнаружения и способа представления окружающего свободного пространства и препятствий. Кроме того, чем больше препятствий находится на заданной опорной траектории или в непосредственной близости от нее, тем выше вычислительная сложность метода МРС, из-за чего в условиях ограниченных вычислительных ресурсов МРС может выдавать лишь некий локальный минимум функции оптимизации, который не позволяет избежать столкновения с препятствием.
Сущность изобретения
Настоящее изобретение направлено на создание устройств и способов, позволяющих устранить по меньшей мере некоторые из указанных выше недостатков предшествующего уровня техники.
В частности, предложено устройство для уточнения траектории движения летательного аппарата (ЛА), содержащее:
модуль отображения, выполненный с возможностью построения карты объектов окружающей среды на основе трехмерного (3D) облака точек, полученного от содержащегося в ЛА модуля генерации 3D облака точек, и оценки расстояния от ЛА до окружающих объектов на основе карты объектов окружающей среды и данных о местоположении ЛА, полученных от содержащегося в ЛА модуля навигации;
модуль генерации опорной траектории, выполненный с возможностью генерации опорной траектории, которой должен следовать ЛА, путем интерполяции траектории, построенной согласно полетному заданию между контрольными точками, через которые необходимо пройти ЛА, с учетом предпочтительных моментов их прохождения, с использованием однородного В-сплайна 3-го порядка; и
модуль планирования траектории, выполненный с возможностью формирования уточненной траектории движения ЛА в обход препятствий на основе опорной траектории, карты объектов окружающей среды и данных о расстоянии от ЛА до окружающих объектов, и формирования управляющих сигналов для ЛА на основе уточненной траектории с использованием метода управления с нелинейной прогнозирующей моделью.
В одном из вариантов осуществления модуль глобального планирования выполнен с возможностью формирования уточненной траектории движения ЛА в обход препятствий, если определено, что опорная траектория проходит через объект окружающей среды или что ЛА или опорная траектория находится на таком расстоянии до объекта окружающей среды, которое меньше предварительно заданного расстояния уклонения.
В одном из вариантов осуществления местоположение ЛА соответствует центру ЛА, а расстояние уклонения больше радиуса окружности, описывающей ЛА.
В одном из вариантов осуществления управляющие сигналы для ЛА содержат векторы скорости в каждом из направлений х, у, z, а также угол рыскания.
В одном из вариантов осуществления устройство дополнительно содержит модуль навигации, выполненный с возможностью определения местоположения, скорости и угла рыскания ЛА.
В одном из вариантов осуществления устройство дополнительно содержит модуль генерации 3D облака точек, выполненный с возможностью генерации 3D облака точек.
В одном из вариантов осуществления устройство дополнительно содержит пропорционально-дифференцирующий (ПД) регулятор, выполненный с возможностью формирования отрегулированных управляющих сигналов для ЛА и их передачи на контроллер полета для управления исполнительными механизмами ЛА, причем ПД регулятор использует данные о текущем состоянии ЛА от модуля навигации в качестве обратной связи и управляющие сигналы от модуля планирования траектории в качестве входного сигнала.
В одном из вариантов осуществления модуль глобального планирования выполнен с возможностью формирования уточненной траектории движения ЛА с использованием метода Бройдена - Флетчера - Гольдфарба - Шанно с ограниченным использованием памяти в многомерном кубе.
В одном из вариантов осуществления модуль глобального планирования выполнен с возможностью выявления на опорной траектории подлежащего изменению сегмента опорной траектории, содержащего набор последовательных контрольных точек, по меньшей мере часть из которых находится в пределах объекта окружающей среды или на таком расстоянии до объекта окружающей среды, которое меньше предварительно заданного расстояния уклонения, разделения свободного пространства вокруг этого сегмента на множество выпуклых фрагментов и определение местоположений контрольных точек уточненного сегмента в пределах упомянутых выпуклых фрагментов свободного пространства путем применения параллельной выпуклой декомпозиции к каждой точке подлежащего изменению сегмента, и формирования уточненной траектории движения ЛА, пролегающей через контрольные точки уточненного сегмента.
В одном из вариантов осуществления, если попытка формирования уточненного сегмента за предварительно заданное время завершена неудачно, модуль глобального планирования выполнен с возможностью представления всей не пройденной на данный момент опорной траектории в виде подлежащего изменению сегмента и формирования уточненной траектории в обход препятствия с использованием параллельной выпуклой декомпозиции.
Также предложен способ уточнения траектории движения ЛА, содержащий этапы, на которых:
с использованием модуля отображения выполняют построение карты объектов окружающей среды на основе трехмерного (3D) облака точек, полученного от содержащегося в ЛА модуля генерации 3D облака точек, и оценку расстояния от ЛА до окружающих объектов на основе карты объектов окружающей среды и данных о местоположении ЛА, полученных от содержащегося в ЛА модуля навигации;
с использованием модуля генерации опорной траектории выполняют генерацию опорной траектории, которой должен следовать ЛА, путем интерполяции траектории, построенной согласно полетному заданию между контрольными точками, через которые необходимо пройти ЛА, с учетом предпочтительных моментов их прохождения, с использованием однородного В-сплайна 3-го порядка; и
с использованием модуля планирования траектории выполняют формирование уточненной траектории движения ЛА в обход препятствий на основе опорной траектории, карты объектов окружающей среды и данных о расстоянии от ЛА до окружающих объектов, и формирование управляющих сигналов для ЛА на основе уточненной траектории с использованием метода управления с нелинейной прогнозирующей моделью.
Технический результат
Заявленное устройство содержит модули планирования, которые позволяют в автономном режиме планировать в неизвестных заранее, изменяющихся условиях наиболее рациональную с точки зрения динамической осуществимости и безопасности траекторию в режиме реального времени, обеспечивая также плавность хода.
Техническим результатом, достигаемым изобретением, является повышение точности следования исходной траектории движения летательного аппарата при наличии препятствий, улучшение плавности движения и повышение безопасности полетов.
Эти и другие преимущества настоящего изобретения станут понятны при прочтении нижеследующего подробного описания со ссылкой на сопроводительные чертежи.
Краткое описание чертежей
На Фиг. 1 показана блок-схема устройства для оптимизации траектории движения БПЛА.
На Фиг. 2 показана визуализация принципов формирования оптимальной траектории.
На Фиг. 3 показано соотношение между формируемыми траекториями.
На Фиг. 4 показан пример обхода препятствия.
Следует понимать, что фигуры могут быть представлены схематично и не в масштабе и предназначены, главным образом, для улучшения понимания настоящего изобретения.
Подробное описание
Беспилотный летательный аппарат (БПЛА) может содержать корпус, движители, двигатели, посадочное шасси, модуль управления двигателями, полетный контроллер, приемопередатчик, модуль навигации, источник энергии, камеру, набор датчиков.
БПЛА также может содержать инерциальный измерительный блок.
Набор датчиков может включать в себя, но без ограничения, гироскоп, акселерометр, барометр, магнитометр и т.д. Какие именно датчики установлены на БПЛА, зависит от назначения БПЛА и выполняемых им функций.
Источником энергии может быть аккумулятор для подачи электрического питания на бортовые средства БПЛА. В других вариантах осуществления источником энергии может служить керосин, водород, топливный элемент, бензин, дизельное топливо или иные источники топлива, предназначенные для обеспечения энергией силовых установок и электроники БПЛА.
Двигатели предназначены для преобразования энергии от источника энергии в механическую энергию и могут быть выполнены, например, в виде двигателей внутреннего сгорания (ДВС) или электродвигателей. Электродвигатели могут быть выполнены, например, в виде бесколлекторных двигателей.
Движители могут быть выполнены в виде пропеллеров, в частности пропеллеров, вращающихся по часовой стрелке (толкающих пропеллеров), или вращающихся против часовой стрелки (тянущих пропеллеров). При этом, опционально, в БПЛА могут быть использованы толкающие и/или тянущие пропеллеры в любых сочетаниях. Пропеллеры могут быть выполнены из двух и более лопастей. Пропеллеры могут быть выполнены из металла, пластика или из композитных материалов, например углеволокна. БПЛА может быть выполнен с одним движителем (например, с толкающим пропеллером) или с несколькими движителями.
Приемопередатчик - это устройство, отвечающее за прием и передачу радиосигналов, посылаемых на летательный аппарат и с него. Приемопередатчик может содержать систему передачи видео, включающую в себя передатчик видео и приемник видео.
Модуль управления двигателями управляет работой двигателя через исполнительные механизмы с целью повышения эффективности и может быть выполнен в виде электронного регулятора хода, регулятора холостого хода, регулятора фазы газораспределения и т.д.
Модуль навигации может содержать модуль спутниковой навигации, который на основе данных, принимаемых от глобальной навигационной спутниковой системы (GNSS), такой как GPS, ГЛОНАСС, BeiDou, Galileo, QZSS, определяет местоположение (географические координаты), направление, скорость и угол рыскания БПЛА и синхронизирует время.
Модуль генерации опорной траектории генерирует опорную траекторию R. Могут использоваться разные подходы - например, в одном из вариантов предлагается следующий подход. Согласно полетному заданию задаются контрольные точки в трехмерном пространстве, через которые должен пролететь БПЛА, а также моменты времени, в которые БПЛА предпочтительно должен быть в каждой контрольной точке. Далее траектория между этими контрольными точками с учетом времени интерполируется с использованием однородного В-сплайна 3-го порядка на основе формул Кокса - де Бура. Сгенерированная таким образом опорная траектория R загружается в память БПЛА, и далее, выполняя свое полетное задание, он стремится следовать этой заранее заданной опорной траектории. При необходимости опорная траектория может генерироваться и не заранее, а когда БПЛА уже находится в полете. В таком случае за начальную контрольную точку может приниматься текущее местоположение БПЛА, полученное от модуля навигации, а остальные контрольные точки и моменты их прохождения извлекаются из полетного задания.
Тем не менее, на практике, особенно в условиях изменяющегося окружения, может случаться, что некоторые участки опорной траектории на момент подлета к ним БПЛА могут оказаться в области препятствия (например, на пути может оказаться переместившийся человек или транспортное средство, либо изначально траектория может быть проложена через неизвестную окружающую среду, в которой могут быть расположены стационарные объекты, такие как здания, деревья, и т.д.). Соответственно, требуется непосредственно в полете корректировать опорную траекторию, при этом стремясь по возможности максимально придерживаться ее, с тем чтобы полетное задание было выполнено, а с другой стороны, чтобы полет выполнялся безопасно как для БПЛА, так и для окружающей среды.
Далее со ссылкой на Фиг. 1 описывается работа БПЛА по оптимизации траектории полета. Для этого БПЛА может содержать дополнительные блоки, которые также упоминаются в нижеследующем описании.
Для определения положения БПЛА в пространстве вместо модуля спутниковой навигации или в дополнение к нему модуль навигации может содержать модуль визуальной одометрии, алгоритм которой включает следующие шаги:
- детектирование ключевых точек изображения,
- выявление соответствия или трекинг ключевых точек между двумя последовательными изображениями,
- оценку параметров движения на основе смещения ключевых точек.
Соответственно, БПЛА может содержать модуль визуальной одометрии. Визуальные одометры могут быть основаны на монокулярной, стерео или всенаправленной системе технического зрения. Одометр выбирает объект в кадре и отслеживает его на последовательных кадрах, вычисляя ориентацию и расстояние до объекта - например, путем триангуляции. Эти данные позволяют не только определить, в какой точке в данный момент находится БПЛА, а также определить скорость движения БПЛА и угол рыскания.
Кроме того, БПЛА может содержать модуль генерации трехмерного (3D) облака точек, реализованный на базе сканера (например, лазерного, такого как лидар, на основе радиоволн, такого как радар, и т.д.) или камеры (например, монокулярной или стерео).
Данные от модуля навигации и данные от модуля генерации 3D облака точек передаются на модуль отображения, в свою очередь содержащий модуль картографирования и модуль оценки расстояний.
Модуль картографирования на основе полученных данных строит карту объектов окружающей среды, которая может рассматриваться, по существу, как карта препятствий, поскольку БПЛА в полете должен избегать столкновения с объектами. В одном из вариантов осуществления карта объектов окружающей среды может формироваться в виде октодерева на основе облака точек - например, с помощью библиотеки octomap.
Модуль оценки расстояний оценивает расстояние от БПЛА до окружающих объектов, используя данные о местоположении БПЛА в пространстве и карту объектов окружающей среды. В одном из вариантов осуществления может в качестве расстояния может рассматриваться евклидово расстояние, и для оценки может применяться метод EDTM (построение карты расстояний на основе преобразования матрицы Евклидовых расстояний).
Полученные в модуле картографирования данные передаются на модуль планирования траектории. Кроме того, на модуль планирования траектории передается опорная траектория от модуля генерации опорной траектории. Соответственно, имея данные об объектах окружающей среды, данные о местоположении БПЛА в пространстве, данные о расстоянии от БПЛА до объектов окружающей среды и данные об опорной траектории, модуль планирования траектории в режиме реального времени корректирует текущую траекторию движения БПЛА с целью избегания препятствий.
Модуль планирования траектории содержит модуль глобального планирования и модуль локального планирования. Предлагаемый подход основан на концепции двухуровневого уточнения траектории, в которой модуль глобального планирования пытается уточнить исходную опорную траекторию, отодвигая опорную траекторию от известных препятствий, в то время как модуль локального планирования генерирует субоптимальную политику управления движением БПЛА по уточненной траектории.
В частности, модуль глобального планирования сначала выполняет попытку формирования уточненной траектории в обход препятствий на основе опорной траектории, когда она проходит либо через препятствие, либо в непосредственной близости от препятствия, а если попытка завершилась неудачей, вычисляет резервную уточненную траекторию. Модуль глобального планирования в основном фокусируется на производительности в реальном времени и обходе препятствий.
Модуль локального планирования путем прогнозирующего управления движением на основе ограниченной нелинейной модели обеспечивает безопасность, сглаживание и динамическую осуществимость уточненной траектории, формируя тем самым оптимальную траекторию и оптимальные управляющие воздействия на БПЛА.
На выходе модуля планирования траектории обеспечиваются управляющие сигналы, которые позволяют БПЛА двигаться по определенной оптимальной траектории - в частности, задаются векторы скорости в каждом из направлений х, у, z, а также угол рыскания вокруг оси z.
Данные от модуля навигации и данные от модуля планирования траектории передаются на пропорционально-дифференцирующий регулятор, который выдает отрегулированные управляющие сигналы путем сравнения текущего состояния БПЛА (координат, скорости и угла рыскания) в качестве обратной связи и оптимальных управляющих сигналов в качестве входного сигнала. В частности, регулятор формирует управляющий сигнал, являющийся суммой двух слагаемых, первое из которых пропорционально разности входного сигнала и сигнала обратной связи (сигнал рассогласования), а второе - производной сигнала рассогласования. Таким образом, учитываются рассогласования с оптимальным управляющим сигналом, вызванные внешними условиями (ветер, дождь и т.д.), неидеальностью физических исполнительных механизмов (двигатели, пропеллеры) и задержками обработки сигналов.
Отрегулированные управляющие сигналы (векторы скорости в каждом из направлений х, у, z, а также угол рыскания вокруг оси z) от пропорционально-дифференцирующего (ПД) регулятора передаются на контроллер полета, который на их основе управляет двигателями, и тем самым БПЛА совершает требуемые перемещения вдоль оптимальной траектории.
Таким образом, обеспечивается повышенная безопасность и точность следования опорной траектории, в том числе в неизвестных заранее, изменяющихся условиях.
Модуль планирования траектории
Поскольку основными параметрами функционирования модуля планирования траектории являются сглаживание траектории, избежание препятствий и динамическая осуществимость, то целевую функцию J, выполняемую модулем планирования траектории, можно представить в следующем виде:
где λ - это весовые коэффициенты, определяющие вклад каждой из функции J сглаживания траектории, избегания препятствий и динамической осуществимости.
Как указывалось выше, модуль глобального планирования и модуль локального планирования имеют несколько отличающиеся задачи, поэтому весовые коэффициенты в работе этих модулей по отдельности могут соответствующим образом отличаться.
Визуализация работы модуля планирования траектории показана на Фиг. 2. В момент времени tn сам БПЛА находится в точке Qp. Построенная модулем картографирования карта объектов окружающей среды, поступающая на вход модуля планирования траектории, обозначена символом , при этом ввиду того, что поле зрения датчиков БПЛА является ограниченным, карта объектов окружающей среды также ограничена соответствующей областью вокруг БПЛА (показана в виде круга с центром в местоположении Qp БПЛА). Остальное окружающее пространство неизвестно (или недостаточно известно) БПЛА, оно обозначено символом .
Затемненная область Om обозначает известное препятствие, то есть препятствие, о наличии которого БПЛА знает, так как оно расположено внутри карты . Затемненная область Ou обозначает неизвестное препятствие, то есть препятствие, которое существует на самом деле, но о наличии которого БПЛА не знает, так как оно расположено за пределами карты , в неизвестной области . Области препятствий окружены участками Dz, которые обусловлены расстоянием уклонения, то есть минимальным расстоянием, допустимым между БПЛА и препятствием для предотвращения столкновения.
Область Fm обозначает известное свободное пространство, то есть пространство внутри карты , свободное от объектов (препятствий). Область Fu обозначает неизвестное свободное пространство, то есть пространство за пределами карты , в неизвестной области , свободное от объектов (препятствий). Соответственно, можно считать, что пространство в пределах карты состоит из областей Om (известных препятствий) и Fm (известного свободного пространства), а пространство в неизвестной области состоит из областей Ou (неизвестных препятствий) и Fu (неизвестного свободного пространства). В свою очередь, карта и неизвестная область вместе составляют общее трехмерное пространство R3.
Исходная опорная траектория R (помечена частыми точками) содержит набор контрольных точек ci, где i=0, …, Nc, при этом число Nc задает общее количество контрольных точек в опорной траектории. Начальная контрольная точка (с индексом 0) расположена в начале траектории. Момент инициализации планирования траектории на Фиг. 2 обозначен временем t0. Контрольная точка, соответствующая текущему моменту времени (обозначен временем tn), показана на Фиг. 2 как точка cs. С одной стороны, это точка, в которой должен находиться БПЛА согласно опорной траектории в момент tn. С другой стороны, это точка, которая должна быть стартовой (начальной) для дальнейшего движения БПЛА по опорной траектории, если рассматривать движение именно начиная с момента tn. Следует понимать, что в зависимости от времени ближайшая стартовая контрольная точка cs может иметь индекс s от 0 до Nc-1. Уточненная траектория для момента времени tn, которую формирует модуль глобального планирования, обозначена как . Количество контрольных точек в пределах обозначено как Nr. Конечная контрольная точка, показанная на Фиг. 2 как точка се, определяется моментом окончания уточненной траектории и может иметь индекс е от s+1 до Nc. Оптимальная траектория для момента времени tn, которую формирует модуль локального планирования, обозначена как .
Соотношение между опорной траекторией R, уточненной траекторией и оптимальной траекторией , демонстрируемое предложенным способом в реальных условиях, показано также на Фиг. 3. Как можно видеть, уточнение траектории выполняется в пределах части предстоящей опорной траектории, тогда как оптимальная траектория ищется в пределах части уточненной траектории. Это связано как с ограниченностью поля обзора датчиков и вычислительных ресурсов БПЛА, так и с тем, что уточнение и оптимизация траектории на большом отдалении от БПЛА может не иметь практического смысла в условиях изменяющейся и/или насыщенной препятствиями окружающей среды, что может приводить к растрате ресурсов обработки, притом что необходимо обеспечивать обработку в режиме реального времени.
Возвращаясь к Фиг. 2, расчетная разница во времени между двумя последовательными контрольными точками, т.е. между ci и ci+1, обозначена как δtd. Фактическое время, затраченное на прохождение пути от момента t0 инициализации планирования траектории до стартовой контрольной точки cs, обозначено как δtc. Соответственно, на практике величины δtc и δtd могут быть одинаковыми или могут отличаться друг от друга.
Далее работа модуля глобального планирования и модуля локального планирования будет раскрыта более подробно.
Модуль глобального планирования
Главной задачей модуля глобального планирования является избежание препятствий, поэтому в упоминавшемся выше представлении (1) конкретно для этого модуля среди весовых коэффициентов λсглаживание, λпрепятствие и λосуществимость наибольшее значение должен иметь коэффициент λпрепятствие, определяя тем самым важность вклада именно функции избегания препятствий в общий результат работы модуля глобального планирования. Определение направления смещения траектории
Некоторые контрольные точки в опорной траектории R могут находиться в области препятствий Om, и они должны быть перемещены в свободную от препятствий область Fm. Смещение одной контрольной точки приводит к тому, что соседние с этой точкой участки траектории тоже смещаются. Пример смещения траектории показан на Фиг. 4.
Здесь ряд контрольных точек cj на опорной траектории R (показана пунктирной линией) находятся в области препятствия. Соответственно, их необходимо сместить в свободную область. На протяжении всей траектории движения БПЛА может встречаться несколько таких сегментов, которые необходимо сместить, особенно в условиях насыщенной препятствиями окружающей среды и в условиях, когда объекты окружающей среды могут перемещаться и перекрывать траекторию, изначально построенную по свободным от препятствий областям, i-й сегмент траектории, подлежащий изменению, обозначен на Фиг. 4 как . Этот сегмент состоит из набора контрольных точек cj, их число составляет .
Выделение на траектории сегментов, подлежащих изменению, предлагается производить следующим образом: если на опорной траектории имеется препятствие, то проверяется, имеется ли на траектории до этого препятствия и после него предварительно заданное количество последовательных контрольных точек, находящихся в свободном пространстве. В примере на Фиг. 4 такое число равно 2, то есть на траектории встречается препятствие, до препятствия на траектории имеется 2 соседних контрольных точки в свободном пространстве, внутри препятствия на траектории расположено 4 контрольных точки, и далее после препятствия на траектории имеется еще 2 соседних контрольных точки в свободном пространстве. Соответственно, сегмент траектории, включающий в себя эти 8 контрольных точек, рассматривается в качестве подлежащего изменению сегмент . Если видоизменить пример на Фиг. 4 так, что в нем одна точка cj-1 находилась бы в свободном пространстве, а предыдущие и последующие контрольные точки по-прежнему оставались бы внутри препятствия, то это означало бы, что условие по предварительно заданному количеству последовательных контрольных точек за пределами препятствия не выполнено, и все равно изменению подлежал бы сегмент, включающий в себя все эти 8 контрольных точек.
Смещение контрольных точек cj, входящих в сегмент , в свободное пространство может повлечь за собой также смещение некоторых соседних контрольных точек - например, точки cj-1. Тем самым, формируется уточненный сегмент траектории (показан сплошной линией, обозначен ). В примере на Фиг. 4 уточненный сегмент также содержит 8 контрольных точек.
Направление смещения каждой контрольной точки определяется путем решения следующей задачи выпуклой оптимизации для каждого сегмента:
Данная задача может решаться, например, с помощью решателя MOSEK.
где
А и b представляют область свободного пространства Fm в виде выпуклого многогранника от с0 до cn в (здесь начало подлежащего изменению сегмента для удобства обозначено с0), как показано на Фиг. 4 в виде набора полупрозрачных прямоугольников;
р0, …, pn представляют собой контрольные точки уточненного сегмента , соответствующего подлежащему изменению сегменту , используемые для определения направления градиента каждой контрольной точки;
t1 представляет собой предельное смещение начальной контрольной точки (от с0 к р0);
t2 представляет собой предельное смещение конечной контрольной точки (от cn к pn);
t3 представляет собой предельное суммарное расстояние между соседними промежуточными контрольными точками (то есть сумма расстояний между точками pk и pk+1, где k принимает значения от 1 до n-1), что в некотором приближении можно рассматривать как предельную длину уточненного сегмента траектории на участке между промежуточными контрольными точками;
λ1, λ2 и λ3 представляют собой параметры регуляризации, определяющие вклад каждого из пределов t1, t2 и t3 в общий результат. Параметры регуляризации могут быть установлены таким образом, чтобы обеспечить большее смещение в начальной и конечной контрольных точках по сравнению с промежуточными контрольными точками - например, λ1=0,8, λ2=0,8 и λ3=0,6.
Параллельная выпуклая декомпозиция
Для уменьшения времени вычисления может использоваться параллельная версия выпуклой декомпозиции. Выпуклая декомпозиция представляет собой разделение объекта (в данном случае свободного пространства Fm, прилегающего к подлежащему изменению сегменту ) на выпуклые части. Как только определены контрольные точки с0, …, cn, находящиеся в , необходимо проверить, имеются ли среди них промежуточные контрольные точки, которые находятся в свободном пространстве Fm. Выпуклая декомпозиция применяется к таким последовательным контрольным точкам параллельно, что в результате дает свободное пространство в виде множества решений конечной системы линейных алгебраических уравнений и неравенств, соответствующих крайним опорным гиперплоскостям (Н-rep), Ах≤b для каждого .
В данном случае начальная контрольная точка со сегмента находится в свободном пространстве и является началом первого прямоугольника (выпуклого многоугольника). Все следующие контрольные точки, которые находятся в свободном пространстве между с0 и препятствием, также попадают в первый прямоугольник. Конечная контрольная точка cn сегмента находится в свободном пространстве и является концом второго прямоугольника. Первый прямоугольник и второй прямоугольник частично перекрываются между собой. Участок сегмента между препятствием и контрольная точка cn, в котором находится еще одна контрольная точка, не попадает во второй прямоугольник, поэтому строится третий прямоугольник, который охватывает этот участок, а также контрольную точку cn, то есть частично перекрывается со вторым прямоугольником. Таким образом, внутри первого, второго и третьего прямоугольников, которые огибают препятствие и находятся в свободном пространстве, можно построить уточненную траекторию движения.
Вычисление градиентов
Уточненная траектория (см. Фиг. 2) в момент времени tn может быть разбита на множество Nseg сегментов (где i=0, …, Nseg), которые находятся в области препятствий и которые необходимо передвинуть в область, свободную от препятствий. Как упоминалось выше, в результате формируется множество уточненных сегментов
Чтобы найти вектор направления градиента для контрольной точки cj сегмента находящейся в области препятствия, зададим вектор v1 (см. Фиг. 4), который представляет собой аппроксимированный вектор направления движения по траектории вдоль сегмента около точки cj. Вектор v1 можно представить путем движения от точки cj-1 до точки cj+1, которые являются соседними с точкой cj; то есть v1=cj+1-cj-1. Также зададим контрольную точку pk на уточненном сегменте Вектор v2 указывает направление смещения точки cj к точке pk, проходя через них и пересекая как уточненный сегмент так и подлежащий изменению сегмент (а именно, для упрощения вычисления - вектор v1). Соответственно, вектор v2 можно представить путем движения от точки cj до точки pk, то есть v2=pk-cj.
Оптимальное значение k, указывающее индекс контрольной точки pk уточненного сегмента, в которую должна быть смещена текущая точка cj. определяется путем вычисления угла между v1 и v2:
Таким образом, вектор градиента, соответствующий cj, может быть полностью определен как:
При этом в процессе оптимизации значение k сначала может быть установлено как соответствующее середине уточненного сегмента то есть при инициализации значение k сначала может быть равно половине числа точек в уточненном сегменте (при необходимости округленно).
Затем выполняется итеративное приращение или уменьшение значения к в соответствии с тем, дала ли текущая итерация по сравнению с предыдущей оптимизацию угла между v1 и v2.
После того, как выполнено определение вектора градиента для каждого i-го сегмента, определяется функция Jпрепятствие, упоминавшаяся выше в выражении (1), в качестве непрерывно дифференцируемой штрафной функции:
Как упоминалось выше, Dz представляет собой предварительно заданное расстояние уклонения, то есть минимальное расстояние, допустимое между БПЛА и препятствием для предотвращения столкновения. В настоящем изобретении считается, что БПЛА находится в контрольной точке, когда его центр находится в контрольной точке. Соответственно, во избежание столкновения с препятствием контрольная точка должна отстоять от препятствия больше, чем на радиус БПЛА (с учетом вращения лопастей). В качестве неограничивающего примера, расстояние Dz уклонения может быть задано равным 0,8 м.
Мертвая зона
Когда датчик глубины имеет малый угол обзора, построение карты может быть не вполне точным, так как сразу за пределами угла обзора может находиться препятствие, и область Dz вокруг препятствия может ошибочно рассматриваться как область, свободная от препятствий. Кроме того, метод EDTM занимает значительное количество времени, когда окружающая среда загромождена (насыщена препятствиями), а из-за того, что существует ограничение по времени вычислений (обработка должна вестись в реальном времени), метод может не успеть отработать. В таких ситуациях сегментация свободного пространства может не обеспечить корректный набор ограничений А, b, и уточненная траектория может привести БПЛА Qp, в область Dz. Таким образом, предлагавшийся выше подход со сдвигом сегмента и поиском контрольных точек уточненного сегмента может не определить должным образом контрольные точки pk, т.е. оцененные контрольные точки могут оказаться на концах (с0, cNiseg) сегмента и такая траектория может оказаться динамически неосуществимой. Следовательно, требуется защитный механизм, который позволил бы построить уточненную траекторию в обход препятствия, даже если вышеуказанный подход выдал неудовлетворительный результат. Для таких случаев предлагается следующий механизм восстановления, при котором вся траектория рассматривается целиком как один-единственный сегмент, который необходимо сместить в свободное пространство:
Данная задача может решаться, например, с помощью решателя MOSEK.
где - это контрольные точки, подлежащие перемещению, при этом =1, Nr, a Nr - это количество контрольных точек в момент времени на траектории .
В остановленные контрольные точки определяются с помощью
Ar и br определяются методом параллельной выпуклой декомпозиции.
Сглаживание
Чтобы определить функцию Jсглаживание, упоминавшуюся выше в выражении (1), во избежание эффектов вибрации в общем случае помимо скорости необходимо учитывать другие производные от положения высшего порядка, такие как ускорение, рывок и т.д. Настоящее изобретение направлено на оптимизацию траектории при движении БПЛА на относительно низкой скорости (до 1,5-2 м/с), поэтому такая производная, как рывок, и производные высшего порядка являются пренебрежимо малыми и могут не учитываться.
Таким образом, для обеспечения плавности функция сглаживания (Jсглаживание) может быть сформулирована только как минимизация составляющих ускорения:
где ∂ai/∂ci=1, ∂ai/∂ci+1=-2, ∂ai/∂ci+2=1,
ai - это ускорение (ai=ci+2-2ci+1+ci) при i-м индексе
vi - это скорость (vi=ci+1-ci) при i-м индексе
ci - это контрольная точка при i-м индексе
Осуществимость
Чтобы уточненная траектория была динамически осуществима (то есть чтобы БПЛА мог на практике осуществить маневр, исходя из своих технических возможностей), соответствующая функция осуществимости (см. Jосуществимость в выражении (1) выше) накладывает штраф за компоненты скорости и ускорения только тогда, когда они превышают минимальные и максимальные пределы, следующим образом:
где оператор определяется следующим образом:
при этом допустимые максимальные пределы скорости и ускорения задаются через vmax и amax, соответственно, а минимальные пределы - через -vmax и -amax. Когда скорость и ускорение находятся в пределах допустимого диапазона, штраф не накладывается.
Вычисление целевой функции
Таким образом, выполнив приведенные выше этапы, можно определить целевую функцию J (см. выражение (1)), включающую в себя функции сглаживания траектории (Jсглаживание), избегания препятствий (Jпрепятствие) и динамической осуществимости (Jосуществимость). для решения целевой функции J может использоваться, например, метод L-BFGS-B (алгоритм Бройдена - Флетчера - Гольдфарба - Шанно с ограниченным использованием памяти в многомерном кубе).
Модуль локального планирования
В настоящем изобретении локальное планирование основано на решении задачи нелинейной оптимизации, в частности NMPC. Время вычисления NMPC увеличивается, когда увеличивается количество ограничений, то есть когда траектория пролегает вблизи препятствий или через них. Такая ситуация может привести к попаданию в локальный минимум и к неудаче при поиске оптимальной политики управления БПЛА, что в конечном счете может вылиться в столкновение с препятствием. Однако настоящее изобретение лишено данного недостатка, так как модуль глобального планирования уточняет исходную опорную траекторию, отодвигая ее от области препятствий.
Кроме того, тот факт, что траектория разбита на множество отрезков от контрольной точки до контрольной точки, между которыми БПЛА проходит относительно небольшое расстояние за относительно небольшой промежуток времени, ограничения на движение, накладываемые такими отрезками, по отдельности являются не очень сложными, вследствие чего метод NMPC может успешно применяться к решению задач оптимизации на таких отрезках в режиме реального времени.
Соответственно, модуль локального планирования в настоящем изобретении может сосредоточиться на задачах обеспечения сглаживания, динамической осуществимости и точности следования уточненной траектории. Вследствие этого в упоминавшемся выше представлении (1) конкретно для этого модуля среди весовых коэффициентов λсглаживание, λпрепятствие и λосуществимость наибольшее значение должны иметь коэффициенты λсглаживание и λосуществимость, определяя тем самым важность вклада именно функций сглаживания траектории и динамической осуществимости в целевую функцию J.
В момент времени tn модуль локального планирования формирует оптимальную траекторию для заданного горизонта планирования, то есть для того количества Np контрольных точек, которое подлежит обработке модулем локального планирования.
где Qp - это текущее местоположение БПЛА, а с - это последующие контрольные точки на траектории, которые должен пройти БПЛА.
Модуль локального планирования генерирует оптимальное управление для маневрирования БПЛА с учетом накладываемых ограничений, где w=[utn, …, utn+Np-1, xtn, …, xtn+Np] обозначает набор подлежащих минимизации переменных решения. Здесь xtn - это вектор состояния, определяемый с учетом направлений х, у, z и угла рыскания для каждой контрольной точки на уточненной траектории, полученной от модуля глобального планирования, а utn - это входные сигналы управления (управляющие воздействия). Соответственно, задачей модуля локального планирования является одновременная оптимизация как входных сигналов управления, так и векторов состояний. Такая задача (целевая функция JP(x,u)tn) может быть сформирована с использованием метода многократной стрельбы следующим образом:
Функция g1(w) указывает ограничения, накладываемые на движение динамикой системы, а функция g2(w) указывает ограничения, накладываемые на движение приближающимися препятствиями. xmin и xmax обозначают минимальную и максимальную границу для вектора состояния , где изменяется в пределах от 0 до Np. vmin и vmax обозначают минимальную и максимальную линейную и угловую скорости, допустимые для движения данного БПЛА.
Модуль локального планирования, как и модуль глобального планирования, работает итеративно. Когда завершается одна итерация с пересчетом траектории, немедленно или через некоторый промежуток времени начинается следующая. На каждой итерации планирования модуль локального планирования получает Qp, xtn и utn в качестве входных данных и дает на выходе оптимальную политику управления, т.е. где v обозначает скорость в каждом направлении х, у, z, а со обозначает угол рыскания вокруг оси z.
Таким образом, в результате обработки, выполненной в модуле глобального планирования и в модуле локального планирования, формируется оптимальная траектория, по которой должен следовать БПЛА, и управляющие сигналы, которые позволяют БПЛА двигаться в точности по заданной траектории.
Данные от модуля визуальной одометрии и данные от модуля планирования траектории передаются на пропорционально-дифференцирующий регулятор. Конечным результатом обработки, связанной с оптимизацией траектории, является подача отрегулированных управляющих сигналов (векторов скорости в каждом из направлений х, у, z, а также угла рыскания вокруг оси z) от пропорционально-дифференцирующего регулятора на контроллер полета, который на их основе управляет двигателями, и тем самым БПЛА совершает требуемые перемещения вдоль оптимальной траектории.
Синхронизация
Обработка данных в каждом модуле выполняется итеративно. Когда завершается одна итерация, немедленно или через некоторый промежуток времени начинается следующая.
В настоящем изобретении для получения конечного результата применяется множество модулей. В условиях неизвестного и/или меняющегося окружения и вследствие этого меняющихся входных данных отдельно взятый модуль выполняет обработку в течение разных итераций за разное время. Соответственно, невозможно заранее определить, сколько в точности времени потребуется тому или иному модулю для выполнения обработки.
В одном из вариантов осуществления итерации в каждом модуле выполняются непрерывно. Результат обработки последней итерации сохраняется в памяти. Когда модуль завершает обработку, он немедленно приступает к следующей итерации, при этом входные данные он получает не непосредственно от того модуля, данные которого ему необходимы для обработки, а из памяти, извлекая из нее результат обработки последней итерации необходимого модуля. Тем самым, обеспечивается простой механизм обновления данных, в котором актуализация данных выполняется непрерывно. Недостаток такого подхода заключается в том, что время обработки одного модуля может сильно отличаться от времени обработки другого модуля, из-за чего за один и тот же промежуток времени первый модуль может отработать один раз, а второй модуль, который поставляет данные для первого - например, 8 раз, из которых 7 окажутся бесполезными, что вызывает растрату вычислительных ресурсов и энергии. Кроме того, на практике сохраненные в памяти данные иногда успевают утратить актуальность, что может отрицательно сказаться на точности определения траектории и безопасности полета.
В другом варианте осуществления один или более модулей выполняют итерации с предварительно заданной периодичностью. Например, модуль локального планирования начинает новую итерацию с периодом, равным 80 мс. Если обработка завершилась за 50 мс, то следующая итерация начнется через 30 мс. Если выбранный метод обработки позволяет устанавливать ограничение на время обработки, то в качестве ограничения может задаваться время обработки, которое равно или меньше периода обработки. Если выбранный метод обработки не позволяет устанавливать ограничение на время обработки, то в качестве периода обработки может задаваться значение, равное максимальному или среднему максимальному времени обработки, продемонстрированному данным модулем во время испытаний для схожих условий применения. В случае превышения времени обработки и отсутствия текущих выходных данных следующий модуль использует в качестве входных данных результат обработки последней итерации данного модуля.
Соответственно, зная максимальный интервал обработки среди всех модулей, можно установить такой же интервал обработки для всех модулей. Например, если максимальный интервал обработки среди всех модулей имеет модуль планирования траектории, и его значение равно 100 мс, то значение 100 мс может быть назначено в качестве интервала обработки для всех модулей, и все модули могут начинать обработку в один и тот же момент времени. Тем самым, обеспечивается предотвращение растраты ресурсов из-за расхождения во времени обработки.
В другом варианте осуществления, зная, какой модуль имеет максимальный интервал обработки среди всех модулей, можно установить такой же интервал обработки для тех модулей, которые поставляют данные только этому модулю. Например, модуль генерации опорной траектории поставляет данные только в модуль планирования траектории, поэтому его интервал обработки может быть установлен равным интервалу обработки модуля планирования траектории, тогда как модуль навигации поставляет данные сразу в несколько модулей, поэтому его интервал обработки может устанавливаться равным наименьшему из интервалов обработки тех модулей, которым он поставляет данные - например, интервалу обработки ПД-регулятора. В отличие от предыдущего варианта, в данном варианте обеспечивается повышение актуальности данных, что снижает задержку обработки и вызванные этим ошибки отклонения от оптимальной траектории, а также повышает безопасность полета.
В другом варианте осуществления может быть сформировано расписание работы каждого модуля, так чтобы к тому моменту, когда начнет работу тот модуль, который потребляет информацию от данного модуля, данный модуль успевал выполнить обработку и выдать относительно актуальный результат. Например, модуль локального планирования имеет среднеквадратическое максимальное время обработки 70 мс, в соответствии с которым устанавливается его период обработки; модуль глобального планирования имеет среднеквадратическое максимальное время обработки 50 мс. Зная момент, когда модуль локального планирования начнет новую итерацию, можно установить время начала работы модуля глобального планирования, так чтобы он завершал свою обработку непосредственно перед началом обработки в модуле локального планирования (то есть с упреждением в 50-55 мс), чтобы предоставить ему более актуальные данные, чем если бы итерация запускалась одновременно, и после завершения обработки модулем глобального планирования данные ожидали бы обработки модулем локального планирования на следующей итерации около 20 мс. Таким образом, обеспечивается дополнительное повышение актуальности данных, что снижает задержку обработки и вызванные этим ошибки отклонения от оптимальной траектории, а также повышает безопасность полета.
Расстояние
Выше в отношении Фиг. 2 указывалось, что расчетная разница во времени между двумя последовательными контрольными точками на траектории обозначена как δtd. Данное значение предварительно задается в зависимости от требований конкретного применения. Например, значение δtd может быть установлено равным 0,05 с. Соответственно, расстояние, которое должен преодолеть БПЛА за это время, может отличаться между разными соседними точками на траектории. Чем меньше время пролета между двумя последовательными контрольными точками, тем больше точек содержит траектория и тем ближе оптимальная траектория будет к опорной, но тем выше будет сложность вычислений.
В настоящем изобретении предлагается устанавливать время пролета между соседними контрольными точками приблизительно равным или несколько большим, чем среднее максимальное время обработки модуля глобального планирования. Таким образом, за одну итерацию модуль глобального планирования успевает обработать текущие условия окружения при приближении к следующей контрольной точке, чтобы при необходимости скорректировать траекторию. Это позволяет учитывать каждую следующую контрольную точку без потери данных и сильного отклонения от траектории, и с другой стороны, без выполнения излишней обработки. Таким образом, обеспечивается повышение точности обработки и безопасности полета.
На практике при облете препятствий расстояние между контрольными точками может увеличиваться, и предварительно заданный постоянный период обработки может привести к тому, что начало итерации может оказываться на разном расстоянии от ближайшей точки, из-за чего может быть утрачена синхронизация. Во избежание этого в одном из вариантов осуществления обработка инициируется событием. Например, при приближении к контрольной точке на предварительно заданное расстояние (или на предварительно заданное время подлета) по меньшей мере один модуль (например, модуль глобального планирования) может начинать новую итерацию, если обработка предыдущей итерации уже была ранее завершена. Это позволяет учитывать каждую следующую контрольную точку без потери данных и сильного отклонения от траектории, а также повысить адаптируемость к изменяющимся условиям окружающей среды. Таким образом, обеспечивается повышение точности обработки и безопасности полета.
При описании работы модуля локального планирования выше указывались выражения, которые вычисляются в процессе обработки в этом модуле. Исходя из этих выражений и известных особенностей метода NMPC было бы логично предположить, что чем больше горизонт планирования, то есть то количество контрольных точек, которое подлежит обработке модулем локального планирования, тем сложнее обработка и тем больше времени занимает одна итерация. Тем не менее, испытания предложенного изобретения неожиданно показали, что при горизонтах планирования, равных около 4,5-6 (предпочтительно 5) диаметров БПЛА (считая от текущего местоположения Qp, то есть от центра БПЛА), по сравнению с меньшими и большими горизонтами планирования обеспечивается повышение частоты успешного (без сбоев) выполнения полетного задания и даже уменьшение среднего времени обработки при поддержании схожего общего расстояния, пройденного БПЛА от начальной до конечной точки.
Пример
Для испытаний настоящего изобретения использовался БПЛА DЛ Matrice 100, который содержал следующие модули: модуль генерации 3D облака точек на базе прикрепленного к БПЛА лидара Velodyne Lite 16 для анализа окружающей среды, модули отображения, генерации опорной траектории, планирования траектории и ПД-регулятора на базе прикрепленного к БПЛА процессора Nvidia Jetson NX, встроенный в БПЛА модуль GPS-навигации и контроллер полета DЛ A3. Максимальная скорость БПЛА была установлена равной 1,2 м/с, горизонт планирования 4 м, время между контрольными точками 0,05 с, расстояние уклонения 0,8 м, исходная опорная траектория 54,3 м. Итоговая оптимальная траектория полета из-за наличия препятствий на пути составила 79,8 м, общее время полета около 150 с, среднее отклонение от траектории менее 1 м в течение всего полета.
Применение
Устройства, системы и способы согласно настоящему изобретению можно использовать для автономного перемещения по опорной траектории БПЛА, выполняющих доставку грузов, различные исследования, анализ окружающего пространства, контроль объектов, фото- и видеосъемку, спасательные операции, автономный мониторинг для задач охраны территорий, сельхозугодий, картографии, дистанционного химико-физического анализа, контроля всхожести и спелости урожая, химической обработки и т.д.
Также возможно применение настоящего изобретения в пилотируемых летательных аппаратах в режиме автономного движения (автопилота).
Дополнительные особенности реализации
Различные иллюстративные блоки и модули, описанные в связи с раскрытием сущности в данном документе, могут реализовываться или выполняться с помощью процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства (PLD), дискретного логического элемента или транзисторной логики, дискретных аппаратных компонентов либо любой комбинации вышеозначенного, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте, процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств (к примеру, комбинация DSP и микропроцессора, несколько микропроцессоров, один или более микропроцессоров вместе с DSP-ядром либо любая другая подобная конфигурация).
Некоторые блоки или модули по отдельности или вместе могут представлять собой, например, компьютер, и включать в себя процессор, который сконфигурирован для вызова и выполнения компьютерных программ из памяти для выполнения этапов способа или функций блоков или модулей в соответствии с вариантами осуществления настоящего изобретения. Согласно вариантам осуществления, устройство может дополнительно включать в себя память. Процессор может вызывать и выполнять компьютерные программы из памяти для выполнения способа. Память может быть отдельным устройством, независимым от процессора, или может быть интегрирована в процессор. Память может хранить код, инструкции, команды и/или данные для исполнения на наборе из одного или более процессоров описанного устройства. Коды, инструкции, команды могут предписывать процессору выполнять этапы способа или функции устройства.
Функции, описанные в данном документе, могут реализовываться в аппаратном обеспечении, программном обеспечении, выполняемом посредством одного или более процессоров, микропрограммном обеспечении или в любой комбинации вышеозначенного, если это применимо. Аппаратные и программные средства, реализующие функции, также могут физически находиться в различных позициях, в том числе согласно такому распределению, что части функций реализуются в различных физических местоположениях, то есть может выполняться распределенная обработка или распределенные вычисления.
В случае если объем данных велик, может производиться многопоточная обработка данных, которая в простом представлении может выражаться в том, что все множество подлежащих обработке данных разделяется на набор подмножеств, и каждое ядро процессора выполняет обработку в отношении назначенного для него подмножества данных.
Вышеупомянутая память может быть энергозависимой или энергонезависимой памятью или может включать в себя как энергозависимую, так и энергонезависимую память. Специалисту в области техники должно быть также понятно, что, когда речь идет о памяти и о хранении данных, программ, кодов, инструкций, команд и т.п., подразумевается наличие машиночитаемого (или компьютерно-читаемого, процессорно-читаемого) запоминающего носителя. Машиночитаемый запоминающий носитель может представлять собой любой доступный носитель, который может использоваться для того, чтобы переносить или сохранять требуемое средство программного кода в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера, процессора или иного устройства обработки общего назначения или специального назначения.
В качестве примера, а не ограничения, машиночитаемые носители могут содержать постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электронно-стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, оперативную память (RAM), статическую память с произвольным доступом (SRAM), динамическую память с произвольным доступом (DRAM), синхронную динамическую память с произвольным доступом (SDRAM), синхронную динамическую память с произвольной выборкой с двойной скоростью передачи данных (DDR SDRAM), синхронную динамическую память с произвольной выборкой с повышенной скоростью (ESDRAM), DRAM с синхронной линией связи (SLDRAM) и оперативную память с шиной прямого доступа (DR RAM) и т.п.
Информация и сигналы, описанные в данном документе, могут представляться с помощью любой из множества различных технологий. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, которые могут приводиться в качестве примера в вышеприведенном описании, могут представляться посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц либо любой комбинации вышеозначенного.
Процессор может включать в себя один или более процессоров. В то же время, один или более процессоров могут быть процессором общего назначения, например центральным процессором (CPU), прикладным процессором (АР) и т.п., блоком обработки графики, таким как графический процессор (GPU), визуальный процессор (VPU) и т.д.
Следует понимать, что хотя в настоящем документе для описания различных элементов, компонентов, областей, слоев и/или секций могут использоваться такие термины, как "первый", "второй", "третий" и т.п., эти элементы, компоненты, области, слои и/или секции не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличить один элемент, компонент, область, слой или секцию от другого элемента, компонента, области, слоя или секции. Так, первый элемент, компонент, область, слой или секция может быть назван вторым элементом, компонентом, областью, слоем или секцией без выхода за рамки объема настоящего изобретения. В настоящем описании термин "и/или" включает любые и все комбинации из одной или более из соответствующих перечисленных позиций. Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное.
Функциональность элемента, указанного в описании или формуле изобретения как единый элемент, может быть реализована на практике посредством нескольких компонентов устройства, и наоборот, функциональность элементов, указанных в описании или формуле изобретения как несколько отдельных элементов, может быть реализована на практике посредством единого компонента.
В одном варианте осуществления элементы/блоки/модули предложенного устройства находятся в общем корпусе, могут быть размещены на одной раме/конструкции/печатной плате/кристалле и связаны друг с другом конструктивно посредством монтажных (сборочных) операций и функционально посредством линий связи. Упомянутые линии или каналы связи, если не указано иное, являются типовыми, известными специалистам линиями связи, материальная реализация которых не требует творческих усилий. Линией связи может быть провод, набор проводов, шина, дорожка, беспроводная линия связи (индуктивная, радиочастотная, инфракрасная, ультразвуковая и т.д.). Протоколы связи по линиям связи известны специалистам и не раскрываются отдельно.
Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи механического движения, связь с возможностью передачи света, звука, электромагнитных или механических колебаний и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.
Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать настоящее изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку специалисту в данной области техники на основе информации, изложенной в описании, и знаний уровня техники могут быть очевидны различные другие модификации и варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО И СПОСОБ ДЛЯ ОПТИМИЗАЦИИ ТРАЕКТОРИИ ДВИЖЕНИЯ ЛЕТАТЕЛЬНОГО АППАРАТА | 2022 |
|
RU2793982C1 |
СПОСОБ ПОСТРОЕНИЯ МАРШРУТА ДВИЖЕНИЯ И УПРАВЛЕНИЯ ДВИЖЕНИЕМ МОБИЛЬНОГО СЕРВИСНОГО РОБОТА В ТОРГОВОМ ПОМЕЩЕНИИ | 2021 |
|
RU2769710C1 |
Способ локализации и построения навигационных карт мобильного сервисного робота | 2020 |
|
RU2740229C1 |
Интеллектуальная система автоматического дистанционного мониторинга состояния ЛЭП | 2022 |
|
RU2789896C1 |
СПОСОБ ВЫБОРА БЕЗОПАСНОЙ ЗОНЫ ПОСАДКИ | 2022 |
|
RU2795344C1 |
МЕТОД ОПРЕДЕЛЕНИЯ ЗОНЫ ДВИЖЕНИЯ И САМОСТОЯТЕЛЬНОГО ОБЪЕЗДА ПРЕПЯТСТВИЙ ДЛЯ БЕСПИЛОТНОГО ТРАНСПОРТНОГО ОБОРУДОВАНИЯ В ПОДЗЕМНЫХ ЗАМКНУТЫХ ПРОСТРАНСТВАХ | 2022 |
|
RU2803671C1 |
Способ навигации мобильного сервисного робота | 2019 |
|
RU2736559C1 |
Способ точной посадки беспилотного летательного аппарата и устройство для реализации способа | 2021 |
|
RU2773978C1 |
СПОСОБ И СИСТЕМА ДЛЯ УТОЧНЕНИЯ ПОЗЫ КАМЕРЫ С УЧЕТОМ ПЛАНА ПОМЕЩЕНИЯ | 2022 |
|
RU2794441C1 |
СПОСОБ И СИСТЕМА ЗАХВАТА ОБЪЕКТОВ С ПОМОЩЬЮ РОБОТИЗИРОВАННОГО УСТРОЙСТВА | 2020 |
|
RU2745380C1 |
Группа изобретений относится к устройству и способу уточнения траектории движения летательного аппарата (ЛА). Устройство содержит модуль отображения, модуль генерации опорной траектории, модуль планирования траектории. Для уточнения траектории движения выполняют построение карты объектов окружающей среды на основе трехмерного (3D) облака точек, полученного от содержащегося в ЛА модуля генерации 3D облака точек, оценивают расстояние от ЛА до окружающих объектов определенным образом, генерируют опорную траекторию для ЛА путем интерполяции траектории, построенной согласно полетному заданию между контрольными точками определенным образом, формируют уточненную траекторию с учетом обхода препятствий на основе опорной траектории, карты объектов окружающей среды и данных о расстоянии от ЛА до окружающих объектов, формируют управляющие сигналы на основе уточненной траектории. Обеспечивается повышение точности следования исходной траектории движения летательного аппарата при наличии препятствий, улучшение плавности движения и повышение безопасности полетов. 2 н. и 9 з.п. ф-лы, 4 ил.
1. Устройство для уточнения траектории движения летательного аппарата (ЛА), содержащее:
модуль отображения, выполненный с возможностью построения карты объектов окружающей среды на основе трехмерного (3D) облака точек, полученного от содержащегося в ЛА модуля генерации 3D облака точек, и оценки расстояния от ЛА до окружающих объектов на основе карты объектов окружающей среды и данных о местоположении ЛА, полученных от содержащегося в ЛА модуля навигации;
модуль генерации опорной траектории, выполненный с возможностью генерации опорной траектории, которой должен следовать ЛА, путем интерполяции траектории, построенной согласно полетному заданию между контрольными точками, через которые необходимо пройти ЛА, с учетом предпочтительных моментов их прохождения, с использованием однородного B-сплайна 3-го порядка; и
модуль планирования траектории, выполненный с возможностью формирования уточненной траектории движения ЛА в обход препятствий на основе опорной траектории, карты объектов окружающей среды и данных о расстоянии от ЛА до окружающих объектов и формирования управляющих сигналов для ЛА на основе уточненной траектории с использованием метода управления с нелинейной прогнозирующей моделью.
2. Устройство по п. 1, в котором модуль глобального планирования выполнен с возможностью формирования уточненной траектории движения ЛА в обход препятствий, если определено, что опорная траектория проходит через объект окружающей среды или что ЛА или опорная траектория находится на таком расстоянии до объекта окружающей среды, которое меньше предварительно заданного расстояния уклонения.
3. Устройство по п. 2, в котором местоположение ЛА соответствует центру ЛА, а расстояние уклонения больше радиуса окружности, описывающей ЛА.
4. Устройство по п. 1, в котором управляющие сигналы для ЛА содержат векторы скорости в каждом из направлений x, y, z, а также угол рыскания.
5. Устройство по п. 1, дополнительно содержащее модуль навигации, выполненный с возможностью определения местоположения, скорости и угла рыскания ЛА.
6. Устройство по п. 1, дополнительно содержащее модуль генерации 3D облака точек, выполненный с возможностью генерации 3D облака точек.
7. Устройство по п. 1, дополнительно содержащее пропорционально-дифференцирующий (ПД) регулятор, выполненный с возможностью формирования отрегулированных управляющих сигналов для ЛА и их передачи на контроллер полета для управления исполнительными механизмами ЛА, причем ПД регулятор использует данные о текущем состоянии ЛА от модуля навигации в качестве обратной связи и управляющие сигналы от модуля планирования траектории в качестве входного сигнала.
8. Устройство по п. 1, в котором модуль глобального планирования выполнен с возможностью формирования уточненной траектории движения ЛА с использованием метода Бройдена - Флетчера - Гольдфарба - Шанно с ограниченным использованием памяти в многомерном кубе.
9. Устройство по п. 2, в котором модуль глобального планирования выполнен с возможностью выявления на опорной траектории подлежащего изменению сегмента опорной траектории, содержащего набор последовательных контрольных точек, по меньшей мере часть из которых находится в пределах объекта окружающей среды или на таком расстоянии до объекта окружающей среды, которое меньше предварительно заданного расстояния уклонения, разделения свободного пространства вокруг этого сегмента на множество выпуклых фрагментов и определение местоположений контрольных точек уточненного сегмента в пределах упомянутых выпуклых фрагментов свободного пространства путем применения параллельной выпуклой декомпозиции к каждой точке подлежащего изменению сегмента, и формирования уточненной траектории движения ЛА, пролегающей через контрольные точки уточненного сегмента.
10. Устройство по п. 9, в котором, если попытка формирования уточненного сегмента за предварительно заданное время завершена неудачно, модуль глобального планирования выполнен с возможностью представления всей не пройденной на данный момент опорной траектории в виде подлежащего изменению сегмента и формирования уточненной траектории в обход препятствия с использованием параллельной выпуклой декомпозиции.
11. Способ уточнения траектории движения ЛА, содержащий этапы, на которых:
с использованием модуля отображения выполняют построение карты объектов окружающей среды на основе трехмерного (3D) облака точек, полученного от содержащегося в ЛА модуля генерации 3D облака точек, и оценку расстояния от ЛА до окружающих объектов на основе карты объектов окружающей среды и данных о местоположении ЛА, полученных от содержащегося в ЛА модуля навигации;
с использованием модуля генерации опорной траектории выполняют генерацию опорной траектории, которой должен следовать ЛА, путем интерполяции траектории, построенной согласно полетному заданию между контрольными точками, через которые необходимо пройти ЛА, с учетом предпочтительных моментов их прохождения, с использованием однородного B-сплайна 3-го порядка; и
с использованием модуля планирования траектории выполняют формирование уточненной траектории движения ЛА в обход препятствий на основе опорной траектории, карты объектов окружающей среды и данных о расстоянии от ЛА до окружающих объектов, и формирование управляющих сигналов для ЛА на основе уточненной траектории с использованием метода управления с нелинейной прогнозирующей моделью.
СПОСОБ УПРАВЛЕНИЯ ДВИЖЕНИЕМ ЛЕТАТЕЛЬНОГО АППАРАТА | 2017 |
|
RU2665820C1 |
СПОСОБ ПЛАНИРОВАНИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ ЛЕТАТЕЛЬНОГО АППАРАТА | 2017 |
|
RU2649287C2 |
ЗРИТЕЛЬНАЯ ТРУБА | 1926 |
|
SU6094A1 |
СПОСОБ УПРАВЛЕНИЯ ДВИЖЕНИЕМ АЭРОБАЛЛИСТИЧЕСКОГО ЛЕТАТЕЛЬНОГО АППАРАТА ПО ЗАДАННОЙ ПРОСТРАНСТВЕННОЙ ТРАЕКТОРИИ | 2013 |
|
RU2571567C2 |
DE 102010027771 B4, 22.05.2014 | |||
US 10571921 B2, 25.02.2020. |
Авторы
Даты
2023-04-11—Публикация
2022-10-21—Подача