Симулятор для автопилота SmallTim
Сегодня (хотя уже вчера) немного поделал прогу…
Добавил дискрет и скорость серв (в настройках модели). Если сильно загрубить, то весьма сложноуправляемая раскарячка получается. 😁
И немного поваял логику автовозврата…
Положение (относительно точки старта) отображаю на форме параметров автопилота (может не совсем удобно, но просто места другого пока не придумал, слишком много всего на главной форме натыкано).
Автовозврат следующий:
Сразу занимает целевую высоту и держит целевую скорость (по бародатчику).
С курсом разные варианты в голову приходят. Решил пока остановится на направлении скорости (GPS). Т.е. удержание направления скорости на точку старта. Если включить боковой ветер, то ось модели будет направленна под углом к точке возврата. Курс удерживает элеронами.
На картинке:
крест в центре - точка старта
Красный кружок - положение модели
красная линия - скорость GPS
пункрирная - направление оси модели
Желтая - ветер (если есть).
Север вверху…
Возможно прога совсем малопонятная становится!.. Т.ч. принимаю пожелания по внешнему виду. Расположение, меню, настройки и т.п…
Кирилл, в существующем варианте прога, скорее, очень удобный инструмент для разработчика. Конечный пользователь ужаснется и тут же нажмет крестик в правом верхнем углу.
Думается мне, надо хоть какую-никакую графику и гаджеты прикрутить, чтоб оно не смотрелось как пульт управления синхрофазотрона.
Земля - плоскость с текстурой, моделька - 3Д, небо, и т.д. Не надо особенных уж изысков, горы, джунгли и города, но надо землю, небо, модель и привычные хотя бы, например, по AFPD, положения камеры и т.д.
У меня, к сожалению, просто ноль времени на графические изыски, чтоб заниматься ими самостоятельно, но могу поделиться исходниками и помочь любыми советами для отрисовки не слишком сложных 3Д сцен хоть в OpenGL, хоть в DX11. Вот это - моё, двухлетней давности…
Тимофей, я графикой никогда не занимался. Отображение сделал лишь бы понятно было что происходит.
Пользователям вообще не стоит запускать отдельную прогу без железа. Смысла нет! Красивые симуляторы и так уже существуют. Нам нужен не столько красивый, сколько полезный!..
Напрашивается следующее:
Компильнуть его в DLL и подключаться по необходимости из КП.
Можешь сбросить мне исходники КП дабы я с интерфейсами поиграл?
И еще:
На сколько сложно сделать в автопилоте (в мозгах самой железки) отладочный режим? По принципу:
- включение этого режима возможно только из КП. При отключении КП, АП переходит в обычный режим.
- показания датчиков (всех) считываются не с железок, а с КП (в саму КП я их передам из сима в любом удобном виде).
- Значения всех выходов (уже смикшированные) передаются в КП (по принципу мониторинга параметров). Физические PWM-ы в этом режиме можно даже и отключить…
Суть такая:
В контрольной панеле будет раздел “Симулятор”. Подключаешься к плате автопилота (можно ее даже на модель не ставить и вообще никаких датчиков не подключать). Заходишь в этот раздел, запускаешь симуляцию и тебе прямо в КП показывается как твой автопилот (прямо сама железка) управляет моделью (виртуальной).
Думаю так будет наиболее правильно! Во всяком случае не наколишься с версией АП (соответствие логик сима и платы) и настройками. Что зашито в плату - то и управляет…
А визуализация уже есть (прямо твоим самолетиком из КП можно все показывать). А уж если захочетмся большего, то можно какого нибудь спеца по 3D графике попросить написать графический модуль.
Совсем все тут заглохло… 😦
На работе запарка полнейшая, поэтому некогда было заниматься… Вот выбрал время поигрался с OpenGL-ем… Рядом с окном “вид с камеры” добавил галочку 3D. Можно ткнуть и посмотреть что получилось. Это первый опыт с 3Д, т.ч. не пинайте сильно… Не паханное поле для оптимизации, т.ч. когда включаешь притормаживает немного (может у меня ноутбук еще слабоват)…
Но это все баловство!.. Не для этого прогу задумывал!..