Планировщик полётных заданий Mission Planner

Для компании Аэрогеофизика я доработал программное обеспечение MissonPlanner Эта программа, написанная на C#, позволяет построить маршрут для беспилотника по заданным точкам. Каждая точка характеризуется высотой над уровнем моря, широтой и долготой. Дальше программа загружается в сам беспилотник, и он отрабатывает заданный маршрут за счёт GPS-датчика и датчика высоты.

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

Моё решение позволяло автоматизировать расстановку точек. Оператор ставил только опорные, все промежуточные точки софт выставлял автоматически. Причём он ставил точки не с равным шагом, а только когда очередная промежуточная точка на отрезках исходных опорных по высоте выходила за заданные границы. Тогда добавлялась новая точка, которая «выправляла» траекторию. Также была немного видоизменена тема в сторону, исходный вид программы на скрине ниже