Русский
Русский
English
Статистика
Реклама

Системы управления

Обзор 10 бесплатных систем управления. Что даром, а за что придется платить

20.01.2021 10:13:24 | Автор: admin

У большинства систем управления проектами есть бесплатные версии, но они бывают двух принципиально разных видов.

1) Честная бесплатная версия. Система искренне хочет, чтобы вы свободно пользовались ею без ограничений по времени. И делились с друзьями.

2) Пробная бесплатная версия. Продукт нацелен на то, чтобы сконвертировать вас в платящего клиента. И потому намеренно урезает вам жизненно важные функции. Часто это становится неприятным сюрпризом, когда начинаешь пользоваться системой.

Мы в YouGile приняли опасное для себя решение и в октябре запустили честную бесплатную версию. Сняли все ограничения, оставили только одно до 10 пользователей (оплата начиная с 11-го). Результат пока такой: сильно потеряли в количестве платящих клиентов, зато график активности в системе вырос в 2 раза за 3,5 месяца.

Конечно, предварительно мы изучили рынок и посмотрели, а какие free-версии предлагают наши конкуренты: Asana, Bitrix24, Trello и другие. Мы постоянно тестируем разные системы управления и делаем выводы: кто предлагает честную бесплатную версию, а кто нет.

В этой статье обзор 10 бесплатных систем управления проектами. Делимся наблюдениями: где какие кейсы можно решить бесплатно, а в какой момент придется доставать кошелек.

Начнем с продуктов, у которых бесплатные версии наиболее полноценные, а также расскажем про свою.

10 бесплатных систем управления

1. YouGile

До 10 человек полностью бесплатная, то есть честная облачная версия. Функционал весь на месте, тот же, что и за деньги, в рукаве ничего не прячем. По сути у нас нет бесплатного и платного тарифа как таковых маленьким командам доступно абсолютно все, всегда и бесплатно. Оплата вводится только за 11-го человека.

Подробнее о тарифах YouGile

Что получится сделать в бесплатной версии:

Организовать сотрудников в системе: указать должности, руководителей, отделы.

Наладить работу с подрядчиками и фрилансерами: настроить права доступа в системе для своих и для чужих.

Создать проекты, доски, задачи, подзадачи.

Сортировать свои и чужие задачи в личном планировщике.

Наладить коммуникации между разными отделами. Например, передавать заказы из отдела продаж на производство.

Общаться как в мессенджере. Каждая задача это чат, также есть личные чаты. Со смайликами, цитированием, упоминаниями и всем, чем нас балуют соцсети и мессенджеры.

Смотреть, как выполняется работа доступны все виды отчетов и сводок.

Сделать для себя уютное и удобное рабочее пространство: личные доски, свой фон, приватные и избранные задачи, чек-листы, таймеры, дедлайны.

За что точно придется платить:

За пользование системой в больших командах. До 10 человек все бесплатно, за 11-го надо будет платить по 299 рублей в месяц.

За коробочную версию.

На бесплатном тарифе в YouGile можно легко работать всем отделом или маленькой командой. Создавайте сколько угодно проектов и досок, устанавливайте права для сотрудников, назначайте задачи, следите за ходом их выполнения. Помечайте важные задачи стикерами или звездочкой Избранное. Общайтесь в чатах, обсуждайте заказ пиццы (приватно) или новый проект (всей командой). Обменивайтесь файлами (без ограничений по весу). Побалуйтесь смайликами и красивыми фонами для досок.


2. Trello

Крутая бесплатная версия честная. Никаких ограничений по времени и количеству пользователей. Ограничения только по числу досок до 10 штук. И кое-где функционал урезан: не настроить права доступа, не отсортировать карточки, не экспортировать данные, не использовать больше 1 расширения для 1 доски. Раньше было лучше до продажи Trello компании Atlassian. Однако все равно считаем эту версию вполне полноценной для работы в небольших командах.

Подробнее о тарифах Trello

Что получится сделать в бесплатной версии:

Да собственно все, чего вы ждете от системы управления проектами. Доски, задачи, дедлайны. Сколько угодно карточек, сколько угодно списков, сколько угодно пользователей.

Можно загружать файлы, главное, чтобы не больше 10 МБ.

Хочется больше общения по задачам есть интеграция со Slack.

Легко использовать для личных целей: план действий на день, на неделю, на месяц.

Легко использовать, чтобы организовать работу в отделе или небольшой команде.

За что точно придется платить:

Больше досок. Если хотите сделать более 10 открытых досок переходите на платный тариф.

Расширения. Для каждой доски можно выбрать только 1 расширение бесплатно. Например, ставите календарь тогда карта уже недоступна. Ставите голосование и нельзя будет копировать карточки. В платной версии ограничений нет.

Тяжелые файлы. Платите, чтобы загружать в задачи 250 МБ.

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

Приоритетная техподдержка. Ответ прилетает на почту в течение 1 дня.

Группировка и объединение досок в коллекции, чтобы не путаться в них.

Сортировка карточек. Навести порядок, упорядочить карточки по последним действиям или числу участников только в платной версии.

Шаблоны досок.

Экспорт данных.

Интеграции без ограничений: более 100 интеграций с Jira, Slack, Google Диск, InVision

Кастомные фоны для досок и пользовательские стикеры. Не самое важное в этом списке, конечно, но упомянем тоже.

Итак, в бесплатной версии Trello можно продуктивно работать, особенно в небольших командах или отделах из 10-15 человек. Надо только все продумать: не создавать лишних досок, выбирать самые важные. Не грузить тяжелые файлы, хранить их где-то отдельно и в карточках просто давать на них ссылки. Интегрировать Slack. Этого вполне хватит. Но, конечно, без расширений, экспорта данных и гибкой настройки прав доступа временами будет нелегко.


3. Bitrix24

В марте этого года Bitrix24 расширили свой бесплатный тариф сняли ограничение на количество пользователей. Раньше можно было пригласить только 12 человек, теперь сколько пожелаете. Пожалуй, отнесем эту бесплатную версию к честным. Базового функционала хватает, чтобы работать по проектам.

Подробнее о тарифах Bitrix24

Что получится сделать в бесплатной версии:

Объединить сотрудников даже самой большой команды в общем рабочем пространстве.

Наладить общение в живой ленте или чатах, совершать звонки аудио и видео, обмениваться файлами.

Создавать группы, проекты, доски, ставить задачи и подзадачи, назначить исполнителей.

Смотреть отчеты.

Хранить 5 ГБ файлов в облаке.

Настроить мобильную CRM.

Интегрировать Bitrix24 с Google Drive, Dropbox, Яндекс Диск, One Drive.

Редактировать документы в режиме онлайн в GoogleDocs и MS Office Online.

За что точно придется платить:

Настройка бизнес-процессов. Если у вас много регулярных процессов, например, согласование договоров, вам будет удобнее на платном тарифе.

Создание воронки продаж. В бесплатной версии можно построить только одну общую воронку.

Сквозная аналитика.

Полноценная IP-телефония. Если планируете контролировать количество и качество звонков переходите на платный тариф. Бесплатно можно записать только 100 звонков, и места дается только 5 ГБ.

Интеграция CRM с 1C. Актуально для многих команд.

Интеграция с почтой, создание email-рассылок.

Настройка прав доступа (на всех уровнях: доступ к задачам, доступ к файлам и папкам, доступ к CRM, к телефонии).

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

Бесплатная версия Bitrix24 вполне подходит для работы, если у вашей команды нет особых запросов. Если вам нужна только работа с задачами спокойно оставайтесь на free-версии. Если же вы хотите построить в системе управления полноценные бизнес-процессы, создать воронки продаж, настроить сквозную аналитику, интегрироваться с 1С и почтой выбирайте платный тариф. Платных тарифов целых 5, они заточены под разные цели. Однако, на наш взгляд, Bitrix24 настолько напичкан всевозможными функциями, что встает вопрос: всегда ли они действительно нужны и легко ли их применять на практике?


4. Pyrus

Честная бесплатная версия для всех, кроме целевой аудитории. Система заточена под работу с документами, и именно на это ставит ограничение на бесплатном тарифе: до 100 задач, созданных по готовым формам. Если у вас есть такой бизнес-процесс, то вам этих 100 задач рано или поздно все равно не хватит. Рядовым же пользователям, которым нужны доски и стандартные задачи, на бесплатной версии будет комфортно.

Подробнее о тарифах Pyrus

Что получится сделать в бесплатной версии:

Пригласить любое количество сотрудников, создать любое количество простых задач, назначить исполнителей.

Связывать между собой задачи. Сортировать их по сроку и активности.

Обмениваться файлами по задачам, для их хранения дается 1 ГБ свободного места.

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

Есть много фишек в карточках задач: поставить на контроль, отложить на потом, настроить напоминание, повторить задачу.

Выстроить четкую структуру компании и настроить права доступа для разных отделов.

Можно считать время, затраченное каждым сотрудником на все задачи за выбранный период времени. Смотреть подробные отчеты и аналитику.

Настроить интеграцию с Google Drive, Dropbox, Box, OneDrive, а также с любой CRM.

Автоматизировать документооборот. Согласовывать договоры и платежи, оформлять заявки, работать с запросами от клиентов.

За что точно придется платить:

Формы. В системе есть удобные готовые формы, по которым можно создавать задачи и выстраивать целые бизнес-процесс. Это и является основным преимуществом системы. Но таких задач можно создать до 100 штук. Нужно больше переходите на платный тариф.

Место на диске. В платной версии его дается в 100 раз больше 100 ГБ вместо 1 ГБ.

Резервное копирование.

Приоритетная техподдержка.

Бесплатная версия системы управления Pyrus подойдет многим командам. Кроме тех, кто имеет дело с большим количеством документов и хочет автоматизировать работу с ними. В общем-то на этот сегмент платящей аудитории и ориентируется система. Еще одно самое неприятное ограничение малый размер места на диске, всего 1 ГБ.


5. Jira

Система Jira, которая чаще всего используется как баг-трекер для отдела разработки самая оплачиваемая система в России. Корпорации закупают ее примерно на 5 миллиардов рублей ежегодно. Однако у нее есть и бесплатная версия до 10 пользователей. В целом мы относим ее к честным, но все же есть серьезные ограничения: дается всего 2 ГБ места, нет расширенных прав доступа.

