Беспилотники. Ч1: что это за игрушка и как ею управляют
Привет, ГОЛОСяне!
Представляю Вашему вниманию свою первую статью про беспилотники. В этом и последующих постах я хочу рассказать про особенности навигационной начинки небольших гражданских беспилотников, про алгоритмы управления беспилотниками и автонастройку параметров модели управления при помощи Генетических Алгоритмов.
Ниже, на Рис. 1 и 2 представлены упрощенные 3D модели двух наиболее популярных видов беспилотников.
Кроме этих двух классов есть еще дирижабли и зонды, но это слишком специализированная тема. Для простоты будем рассматривать в основном первые два отряда воздухоплавающих самовольников. По принципу движения и управления самолетные беспилотники и коптеры сильно отличаются. Первые характеризуются быстрым линейным перемещением, с крутыми виражами. Коптеры же работают преимущественно в режиме зависания. Несмотря на эти различия есть у них кое-что общее. И те и другие, если речь идет про гражданку, обычно имеют довольно малые габариты и грузоподъемность.
Типичными для гражданских беспилотников являются габариты 45-70 см. (размах крыльев / габариты по лучам коптера), а также грузоподъемность до 0,5 кг полезной нагрузки.
Управляться беспилотники могут тремя способами:
- Полностью ручное управление с пульта через радио-канал.
- Полуавтоматическое управление, когда оператор с пульта задает примерное направление движение, а бортовое оборудование занимается частичной стабилизацией движения.
- Полностью автономное движение, когда до начала полета оператор задает полетное задание (маршрут), а беспилотник потом летит сам, принимая решения для уклонения от препятствий и самого оптимальной траектории движения к пункту назначения.
Меня больше всего интересует именно третий режим. Для управления аппаратом автопилот использует навигационные датчики для получения информации о том, как беспилотник движется. В качестве навигационных датчиков в гражданских беспилотниках используют т.н. “Микромеханические” (iMEMS) датчики (гироскопы, акселерометры, магнитометры, барометры и пр.). Это небольшие микросхемы размером с ноготь пальца рук. Малый размер и вес датчиков очень важны для беспилотников. Кроме iMEMS датчиков в беспилотник могут устанавливать еще и приемник спутниковой навигации (приемник СНС).
Приемник СНС характеризуется относительно малой частотой выдачи информации и высокой вероятностью пропадания сигнала, но зато он сразу выдает текущее положение аппарата. датчики автономны (не нужен внешний сигнал). Они выдают информацию стабильно с высокой частотой, однако над их измерениями надо производить операцию интегрирования.
Соотношение частот выдачи информации примерно такое: 5-10 Гц для спутниковой и 200-1000 Гц для инерциальной систем навигации.
И в тех и в других измерениях датчиков всегда присутствуют некоторые случайные погрешности. Ошибка определения положения по инерциальным датчикам все время накапливается, поэтому их нужно все время корректировать. А ошибка определения положения по приемнику СНС скачет туда-сюда, но всегда укладывается в некие пределы максимальной ошибки.
Многие гражданские приемники GPS/ГЛОНАСС дают точность примерно от +/- 15м до +/- 3м на открытой местности. Металлические, бетонные конструкции и даже деревья могут приводить к потере сигнала спутников.
Информация с iMEMS и приемника СНС используется в т.н. "Бесплатформенной Инерциальной Навигационной Системе" (БИНС, см. “Черный ящик” и пирамида на Рис. 1 и 2). БИНС обычно представляет собой микроконтроллер со специальным алгоритмом, который по измерениями навигационных датчиков вычисляет где в данный момент времени беспилотник находится относительно стартовой позиции или выдает абсолютные координаты в привязке к карте местности. Также БИНС вычисляет "углы ориентации", т.е. в какую сторону смотрит беспилотник, относительно направления на север.
Как вычисляет БИНС указанные параметры? Если кратко, то в ней делается двойное интегрирование линейного ускорения (м./сек.^2 превращается в м., т.е. в приращение положения) и также делается одно интегрирование угловой скорости (градусы/сек превращаются в градусы, т.е. приращение угла ориентации). Также в "комплексированной" БИНС на каждом шаге интегрирования делается проверка прихода новых данных от приемника СНС и, если новое измерения появилось, делается коррекция текущих координат. Более подробное описание принципов работы БИНС заслуживает отдельной статьи.
Итак, главная проблема БИНС беспилотника - это шумы iMEMS датчиков. Источников шумов в БИНС на микромеханике довольно много. Многие из них случайные (непредсказуемые), некоторые - статические или систематические (их можно компенсировать). В этой и последющих статьях хочется остановиться именно на случайных погрешностях. К источникам случайных шумов относятся колебания температур, вибрации, ветер, колебания напряжения питания, изменение давления и пр. Случайные помехи очень трудно спрогнозировать и описать математически, а стало быть и скомпенсировать их непросто.
В качестве иллюстрации приведу ссылку на видео с YouTube:
Автор видео там рассказывает про борьбу с вибрациями (это главный внешний источник погрешности для датчиков). Также если внимательно приглядеться на видео видно как в режиме зависания аппарат колеблется из стороны в сторону.
Положение беспилотника вычисляется прибавлением текущей скорости к прошлому положению (на предыдущем шаге интегрирования). А скорость вычисляется интегрированием измерений от линейных акселерометров.
Например, если в измерении ускорения есть погрешность в 1 м/сек^2, то на каждом шаге интегрирования мы накапливаем максимум [1 м/сек^2 * Ts] погрешности определения скорости. Ts - квант времени, т.е. сколько времени проходит между двумя последовательными измерениями. Ts может быть равен 0,001 ... 0,01 сек. После повторного интегрирования эта ошибка увеличивается и попадает в оценку текущего положения.
В итоге оценка положения аппарата все время колеблется туда-сюда. С этим борятся с помощью приемников GPS/ГЛОНАСС, которые измеряют положение и ничего не интегрируют, но при этом их измерения также имеют случайную погрешность. В общем, беспилотнику кажется, что он непрерывно “перескакивает” из одного места в другое. Потому его так колбасит в режиме зависания.
В общем, случайное блуждание для коптера и случайные отклонения от проложенного курса для самолетных беспилотников является довольно серьезной инженерной проблемой. И чем лучше гасятся случайные помехи, тем шире область применения беспилотника.
В следующих статьях я собираюсь подробнее рассказать о том, как и для чего беспилотники применяются, как сказываются случайные погрешности на их работе. Также в одной из следующих статей постараюсь максимально доступно рассказать о принципах работы БИНС.
Спасибо за внимание!
Не переключайтесь. Продолжение следует...