Компенсация угла сноса платформы аэрофотосъемочной камеры

в 9:04, , рубрики: .net, diy или сделай сам, геодезия, метки: , ,

Здравствуй читатель! Сегодня я расскажу о том, чем помог не так давно своим друзьям геодезистам, аэрофотосъемщикам. Мои друзья занимаются, проще говоря, съемкой Земли с борта самолета, для этого у них имеется некоторое оборудование и программное обеспечение, и часть из него хотелось бы им усовершенствовать. В этом году возникла идея создать программный модуль автоматической компенсации угла сноса платформы на которой установлена аэрофотосъемочная камера. Ранее это производилось в некотором ручном режиме (платформа очень старая) вычисляя угол сноса можно было произвести поправку платформы через некоторое устройство. Проблема была в вычислении и дальнейшей компенсации этого угла… собственно если интерес к данной статье не пропал, то прошу под кат (осторожно 7 Мб gif'ок)…

Введение

Угол сноса это угол между осью самолета и координатным маршрутом, по которому летит самолет, возникает он по причине метеоусловий, а именно ветра.
К примеру когда имеются идеальные условия аэрофотосъемка проходит подобным образом:
Компенсация угла сноса платформы аэрофотосъемочной камеры
Но подобные условия конечно же крайне редки, обычно скорость ветра на высоте от 10 до 20 км/ч и схематически аэрофотосъемка уже будет выглядеть следующим образом:
Компенсация угла сноса платформы аэрофотосъемочной камеры
То есть самолет как бы сопротивляется силе ветра, дабы лететь четко по заданному маршруту.
Для решения данной задачи мне было предоставлено следующее оборудование:
• Датчик магнитного азимута, проще говоря – компас.
• И блок управления шаговым двигателем в паре с самим шаговым движком.
Программную реализацию было решено делать на платформе .Net Framework.
Схема подключения оборудования к управляющему компьютеру:
Компенсация угла сноса платформы аэрофотосъемочной камеры

Датчик магнитного азимута

Для решения задачи в первом приближении был выбран цифровой компас KVH Azimuth 1000 со встроенным датчиком, основной его полезной функцией является передача данных в формате NMEA 0183 по протоколу параллельного порта.
Компенсация угла сноса платформы аэрофотосъемочной камеры

Данный формат передачи я раннее освещал в своих статьях о эмуляции данных с навигационного приемника. В случае данных об азимуте с датчика приходит строка, в которой можно найти значение угла (частота обновления данных 10 Гц, что для реализации задачи компенсации вполне достаточно). Подробные характеристики:

  • точность ±0.5° с автокомпенсацией;
  • диаметр 16 см;
  • высота 7 см;
  • чувствительность к полю 6.5–65 мкТл;
  • вес 340 г;
  • длина провода подключения 2 м;
  • диапазон рабочих температур от -20 до 70° C;
  • частота данных в формате NMEA 0183 10 Гц;
  • напряжение питания 12 В.

Благодаря тому что данные передавались в формате NMEA, а с ним я ранее уже работал, был написан модуль на .Net для получения этих данных.

Блок управления шаговым двигателем

Реализовывать систему управления шаговым двигателем с нуля слишком затратно, тем более есть отечественные производители предоставляющие блоки управления представляющие собой запрограммированные контроллеры которые могут преобразовать более понятные команды уже в сигнал управляющий шаговым двигателем. Команды передаются по протоколу параллельного порта.
Был выбран SMSD-4.2, он может работать автономно, от компьютера (LPT-порт или USB-порт) или от внешнего задающего контроллера.
Компенсация угла сноса платформы аэрофотосъемочной камеры

Функции и возможности устройства:

  • управление шаговыми двигателями по программе, хранящейся в устройстве;
  • запись, изменение или считывание управляющей программы в/из внутреннего энергонезависимого ПЗУ;
  • автономная работа без участия ПК или внешнего контроллера;
  • управление от компьютера через LPT или USB-порт ( виртуальный COM-порт);
  • получение сигналов TTL и управление шаговыми двигателями посредством логических сигналов «Шаг», «Направление» и «Разрешение»;
  • получение ASCII команд от ПК и управление шаговым двигателем по сложному алгоритму;
  • возможность работы в ручном режиме;
  • автоматический останов шагового двигателя при поступлении сигнала от аварийного датчика;
  • автоматическое переключение направления вращения двигателя при поступлении сигнала от датчика реверса;
  • два дополнительных входа для приема сигналов от внешних устройств (датчиков);
  • один дополнительный вход – для поиска начального положения;
  • возможность синхронизации работы нескольких блоков SMSD.

Технические характеристики:

  • количество каналов управления шаговыми двигателями – 1;
  • диапазон частот импульсов перемещения шагового двигателя – от 1 до 10000 Гц;
  • точность установки частоты – не хуже 0.2 %;
  • напряжение питания – 12–48 В;
  • максимальный выходной ток – 4.2 А;
  • количество дополнительных входов для получения сигналов от внешних устройств и датчиков – 3 (два для синхронизации с внешними устройствами и один — для поиска начального положения);
  • режимы дробления шага – 1, 1/2, 1/4, 1/16.

Для реализации модуля взаимодействия с блоком управления шаговым двигателем были изучены команды и их порядок выполнения. Команды представляют собой мини программы:

  • заголовок;
  • список конкретных параметров, таких как направление, скорость, ускорение, количество шагов;
  • запуск исполнения.

Был реализован модуль работы с блоком управления, с помощью него можно задать только угол, если требуется скорость (если не задается, то выбирается наиболее оптимальная скорость) и направление.

Заключение

И как итог объединив выше описанные решения был создан модуль автоматической компенсации угла сноса. Ниже демо видео, в нем видно как при изменении магнитного азимута платформа компенсируется на заданный угол.

И вот так будет выглядеть процесс аэрофотосъемки с автоматической компенсацией угла сноса.
Компенсация угла сноса платформы аэрофотосъемочной камеры
Надеюсь что не зря потратили минуты на прочтения мой статьи, жду отзывов…

Автор: 2m0nd

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js