Forfatter Arkiv for peterjc

Peter har arbejdet en del år for SSBV-Rovsing, både i danmark og et par år i tyskland. Har bidraget til en håndfuld ESA projekter, der iblandt ATV, Galileo og Sentinel-1, Både som udvikler og test manager. Roder desuden med Clojure i sin fritid.

Et menneske problem

Det at skrive software er en kompliceret proces. Hvilket sprog, værktøjer for slet ikke at nævne valg af editor. Har man forstået domænet og meget andet. Men i sidste ende handler det om mennesker, og hvordan vi arbejder sammen. Software er i de fleste tilfælde en hold-sport. Et faktum som programmet i dette års GOTO CPH også reflektere. Første talk jeg fangede om emnet…

En ny slags offentlig IT

På dette års GOTO. Er der en masse stande fra diverse firmaer der har smarte logoer pamfletter mm. Midt bland dem står der med hvide bogstaver på konge blå baggrund “Skatteministeriet”. For at finde ud af hvordan det kunne hænge sammen, tog jeg en snak med Steen Larsen fra ministeriet. Hvordan kan det være I har en stand på GOTO? For at fortælle om…

GOTO new idea

Disclaimer følgende tekst kan indeholde lommefilosofisk, højtravende humanist agtigt løsslupne tanker, uden egentlig hold i fakta. Software udvikling handler ofte om at få en go ide, hvilken løsning skal man vælge, hvilket værktøj er bedst til den konkrete opgave. Hvor skal jeg så lede efter den bug? osv. Det har fået mig til at overveje hvor kommer den gode ide fra? hvordan tænker man…

Mig og Phoenix

Ved en pool på Kreta står en strandstol og et lille bord. På bordet står et glas med White Russian og der ligger en bog, men hvilken bog? En bog om Phoenix. Men hvorfor en ikke en Stig Larson Roman eller tilsvarende?. Tja det må blive et emne for et andet blog indlæg. Her vil jeg istedet fokusere på hvad Phoenix er og hvem…

Stræben efter bedre software

Har tilbragt den første dag på GOTOcph med at se en masse spændende præsentationer. Havde på forhånd givet mig selv det lille benspænd, at fokusere på hvad der kunne give mig ideer og inspiration til at lave kode af bedre kvalitet. Første dag fandt jeg sporet om testing interessant. Egentlig synes jeg udvikling og testing er to sider af samme sag, men det er…

Interview med en Robot-professor

IMG_0515
I forbindelse med GOTOcph, har jeg i min kapasitet af blogger kastet mig ud i et interview med Ulrik Pagh Schultz .

Giv en kort introduktion af hvem du er?
Jeg er lektor ved Mærsk Instituttet, Syddansk Universitet. Jeg forsker i programmering af robotter, med domænespecifikke sprog (DSL) som faglig tilgang, og anvendelse indenfor modulære robotter, industrielle robotter og landbrugsrobotter. Jeg underviser på vores software engineering uddannelse. Tidligere har jeg været ansat på datalogisk institut ved Århus Universitet, hvor jeg også har min kandidatuddannelse fra (jeg lavede PhD i Frankrig).

Kan du give en kort gennemgang af dit oplæg, til dem der var så uheldige og ikke se det?
Oplægget består af tre dele: (1) Hvad er modulære robotter og hvorfor er de svære at programmere; (2) Hvordan kan DSLer gøre det lettere at programmere den slags robotsystemer; (3) Hvad kan robotterne og DSLerne ellers bruges til. Ultra-korte resumeer af hver af de tre dele: (1) Modulære robotter er robotbyggesæt, som endda i nogen tilfælde kan bygge sig selv om, altså “transforme-robotter”. De er svære at programmere fordi hver enkelt del skal have intelligens, som både skal fungere enkeltvis og også skal udgøre en helhed uden at gå i baglås hvis dele af hardwaren fejler. (2) DSLer muliggør abstraktioner som ligger ud over der vi normalt ser i standard programmeringssprog, i dette tilfælde kan vi beskrive robottens handlinger på helhedsniveau og compile det til små, robuste kontrolprogrammer som udføres af det enkelte modul. (3) Robotterne kan ikke bruges til noget som helst, men de samme principper bruges nu f.eks. hos Universal Robots i deres robotarm og i vores nuværende prototype af landbrugsrobotter. DSLer er relevante for mange typer af robotter, de samme underliggene principper som jeg beskriver i mit foredrag ville også kunne bruges samarbejdende sværme af robotter, f.eks. droner.