Подробнее о тарифах Jira

Что получится сделать в бесплатной версии:

Планировать работу: создавать доски, задачи, спринты, распределять их между исполнителями.

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

Собрать все рабочие файлы в одном месте: статусы, комментарии и вложения (дается 2 ГБ).

Расставлять приоритеты и дедлайны, контролировать ход работы над проектами.

Обсуждать задачи всей командой.

Создавать детальные отчеты о проектах, смотреть сводки, оценивать загрузку сотрудников.

Получить поддержку (правда, это не техподдержка в привычном понимании, а поддержка сообщества Jira).

За что точно придется платить:

Больше пользователей. Платные тарифы поддерживают до 10000 пользователей.

Больше места в хранилище 250 ГБ и больше.

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

Анонимный доступ. Просмотр и создание задач без входа в систему. Удобно при работе с фрилансерами и подрядчиками.

Журнал событий.

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


6. ClickUp

С первого взгляда кажется, что система предлагает честную бесплатную версию сколько угодно пользователей, сколько угодно задач, навсегда. Но если присмотреться внимательнее увидишь множество ограничений: отчеты, настройка прав доступа, интеграции. Ключевое ограничение: лимит в 100 действий по ряду функций. Так что мы все-таки относим ее к нечестным free-версиям.

Подробнее о тарифах ClickUp

Что получится сделать в бесплатной версии:

Приглашать любое число пользователей в проекты.

Создавать сколько угодно досок, задач и списков и организовывать работу по ним.

Использовать заметки, цифровые блокноты, напоминания и календари.

Анализировать производительность спринтов.

Отслеживать, сколько времени было затрачено на ту или иную задачу.

Смотреть по календарю, когда работа началась и закончилась.

Сортировать задачи по тегам, присваивать им любые статусы.

Получить помощь от техподдержки, круглосуточно.

За что точно придется платить:

Место в хранилище. На бесплатном тарифе дается всего 100 МБ.

Настройка прав доступа.

Гостевой доступ к проектам.

Использование готовых форм.

Отчеты.

Интеграции с Google Drive, Dropbox, OneDriveи другими хранилищами.

Приоритетная техподдержка.

За превышение лимита в 100 действий по ряду функций, ценных для любой системы управления проектами: настройка полей в карточках, использование dashboard, timeline, mind-map и диаграмм Гантта и так далее.

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


7. Wrike

Возможности бесплатной версии сильно ограничены, и прежде всего количеством пользователей до 5 человек. Еще несколько ключевых ограничений: нельзя настроить права доступа, нельзя оценить загрузку и успеваемость сотрудников. По нашему субъективному мнению это нечестная бесплатная версия, то есть пробная.

Подробнее о тарифах Wrike

Что получится сделать в бесплатной версии:

Все стандартно: сделать проекты и доски, повесить задачи, назначить исполнителей.

Задачи можно ставить как на доски, так и в личный планировщик. Можно их сортировать по дате, приоритету, статусу, важности.

Удобно хранить файлы и документы. Документы даже можно редактировать в режиме онлайн.

Общаться с коллегами в Ленте событий.

Интегрировать систему с Google Диск, Dropbox, Box, MSFT Office 365 и OneDrive.

Использовать в своих целях 2 ГБ места.

За что точно придется платить:

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

Любимая многими диаграмма Гантта тоже доступна только на платном тарифе.

Контроль загрузки сотрудников: кто что выполнил, в какие сроки. Есть индекс эффективности и учет рабочего времени.

Права доступа. Сгруппировать сотрудников по командам (отдел маркетинга, бухгалтерия и т.д.), каждой команде назначить права это стоит денег. Как и приглашение гостевых пользователей клиентов, подрядчиков, фрилансеров.

Даже такая мелочь, как календарь только в платной версии.

Основные ограничения бесплатной версии: нет отчетов, нет настройки прав доступа, нет визуализации процессов и контроля загрузки сотрудников. Подходит только для маленьких отделов, где 5 человек. А для личного пользования лучше использовать более простые и интуитивно понятные бесплатные системы управления, такие как Trello. Однако эта free-версия позволяет познакомиться с Wrike и принять решение, подходит вам эта система или нет.


8. Asana

Есть бесплатная версия до 15 пользователей, но ее функционал сильно урезан: нет отчетов, нет возможности контролировать выполнение задач, нельзя следить за обновлениями. Шаг влево, шаг вправо и ты проваливаешься в Активируйте Asana Premium!. Относим ее к нечестным.

Подробнее о тарифах Asana

Что получится сделать в бесплатной версии:

Создать сколько угодно проектов с высоким уровнем декомпозиции на основе шаблонов.

Организовать работу над проектами: создать доски, поставить задачи, назначить исполнителей.

Классифицировать задачи при помощи тегов.

Начать общение в карточках задач и общей новостной ленте.

Настроить для себя личный планировщик: сортировать задачи по сроку их выполнения, делать приватные задачи.

За что точно придется платить:

Отчеты. Вы не сможете посмотреть отчет даже про проектам или исполнителям.

Контроль выполнения задач, просмотр незавершенных и просроченных. Придется верить людям на слово, что все задачи выполняются в срок.

Возможность следить за новыми задачами, обновлениями и статусами важных проектов.

Визуализация процессов и создание связей между задачами. Timeline недоступен.

Работа с задачами, которые вы создали и поручили коллегам. Их даже нельзя вывести отдельно.

Работа с формами.

Без отчетов, форм, визуализации процессов, чужих задач, списка обновлений и контроля сроков работать в системе управления практически невозможно. Asana хочет, чтобы вы стали платящим клиентом, и потому забирает у вас половину функций. Бесплатная версия нужна только для знакомства подглядеть, что происходит внутри.


9. Worksection

Бесплатная версия очень условная, нечестная: до 2 активных проектов, до 5 пользователей, до 100 МБ на диске. Складывается ощущение, что ее добавили просто как формальность, для галочки. Однако она помогает познакомиться с системой управления тем, кто планирует работать на платном тарифе.

Подробнее о тарифах Worksection

Что получится сделать в бесплатной версии:

Создать всего 2 рабочих проекта. Пригласить до 5 пользователей.

Поизучать систему изнутри: попробовать создать задачу, пообсуждать ее, прикрепить файл.

Возможно, free-версию можно использовать для личных нужд, хотя для этого есть более удобные бесплатные системы управления проектами, тот же Trello.

За что точно придется платить:

Добавление более 2 проектов, задачи и подзадачи, возможность обозначать сроки выполнения, приоритеты, исполнителей, метки, статусы

Ежедневный дайджест, приходящий на email.

Групповые чаты и обмен файлами более 100 МБ.

Диаграмма Гантта.

Функция учета времени, тайм-трекер. Которая помогает посчитать затраты по времени и бюджетам.

Отчеты.

Настройка прав доступа, ограничение прав для клиентов и партнеров.

Бесплатную версию этой системы имеет смысл рассматривать только в том случае, в дальнейшем вы планируете перейти на платный тариф.


10. ToDoist

Бесплатная версия этой системы управления категорически нечестная: до 5 пользователей и до 80 проектов (хотя по сравнению с 2 проектами в Worksection это уже ого-го). Но радоваться рано. Все остальные возможности урезаны практически до нуля. Нельзя добавить более 150 задач, нельзя писать комментарии, нельзя загружать файлы...

Подробнее о тарифах ToDoist

Что получится сделать в бесплатной версии:

Разместить 150 задач.

Подсмотреть, как устроена система изнутри, познакомиться с ней.

За что точно придется платить:

Большее число пользователей и проектов.

Более 150 активных задач.

Напоминания.

Комментарии.

Загрузка файлов.

Метки для карточек и их классификации.

Фильтры для поиска задач.

Визуализация продуктивности: цели на день и неделю, личный прогресс каждого пользователя.

Разные права для админа и для участника.

Формирование задач из писем в ящике Gmail.

Шаблоны проектов.

Лента событий.

Просмотр видео и прослушивание аудио в самой системе.

По факту бесплатной версии у этого сервиса нет. Да, вы можете создать 80 проектов и сделать целых 150 задач, но какой в этом смысл, если нельзя даже оставить комментарий? Не говоря уже об обмене файлами, напоминаниях, метках и прочих must-have атрибутах любой системы управления. Free-версия здесь только для знакомства.


Сравнение 10 бесплатных систем управления

Подведем итоги. Как вы уже поняли, сам этот обзор 10 версий бесплатных систем управления субъективный. В таблице ниже только объективные данные и цифры.

Подробнее..

2.МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ

29.06.2020 02:20:27 | Автор: admin

Публикую первую часть второй главы лекций по теории автоматического управления.
В данной статье рассматриваются:


2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях
2.2. Линеаризация уравнений динамики САУ (САР)
2.3. Классический способ решения уравнений динамики


Лекции по курсу Управление Техническими Системами, читает Козлов Олег Степанович на кафедре Ядерные реакторы и энергетические установки, факультета Энергомашиностроения МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


Первая часть: Введение в теорию автоматического управления. Основные понятия теории управления техническим системами




2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях


При составлении уравнений, описывающих нестационарные процессы в САУ (САР) и которые в дальнейшем будем называть уравнениями динамики, система разбивается на отдельные элементы (звенья), для каждого из которых не существует проблем в записи соответствующего уравнения динамики.


На рис. 2.1.1 представлено схематичное представление САУ (звена) в переменных вход-выход, где x(t) (или u(t)) входное воздействие, а y(t) выходное воздействие, соответственно. Нередко входное воздействие будет называться управляющим, а выходное воздействие регулируемой величиной (переменной).



Рис. 2.1.1 Схематическое представление САУ (звена)

При составлении уравнений динамики используются фундаментальные законы сохранения из разделов Механики, Физики, Химии и др.


Например, при описании перемещения узла какого-то механизма силового привода используются законы сохранения: момента, энергии, импульса и др В теплофизических (теплогидравлических) системах используются фундаментальные законы сохранения: массы (уравнение неразрывности), импульса (уравнение движения), энергии (уравнение энергии) и др


