Разработайте систему в Simulink

Парадигма Модельно-ориентированного проектирования сосредоточена вокруг моделей физических компонентов и систем как основание для проекта, тестирования и действий реализации. Этот пример добавляет разработанный компонент в существующую системную модель.

Модель является плоским роботом, который может перемещаться или вращаться с помощью двух колес, подобных домашнему роботу - пылесосу. Откройте модель путем ввода кода в командной строке MATLAB®.

open_system(fullfile(matlabroot,...
'help', 'toolbox', 'simulink', 'examples', 'system_model'))

Этот пример анализирует эту систему и добавляет функциональность в него.

Идентифицируйте разработанные компоненты и разработайте цели

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

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

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

  • Разработайте датчик и контроллер так, чтобы устройство следовало вдоль линии.

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

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

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

Анализируйте поведение системы Используя симуляцию

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

  • Как далеко робот может переместиться в максимальной скорости, если электроснабжение к колесам отключено

  • Максимальная скорость робота

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

  1. В модели дважды кликните Входную подсистему.

  2. Удалите существующий вход и добавьте блок Pulse Generator с параметром Amplitude по умолчанию.

  3. Установите параметры для блока Pulse Generator:

    • Период: 20

    • Ширина импульса: 15

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

  4. Запустите модель в течение 20 секунд.

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

Во время 3, положение робота на уровне приблизительно 0,55 м, и когда симуляция заканчивается, это - меньше чем 0,71 м. Безопасно сказать, что перемещения робота меньше чем 0,16 м после степени сокращаются.

Найти максимальную скорость,

  1. Масштабируйте на стабильной области скорости вывод вовремя с 1 с до 3 с.

  2. Оставьте режим изменения масштаба путем нажатия кнопки изменения масштаба снова. Нажмите кнопку Cursor Measurements.

  3. Установите второй курсор на область, где строка является горизонталью.

Столбец Value в Измерениях Курсора указывает, что максимальная скорость робота составляет 0,183 м/с. Разделитесь 0.05 на эту скорость, чтобы получить время, это берет робота, чтобы переместиться с на 0,05 м — 0.27.

Компоненты проекта и проверяют проект

Проект датчика состоит из этих компонентов:

  • Измерение расстояния между роботом и препятствием — Этот пример принимает, что измерение совершенно.

  • Интервал, в котором система датчика измеряет расстояние: Чтобы сохранить погрешность измерения ниже 0,05 м, этот интервал должен составить меньше чем 0,27 секунды. Используйте 0,25 секунды.

  • Расстояние, на котором датчик производит предупреждение — Анализ, показывает, что это замедляется, должен запуститься на уровне 0,16 м, но фактическое аварийное расстояние должно также взять погрешность измерения, 0.05, во внимание.

Добавьте разработанный компонент

Создайте датчик:

  1. Создайте подсистему с портами как показано.

  2. Создайте измерение расстояния. В блоке модели датчика использование Вычитает, Математическая функция с функцией magnitude^2, Суммой и блоками Sqrt как показано. Отметьте переупорядочение входных портов.

  3. Образцовая выборка. Добавьте блок Zero-Order Hold от библиотеки Discrete до подсистемы и установите ее параметр Sample Time на 0.25.

  4. Смоделируйте аварийную логику. Используйте Сравнивание с Постоянным от Математических операций и установите его параметры:

    • Оператор: <=

    • Constant Value: 0.21

    Этот логический блок устанавливает свой вывод на 1, когда его вход является меньше, чем 0.21.

Проверьте проект

Протестируйте проект с местоположением препятствия X=0.65, Y=0, с помощью блоков Константа в качестве входа. Этот тест проверяет функциональность в направлении X, можно создать подобные тесты для различных путей. Эта модель только генерирует предупреждение. Это не управляет роботом.

  1. Установите местоположение препятствия: Добавьте, что два блока Константа от библиотеки Sources устанавливают постоянные значения к 0.65 и 0. Соедините положение выходные параметры робота к входным параметрам датчика.

  2. Добавьте осциллограф в Alert вывод.

  3. Запустите модель.

Заметьте, что аварийное состояние становится 1, если положение в 0,21 м местоположения препятствия, и конструктивные требования для этого компонента удовлетворены.

Для реальных систем с комплексными компонентами и формальными требованиями, семейство продуктов Simulink® включает дополнительные инструменты, совершенствовали и автоматизируют процесс проектирования. Simulink Requirements™ обеспечивает инструменты, чтобы официально задать требования и соединить их с компонентами модели. Simulink Control Design™ может упростить проект, если вы хотите создать контроллер для этого робота. Верификация Simulink и продукты Validation™ устанавливают формальную среду для тестирования компонентов и систем.

Похожие темы