Sök i programutbudet

Använd sökfunktionen för att leta efter kurser och program i Chalmers utbildningsutbud. Den programplan och utbildningsplan som avser dina studier är i allmänhet från det läsår du började dina studier.

​​​​​​​​​​​​​

Kursplan för

Läsår
SSY190 - Inbyggda styrsystem
 
Kursplanen fastställd 2015-02-17 av programansvarig (eller motsvarande)
Ägare: MPSYS
7,5 Poäng
Betygskala: TH - Fem, Fyra, Tre, Underkänt
Utbildningsnivå: Avancerad nivå
Huvudområde: Automation och mekatronik, Elektroteknik
Institution: 32 - ELEKTROTEKNIK


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter
Blockschema: C

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0107 Tentamen 5,0 hp Betygskala: TH   5,0 hp   02 Jun 2016 em M,  04 Apr 2016 fm EKL,  18 Aug 2016 fm M
0207 Laboration 2,5 hp Betygskala: UG   2,5 hp    

I program

MPBME MEDICINSK TEKNIK, MASTERPROGRAM, Årskurs 2 (valbar)
MPSYS SYSTEMTEKNIK, REGLERTEKNIK OCH MEKATRONIK, MASTERPROGRAM, Årskurs 1 (obligatorisk)

Examinator:

Docent  Knut Åkesson



Behörighet:


För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

  • Krav: Linear Control System Design (SSY285) eller motsvarande. 
  • Rekommenderade: Modeling and Simulation (ESS101) och Discrete Event Systems (SSY165) eller motsvarande.

Syfte

Det övergripande syftet är att introducera de grundläggande principerna för design, specifikation, modellering, analys och implementering av inbyggda styrsystem. Inbyggda styrsystem är idag distribuerade, dvs de kan kommunicera med varandra, de utför beräkningar samt interagerar med den fysikaliska omgivningen vid sensorer och aktuatorer. Inbyggda styrsystem finns snart sagt överallt, bl.a. i fordon, medicintekniska system, produktionssystem, och i intelligenta hus. Komplexiteten på dessa system ökar och behovet av stukturerade ansatser för att utveckla sådana systen är därför nödvändiga. Systemen är ofta säkerhetskritiska och därför är det viktigt att tidigt i utvecklingsfaserna säkerställa att systemet fungerar på avsett sätt. Inom industrin så ökar användningen av modellbaserade ansatser tillsammans med formella metoder för att fånga fel så tidigt som möjligt i utvecklingsfaserna och dämed öka tillförlitligheten hos systemet. I denna kurs introducerar vi a strukturerad ansats till att designa, specificera, modellera och analysera inbyggda styrsystem genom att använda matematiskt väldefinierade modeller tillsammans med formella metoder. Kursen behandlar och realiseringen av styrfunktioner  med hjälp av mikroprocessorer och realtidsoperativsystem.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Mikrocontrollers, realtidsoperativsystem och schemaläggning


Beskriva de viktigaste egenskaperna för en mikrocontroller.

Demonstrera hur positiva och negativa heltal kan representeras som en sekvens av binära tal.

Visa hur addition och subtraktion kan utföras med användning av binära tal.

Förklara fördelar och nackdelar med att använda fixed-point vs. floating-point aritmetik .

Förklara hur minneskartor används för att representera program, data och externa I/O-enheter.

Beskriva hur General - Purpose Digitala I/O (GPIO) kan användas för att kommunicera med extern hårdvara .

Förklara skillnaden mellan att lagra värdet för en variabel och lagra minnesadressen till en variabel.

Beskriv hur man i programspråket C skiljer på en variabel och en adress till en variabel.

Förklara skillnaden mellan att skicka ett värdet (pass by value) resp. adressen (pass by reference) vid funktionsanrop.

Beskriva hur Interrupt-Service-Routines ( ISR ) fungerar och hur de kan deklareras.

Förklara begreppet multitasking och vilka problem det löser.

Beskriva skillnaderna mellan en tråd och en process.

Beskriv de allmänna begreppen i ett realtidsoperativsystem.

Att kunna skriva och tolka enkla program (inklusive avbrottsservicerutiner och processer/trådar) som implementerats i C.

Beskriv varför ömsesidig uteslutning mellan flera trådar är nödvändig för att undvika racesituationer och hur det kan uppnås med hjälp av lås för att garantera ömsesidig uteslutning.

Förklara hur ömsesidig uteslutning kan leda till låsningssituationer.

Förklara hur man i flertrådade program kan strukturera tillgång till lås för ömsesidig uteslutning i så att låsningar kan undvikas.

Beskriva skillnaderna mellan off-line och on-line schemaläggare (scheduler) och situationer där det kan vara lämpligt att använda dem.

Beskriv hur en static-order schemaläggare fungerar och när det kan vara lämpligt att använda den.

Definiera vad kännetecknar en preemtive-scheduler.

Beskriv hur prioriteten för en uppgift påverkar de beslut som fattas av schemaläggaren.

Definiera tider (release time, response time,finish time och deadline) i samband med exekverandet av tasks.

Förmåga att tillämpa och analysera beteendet hos scheman som fastställts enligt rate och deadline monotonic principerna. Förklara under vilka villkor ett schema är optimalt. Applicera tillräckliga och nödvändiga villkor för att avgöra om det är möjligt att göra en schemaläggning, samt att beräkna värstafalls svarstider.

Förklara under vilka omständigheter som priority inversion kan inträffa. Förklara hur priority inheritance och priority ceiling kan lösa problemet med priority inversion.

Förmåga att applicera och analysera earliest deadline first principen.

Modellering av dynamiska beteende


Konstruera modeller av kontinuerliga, händelsediskreta och hybrida system.

Definierar extended state machines med in- och utsignaler. Definiera beteendet hos händelse och tidsstyrda tillståndsmaskiner .

Definiera deterministiska och icke-deterministiska tillståndsmaskiner.

Visa hur Zeno-beteende kan uppstå vid modellering av hybrida system samt vilka problem det orsakar och hur regularization kan användas för att hantera det. Beskriva hur stabilitetetsproblem kan uppstå vid switchning mellan olika moder. 

Definiera hur hybridsystem kan användas för att modellera timade automater.

Att kunna göra synchronous och asynchronous komposition av tillståndsmaskiner. Hur modeller side-by-side, cascade och återkoppling av tillståndsmaskiner.

Att kunna tillämpa synchronous-reactive paradigmen för att komponera modeller som inkluderar återkoppling. Definiera vad som utgör en well-formed och ill-formed komposition. Hur man uppår en fixpunkt av beteendet med hjälp av uttömmande sökning och approximativa metoder.

Utvärdera de relativa fördelarna med att använda en synchronous-reactive paradigm kontra en trådbaserad metod för att modellera parallella beteenden hos inbyggda system.

Realisering av styrenheter


Beskriv hur schemaläggaren påverkar fördröjning (latency) och jitter i parallella program . Att kunna dela upp styruppgifter i tidskritiska och icke-tidskritiska deluppgifter, och beskriva hur dessa kan schemaläggas var för sig. 

Förklara typiskt problem som kan upppstår du styrdon mättas.

Design av regleralgoritmer för att hantera mättnad (windup) hos ställdon.

Förklara problem med modändringar av börvärden, beskriver hur man genomför bumpless-transfer mellan manuell- och automatiskt-mod .

Kunna beräkna tidsdiskreta approximationer av analoga regulatorer. Diskutera de relativa fördelarna med olika diskretiseringsmetoder .

Beskriv hur latency kan påverkar designen av regleralgoritmer .

Beskriva hur man väljer samplingsintervallet.

Att kunna implementera PID och tillståndsåterkopplade regulatorer i C.

Analys och verifiering


Att kunna beskriva och jämföra satslogik vs temporallogik.

Att kunna formulera och tolka specifikationerna i linjär temporallogik.

Beskriv skillnaden mellan en safety- en liveness-specifikation.

Förklara varför ekvivalens mellan formella språk inte är att bra kriterium i de situationer som det underliggande systemet är icke-deterministiskt. Kunna avgöra när en tillståndsmodell simulerar en annan samt avgöra när två tillståndsmodeller är bisimilära.

Beskriv i princip hur formell verifiering fungerar.

Kunna beskriva hur model-checking algoritm (explicit/symbolisk) fungerar verifiering av säkerhetsspecifikationer.

Beskriv hur en control-flow graf kan genereras från ett program. Beskriv hur control-flow grafen kan användas för att uppskatta värstafallet för exekveringstiden

Projekt


Förmåga att formulera krav för styrsystem

Förmåga att bygga en matematisk modell av ett mekatroniskt system.

Förmåga att med hjälp av standardprogramvara simulera en matematisk modell av ett mekatroniskt system.

Förmåga att välja och designa lämpliga regulatorer för ett system.

Möjlighet att använda modellbaserad verktyg för att generera programför för styrfunktioner.

Förmåga att implementera en regleralgoritm i C.

Förmåga att utvärdera design och realisering mot uppställda specifikationer .

Samhälleliga konsekvenser med inbyggda system


Diskutera möjligheter och hot med inbyggda system i människors vardag.

Innehåll

Kursen innehåller följande moment: Reglerteknik: Anti-windup algoritmer, Bumpless-transfers, linjärkvardratisk reglering, Kalmanfilter. Mjukvara: Parallel programmering, realtidsoperativsystem. Analys: Simulering av hybrida system. Formella metoder för specifikation, testning och verifiering av realtidsystem för styrning. Samhållelilga konsekvenser med inbyggda system.


Organisation

Undervisningen sker i form av föreläsningar, övningar, laborationer och projekt.

Litteratur


  1. Rajeev Alur. Principles of Cyber-Physical Systems. MIT Press, 2015. ISBN: 9780262029117

  2. Computer Control: An Overview. Björn Wittenmark, Karl Johan Åström, Karl-Erik Årzén, IFAC Professional Brief.

  3. Utdelade artiklar.

  4. Komplementerande litteratur: Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, http://LeeSeshia.org, ISBN 978-0-557-70857-4, 2011.

Examination

Skriftlig examen, avklarade laborationer och projekt.


Sidansvarig Publicerad: on 24 jan 2018.