Перейти к содержимому



Что нужно для плавного облета?

Started by artviz, 18 января 2015 - 01:16

# Somni

Somni
  • 202 сообщений

Posted 09 марта 2017 - 12:43

Для плавного облёта лучше использовать программные методы, чем ручные: не нужно тренировок на ловкость, экономия нервов и т. д.

В Litchi и AutoPilot в разделе полёт по точкам предусмотрено скругление траектории в опорных точках (линейная аппроксимация + скруггление угов в опорных точках -> интерполяция -> отправка команд коптеру). Скругление выполняется путём нахождения биссектрисы угла меджду соседними отрезками траектории (то есть в опорной точке). Затем к одному из отрезков, которому принадлежит рассматриваемая опорная точка, строится нормаль (перпендикулярная линия). Она строится так, чтобы длина нормали от отрезка до биссектрисы = заданному радиусу скругления. На пересечении нормали и биссектрисы назначается центр кривизны скругления и строится дуга. Вот как это выглядит графически https://yadi.sk/d/I1oVEhtw3FLNJv

Если этого недостаточно, то есть не достаточно плавно (мягко), то в AutoPilot вместо скругления можно выбрать Кривая Безье (она по умолчанию стоит). Кривая Безье предполагает глобальную аппроксимацию полиномом (степень равна числу опорных точек всей траектории) координат опорных точек в функцию (функция очень "мягкая" без острых углов). Затем функция интерполируется (представляется в виде таблицы точек в каждое мгновение времени) и отправляется коптеру в режиме реального времени в виде оперативных команд, содержащих координаты последующих точек.

Это всё происходит автоматически, Вам только нужно задать точки, которые нужно облететь и указать точку, куда смотреть камере на том или ином участке пути.
По тому же адресу https://yadi.sk/d/I1oVEhtw3FLNJv я разместил сравнение использование метода скругления и Кривой Безье.


Edited by SomniPhobia, 09 марта 2017 - 12:53 .

  • 0




Яндекс.Метрика

Сайт работает на хостинге FASTVPS