Robotik och realtidssystem. Roger Henriksson

Relevanta dokument
LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Tentamen Lösningar EDA698 Realtidssystem

Tråd C (ms) T (ms) A 4 16 B 3 10 C 4 25 D 2 12

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Tentamen Nätverksprogrammering Lösningsförslag

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Daniel Petersson (Labassistent) Examination. 1 Skriftlig tentamen (betyg)

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

Laboration 13, Arrayer och objekt

Algoritmer. Två gränssnitt

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Tentamen i Grundläggande programmering STS, åk 1 lördag

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Tentamen i Programmering

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Software Technology. Josef Svenningsson

Tentamen, EDA501 Programmering M L TM W K V

Tentamen. Lösningsförslag

Modern Programmering (2546) Tentamen lördag

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Tentamen i Grundläggande programmering STS, åk 1 fredag

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Tentamen i Grundläggande programmering STS, åk 1 fredag

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Tentamen Nätverksprogrammering Lösningsförslag

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Parallellism, återblick

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 11

Tentamen, EDAA20/EDA501 Programmering

DEL 2 - Praktiska programmeringsuppgifter

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Tentamen i Objektorienterad modellering och design Helsingborg

Chapter 4: Writing Classes/ Att skriva egna klasser.

Tentamen i Objektorienterad programmering

Historik: OOP. Objektorientering. Historik: OOP (forts) En Dum Fråga

DELPROV 1 I DATAVETENSKAP

Föreläsning 1 & 2 INTRODUKTION

Föreläsnings 9 - Exceptions, I/O

Tentamen EDA698 Realtidssystem (Helsingborg)

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Föreläsning 3. Stack

Generisk klass med typparameter Inre klass - ListIterator

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Listor. Koffman & Wolfgang kapitel 2, avsnitt , och 2.9

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Malmö högskola 2007/2008 Teknik och samhälle

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Föreläsning 3: Booleans, if, switch

Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Redovisning av inlämningsuppgifter

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Tentamen Programmering fortsättningskurs DIT950

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

F4. programmeringsteknik och Matlab

Realtidssystem. - Semaforer, trådsynkronisering - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 2

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Concurrency Saker händer samtidigt. Process En instans av ett program

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

Dugga i Grundläggande programmering STS, åk

"if"-satsen. Inledande programmering med C# (1DV402)

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Reguljära uttryck. Reguljära uttryck. Nu kommer en siffra78 och en till SIFFRA(78) men utan 7kstuga SIFFRA(89)

Tentamen, Algoritmer och datastrukturer

Föreläsning 2. Länkad lista och iterator

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

SI-pass 4. Johan Brook och Jesper Persson. 25 september Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Transkript:

Robotik och realtidssystem Roger Henriksson

Översikt Vad är en robot? Industrirobotar Industrirobotforskning på LTH Vad är ett realtidssystem? Realtidsjava Garbage collection i realtidssystem SUN JRTS och Javarobotar

Olika typer av robotar

Vad är en robot? Tjeckiskans robota tungt, monotont, påtvingat arbete. Teaterpjäsen R.U.R. (1921) av Karel Čapek. En maskin som kan programmeras att utföra olika typer av uppgifter på ett flexibelt eller intelligent sätt.

Industrirobotar En robot som används i tillverkningsindustrin. Effektiva för stora tillverkningsserier Svårprogrammerade Stränga säkerhetskrav Dyra

Robotikforskning i Lund Datavetenskap Reglerteknik Matematik Industriell elektronik och automation Mekanisk teknologi Sameuropeiska forskningsprojekt universitet industri http://www.robot.lth.se

SMErobot Robotar för små och medelstora företag Flexibilitet snabba att konfigurera för nya uppgifter Enkelhet olika typer av människonära gränssnitt Säkerhet inga avlysta säkerhetszoner SMErobot - The European Robot Initiative for Strengthening the Competitiveness of SMEs in Manufacturing http://www.smerobot.org

SMErobot vision Coffee break: Tom and Michael, two stressed workers of an SME, dream of a robot helping them in their daily routine. One idea inspires the next... until they come up to novel work environments and new and different types of robots, which will be explored in the project.

SMErobot delproblem Hur kan man kommunicera med roboten med naturligt språk? Hur utformar man mekatroniken och sensorer (kraftgivare, kameror etc)? Hur kombinerar man mjukvaran med hårdvaran för att åstadkomma säkerhet? Hur konfigurerar man snabbt en arbetscell utan specialistkunskap? Hur får man ner priset på utrustningen?

SMErobot resultat SMErobot resultatvideo

Vad är ett realtidssystem System som kontinuerligt interagerar med omvärlden. System där korrektheten hos programmet bestäms av dess förmåga att uppfylla (strikta) tidskrav. Parallella aktiviteter trådar Predikterbarhet Schemaläggningsanalys

Realtidsjava varför och hur? Säkert och portabelt. Entydig semantik ett program betyder samma sak på två olika maskiner. Små inbyggda system: Java-till-C-översättare SUN Java Real-Time System stora styrsystem

Ett realtidssystem implementerat i Java Kompressor ansluten till anblåspipan via datorstyrd ventil Trycksensor i säcken. Datorstyrda ventiler på melodipipan. Vilka är de parallella aktiviteterna? Vad har de för realtidsegenskaper?

Huvudprogrammet import Bagpipe; class BagpipePlayer { public static void main(string[] args) { Thread pressurecontrol = new PressureThread(); pressurecontrol.start(); Bagpipe.awaitFullPressure(); Thread player = new PlayerThread(); player.start(); } }

PressureThread class PressureThread extends Thread{ } public void run() { while(true) { double p = Bagpipe.getPressure(); if (p>0.9*bagpipe.max_pressure) { Bagpipe.closeValve(); } } if (p<0.8*bagpipe.max_pressure) { Bagpipe.openValve(); } sleep(100); }

PlayerThread import Scotland; class PressureThread extends Thread{ public void run() { for(int i=0;i<scotland.no_of_notes;i++) { Bagpipe.toggle(Scotland,getHole(i)); } } sleep(scotland.getdelay(i)); }

Garbage collection Vad gör ni när bokhyllan blir full? Man får sortera bort gamla böcker man inte har nytta av längre. Vilka böcker kan man kasta?

Garbage collection rotpekare

Realtidssystem + garbage collection? Inkrementella algoritmer Schemaläggningsanalys RTS + GC!

Realtids-GC fromspace tospace F min evacuated objects allocated objects HP HP LP/GC GC LP/GC GC LP/GC time

Att doktorera Ungefär 5-6 av er kommer att gå vidare till forskarstudier. Anställning vid universitet i 5 år. Arbetar inom forskningsprojekt. Forskar, skriver artiklar till konferenser och tidskrifter, presenterar resultat. Deltar i undervisning. Doktorsavhandling disputation. Doktorsexamen: Teknologie doktor.

SUN JRTS RTSJ - Real-Time Specification for Java Nya bibliotek Ny tråd- och minnesmodell Predikterbar JVM Sun Java Real-Time System 2.0 (Sun JRTS 2.0) Släppt maj 2007. Realtids-GC från Lunds universitet. Industrirobotstyrnings projekt Sun/LU.

Realtidsjava för robotstyrning Industrirobot styrd helt och hållet av Java. Projekt ihop med Sun Microsystems/ABB. Standardkomponenter: ABB IRB 340 industrirobot Beckhoff EtherCAT servoenheter Sun Ultra 40 som kör Solaris 10 Sun Java RTS 2.0

JavaOne

Sudoku