Управление временем срабатывания затвора фотокамеры беспилотного летательного аппарата
Автор: Айнакулов Жарас Жетыбаевич, Кузьмин Александр Геннадиевич, Мухамедгалиев Арстан Фазулович, Разакова Майра Габбасовна, Смирнов Владимup Викторович
Журнал: Проблемы информатики @problem-info
Рубрика: Элементная база и нанотехнологии в информационных системах
Статья в выпуске: 1 (30), 2016 года.
Бесплатный доступ
Статья посвящена разработке механизма управления затвором фотоаппарата SONY NEX 5N, предназначенного для выполнения картографической аэрофотосъемки с беспилотного летательного аппарата, оснащенного полетным контроллером АРМ 2.6.
Беспилотный летательный аппарат (бпла), картографическая аэрофотосъемка, микроконтроллеры, авиация, мультикоптер, автопилотирование
Короткий адрес: https://sciup.org/14320301
IDR: 14320301
Текст научной статьи Управление временем срабатывания затвора фотокамеры беспилотного летательного аппарата
В настоящее время получило развитие выполнение картографической аэрофотосъемки с беспилотных летательных аппаратов. Для этого используются цифровые фотоаппараты с разрешением не менее 10 Мп. Желательно, чтобы фотоаппараты были откалиброваны, т. е. чтобы были известны фокусное расстояние, размер пикселя, дисторсия и положение оптического центра кадра. Вопрос калибровки в данной статье не рассматривается.
Выполняя картографическую аэрофотосъемку, необходимо обеспечить выполнение нескольких условий:
-
1) По возможности выдержать неизменным в пределах 5-10 % масштаб аэросъемки, т. е. необходимо выполнять съемку с одной высоты.
-
2) Каждый снимок должен иметь перекрытие с соседними снимками не менее 60 %.
-
3) Фотоаппарат должен обеспечивать выдержку, исключающую смаз (размытие) изображения.
Исходя из этих условий, определяются требования к полету беспилотника, вернее, к его электронной начинке и программному обеспечению.
Управление беспилотным аппаратом осуществляется полетным контроллером, снабженным микропроцессором и множеством различных датчиков. Полетный контроллер работает под управлением заложенной в него программы, называемой прошивкой.
Для целей аэросъемки необходимо, чтобы беспилотник обладал функцией автопилота, позволяя ему летать по заранее спланированному маршруту, определяемому путевыми точками с заданными координатами.
В настоящее время на рынке представлено несколько полетных контроллеров от разных производителей, содержащих функцию автопилотирования [1].

