Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.03.2025
Сообщений: 2

Планирование пути и симуляция АС в Simulink модели uavInflightFailureRecovery

16.03.2025, 17:07. Показов 1390. Ответов 2

Студворк — интернет-сервис помощи студентам
При попытке задать свою собственную траекторию движения и отключить симуляцию АС столкнулся с несколькими проблемами. Про Matlab узнал совсем недавно и начал своё знакомство сразу с этой модели, поэтому прошу употреблять максимально простые термины и простить мою неграмотность в этой теме

Я задавал свою собственную траекторию из 42 точек в QGroundControl (почему проект нормально ест только структуры с 42 точками я так и не понял, при другом количестве возникает ошибка, если знаете почему, пожалуйста, объясните). Далее шёл такой блок кода:

Matlab M
1
2
3
4
5
6
7
8
homeLocation = [46.09022582503057, 48.30415147039693, 0];
myMission = getUAVMissionStructFromQGCPlan('myMission.plan', homeLocation, 1);
 
dataDictionary = Simulink.data.dictionary.open('uavPackageDeliveryDataDict.sldd');
designData = getSection(dataDictionary, 'Design Data');
addEntry(designData, 'myMission', myMission);
saveChanges(dataDictionary);
close(dataDictionary);
homeLocation я задавал ту, которая была указана в конце созданного мной файла формата .plan. Далее в разделе uavInflightFailureRecovery/Ground Control Station/Get Flight Mission/noQGC я устанавливал таким же образом свой файл из uavPackageDeliveryDataDict.sldd, как это было сделано с baseMission и oaMission, третьим входом и получал ошибку:

Matlab M
1
'Input Port 1' of 'MultirotorModel/OBCCommands' expects a bus but receives a nonbus signal from 'Output Port 1' of 'MultirotorModel/Guidance Logic'.
Хотя добавлял соединение типа "шина" (толстая стрелочка с черными точками). Подумал, ладно, не беда — поставлю на первый вход. Заработало, но что-то полетел не совсем по траектории. Поставил еще и на второй вход тот же файл — дрон полетел как попало уже по очень странной траектории. Вот тут я выпал. Соответсвенно вопрос: как мне правильно задать траекторию и как настроить блоки и их взаимосвязь, чтобы все работало корректно (от добавления третьей миссии до просто ее корректной работы) и почему в зависимости от входа разный результат, если миссия и файл одинаковые? Долго пытался найти решение, но так и не нашел. Кстати, подавал выход блока myMission напрямую, не используя блок Variant Source, и траектория все равно менялась в зависимости от заданного значения guidanceType, как будто я ничего в блок-схеме и не менял.

Далее я пытался отключить симуляцию АС на 30 секунде. В пространстве matlab workspace изменил переменную rotor4ThrustGain с 1 на 0. Там же увеличил время faultTime с 30 до 100. Запустил симуляцию — и ничего не изменилось. Выпал во второй раз. Помогите, пожалуйста, понять, что я сделал не так.

Моя цель в данном проекте — получить данные с гироскопа и акселерометра дрона при наличии неисправности разной тяжести на роторе и ее отсутствии для обучения нейронной сети для определения АС и ее "серьёзности". Далее планирую добавить её в саму модель, чтобы она определяла состояние в режиме реального времени. С получением данных и обучением проблем нет. Если есть советы на тему добавления такой нейронки в модель — с удовольствием выслушаю.

Очень желательно давать подробные комментарии и рекомендации . Всем бобра!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2025, 17:07
Ответы с готовыми решениями:

Моделирование заряда аккумулятора от солнечной батареи. Не запускается симуляция в Matlab Simulink
Доброе утро, уважаемые форумчане! Просьба помочь со следующей задачей: необходимо промоделировать процесс заряда аккумулятора от...

PIC16F84A. Симуляция в Proteus, не горят светодиоды на модели
Здравствуйте! Пишу первую программу на С для PIC, но при моделировании на Proteus 7 не работает моя модель. Для обучения взял...

Сетевое планирование - Написать код критического пути
Здравствуйте, помогите пожалуйста в программе написать код критического пути Programm using System; using...

2
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
17.03.2025, 07:04
amigoris, надо бы ещё файлы и симулинковскую модель приложить.
0
0 / 0 / 0
Регистрация: 16.03.2025
Сообщений: 2
17.03.2025, 13:41  [ТС]
Намного проще и нагляднее будет самостоятельно открыть модель:

Code
1
2
openExample('uav/UAVInflightFailureRecoveryExample')
prj = openProject('scdUAVInflightFailureRecovery');
Проблема возникала в uavInflightFailureRecovery/Ground Control Station/Get Flight Mission/noQGC, как я описывал выше.
Вы ещё говорили о файлах. Каких именно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2025, 13:41
Помогаю со студенческими работами здесь

Настройка модели Simulink
Здравствуйте. Вот по-тихоньку осваиваю Симулинк. Помогите, пожалуйста, настроить модель. При изменении частоты блока Sine Wave, например,...

Simulink описание линейной модели
Здравствуйте. Есть пара вопросов по Симулинку: 1. Можно ли в симулинке задавать элементы модели не с помощью передаточных функций, а с...

Линеаризация модели в Matlab Simulink
Здравствуйте, такая проблема: математическую модель из книги замоделировал в Matlab Simulink (файл приложен), в книге были результаты...

Создание модели Simulink по графику
Всем привет, недавно начал изучать в университете matlab и дошли до создания моделей в simulink. В задание дали график для создания модели,...

Неправильный расчет Simulink модели
Здравствуйте, извините за беспокойство. Я обучаюсь работать в Simulink (Матлаб R2010a). Ситуация в общем такая, у меня неправильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru