Fra Computer til Virkelighed TPE-kursus Elektroniske Systemer P1
Fra Computer til Virkelighed En kort introduktion til kurset Systems Engineering Projektfaser Opsamling og opgave
Om kurset Mål: at I lærer at programmere tilstrækkeligt til at I kan anvende programmerings-baserede løsninger i Jeres projekter Middel: Lidt input via forelæsninger, masser af tid ved computerne Form: Fem forelæsninger FCV, herefter 2 x 5 forelæsninger for hhv EE og ED, som kan følges som fri studieaktivitet Vigtigt: anvend programmering i Jeres projekter (det evalueres ved eksamen)
Lidt motivation Computere bruges i alle faser af en EE eller ED-ingeniørs dagligdag Analog hardware afløses i stigende grad af digital hardware Især design er dyrt og tidskrævende kræver metodisk arbejdsgang værktøjer flid og held
Systems Engineering Definition [Sum01]: Systems Engineering is the activity of specifying, designing, implementing, validating, installing and maintaining systems as a whole Gælder for alle systemer elektroniske, software, mekaniske,...
Systems Engineering nogle pointer Ting tager tid Visse ting må nødvendigvis laves før andre Man bliver klogere undervejs Design er vigtigt, men ingen kan overskue det hele; derfor: afgrænsede problemstillinger nedbrydning i delproblemer modellering vidensdeling og peer review
Systems Engineering struktureret udvikling
Struktureret udvikling
Systems Engineering Vandfaldsmodellen:
Systems Engineering V-modellen
Projektfaser Initierende problemformulering Analyse af problemområde (modeller, vidensindsamling) Kravspecifikation (krav og accepttest) Problemløsning (design og implementering) Integration og test Evt. vedligeholdelse osv.
Initierende problem og analyse Udgangspunktet for projektet Ofte bredt/vagt formuleret Eks: RoboCup Efterfølges af en afgrænsning af projektet og en vidensindsamling og analyse Points bane forhindringer Mindstorms' muligheder
Kravspecifikation Fortæller hvad der skal laves ikke hvordan Alt hvad der står i kravspecifikationen skal i princippet opfyldes af den samlede løsning Kan også indeholde nice-to-have features Formuler klare og testbare krav Eks: Robotten skal kunne gennemføre på under ti minutter Robotten skal kunne løfte og kaste med en flaske
Nedbrydning i delproblemer
Neddeling i delproblemer Definer funktionskrav og interfaces Funktionskrav: Hvad skal håndteres i dette modul Løfte og kaste flaske Interfaces: Input og output Input: styresignal i form af motorspænding output: en flyvende flaske Kontakt med andre moduler?
Neddeling i delproblemer Nogen delproblemer er stadig for komplicerede De kan neddeles i mindre delproblemer dette kaldes trinvis forfinelse
Neddeling i delproblemer Hvert delproblem/modul skal have interface og funktionalitetsbeskrivelse Underliggende løsning er op til designeren Eks: En gribearm, en grab, en golfkølle, eller noget helt fjerde Genbrug af moduler er en god ting!
Design før implementation Planlæg hvad I vil gøre før I gør det Specificer tests der matcher funktionsbeskrivelsen for det pågældende modul Eks: Flasken skal flyve mindst en halv kilometer Accepter at designet kan ændre sig undervejs men husk på at tests afgør om modulet er færdigt
Design før implementation Overvej altid forskellige løsningsmuligheder Vælg så vidt muligt den mest optimale løsning Opfind som tommelfingerregel ikke noget nyt, hvis det kan undgås
Design Brug masser af grafiske hjælpemidler Aktuator Robotarm Flaske Sensor Sensor
Implementer og test
Integration Efter hver modultest er testet, skal de enkelte moduler integreres Øhh...
Integration Integration kræver også test Eks: Grab løfter flaske - OK! Ultralydssensor måler afstand til væg - OK! Begge moduler implementeres på robotten - OK! Flasken løftes, men kommer i vejen for ultralydssensoren... så den tror der kun er fire cm. til væggen - Ups!
Accepttest Test af den samlede løsning Holdes op imod den overordnede kravspecifikation Er alle de nødvendige krav overholdt? Er der nogen krav der er delvist opfyldt? Eks.: RoboCup
V-modellen - igen
Nogle ting at huske Kravspecifikationen er omdrejningspunktet for hele projektet Design før implementering Vidensdeling og dokumentation undervejs Integration og test er vigtige faser (som man sjældent har tid til... )
Dagens opgave Antag, at I har frie hænder til at designe en robot, der kan gennemføre den officielle bane Hvordan skal den designes for at opnå maksimum score? ingen points for kunstnerisk udførelse ingen points for en flyvende robot der tages udgangspunkt i Lego Mindstorms, men I er ikke begrænset til een kasse Vurder Jeres design til sidst