Рис. 1. Результат планирования полета, в программе Mission Planner
Наиболее функциональным и недорогим является контроллер АРМ на базе микропроцессора. ATMEGA, разрабатываемый компанией DIY Drones.
Эта. плата, позволяет управлять БПЛА как в ручном режиме (с пульта, оператора), так и в режиме автопилота, обеспечивая движение коптера по заранее загруженным координатам.
Настройка автопилотирования производится с помощью программы Mission Planner. Данная программа позволяет выполнить планирование маршрута полета (рис. 1), определить точки срабатывания затвора, фотоаппарата и осуществить загрузку этих данных в полетный контроллер летательного аппарата.
Расчеты показывают, что для выбранной территории необходимо сделать более 7000 снимков, летая по 94 маршрутным линиям, расположенным на расстоянии 58,5 м друг от друга. Общий путь, который должен пролететь беспилотник, составляет 139,66 км.
Следует учитывать, что летные возможности гражданских беспилотников не безграничны. Одной заправки электропитания (один или несколько заряженных аккумуляторов LiPo) полностью экипированного для аэрофотосъемки мультикоптера, хватает на 10-15 минут полета. За это время мультикоптер гарантированно может пролететь расстояние по двум линиям — туда, и обратно — общей длиной порядка 2 км.
Для предварительной оценки значений параметров аэросъемки в табл. 1 приведены расчетные значения режимов съемки для цифрового фотоаппарата SONY ХЕХ 5N.
Управление фотоаппаратом SONY NEX 5N осуществляется либо кнопкой срабатывания затвора, либо по сигналу встроенного инфракрасного датчика.
Для осуществления срабатывания затвора, фотоаппарата в полете можно: а) нажать на кнопку с помощью сервопривода; б) подать ИК сигнал на датчик; в) замкнуть выведенные провода от контактов кнопки.
Автоматизация процесса аэрофотосъемки с помощью управления затвором фотоаппарата. контроллером полетов АРМ не всегда, приводит к желаемому результату вследствие его ограниченных возможностей, не позволяющих проводить картографическую фотосъемку. Одним из них является малое количество (166) точек съемки, которое воспри-
Таблица 1
Расчетные значения режимов съемки для цифрового фотоаппарата SONY NEX 5N
Таким образом, возникла задача проанализировать состояние вопроса управления затвором фотоаппарата и найти альтернативные способы его решения.
Анализ вопроса. На одном из форумов [2] обсуждалась тема управления затвором. Как выяснилось, готовых решений нет, и высказывались предложения использовать либо USB, либо СОМ порт компьютера. Однако на БПЛА компьютер не поставишь. Роль компьютера в данном случае выполняет полетный контроллер.
Процесс аэрофотосъемки с БПЛА рассматривался во многих работах [3-5]. Но механизм управления срабатыванием затвора нигде не описывался. По-видимому, как и в работе [6], для аэросъемки камера подключалась к автопилоту через USB кабель, и срабатывание затвора производилось по команде от автопилота.
Действительно, управление затвором фотоаппарата в процессе автопилотирования можно осуществить в программе Mission Planer с помощью команд для программирования полетного контроллера АРМ:
Команда Do-Set-Relay — задается для каждого момента фотографирования. Это удваивает количество записываемых в контроллер команд — нужно дать команду на подлет к точке фотографирования и затем команду на само фотографирование Do-Set-Relay (очень быстро достигается ограничение на количество событий — 255 — в плане полета).
Команда Do-Repeat-Relay — требуется заранее знать количество переключений; при каждом запуске, т. е. до сброса, фотоаппарат непрерывно щелкает.
Требуется разработать промежуточный между фотоаппаратом и полетным контроллером АРМ блок для срабатывания затвора.
Аналогичные недостатки имеются и для команд Do-Set-Servo, Do-Repeat-Servo (сигнал PWM) и Do-Digicam-Control.
В работе [7] приводится перечень команд, предназначенных для управления затвором фотоаппарата. Эти команды обладают ограниченной функциональностью.
С целью преодоления этих ограничений была произведена доработка механизма срабатывания затвора фотоаппарата, которую можно реализовать практически на любом микроконтроллере.
Новизна работы заключается в том, что после включения оператором на земле режима автопилотирования срабатывает схема посылки сигнала включения затвора фотоаппарата через заранее установленный интервал времени. По этому сигналу производится либо замыкание контактов кнопки срабатывания затвора, выведенных из фотоаппарата, либо посылка пакета импульсов навесного инфракрасного светодиода, обеспечивающих срабатывание затвора. Для формирования этого сигнала использовался микроконтроллер (МК) ATmega328 на плате Arduino Mini Pro [8]. В зависимости от варианта срабатывания затвора (замыкание или ИК) используется своя версия прошивки микроконтроллера.
В режиме автопилота, если на плату АРМ приходит сигнал на включение затвора фотоаппарата, то во flash память АРМ записываются следующие данные момента срабатывания:
-
— географические координаты;
-
— время UTC;
-
— углы ориентации коптера в пространстве и др.
Эти данные нужны для последующей фотограмметрической обработки снимков. Поэтому микроконтроллер доработки формирует одновременно два сигнала:
-
— PWM-сигнал — подается на полетный контроллер АРМ для записи параметров ориентации;
-
— одиночный импульс с заданной продолжительностью — подается на реле включения затвора.
При выполнении доработки должны были быть выполнены следующие условия:
-
— не должна нарушаться система сигналов, применяемая в полетном контроллере;
-
— необходимо иметь возможность получить сигнал включения затвора замыканием контактов.
Подключение Arduino Mini Pro в систему управления показано на рис. 2.
Для корректной работы таймера была разработана блок-схема алгоритма его работы (рис. 3).
Функции, участвующие в основном цикле программы, показаны на рис. 4, а, б.

Рис. 2. Схема, подключения таймера, к АРМ
А в табл. 2 приведены параметры функций, участвующих в основном цикле программы.
Описание работы таймера. В обычном режиме по команде с пульта, управления на приемник поступают сигналы PWM (Pulse-Width Modulation). Эти сигналы передаются на плату АРМ и формируют следующие команды:
-
— автопилот (АТ) — команда на движение аппарата по заданной траектории;
-
— РУ — команда, на ручное включение-выключение затвора;
-
— другие сигналы.
После доработки сигналы „Автопилот11 и „РУ“ несут дополнительную нагрузку. Причем сигнал „Автопилот11 поступает параллельно на АРМ 2.6 и на микроконтроллер, а РУ только на микроконтроллер.
Работа платы Arduino в режиме РУ. В этом режиме PWM-сигнал АТ соответствует состоянию „выключено11. Коптер работает в обычном режиме ручного управления. При приходе PWM-сигнала, на включение затвора плата. Arduino вырабатывает такой же сигнал для платы АРМ. Таким образом, алгоритм работы контроллера коптера остается прежним.
Работа платы Arduino в режиме автопилота. При приходе на плату Arduino сигнала автопилота, входной сигнал РУ с приемника блокируется. Плата Arduino начинает непрерывно вырабатывать PWM-сигнал на включение затвора с заданным интервалом времени. Так будет продолжаться, пока сигнал автопилота, не перейдет в состояние „выключено11.