Уравнения сохранения в общем случае содержат постоянные и нестационарные члены, причем при отбрасывании нестационарных членов получают так называемые уравнения статики, которые соответствуют уравнениям равновесного состояния САУ (звена). Вычитанием из полных уравнений сохранения стационарных уравнений получают нестационарные уравнения САУ в отклонениях (от стационара).


$\left[ \begin{gathered} y(t) =y_0 + \Delta y(t)\\ u(t) = u_0 + \Delta u(t)\\ \end{gathered} \right.$


где: $y_0,u_0$ стационарные значения входного и выходного воздействий;
$\Delta y, \Delta u$ отклонения от станционара, соотвесвенно.

В качестве примера рассмотрим технологию получения уравнений динамики для механического демпфера, схематическое изображение которого представлено на рис. 2.1.2.



Рис. 2.1.2 Механический демпфер

Согласно 2-му закону Ньютона, ускорение тела пропорционально сумме сил, действующих на тело:

$m \cdot \frac{d^2 y(t)}{dt} = \sum F_j \ \ \ \mathbf{(2.1.1)}$


где, m масса тела, Fj все силы воздействующие на тело (поршень демпфера)


Подставляя в уравнение (2.1.1) все силы согласно рис. 2.2, имеем:


$m \cdot \frac{d^2y(t)}{dt} = m\cdot g+ u(t) - k \cdot y(t) - c \cdot \frac{dy(t)}{dt} \ \ \ \mathbf{(2.1.2)}$

где $m\cdot g$ сила тяжести; $k \cdot y(t)$ сила сопротивления пружины, $c \cdot \frac{dy(t)}{dt}$ сила вязконо трения (пропорциональна скорости поршеня)


Размерности сил и коэффициентов, входящих в уравнение (2.1.2):

$m \cdot g \Rightarrow [\frac{кг \cdot м}{ с^2}]; c \Rightarrow [\frac{кг}{с}]; k \Rightarrow [\frac{кг}{с^2}]$

Предполагая, что при t 0 поршень демпфера находился в равновесии, то есть

$$display$$\left \{ \begin{eqnarray} t &\le 0 \\ u(t) &= u_0\\ y(t) &= y_0\\ \end{eqnarray} \right.$$display$$

перейдем к отклонениям от стационарного состояния:
Пусть при t>0 $\left[ \begin{gathered} y(t) =y_0 + \Delta y(t); u(t) = u_0 + \Delta u(t);\\ y'(t) = [\Delta y(t)]; y''(t) =[\Delta y(t)]'\\ \end{gathered} \right.$. Тогда, подставляя эти соотношения в уравнение (2.1.2), получаем:

$m \cdot \frac{d^2\Delta y(t)}{dt^2} = m \cdot g - k \cdot y_0- k \cdot \Delta y(t) - c\frac{d\Delta y(t)}{dt} \ \ \ \mathbf{(2.1.3)}$


если $t \le 0$, то уравнение принимает вид:

$0 = m \cdot g+u_0 - k \cdot y_0 \ \ \ \mathbf{(2.1.4)}$

или

$y_0 = \frac{1}{k} \cdot[u_0+m \cdot g] \ \ \ \mathbf{(2.1.5)}$


Соотношение (2.1.4) уравнение звена (демпфера) в равновесном (стационарном) состоянии, а соотношение (2.1.5) статическая характеристика звена демпфера (см. рисунок 2.1.3).



Рис. 2.1.3 Статическая характеристика механического демпфера

Вычитая из уравнения (2.1.3) уравнение (2.1.4), получаем уравнение динамики демпфера в отклонениях:

$m\cdot g \frac{d^2 \Delta y(t)}{dt^2} = \Delta u(t) - k \cdot \Delta y(t) - c \cdot \frac{d \Delta y(y)}{dt}, $


тогда, разделив на k, имеем:

$T_2^2 \cdot \frac{d^2 \Delta y(t)}{dt^2}+ T_1 \cdot \frac{d \Delta y(t)}{dt} + \Delta y(t) = k_1 \cdot \Delta u(t) \ \ \ \mathbf{(2.1.6)}$


где:

$T_2^2= \frac{m}{k}; T_1= \frac{c}{k}; k_1=\frac{1}{k}.$


Уравнение (2.1.6) это уравнение динамики в канонической форме, т.е. коэффициент при y(t) равен 1.0!


Легко видеть, что коэффициенты перед членами, содержащими производные, имеют смысл (и размерность!) постоянных времени. В самом деле:


$T_1 = \frac{c}{k} \Rightarrow [\frac{кг \cdot c^2}{c \cdot кг}] = [c]$


$T_2^2 = \frac{m}{k} \Rightarrow [\frac{кг \cdot c^2}{kg}] =[c^2]$


Таким образом, получаем, что:
коэффициент перед первой производной имеет размерность [c] т.е. смысл некоторой постоянной времени;
коэффициент перед второй производной: [$c^2$];
коэффициент в правой части ($k_1$): [$\frac{c^2}{кг}$].
Тогда уравнение (2.1.6) можно записать в операторной форме:


$(T_2^2 \cdot p^2 + T_1 \cdot p+1)\Delta y(t) = k_1 \Delta u(t)$, что эквивалентно

$L(p)\Delta y(t) = N(p) \Delta u(t) \ \ \ \mathbf{(2.1.6.а)}$

где: $p= \frac{d}{dt}$ оператор диффренцирования;
$L(p) = T_2^2 \cdot p + T \cdot p + 1$ -линейный дифференциальный оператор; $L(p)$
$N(p)$ линейный дифференциальный оператор, вырожденный в константу, равную $k_1$.

Анализ уравнения (2.1.6.а) показывает, что такое уравнение имеет размерные переменные, а также размерными являются все коэффициенты уравнения. Это не всегда удобно. Кроме того, если реальная САР (САУ) состоит из многих звеньев, выходными воздействиями которых являются различные физические переменные (скорость, температура, нейтронный поток, тепловой поток и т.д.), то значения коэффициентов могут различаться на большое число порядков, что ставит серьезные математические проблемы при численном решении уравнений динамики на компьютере (поскольку числа в компьютере всегда представляются с какой-то точностью). Одним из наилучших способов избежать численных трудностей является принцип нормализации, т.е. переход к безразмерным отклонениям, которые получены нормированием отклонения на стационарное значение соответствующей переменной.


Введем новые нормированные (безразмерные) переменные:

$\left[ \begin{gathered} \widetilde y(t) = \frac {y(t)-y_0}{y_0} = \frac {\Delta y(t)}{y_0}\\ \widetilde u(t) = \frac {u(t)-u_0}{u_0} =\frac {\Delta u(t)}{u_0}\\ \end{gathered} \right. \Rightarrow \left[ \begin{gathered} y(t) =y_0 \cdot [1+ \widetilde y(t)]\\ u(t) = u_0 \cdot [1+ \widetilde u(t)]\\ \end{gathered} \right. \Rightarrow \left[ \begin{gathered} y'(t) =y_0 \cdot \widetilde y(t)\\ y''(t) = y_0 \cdot \widetilde y(t)''\\ \end{gathered} \right. $


Подставляя эти соотношения в уравнение (2.1.2), имеем:

$m \cdot y_0 \cdot \frac{d^2 \widetilde y(t)}{dt^2} = m \cdot g +u_0 \cdot[1+\widetilde u(t)] -k \cdot y_0 \cdot[1+\widetilde y(t)] - c \cdot y_0 \cdot \frac{d \widetilde y(t)}{dt}; или$

$m \cdot y_0 \cdot \frac{d^2 \widetilde y(t)}{dt^2} = \underline {m \cdot g} + \underline {u_0} +u_0 \cdot \widetilde u(t) - \underline {k \cdot y_0} - k \cdot y_0 \cdot \widetilde y(t) - c \cdot y_0 \cdot \frac{d \widetilde y(t)}{dt}.$


Поддчеркнутые члены выражения в сумме дают 0 (см. 2.1.4) Перенося в левую часть члены, содержащие $\widetilde y(t)$, и, разделив на $k \cdot y_0$, получаем:

$\frac{m \cdot y_0}{k \cdot y_0} \cdot \frac{d^2 \widetilde y(t)}{dt^2} + \frac {c \cdot y_0}{k \cdot y_0} \cdot \frac{d \widetilde y(t)}{dt} +\widetilde y(t)= \frac{u_0}{k \cdot y_0} \cdot \widetilde u(t) \Rightarrow $

$(T_2^2 \cdot p + T \cdot p + 1) \cdot \widetilde y(t) = k_x \cdot \widetilde u(t) \ \ \ \mathbf{(2.1.7)}$


где: $T_2^2= \frac{m}{k}; T_1= \frac{c}{k}; k_x=\frac{u_0}{k \cdot y_0} $ коэффициент усиления, причем безразмерный.

Проверим размерность коэффициента $k_x$

$\left[\frac{кг \cdot м}{с^2} \cdot \frac{c^2}{кг} \cdot \frac{1}{м}\right] =[1].$


Использованный выше технический прием позволяет перейти к безразмерным переменным, а также привести вид коэффициентов в уравнении динамики к легко интерпретируемому виду, т.е. к постоянным времени (в соответствующей степени) или к безразмерным коэффициентам усиления.


На рис. 2.1.4 представлены статические характеристики для механического демпфера:



Рис. 2.1.4 Статические характеристики механического демпфера

Процедура нормировки отклонений позволяет привести уравнения динамики к виду:

$L(p) \cdot \widetilde y(t) = N(p) \cdot \widetilde u(t) \ \ \ \mathbf{(2.1.8)}$

где $L(p), N(p) - $ дифференциальные операторы.

Если дифференциальные операторы $L(p), N(p) - $линейные, а статическая характеристика САУ (звена) тоже линейна, то выражение (2.1.8) соответствует линейному обыкновенному дифференциальному уравнению (ОДУ).


А если $L(p), N(p) - $ нелинейные дифференциальные операторы, или $\widetilde y_{stat} \neq k \cdot \widetilde u_{stat}$, то уравнение динамики нелинейное. Под нелинейными действиями понимаются все математические действия, кроме сложения (+) и вычитания (-).


Пример создания модели демпфера можно посмотереть здесь: Технология получения уравнений динамики ТАУ



2.2. Линеаризация уравнений динамики САУ (САР)


Практически все реальные системы автоматического управления (САУ) являются нелинейными, причем нелинейность САУ может определяться различным причинами:


  1. Нелинейностью статической характеристики.
  2. Нелинейностью динамических членов в уравнениях динамики.
  3. Наличием в САУ принципиально нелинейных звеньев.

Если в замкнутой САУ (САР) нет принципиально нелинейных звеньев, то в большинстве случаев уравнения динамики звеньев, входящих в систему, могут быть линеаризованы. Линеаризация основана на том, что в процессе регулирования (т.е. САУ с обратной связью) все регулируемые величины мало отклоняются от их программных значений (иначе система регулирования или управления не выполняла бы своей задачи).


Например, если рассмотреть управление мощностью энергетического ядерного реактора, то главная задача САР поддержание мощности на заданном (номинальном) уровне мощности. Существующие возмущения (внутренние и внешние) отрабатываются САР и поэтому параметры ядерного реактора незначительно отличаются от стационарных. На рис. 2.2.1 представлена временная зависимость мощности ядерного реактора, где нормированные отклонения мощности N /N0 << 1, и поэтому уравнения динамики ядерного реактора, в принципе, могут быть линеаризованы.



Рис. 2.2.1 Пример изменения мощности реактора

Рассмотрим некоторое звено (или САР в целом), описание динамики которого можно представить в переменных вход-выход:



Рис. 2.2.2 Звено САР

Предположим, что динамика данного звена описывается обыкновенным дифференциальным уравнением n-го порядка:

$L(p) \cdot y(t) = N(p) \cdot u(t) \ \ \ \mathbf{(2.2.1)}$


Перенесем $N(p) u(t)$ в левую часть уравнения и запишем уравнение в виде%

$F(y,y',y'',...y^{n}, u, u',u'', ...u^m,t)=0 \ \ \ \mathbf{(2.2.2)}$


где $F$ - функция регулируемой переменной и ее производных, а также управляющего (входного) воздействия и его производных, причем F обычно нелинейная функция.


Будем считать, что при t 0 САУ (звено) находилось в равновесии (в стационарном состоянии). Тогда уравнение (2.2.2) вырождается в уравнение статической характеристики:

$y'=y''=...y^n=u'=u''=...u^m=0 \Rightarrow F(y_0,u_0)=0 \ \ \ \mathbf{(2.2.3)}$


Разложим левую часть уравнения (2.2.2) в ряд Тейлора в малой окрестности точки равновесного состояния $(y_0, u_0)(y0, u0)$.


Напомним, что разложение в ряд Тейлора трактуется следующим образом: если $y = f(x)$, то простое разложение функции в ряд Тейлора в окрестности точки $x = x_0$ будет выглядеть так:


$ \begin{eqnarray} y(x) = f(x) = f(x_0)+ \frac{1}{1!} \cdot \left( \frac{df}{dx}\right)_{x=x_0} \cdot (x-x_0)+ \frac{1}{2!} \cdot \left( \frac{d^2f}{dx^2} \right)_{x=x_0} \cdot (x-x_0) +\\ ...+\frac{1}{n!} \cdot \left( \frac{d^nf}{dx^n} \right)_{x=x_0} \cdot (x-x_0) \end{eqnarray}$


C учетом вышеприведенного разложение принимает вид:


$ \begin{eqnarray} F(y,y',y'',...y^{n}, u, u', ...u^m,t) = F(y_0,u_0)+\frac{1}{1!}\cdot \left( \frac{dF}{dy}\right)_{ y=y_0;u =u_0 } \cdot (y-y_0)+\\ + \frac{1}{2!} \cdot \left( \frac{d^2F}{dy^2}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^2+\frac{1}{3!} \cdot \left( \frac{d^3F}{dy^3}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^3 +..\\+\frac{1}{k!} \cdot \left( \frac{d^kF}{dy^k}\right)_{y=y_0;u =u_0}\cdot (y-y_0)^k+ \frac{1}{1!}\cdot \left( \frac{dF}{dy'}\right)_{ 0 } \cdot (y') +\frac{1}{2!}\cdot \left( \frac{d^2F}{d(y')^2}\right)_{ 0 } \cdot (y')^2+\\ ..+\frac{1}{1!}\cdot \left( \frac{dF}{dy^{(n)}}\right)_{ 0 } \cdot (y^{(n)})+ \frac{1}{2!}\cdot \left( \frac{d^2F}{d(y^{n})^2}\right)_{ 0 } \cdot (y^{(n)})^2+..\\ ..+\frac{1}{1!}\cdot \left( \frac{dF}{du}\right)_{ 0 } \cdot (u-u_0)+\frac{1}{2!} \cdot \left( \frac{d^2F}{du^2}\right)_{0}\cdot (u-u_0)^2+..\\ ..+\frac{1}{k!}\cdot \left( \frac{d^kF}{d(u^{m})^k}\right)_{ 0 } \cdot (u^{(m)})^k+.. \end{eqnarray}$


Предполагая, что отклонения выходных и входных воздействий незначительны, (т.е.:$\frac{\Delta y(t)}{y_0} <<1; \frac{\Delta u(t)}{u_0} <<1;$), оставим в разложении только члены первого порядка малости (линейные). Поскольку $[y(t)-y_0] \equiv \Delta y(t); y'(t) = [y_0+\Delta y(t)]' = (\Delta y(t))'$, получаем:


$ F(y,y',y''..y^{(n)},u,u',u''..u^{m})\simeq \left( \frac{\partial F}{\partial y} \right)_0\cdot \Delta y+\left(\frac{\partial F}{\partial y'}\right)_0 \cdot (\Delta y)' +\left(\frac{\partial F}{\partial y''}\right)_0 \cdot (\Delta y)''+..\\ ..+\left(\frac{\partial F}{\partial u}\right)_0 \cdot \Delta u+ \left(\frac{\partial F}{\partial u'}\right)_0 \cdot (\Delta u)' + \left(\frac{\partial F}{\partial u''}\right)_0 \cdot (\Delta u)''+..+ \left(\frac{\partial F}{\partial u^{m}}\right)_0 \cdot (\Delta u)^{(m)}\ \ \ \mathbf{(2.2.4)}$


Подставляя соотношение (2.2.4) в уравнение (2.2.2), и перенося множители при у и u в разные части получаем уравнения:

$a_n^0 \cdot \frac{d^{(n)}}{dt^n} \Delta y +a_{n-1}^0 \cdot \frac{d^{(n-1)}}{dt^{n-1}} \Delta y +..+a_{1}^0 \cdot \frac{d}{dt} \Delta y +a_{0}^0\cdot\Delta y = \\ =b_m^0 \cdot \frac{d^{(m)}}{dt^m} \Delta u +b_{m-1}^0 \cdot \frac{d^{(m-1)}}{dt^{m-1}} \Delta u +..+b_{1}^0 \cdot \frac{d}{dt} \Delta u +b_{0}^0\cdot\Delta u \ \ \ \mathbf{(2.2.5)}$

где:

$a_0^0= \left( \frac{\partial F}{\partial y} \right)_{y =y_0;u =u_0};a_1^0= \left( \frac{\partial F}{\partial y'} \right)_{y =y_0;u =u_0}; ...a_n^0= \left( \frac{\partial F}{\partial y^{(n)}} \right)_{y =y_0;u =u_0} ; \\ b_0^0= \left( \frac{\partial F}{\partial u} \right)_{y =y_0;u =u_0};b_1^0= \left( \frac{\partial F}{\partial u'} \right)_{y =y_0;u =u_0}; ...b_m^0= \left( \frac{\partial F}{\partial u^{(m)}} \right)_{y =y_0;u =u_0}.$


Коэффициенты $a_i^0, b_j^0$ постоянные коэффициенты, поэтому уравнения 2.2.5 линейное дифференциальное с постоянными коэффициентами.


В дальнейшем нами будет часто использоваться операторная форма записи уравнений динамики:

$L(p)\cdot\Delta y(t) = N(p) \cdot \Delta u(t)\ \ \ \mathbf{(2.2.6)}$


где $p = \frac{\partial }{\partial t}$ оператор дифференцирования;
$L(p)$ линейный дифференциальный оператор степени n;
$N(p)$ линейный дифференциальный оператор степени m, причем обычно порядок оператора $L(p)$ выше порядка оператора $N(p)$: $ n m.$

Уравнения (2.2.5) и (2.2.6) уравнения динамики системы (звена) в отклонениях.


Если исходное уравнение (2.2.1) дифференциальное уравнение в физических переменных (температура, скорость, поток и т.д.), то размерность коэффициентов $a_i^0, b_j^0$ может быть произвольной (любой).


Переход к нормализованным отклонениям позволяет упорядочить размерность коэффициентов. В самом деле, разделив уравнение (2.2.5) на $(y_0, u_0)$ и выполнив некоторые преобразования, получаем:


$a_n^* \cdot \tilde{y}^{(n)} +a_{(n-1)}^* \cdot \tilde{y}^{(n-1)} +..+a_1^* \cdot \tilde{y}'+a_0^* \cdot \tilde{y} = \\ =b_m^* \cdot \tilde{u}^{(m)} +b_{(m-1)}^* \cdot \tilde{u}^{(m-1)} +..+b_1^* \cdot \tilde{u}'+b_0* \cdot \tilde{u} \ \ \ \mathbf{(2.2.7)}$


Приведение уравнения динамики САУ (звена) к нормализованному виду позволяет унифицировать размерность коэффициентов уравнений: ==>


$$display$$[a_0^*] = [1] ;\ \ [a_1^*]= [c];\ \ [a_2^*]= [c^2];\ \ [a_3^*]= [c^3];...[a_n^*]= [c^n]\\ [b_0^*] = [1] ;\ \ [b_1^*]= [c];\ \ [b_2^*]= [c^2];\ \ [b_3^*]= [b^3];...[b_m^*]= [c^m]$$display$$


Если вынести в правой части (2.2.7) коэффициент $b_0^*$ за общую скобку и разделить все уравнение на $a_0^*$, то уравнение принимает вид:


$a_n \cdot \tilde{y}^{(n)} +a_{(n-1)}\cdot \tilde{y}^{(n-1)} +..+a_1\cdot \tilde{y}'+\tilde{y} = \\ =k \cdot [b_m \cdot \tilde{u}^{(m)} +b_{(m-1)} \cdot \tilde{u}^{(m-1)} +..+b_1 \cdot \tilde{u}'+ \tilde{u}] \ \ \ \mathbf{(2.2.8)}$


где:

$a_n = \frac{a_n^*}{a_0^*};\ a_{n-1} = \frac{a_{n-1}^*}{a_0^*}; \ ...a_{1} = \frac{a_{1}^*}{a_0^*}; \ k = \frac{b_0^*}{a_0^*} \\ b_n = \frac{b_n^*}{b_0^*};\ b_{n-1} = \frac{b_{n-1}^*}{b_0^*}; \ ...b_{1} = \frac{b_{1}^*}{b_0^*}; $

или в операторном виде:

$(a_n \cdot p^{(n)} +a_{(n-1)}\cdot p^{(n-1)} +..+a_1\cdot p'+1) \cdot \tilde{y} = \\ =k \cdot (b_m \cdot p^{(m)} +b_{(m-1)} \cdot p^{(m-1)} +..+b_1 \cdot \tilde{u}'+ 1)\cdot \tilde{u}\\ L(p)\cdot \tilde{y} =k \cdot N(p) \cdot \tilde{u} \ \ \ \mathbf{(2.2.9)}$


Линеаризация уравнений динамики и нормализация переменных позволяют привести уравнения динамики САУ (звена) к виду, наиболее удобному для использования классических методов анализа, т.е. к нулевым начальным условиям.


$$display$$Если \ t 0 \Rightarrow \left[ \begin{gathered} \tilde {y}(t) = \tilde {y}(0) =0;\\ \tilde u(t) = \tilde u(0) = 0.\\ \end{gathered} \right.$$display$$


Пример


Выполнить линеаризацию уравнения динамики некоторой абстрактной САР в окрестности состояния (x0, y0), если полное уравнение динамики имеет вид:


$a_3^0 \cdot y'''(t) +a_2^0 \cdot y''(t)+a_1^0 \cdot y'(t) \cdot[y(t)-d]+ a_2^0 \cdot y^2(t)=b_1^0 \cdot x'(t) +b_0^0 \cdot x(t); $


Нелинейность полного уравнения динамики проявляется в следующем:


во-первых, в нелинейности статической характеристики:


$a_0^0 \cdot y^2(0) = b_0^0 \cdot x(0); \Rightarrow y_0 = \sqrt{\frac{b_0^0}{a_0^0} \cdot x_0} = \sqrt {k_0 \cdot x_0}$



Рис. 2.2.3 Линеаризации статической характеристики

во-вторых, слагаемое в левой части $a_1^0 \cdot y'(t) \cdot[y(t)-d]$ чисто нелинейное, так как действие умножения является нелинейным.


Выполним процесс линеаризации исходного уравнения, динамики без разложения я ряд Тейлора, основываясь на том, что в окрестности состояния (x0, y0) нормированные отклонения управляющего воздействия и регулируемой величины намного меньше 1.


Преобразования выполним в следующей последовательности:


  1. Перейдем к безразмерным переменным (нормализованным);
  2. Выполним линеаризацию, отбросив нелинейные члены 2-го и выше порядков малости.

Перейдем к новым безразмерным переменным:


$\tilde{y}(t) = \frac{y(t) - y_0}{y_0};\ \Rightarrow y(t) = y_0 \cdot [1+ \tilde{y}(t)]; \\ \tilde{x}(t) = \frac{x(t) - x_0}{x_0};\ \Rightarrow x(t) = x_0 \cdot [1+ \tilde{x}(t)].$


Заметим, что:
$x(t) = x_0+ \Delta x(t) = x_0+ x_0 \cdot \tilde{x}(t) \ и \ y(t) = y_0+ \Delta y(t) = y_0+ y_0 \cdot \tilde{y}(t)$.


Подставляя значения x(t) и y(t) в исходное уравнение:


$ a_3^0 \cdot y_0 \cdot \tilde y'''(t) +a_2^0 \cdot y_0 \cdot \tilde y''(t)+a_1^0 \cdot y_0 \cdot \tilde y'(t) \cdot[y_0+y_0 \cdot \tilde y(t) -d]+a_0^0 \cdot y_0^2 \cdot[1+ \tilde y(t)]^2 = \\ = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0 \cdot[1+\tilde x(t)]; \ \Rightarrow \ раскрыв \ скобки \Rightarrow \\ a_3^0 \cdot y_0 \cdot \tilde y'''(t)+a_2^0 \cdot y_0 \cdot \tilde y''(t)+a_1^0 \cdot y_0^2 \cdot \tilde y'(t) + a_1^0 \cdot y_0^2 \cdot \tilde y'(t) \cdot \tilde y(t)-a_1^0 \cdot y_0 \cdot \tilde y'(t) \cdot d + \\ +a_0^0 \cdot y_0^2 +2 \cdot a_0^0 \cdot y_0^2 \cdot\tilde y(t) +a_0^0 \cdot y_0^2 \cdot\tilde y(t)^2 = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0+ b_0^0 \cdot х_0 \cdot \tilde x(t)];$


Удаляем полученного уравнения уравнения стационара: $a_0^0 \cdot y_0^2= b_0^0 \cdot х_0$, а так же пренебрегая слагаемыми второго прядка малости: $\ a_1^0 \cdot y_0^2 \cdot \tilde y'(t) \cdot \tilde y(t)$, получаем следующее уравнение:


$ a_3^0 \cdot y_0 \cdot \tilde y'''(t)+a_2^0 \cdot y_0 \cdot \tilde y''(t)+(a_1^0 \cdot y_0^2 -a_1^0 \cdot y_0 \cdot d) \cdot \tilde y'(t)+2 \cdot a_0^0 \cdot y_0^2 \cdot\tilde y(t) =\\ = b_1^0 \cdot x_0 \cdot \tilde x'(t) + b_0^0 \cdot х_0 \cdot \tilde x(t);$


Вводим новые обозначения:

$a_3^* = a_3^0 \cdot y_0 ; \ \ a_2^* = a_2^0 \cdot y_0; \ \ a_1^* = a_1^0 \cdot y_0^2 -a_1^0 \cdot y_0 \cdot d; \ \ a_0^* =2 \cdot a_0^0 \cdot y_0^2; \\ b_1^* = b_1^0 \cdot x_0; \ \ b_0^*=b_0^0 \cdot х_0 \ $


Получаем уравнения в почти классическом виде:


$a_3^* \cdot \tilde y'''(t)+a_2^* \cdot \tilde y''(t)+a_1^* \cdot \tilde y'(t)+ a_0^* \cdot\tilde y(t) = b_1^* \cdot \tilde x'(t) + b_0^* \cdot \tilde x(t);$


Если в правой части вынести за общую скобку $b_0^*$ и разделить все уравнение на $a_0^*$, то уравнение (линеаризованное) принимает вид:


$a_3 \cdot \tilde y'''(t)+a_2 \cdot \tilde y''(t)+a_1 \cdot \tilde y'(t)+ \tilde y(t) = k \cdot[ b_1 \cdot \tilde x'(t) + \tilde x(t)]$


где:

$a_3 = \frac{a_3^*}{a_0^*}; \ \ a_2 = \frac{a_2^*}{a_0^*}; \ \ a_1 = \frac{a_2^*}{a_0^*}; \ \ k = \frac{b_o^*}{a_0^*}; \ \ b_1 = \frac{b_1^*}{b_0^*}; $


Процедура нормализации позволяет более просто линеаризовать уравнение динамики, так как не требуется выполнять разложение в ряд Тейлора (хотя это и не сложно).


2.3. Классический способ решения уравнений динамики


Классический метод решения уравнений динамики САУ (САР) применим только для линейных или линеаризованных систем.


Рассмотрим некоторую САУ (звено), динамика которой описывается линейным дифференциальным уравнением вида:


$L(p) \cdot y(t) = N(p)*x(t), \ \ \ \mathbf{(2.3.1)}\\ где: L(p) = a_n\cdot p^n + ..+a_1 \cdot p + a_0 \\ N(p) = b_m \cdot p^m+..+b_1 \cdot p+b_0 $


Переходя к полной символике, имеем: $\Rightarrow$


$a_n \cdot y^{(n)}+a_{n-1} \cdot y^{(n-1)}+..+a_1 \cdot y'+a_{0} = b_m \cdot x^{(m)}+b_{n-1} \cdot x^{(n-1)}+..+b_1 \cdot y'+b_{0} \ \ \mathbf{(2.3.2)};$


Выражение (2.3.2) обыкновенное дифференциальное уравнение (ОДУ), точнее неоднородное ОДУ, так как правая часть 0.


Известно входное воздействие x(t), коэффициенты уравнения и начальные условия (т.е. значения переменных и производных при t = 0).


Требуется найти y(t) при известных начальных условиях.


Известно, что


$y(t) = y_{общ.}(t)+y_{част.}(t),\ \ \ \mathbf{(2.3.3)}$


где: $y_{общ.}(t)$ решение однородного дифференциального уравнения $L(p) y(t) = 0; $y_{част.}(t) $inline$ - частное решение. $inline$


Будем называть решение однородного дифференциального уравнения $y_{общ.} = y_{собств.}$, собственным решением, так как его решение не зависит от входного воздействия, а полностью определяется собственными динамическими свойствами САУ (звена).


Вторую составляющую решения (2.3.3) будем называть $y_{част.} = y_{вын.}$, вынужденным, так как эта часть решения определяется внешним воздействием $x(t)$, поэтому САУ (САР или звено) вынуждена отрабатывать это воздействие:


$y(t) = y_{собств.}(t)+y_{вын.}(t),\ \ \ \mathbf{(2.3.4)}$


Напомним этапы решения:


1) Если имеется уравнение вида $L(p) \cdot y(t) = N(p)*x(t)$, то сначала решаем однородное дифференциальное уравнение:


$a_n \cdot y^{(n)}+a_{n-1} \cdot y^{(n-1)}+..+a_1 \cdot y'+a_{0} =0 $


2) Записываем характеристическое уравнение:


$L(\lambda) =0; \ \Rightarrow \ a_n \cdot \lambda^{n}+a_{n-1} \cdot \lambda^{n-1}+..+a_1 \cdot \lambda+a_{0} =0 \ \ \ \mathbf{(2.3.5)}$


3) Решая уравнение (2.3.5), которое является типичным степенным уравнением, каким-либо способом (в том числе и с помощью стандартных подпрограмм на компьютере) находим корни характеристического уравнения $\lambda_i$
4) Тогда собственное решение записывается в виде:


$y_{собств.}(t)=\sum_{j=1}^n C_j \cdot e^{\lambda_j \cdot t}, \ \ \ \mathbf{(2.3.6)}$


если среди $\lambda_i$ нет повторяющихся корней (кратность корней равна 1).


Если уравнение (2.3.5) имеет два совпадающих корня, то собственное решение имеет вид:


$y_{собств.}(t)=\sum_{j=1}^{n-2} C_j \cdot e^{\lambda_{j} \cdot t} +C_{n-1} \cdot e^{\lambda_{n-1} \cdot t}\cdot [1+C_n\cdot t]. \ \ \ \mathbf{(2.3.7)}$


Если уравнение (2.3.5) имеет k совпадающих корней (кратность корней равна k), то собственное решение имеет вид:


$y_{собств.}(t)=\sum_{j=1}^{n-k} C_j \cdot e^{\lambda_{j} \cdot t} +C_{n+1-k} \cdot e^{\lambda_{n+1-k} \cdot t}\cdot [1+C_{n+2-k}\cdot t+C_{n+3-k}\cdot t^2+.. \\ ..+C_{n}\cdot t^{k-1}]. \ \ \ \mathbf{(2.3.8)}$


5) Вынужденную часть решения можно найти различными способами, но наиболее распространены следующие способы:
а) По виду правой части.
б) Методом вариации постоянных.
в) Другие методы


Если вид правой части дифференциального уравнения относительно несложная функция времени, то предпочтительным является способ а): подбор решения. $y_{вын.}(t) = f_{вын}(t)$.


6) Суммируя полученные составляющие (собственную и вынужденную), имеем: $\Rightarrow$


$y_{полн.}(t)=\sum_{j=1}^n C_j \cdot e^{\lambda_j \cdot t} + f_{вын}(t).$


7) Используя начальные условия (t = 0), находим значения постоянных интегрирования $C_j$. $\Rightarrow$ Обычно получается система алгебраических уравнений. $\Rightarrow$ Решая систему, находим значения постоянных интегрирования $C_j$


Пример


Найти аналитическое выражение переходного процесса на выходе звена, если


$\left\{ \begin{gathered} 2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =1- e^{-t}\\ Начальные \ условия \ t = 0; \Rightarrow y(0) = 0; y'(0) =0.\ \end{gathered} \right.$


Решение. $\Rightarrow$ Запишем однородное ОДУ: $2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =0$
Характеристическое уравнение имеет вид: $2 \cdot \lambda ^2+5 \cdot \lambda+2 = 0$; Решая, имеем: $\lambda_1 = -2; \ \ \lambda = 0.5,$ тогда:

$y_{соб} = С_1 \cdot e^{-2 \cdot t}+С_2 \cdot e^{-0.5 \cdot t},$


где $С_1, С_2$ неизвестные (пока) постоянные интегрирования.

По виду временной функции в правой части запишем $y_{вын}(t)$ как:


$у_{вын}(t) =A+B \cdot e^{-t} \Rightarrow у_{вын}'(t) = -B\cdot e^{-t} \Rightarrow у_{вын}''(t) = B\cdot e^{-t} $


Подставляя в исходное уравнение, имеем:


$2\cdot B \cdot e^{-t} - 5 \cdot B \cdot e^{-t}+2\cdot A +2 \cdot B \cdot e^{-t} =1 - e^{-t} \Rightarrow \left\{ \begin{gathered} 2 \cdot A =1\\ -B = -1\ \end{gathered} \right. \Rightarrow\\ \Rightarrow \left\{ \begin{gathered} A = \frac{1}{2}\\ B = 1\ \end{gathered} \right. \Rightarrow y_{вын.}(t) = \frac{1}{2} -e^{-t};$


Суммируя $y_{соб}, y_{вын}$, имеем: $y(е) = С_1 \cdot e^{-2 \cdot t}+С_2 \cdot e^{-0.5 \cdot t}+\frac{1}{2}+ e^{-t}.$


Используя 1-е начальное условие (при t = 0), получаем: $0 =C_1+C_2+0.5+1$, а из 2-го начального условия имеем: $0 = -2 \cdot C_1 - 0.5 \cdot C_2 -1.$


Решая систему уравнений относительно $С_1$ и $С_2$, имеем: $С_1 = -1/6; \ \ \ C_2 = -4/3. $
Тогда окончательно:


$y(t) = - \frac{1}{6} e^{-2t}- \frac{4}{3} e^{-0.5t}+\frac{1}{2}+e^{-t};$


Что бы проверить результ, выполним моделирование процесса в SimInTech, для этого преобразуем исходное уравнение к виду:


$2 \cdot y''(t)+5 \cdot y'(t)+2 \cdot y(t) =1- e^{-t} \Rightarrow \\ \Rightarrow y''(t) = 0.5 - 0.5\cdot e^{-t} - 2.5 \cdot y'(t)- y(t)$


Создадим модель SimInTech, содержащую исходное динамическое уравнение и полученное аналитическое решение, и выведем результаты на один график (см. рис. 2.3.1).



Рис. 2.3.1 структурная схема для проверки решения


На рис. 2.3.2 приведено решение по вышеприведенному соотношению и численное решение задачи в среде SimInTech (решения совпадают и линии графиков наложены друг на друга).



Рис. 2.3.2 Решение уравнения динамики

Ссылки по теме:


  1. Википедия про ряд Тейлора
  2. Дифференциальные уравнения на Match24.ru
  3. Пример создания модели груза на пружине.
  4. Начало лекций здесь: Введение в теорию автоматического управления. Основные понятия теории управления техническим системами
Подробнее..

Динамика квадро-, гекса- и октокоптеров. Моделирование системы управления

03.11.2020 00:14:12 | Автор: admin
Продолжение статьи "Введение в моделирование динамики квадро-, гекса- и октокоптеров".
В этой части автор Александр Щекатуров, рассказывает основные принципы создания системы управления и ее моделирования в структурном виде. Всем кто одолел первые части лекций по теории управления в технических система, все будет ясно и понятно (ну почти). Лекции на хабре лежат по ссылкам:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 2.3, 2.3 2.8, 2.9 2.13

В данной статье мы попробуем применить эти данные на практике. Имя модель коптера,
мы разберемся как воздействовать на коптер, что бы он летел в нужную нам сторону.




4 Управление моделью коптера


Всё что было описано в предыдущей части это, по сути, формулировка внутреннего закона полета коптера отвечающего на вопрос как именно объект будет менять свои ускорения, скорости и координаты в зависимости от приложенных сил и моментов. Т.е. мы записали уравнение F(t) = ma(t) (и аналогичное для суммарного момента и углового ускорения) для октокоптера заданной геометрической конструкции. В эти уравнения входят некоторые константы масса коптера, его моменты инерции по главным осям (составляющие тензора инерции), угол отклонения силы тяги ВМГ от вертикали, длины лучей рамы коптера, и некоторые другие массогабаритные характеристики. Как правило, это константы, за редким исключением. Но т.к. задача поставлена в общем виде, мы не подставили ещё конкретных чисел, а все эти величины заменили на символы (символьные константы и/или переменные), и теперь требуется их задать числами для работоспособности модели. Для двигателей это будет коэффициент пропорциональности между квадратом угловой скорости и силой тяги, для массы коптера масса рамы плюс массы всех ВМГ и т.д.


4.1 Переменные проекта сигналы модели


В SimInTech используется плоский неструктурированный список сигналов, и/или структурированная (объектно-ориентированная) база сигналов для задания констант и переменных модели, если в ней есть типовые (повторяющиеся) элементы. В данной модели были и тем и другим способом заведены следующие сигналы (переменные и константы), см. рисунки 13 и 14:



Рисунок 13. Сигналы проекта

Рисунок 14. База сигналов проекта

Среди повторяющихся элементов в коптере явно можно выделить ВМГ они все однотипны и параметризуются одинаковыми (по смыслу) переменными. Также, для регуляторов, которых будет всего 6 (по числу каналов регулирования) тоже можно выделить однотипные элементы. Если это будут ПИД-регуляторы, то коэффициенты пропорциональности P, I, D будут в наличии у каждого из регуляторов, со своим конкретным значением.


Таким образом, в одном месте в структурированном виде собраны все константы (параметризующие модель) и переменные, используемые для вычислений. В дальнейшем их легко можно забирать отсюда, из базы сигналов, и использовать в других частях модели. При необходимости вносить в модель корректировки констант это тоже удобно делать когда они все сведены в одном месте модели, а не разбросаны в разных местах.


Рассмотрим немного подробнее параметризацию двигателей (см. рисунок 15). Всего в базе 8 групп сигналов, по 15 сигналов в каждой то есть 120 переменных и констант, описывающих состояние всех двигателей. Важными и задаваемыми пользователем (разработчиком модели) являются wnom, wmin номинальная и минимальная частоты вращения. В дальнейшем эти значения используются в модели двигателя, ограничивая снизу текущую частоту вращения, и для расчета текущих оборотов ВМГ в единицах измерения. Остальные переменные расчитываются в модели и зависят от времени. В эту же категорию можно в дальнейшем добавить и коэффициенты пропорциональности между квадратом угловой скорости и силой тяги ВМГ.



Рисунок 15. Категория Двигатели

4.2 Оптимальное управление


С точки зрения управления коптер представляет собой не самую простую конструкцию мы имеем 8 двигателей, которыми можно управлять индивидуально, но практически каждый из них влияет на все 12 из переменных состояния (фазовых координат) коптера. То есть, если мы будем рулить одним из двигателей менять его обороты в большую или меньшую сторону, это будет оказывать воздействие на каждую из координат x, y, z и на каждую из трёх угловых скоростей. Кроме случаев, когда вектор тяги параллелен какой-либо из координатных плоскостей системы B тогда на 4 из 12 переменных состояния данная сила тяги воздействовать не будет. И, если бы мы делали всё методами классической теории управления, то можно было бы записать 8х12 = 96 передаточных функций между 8 входными воздействиями и 12 выходными (переменными состояния) коптера.


Также, изменение оборотов (частоты вращения) двигателей приводит к нелинейному (а к квадратичному) изменению силы тяги. В проектировании регуляторов коптера это предполагается как аксиома, и она довольно хорошо согласуется с экспериментальными данными.


Задача оптимального управления заключается в том, чтобы перевести коптер из точки А в точку Б с минимальным перерегулированием, по оптимальной (как правило кратчайшей) траектории и за минимальное время. При этом налагаются ограничения на максимальную скорость, ускорения и углы наклона коптера (отклонение от горизонтальности). Проблема заключается в том, что в прямую сторону можно довольно несложно посчитать как воздействует каждый из двигателей (8 переменных 8 частот вращения) на каждую из 12 переменных состояния. А если учитывать еще и ускорения, то на каждую из 18 переменных. Но в задаче управления требуется наоборот при заданных начальных и конечных координатах требуется вычислить как именно надо управлять двигателями чтобы коптер перешел из одного состояния в другое.


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


Чтобы упростить изложение, приведем краткий ход решения задачи. Для начала запишем матрицу Г размерностью 6х8 по количеству каналов управления (6) и количеству ВМГ (8), которая будет отображать как именно каждый из двигателей влияет на каждый из каналов управления:

$$display$$Г =\left( \begin{gathered} f1x & f2x & f3x & f4x & f5x & f6x & f7x & f8x \\ f1y & f2y & f3y & f4y & f5y & f6y & f7y & f8y \\ f1z & f2z & f3z & f4z & f5z & f6z & f7z & f8z \\ m1x & m2x & m3x & m4x & m5x & m6x & m7x & m8x \\ m1y & m2y & m3y & m4y & m5y & m6y & m7y & m8y \\ m1z & m2z & m3z & m4z & m5z & m6z & m7z & m8z \\ \end{gathered} \right). $$display$$

$\overrightarrow{f_i(t)} =C_T \cdot \overrightarrow{e_{Mi}} \\ \overrightarrow{m_i(t)} =C_T \cdot \overrightarrow{r_{Mi}} \times \overrightarrow{e_{Mi}}$


Где: fi|x,y,z это коэффициент перед $_{Mi}^2 (t)$ для вычисления силы, которую создаёт i-ая ВМГ в соответствующем направлении, а mi|x,y,z коэффициент перед $_{Mi}^2 (t) $для вычисления момента сил, который создаёт i-ая ВМГ в том же направлении:


Примечание: если у ВМГ будет еще реактивный момент, то у $m_i$ будет еще одно слагаемое.


Легко видеть, что матрица Г показывает зависимость между квадратом угловой скорости i-ой ВМГ и управляющими (силовыми) воздействиями по каждому из каналов управления: $u(t)=Г\cdot _M^2 (t) $. Нам же нужно получить обратное решение зависимость угловой скорости i-ого двигателя от поданного управляющего воздействия по какому-либо из каналов управления. В общем виде эта задача имеет бесконечное множество решений, однако среди этого бесконечного множества можно выделить по тому или иному критерию или способу оптимальное решение.



Рисунок 16. Структура регулятора

Методами теории оптимального управления (подробнее см. [1, раздел 4.1.1]) задача решается поиском так называемой обратной псевдоинверсной матрицы $А^+$, которая вычисляется как: $inline$А^+= Г^Т (Г \cdot Г^Т)^{-1}$inline$. Она же и является оптимальным решением поставленной задачи с наложенными ограничениями на решение.


На практике, для заданной геометрии коптера и полученных 48 чисел в матрице Г, получаем другие 48 чисел, которые определяют правило управления (микширования) двигателей, при поступлении той или иной команды по какому-либо каналу управления. На рисунке 16 представлена общая схема построения регулятора. Задатчик положения вырабатывает нужные координаты, в которые требуется привести коптер. Они сравниваются по какому-то алгоритму с измеренными координатами и управляющий алгоритм вырабатывает 6 управляющих воздействий, по каждому из каналов управления.


На основе посчитанной псевдообратной матрицы $ А^+$, блок управления двигателями вычисляет текущие заданные значения угловых скоростей для каждого из 8 двигателей, как бы суммируя пришедшие 6 команд по каналам управления и определенным образом микшируя двигатели при этом. Сформированные 8 угловых скоростей отправляются на задатчик оборотов двигателей и осуществляется регулирование и управление коптером (см. рисунок 16).


Управляющие команды по каждому из каналов управления формируются как рассогласование между заданной координатой (углом) и текущей, измеренной координатой. Это в самом простом варианте. В более сложном управляющий алгоритм должен иметь в своём составе алгоритм приоритетности стабилизации положения коптера над алгоритмом перемещения в пространстве. Дело в том, что по каждому из каналов есть запас (располагаемая у ВМГ возможность) управления. И, если (например) мы сделаем приоритетным перемещение по оси х то при большом рассогласовании между текущей координатой x и заданной регулятор будет стремиться наклонить всё больше и больше коптер вокруг оси y, и при определенном наклоне уже не хватит возможностей двигателей обеспечивать стабилизацию коптера и регулирование высоты полёта. Для коптера с конкретными параметрами двигателей, винтов, массы и размеров это всё можно вычислить и наложить нужные ограничения на управляющие воздействия ui(t), а также их приоритет. Но это выходит за рамки данной статьи, где мы делаем модель в общем виде. Просто отметим, что стабилизация положения для коптера самая важная задача, перемещение уже вторична, поскольку без стабильного положения переместиться куда-либо целенаправленно будет невозможно.


Выпишем аналитические выражения для элементов первых двух столбцов матрицы Г в случае рассматриваемого октокоптера (без реактивного момента ВМГ и без прецессии!):


$$display$$\begin{gathered} &f1x =&0; \ \ &f2x =&-\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1y =& -C_T \cdot sin(\gamma); \ \ &f2y =&\frac{1}{\sqrt{2}}C_T \cdot sin(\gamma);\\ &f1z =& -C_T \cdot cos(\gamma); \ \ &f2z =&-C_T \cdot cos(\gamma);\\ &m1x =& 0; \ \ &m2x =&-\frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1y =& -C_T \cdot cos(\gamma) \cdot \_1; \ \ &m2y =& \frac{1}{\sqrt{2}}C_T \cdot cos(\gamma) \cdot l_2;\\ &m1z =& -C_T \cdot sin(\gamma) \cdot \_1; \ \ &m2z =&C_T \cdot sin(\gamma) \cdot l_2;\\ \end{gathered}$$display$$


Видно, что первая ВМГ (ось силы тяги которой параллельна плоскости yz) не создаёт никакой силы вдоль оси x и никакого момента вокруг оси x (т.к. пересекает её). Поэтому при управлении по оси x или для создания вращательного момента вокруг оси x первый двигатель бесполезен. Аналогично будет с 5-ым двигателем, а для 3-его и 7-ого будет такая же картина для оси y (всё справедливо в системе координат В).


image

Аналитические выражения для матрицы А^+ будут гораздо более громоздкими и большого смысла не имеют проще вычислить численно матрицу Г, а потом и искомую А^+. В нашем случае для одного из вариантов октокоптера, она получилась равной:

$$display$$A^+ =\left( \begin{gathered} 0&-191.9&-5.029&0&7.112&-67.86 \\ -191.9&191.9&-7.112&-5.029&5.029&67.86 \\ 191.9&0&-5.029&-7.112&0&-67.86 \\ -191.9&-191.9&-7.112&-5.029&-5.029&67.86 \\ 0&191.9&-5.029&0&-7.112&-67.8 \\ -191.9&-191.9&-7.112&5.029&-5.029&67.86 \\ 191.9&0&-5.029&7.112&0&-67.86\\ -191.9&191.9&-7.112&5.029&5.029&67.86\\ \end{gathered} \right).$$display$$


Смысл матрицы примерно в следующем: она показывает на какое количество (рад/с)^2 надо изменить частоту вращения каждой i-ой ВМГ (из 8), чтобы осуществить единичное управляющее воздействие на объект по тому или иному каналу управления. Например, если мы хотим к коптеру приложить силу 1 Н по каналу управления x (первая колонка), то угловую скорость 1-го двигателя и 5-го менять не надо, а к текущим угловым скоростям других двигателей надо добавить или отнять примерно 13,8 рад/с. Это довольно приличное изменение угловой скорости, и вообще управляемость по каналам x, y появилась здесь как побочное следствие того, что каждая из ВМГ повёрнута вокруг своего луча еще на 3 градуса.


Если бы все ВМГ были расположены вертикально, то первые две колонки матрицы А^+ получились бы бесконечными т.е. коптер с вертикально расположенными ВМГ по горизонтальным осям не управляется вообще! Управление по этим осям (в инерциальном пространстве) достигается поворотом коптера вокруг осей и перенаправлением суммарного вектора тяги в какую-либо сторону.


Третья колонка управление по оси z, имеет отрицательные числа т.к. ось z направлена вниз, а вектора силы тяги ВМГ вверх. Обратим внимание, что абсолютные значения чисел третьей колонки гораздо меньше, чем первой и второй и все имеют один и тот же знак. Это означает что коптер имеет гораздо лучшую управляемость по вертикальной оси, что очевидно, т.к. все ВМГ как раз и работают практически в эту сторону (а не влево-вправо-вперёд-назад). Четвёртая колонка и пятая это управляемость коптера по крену и тангажу, последняя шестая по курсу. Видно, что по курсу коптер гораздо слабее управляем, чем по крену и тангажу. Но для наших целей, и для целей настоящей обучающей статьи, этого было достаточно. Подбором направлений сил тяги ВМГ (и перевычислением матриц для новой геометрии) можно этот баланс менять.


Обратим также внимание на то, что теоретически при вычисленном и приведенном здесь количественно микшировании двигателей, достигается только управление по выбранному каналу, без влияния на другие каналы управления. Т.е. при выбранном расположении ВМГ у октокоптера, в некоторых малых пределах можно изменять направление вектора тяги, без создания поворотных моментов т.е. не наклоняя сам коптер, и он будет горизонтально лететь и управляться без наклонов. Но только в очень узком диапазоне скоростей и внешних возмущений.


Общая структура регулятора приведена на рисунках 17 и 18.



Рисунок 17. Общая схема регулятора

Рисунок 18. Схема каналов регулятора

В самом простейшем случае на 6 входов регулятора поступают заданные фазовые координаты, они сравниваются с текущими (измеренными) и в общем случае в соответствии с матрицей А^+ и ПИД-регулированием по каждому из каналов, вырабатывается 6 управляющих векторов, по 8 переменных в каждом, которые суммируются и получаем итоговый вектор управления с заданными угловыми скоростями для каждого из двигателей. На практике, не всё так просто


4.3 Регулятор высоты


Регулятор высоты можно выделить отдельно от других, поскольку он задействует примерно одинаково все двигатели, и даже без матриц Г и А^+ понятно: для того чтобы коптер летел вверх, надо увеличивать газ, а чтобы вниз уменьшать обороты ВМГ. В качестве простейшего регулятора высоты можно взять обычный ПИД-регулятор, который справится с управлением при верно подобранных коэффициентах. На рисунке 19 показан один из вариантов регулятора, с доработкой ограничения вертикальной скорости, если текущая позиция отличается от заданной более чем на 5 метров.



Рисунок 18. Регулятор высоты, один из вариантов

В чем основная идея регулятора: на вход подается текущая величина рассогласования между заданной высотой и измеренной высотой, подаётся текущая вертикальная скорость и ограничение на вертикальную скорость. Если рассогласование больше 5 метров, то регулятор работает в режиме ограничения скорости и стремится к тому, чтобы вертикальная скорость vz стала равной +OGRV м/с или -OGRV м/с в зависимости от направления полёта. Если рассогласование менее 5 м, то регулятор стремится к нулевой скорости полёта и сведению в ноль рассогласования по высоте.


Выходной сигнал регулятора подается с коэффициентами матрицы $А^+$ (согласно третьей колонке) на каждый из 8 двигателей.


4.4 Регулятор ориентации коптера


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


В стабильном состоянии по каждой из осей $x_B$ и $y_B$ угол наклона должен быть нулевым, угловая скорость должна быть нулевой, и приложенный момент сил тоже должен быть нулевым. Регулятор ориентации должен быть достаточно быстродействующим чтобы успевать парировать внешние возмущающие моменты и не давать коптеру сильно отклоняться от нулевой позиции, т.к. любой наклон коптера приводит к уменьшению вертикальной составляющей силы тяги и к уводу коптера в соответствующую сторону вбок.


Для сведения к нулю трёх составляющих угла, скорости и момента они должны быть входными сигналами в регулятор. Один из вариантов представлен на рисунке 19. Заданное значение равно нулю, и в стабильном состоянии выходной сигнал сумматора будет равен нулю. Если появляется какое-то ненулевой состояние, то выход регулятора будет также отличен от нуля, далее он домножается на вектор, равный 4-ой колонке псевдообратной матрицы А^+, представленной выше и формируется вектор усилий на 8 ВМГ, который должен компенсировать возникший дисбаланс поворота вокруг оси $x_B$.



Рисунок 19. Регулятор крена

Рисунок 20. Коэффициенты блока типа Размножитель в регуляторе крена

Аналогично выполнен и регулятор по каналу тангажа (представлен на рисунке 21).



Рисунок 21. Регулятор тангажа

Рисунок 22. Коэффициенты блока типа Размножитель в регуляторе тангажа

Конкретные значения на линиях регулятора, пропорциональных углу, угловой скорости и угловому ускорению (моменту сил) подбираются численным экспериментом для данного коптера (с конкретными массой, моментами инерции по осям, двигателями, размером рамы и т.д.).


4.5 Регулятор положения коптера в пространстве


Итого, регулятор ориентации коптера и регулятор высоты, работая совместно, обеспечивают висение коптера в определённой точке пространства в состоянии динамического равновесия. При этом, у коптера еще остается некоторый запас управляемости, который позволяет ему двигаться целенаправленно вдоль координатных осей. Но данные регуляторы несколько сложнее чем регулятор ориентации.


Во-первых, они работают в системе координат В, а в общем случае коптер вращается в пространстве (по курсу) и направления осей x и y системы В не совпадают с такими же осями в системе I. Поэтому рассогласование его позиции в системе I надо переводить в систему В и дополнительно подготавливать задание на регулятор положения по осям x и y.


Во-вторых, рассогласование в этом регуляторе может быть как небольшим, так и значительным, а обычный ПИД-регулятор, как правило, не может одинаково эффективно работать с малыми и с большими отклонениями, требуется доработка регулятора например, переключение регулятора положения в режим поддержания постоянной скорости при каких-то условиях.


В-третьих, у классического коптера с винтами, расположенными в одной плоскости и параллельными силами тяги, направленными вверх, практически нет возможности создавать боковую силу тяги т.е. по существу, коптер является неуправляемым по осям X и Y. В нашем варианте, когда винты довернуты еще на 3 градуса вокруг своих лучей, у них появляется небольшая сила тяги направленная в стороны, и микшированием двигателей можно создавать боковую силу тяги. Однако, она очень несущественна, почти нулевая об этом свидетельствуют большие числа в 1 и 2 колонках матрицы А+ для того, чтобы создать силу тяги величиной 1Н в сторону, нужно изменить частоту вращения двигателей почти на 15 рад/с (квадрат частоты вращения на 191 (1/с)2). С точки зрения управления, это слишком большая величина. Поэтому коптеры управляются по направлениям X и Y при помощи других каналов управления поворачиваясь вокруг осей X и Y (об этом напишем дальше).


Но структурно если делать регулятор по каналам Х и Y типовым образом, регулятор может быть выполнен аналогично регуляторам ориентации на выходе формируется управляющее воздействие по каналу X (Y) и домножается на вектор 1 (или 2) колонку матрицы $А^+$, а полученные 8 сигналов подаются на ВМГ.


Один из вариантов регулятора по каналу X и Y представлены на рисунке 23 и 24.



Рисунок 23. Регулятор по каналу Х

Рисунок 24. Регулятор по каналу Y

Регуляторы двухрежимные, при отклонении от заданной позиции более чем на 5 метров, переключаются в режим работы V и поддерживают скорость по направлению на уровне REGX_OGRV (или REGY_OGRV) м/с. При этом, интегрирующая ветка регулятора отключается. При переходе в режим позиции, интегрирующая ветка включается в работу с некоторой задержкой чтобы коптер успел подлететь к заданной точке и не набралась существенная величина на интеграторе за время подлета.


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


Приведенные здесь регуляторы, хотя и кажутся сложными на первый взгляд, являются только лишь базовыми версиями, которые позволяют управлять коптерами. Дальнейшая разработка модели может (и должна) привести к более сложным регуляторам и к повышению качества переходных процессов.


В сумме, на выходе всех 6 каналов управления (по курсу регулятор во многом аналогичен регуляторам ориентации и для сокращения материала не приводим его здесь) мы имеем по каналу регулятора высоты некоторую базовую желаемую частоту вращения для каждой из 8 ВМГ, и некоторую добавку, сформированную остальными 5-ю каналами управления. Единственный нюанс микшированные добавки, т.к. это не прямая добавка к частоте вращения, а добавка к квадрату частоты вращения, и для того чтобы вычислить добавку именно к частоте вращения, надо еще дополнительно проделать несложные математические вычисления, см. рисунок 25:



Рисунок 25. Суммирование каналов управления

Сложность вычисления в том, что добавка частоты вращения зависит и от нужного квадрата добавки, и от самой базовой частоты вращения и чтобы вычислить итоговую частоту вращения как сумму базовой и добавки надо предварительно сделать еще ряд вычислений:

$\omega_i = \omega_{ibase} + \Delta \omega_i \\ \Delta \omega_i = \sqrt{(\Delta \omega_i)^2+(\omega_{ibase})^2} - \sqrt{(\omega_{ibase})^2}$


где квадраты скоростей это сигналы, выходы каналов управления.


Таким образом, в зависимости от текущего уровня базовой частоты вращения (которая определяется в основном массой коптера и, возможно, груза и получается на выходе из регулятора высоты), определяется нужная добавка угловой скорости для каждой из ВМГ, суммируется с базовой частотой вращения и отправляется как задатчик на регулятор двигателя каждой из ВМГ.


4.6 Регулятор положения коптера в пространстве по каналам крена и тангажа


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


Путем несложных выкладок, можно получить следующие формулы для вычисления угла наклона:

$\phi_{звд} = arcsin(y_{задI}); \\ \theta_{зад} = arcsin(\frac{x_{задI}}{cos(\phi_{зад})})$


где $y_{задI}$ и $x_{задI}$ рассогласования заданных значений координат и измеренных в инерциальной системе отсчета, а выражения под арксинусом дополнительно ограничиваются некоторой величиной (полученной исходя из запасов управляемости коптера по крену и тангажу), например, диапазоном $\left[ -\frac{\pi}{16};+\frac{\pi}{16}\right]$ .


Если такие величины подать вместо нулевого значения на вход регуляторам крена и тангажа, то регулятор будет дополнительно доворачивать коптер на небольшой угол, для полета вдоль своих осей X и Y. Если учитывать еще и возможность изменения курса, то формулы получатся посложнее, но смысл управления будет тем же самым. Реализация такого управления показана на рисунке 26.



Рисунок 26. Формирование задания на крен и тангаж
Модель коптера можно взять по этой ссылке здесь...:
Видео модели коптера можно посмотреть здесь

Список литературы


  1. Первая часть. Введение в моделирование динамики квадро-, гекса- и октокоптеров
  2. Design, Modeling and Control of an Octocopter, Oscar Oscarson, Royal Institute of Technology 2015
  3. Development, Modelling and Control of a Multirotor Vehicle, Markus Mikkelsen, Ume University 2015.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru