GithubHelp home page GithubHelp logo

icub-tech-iit / training-systemcomposer-pendulum Goto Github PK

View Code? Open in Web Editor NEW
2.0 7.0 2.0 3.54 MB

Tutorial on using System Composer for Model-Based System Engineering

License: BSD 3-Clause "New" or "Revised" License

MATLAB 100.00%
matlab model-based-design requirements requirements-engineering simulink system-engineering training system-composer model-based-system-engineering mbd

training-systemcomposer-pendulum's Introduction

๐Ÿ‘จโ€๐Ÿ”ฌ Authoring architectures via System Composer

View Model and code for a minimum-jerk controller on File Exchange Open in MATLAB Online

This tutorial provides a complete system architecture example using System Composer, building on the following resources:

In detail, the project consists of a system controlling a pendulum, showing how to deal with:

  • Requirements
  • Architectures
  • Variant subsystems
  • Test harnesses
  • Test cases
  • Digital threads

Open the project and browse it to discover how the requirements are linked to the architecture, how the architecture is linked to the test harnesses, and how the test harnesses are linked to the test cases.
This is the so-called digital thread.

Run the test suite to verify that the system is working as expected.

playback_mech_explorer.mp4

Warning

To correctly render the simulation outputs, always run all the test cases at once.

๐ŸŽ“ Assignment

  • Create a further requirement to verify the safety properties of the system when the pendulum gets in contact with an external obstacle while being driven by the controller at a constant velocity:
    "The contact shall be detected and the interaction force shall be reduced under $1$ $\text{N}$ within $1$ $\text{s}$".
    "Once the contact is detected, the system stops receiving further set-points".
  • Enable the Test Safety in the test suite and associate the new requirement to the test case.
  • Modify the controller to take the safety requirement into account.
  • Run the test suite to validate your approach.

To complete the assignment do:

  1. Generate a copy of this repository into your account. Tick in the option "include all branches" โœ”
  2. Create the branch solution off of the branch master.
  3. Commit into the branch solution your development.
  4. Push/sync the changes up to GitHub.
  5. Create a pull request (PR) with master as base branch and solution as compare branch.
  6. Request to review your PR ๐Ÿ‘‹ to turn in the assignment.

๐Ÿ“ฆ Required MATLAB toolboxes and Simulink blocksets

  • MATLAB
  • Simulink
  • System Composer
  • Requirements Toolbox
  • Motor Control Blockset
  • Simscape
  • Simscape Electrical
  • Simscape Multibody
  • Simulink Test

training-systemcomposer-pendulum's People

Contributors

pattacini avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

kaidegast antiexe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.