Forklar hvad det er der sker i denne video?


Det er en demo af hvordan robotten ombygger sig selv, bl.a. fra bil-robot til slange-robot. Den er programmeret med den DSL som jeg har designet, og som gav en cirka 30x forbedring i systemets robusthed. DSLen giver ydermere muligheden for at køre programmet baglæns, hvis nu man f.eks. har lavet et bil-til-slange program, kan man køre det baglæns for at skifte form fra slange til bil. Videoen viser desuden visse aspekter af systemet robusthed ifht fejlende kommunikation og crash af moduler (simuleret ved at slukke og tænde moduler undervejs).

Det klassiske spørgsmål, hvad er der af anvendelsesmuligheder?
Som nævnt før, for den her specifikke robot er der ikke nogen anvendelsesmuligheder, den er en avanceret prototype som demonstrerer at det er muligt at lave maskiner der kan ombygge sig selv. De har dog som nævnt før givet inspiration til adskillige nuværende robotter. Derudover er der klare anvendelsesmuligheder i fremtiden: De er ideelle til situationer hvor man har brug for en specifik robot meget hurtigt (f.eks. i en nødsituation) eller hvor man kun kan medbringe en begrænset mængde dele (f.eks. på en mission til Mars). Man kan også forestille sig at de blev lavet i mikroskopiske størrelser (jeg beskriver i mit foredrag hvordan det kan gøres), i så fald har man en form for programmerbart, formskiftende stof, hvilket jo nok ville kunne bruges til mange ting…

Tilgiv mig hvis jeg spørger dumt men ville den type algoritmer og de protokoller I bruger kunne bruges til fx at lave bil-trafik-optimering
Algoritmer og protokoller til modulære robotter omhandler typisk robust, decentral kontrol af tæt koblede men fysisk adskilte enheder. Så de er relevante som inspiration for algoritmer til scenarier såsom samarbejdende robotter eller køretøjer som er koblede til hinanden et stykke tid, og muligvis generelt til processer som udføres i distribuerede systemer med dårligt netværk og lav grad af pålidelighed. Hvis biler koblede sig sammen på motorvejen eller på anden vis dynamisk skiftede mellem at være uafhængige og koblede så måske, men ellers nok ikke.

Kan man som glad amatør selv komme til at lege med den her slags?? Er der en Rasberry Pi-lignende minirobot derude?
Der findes en del modulære robotter til undervisningsbrug, se f.eks. http://www.modrobotics.com og linkbot som I selv havde på qed.dk for noget tid siden: http://qed.dk/thomas-wittenburg/2014/01/14/mit-seneste-roboteventyr

Det er ikke raketvidenskab men…

At skrive software er ikke just raketvidenskab men måske burde det være bare lidt mere som det. Tillad mig at forklare. I 2004 Fik jeg et job der sende mig til Bremen for at arbejde for på ESAs bidrag til den internationale rumstation (ISS), Automated Transfer Vehicle (ATV). Var naturligvis som næsten grøn datalog ikke kommet til Bremen for at være chef arkitekt –…

Et sip Elixir

Sidste år var jeg afsted på GotoCPH14, og skrev om det her på qed.dk. En af de ting der vakte min nysgerrighed var Elixir. Så efter konferencen besluttede jeg at det var noget jeg måtte lære. Følgende er mere en gennemgang af hvorfor jeg synes Elixir er interessant, hvilke features der måske vil få dig som læser til også at undersøge Elixir nærmere. Skulle…

GOTO hvad gør vi nu?

Har sat mig et mål, skjult dagsorden, for min deltagelse i GOTO. Det overordnede mål er at få noget med hjem, andet end kuglepenne og tømmermænd. Det er min holdning at hvis man ikke gør det på enten den korte eller lange bane så er det bare hygge og underholdning. Har en passion for bla. både Ruby og Clojure som begge er ting jeg…

Uforanderlig data v2 -DOMen fra helvede

Som opvarming til GOTO skrev jeg et indlæg om immutability, hvor jeg MEGET kort forklare hvad det er og hvorfor jeg klart skulle se David Nolens indlæg om netop det her på GOTO. Så hermed opfølgeren. Fordraget startede med et hurtigt historisk view, hvor han nævnte at nogle af ideerne bag immutability i virkeligheden har mange år på bagen, men at det først er…