Рис. 3. Блок-схема, алгоритма, работы таймера.
В результате этой доработки стало возможным загружать в полетную программу только конечные точки линии маршрута, (количество которых значительно меньше точек срабатывания затвора). При движении между этими конечными точками затвор фотоаппарата. срабатывает через заранее заданный интервал времени, обеспечивая необходимое перекрытие кадров.
Данная доработка позволяет планировать и выполнять аэрофотосъемку практически с любым перекрытием кадров.
Опыт эксплуатации коптера с существующей доработкой показал неудобство процесса изменения режима работы фотоаппарата. Чтобы поменять время срабатывания затвора, фотоаппарата, необходимо заменять прошивку платы с новым временным интервалом, подключая микроконтроллер к компьютеру. Это не всегда, удобно, особенно в полевых условиях. Поэтому на базе микроконтроллера ATMEGA 16 был разработан внешний блок программирования платы управления затвором фотоаппарата (программатор). Программатор позволяет:
-
— считывать информацию (интервал срабатывания затвора) с платы управления затвором;
-
— изменять интервал времени срабатывания затвора, фотоаппарата;
-
— записывать обновленную информацию в микроконтроллер платы управления затвором.
Формирование PWM-сигнала “PWMYES”
Формирование PWM-сигнала “PWMNO”
Отслеживани сигнала Ручн. управление
а)
Рис. 4. Используемые функции и прерывания
Отслеживани сигнала “Автопилот”
б)
Связь блока программирования с платой управления затвором осуществляется с помощью интерфейса I2C по четырехжильному проводу. Два провода обеспечивают питание и два — обмен данными с платой управления затвором, находящейся на коптере.
Программатор оснащен двумя кнопками: „+“ (прочитать) и „ — “ (записать), выполняющими двойные функции:
-
— при коротком нажатии кнопок происходит дискретное увеличение или уменьшение интервала времени срабатывания затвора, отображаемого на семи сегментных индикаторах;
-
— при длительном нажатии происходит чтение или запись интервала времени. При этом работа ведется с энергонезависимой памятью платы управления затвором, и значение времени сохраняется в ней после выключения питания.
Преимущества разработанного варианта механизма срабатывания затвора фотоаппарата заключаются в возможности получения неограниченного количества снимков с максимальным перекрытием кадров вдоль линии полета и в возможности использования любого цифрового фотоаппарата. Наличие созданного программатора обеспечивает легкость перепрограммирования таймера в полевых условиях. В результате выполненной доработки можно загружать только конечные точки линии полета (количество которых значительно меньше точек срабатывания затвора).
Выводы. В результате проделанной работы разработан и создан программируемый таймер задания интервалов времени срабатывания затвора для любого цифрового
Таблица 2
Имя функции |
Выполняет |
Характеристики |
PWM_YES |
Формирование PWM_YES сигнала |
Период — 20 мсек Длительность импульса — 2 мсек |
PWM_N0 |
Формирование PWM_N0 сигнала |
Период — 20 мсек Длительность импульса — 1 мсек |
Nachalo (функция прерывания) |
Отметка прихода импульса |
Засекает момент прихода переднего фронта сигнала РУ |
Konec (функция прерывания) |
Отметка окончания импульса |
Засекает момент прихода заднего фронта сигнала РУ и анализирует длительность импульса |
Nachalo _ AT (функция прерывания) |
Отметка прихода импульса |
Засекает момент прихода переднего фронта сигнала АТ |
Konec_AT (функция прерывания) |
Отметка окончания импульса |
Засекает момент прихода заднего фронта сигнала АТ и анализирует длительность импульса |
Параметры функций, участвующих в основном цикле программы
фотоаппарата, не зависящий от используемого полетного контроллера и программатора таймера, работа которых была испытана на практике. Полученные результаты позволяют планировать и выполнять аэрофотосъемку практически с любым перекрытием кадров.
Список литературы Управление временем срабатывания затвора фотокамеры беспилотного летательного аппарата
- ArduPilot Mega (АРМ) 2.6 на квадрокоптер. Полетный контроллер ArduPilot Mega (АРМ) 2.6. : http://ardupilot-mega.ru
- KAZUS.RU -Электронный портал. Управление затвором фотоаппарата через СОМ порт компьютера (вознаграждение). : http://kazus.ru/forums/showthread.php?t=101370
- Аэрофотосъемка и ортофотоплан с БПЛА беспилотного аппарата от производителя. Аэрофотосъемка с БПЛА -ортофотоплан. : http://unmanned.ru/service/aerophoto.htm
- Международный конкурс инновационных проектов, ориентированных на партнерство государств и цивилизаций. Типоразмерный ряд беспилотных летательных аппаратов. : http://do.gendocs.ru/docs/index-57567.html?page=15
- Startbase -система активизации и повышения результативности инновационного процесса -Продукция/Обзор продукта/Картографический аэрофотосъемочный комплекс на базе БПЛА. : http://www.startbase.ru/products/36455/
- ГЕОСалют. БПЛА на службе геодезистов. : http://geosalut.pulscen.ru/news/246836
- ArduPilot Mega (АРМ) 2.6 на квадрокоптер. Полетный контроллер ArduPilot Mega (АРМ) 2.6. : http://ardupilot-mega.ru/wiki/arducopter/mission-command-list.html
- Arduino Cookbook. 2nd Edition/Michael Margolis. 2-е изд. O'Reilly Media, 2011 г.