Robot Software Design and Architectures Video 3 Flashcards

1
Q

What are the popular types of planning?

A

HTN: Hierarchical Task Net
Specialized planning expeperts.
Multiple planning layers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er de tre komponentene i en arkitektur?

A

Adferd (Behaviour)
Utøvende enhet (Executive)
Planlegging (Planning)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Adferd (Behaviour) kontroll

Hva er adferdsbasert kontroll i robotikk?

A

Direkte kobling mellom sensorer og aktuatorer.
Funksjoner skrevet i C/C++ eller spesialiserte språk som ALFA, Behavioral Language, Rex.
Bruker tradisjonell reguleringsteori (f.eks. PID-regulatorer, Kalman-filtre).
Består av få adferder (ferdigheter) som oppfatter miljøet og utfører handlinger.
Situasjonsbestemte adferder, hvor roboten selv oppdager om den er i riktig situasjon.
Kognitiv feilhåndtering, der adferden vet når den ikke fungerer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hva er funksjonen til den utøvende enheten (Executive) i robotikk?

A

Grensesnitt mellom det numeriske adferdskontrollaget og det symbolske planleggingslaget.
Oversetter høy-nivå planer til lav-nivå adferder.
Aktiverer adferder på riktig tid, overvåker utførelse, og håndterer unntak.
Kan også tildele og overvåke ressursbruk, selv om dette ofte håndteres av planleggingslaget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Utøvende enheten (Executive)

Hvordan brytes et høy-nivå mål som “levere post” ned til oppgaver i robotikk?

A

Dekomponer mål til deloppgaver:

  • Bruk geometrisk ruteplanlegger for å finne korridorer og kryss.
  • Hvis dører finnes, åpne og gå gjennom.
  • Let etter kontornumre.
  • Annonsér postlevering.
  • Hvis posten ikke hentes, utfør en gjenopprettingshandling (f.eks. annonsér igjen eller informer planleggingslaget for å omplanlegge).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Utøvende enheten (Executive)

Hvilke evner har den utøvende enheten i robotikk?

A
  1. Dekomponering til lavnivå oppgaver:
    - Utøres av adferdslaget
    - Prosedyremessig: Hvordan oppgavene skal utføres, ikke hva som må gjøres.
    Vanligvis en hierarkisk oppgave-tre med forelder-barn relasjoner.
  2. Tidsbegrensninger:
    - Sekvensering og samtidige oppgaver
    - Tidsbestemt: Fullføre etter x sekunder.
    - Oppgaver kan spesifisere ressurser (f.eks. motor eller kamera).
    - Løsning av konflikt mellom oppgaver (f.eks. programmerte alternativer, prioriteringer).
  3. Utførelsesovervåking:
    - Nødvendig fordi adferder er situasjonsbestemte, og situasjoner kan endre seg uventet.
    - Implementert som samtidige oppgaver som analyserer sensordata (polling og avbrudd-drevne monitorer).
  4. Feilgjenoppretting:
  • Opprette deloppgaver, avslutte deloppgaver, forårsake at foreldremålet mislykkes, heve unntak, osv.
  • Hierarkisk unntaksmechanisme; heve unntak oppover (til foreldremål).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvordan ville ett HTN eksempel for husbygging sjå ut?

HTN: Hierarchical Task Net

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Planleggingens (Planning)

Hva er planleggingens rolle i robotikk?

A

Ansvarlig for å bestemme langsiktige aktiviteter basert på høy-nivå mål.
Adferdskontrollkomponenten fokuserer på nåtiden.
Den utøvende enheten håndterer hva som nettopp har skjedd og hva som skal skje neste.
Planleggingskomponenten ser mot fremtiden.

Eksempel:
Inndata: Dagens leveranser, robotens ressurser og et kart.
Utdata: Optimal leveringsruter og tidsplan, inkludert når roboten skal lade.
Ansvarlig for omplanlegging når situasjonen endres, f.eks. hvis kontoret er låst.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hva er HTN (Hierarchical Task Net) og hva kjennetegner det?

A

Dekomponerer oppgaver til deloppgaver, likt det utøvende laget (Execitive layer), men på et høyere nivå.
Tar hensyn til ressurser og håndterer konflikter.
Enkel spesifisering: Angir direkte hvordan oppgavene skal oppnås.

Eksempel:
Hovedoppgave: “Vinne ballen” → “Score mål ELLER “Passere ballen.”
Deloppgave: “Vinne ballen” → (Stoppe den første angriperen ELLER Lukke rommet ELLER …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hva er funksjonen til en planlegger/tidsplanlegger i robotikk?

A

Lager høy-nivå planer som bestemmer når oppgaver skal utføres.
Lar det utøvende laget (Execitive layer) avgjøre nøyaktig hvordan oppgavene skal oppnås.

Kunnskap som kreves:
- Målene oppgavene oppnår.
- Ressursene de trenger.
- Varighet av oppgavene.
- Eventuelle begrensninger mellom oppgavene.
- Best egnet når ressursene er begrenset.

Eksempel:
Oppgave: “Vinne ballen” → “Hvis nær (Score mål), Ellers (Passere ballen).”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Specialized planning experts

Hva er spesialiserte planleggingssystemer, og hvilke typer finnes?

A

Løser spesifikke problemer effektivt.
Inkluderer bevegelsesplanleggere (Motion planners):
Bane-planlegger: Planlegger bevegelsesbanen til roboten over tid.
Ruteplanlegger (Path planner): Finner optimale ruter fra start til mål.
Eksempel:

Oppgave: “Vinne ballen” → “Hvis gjenværende tid < 3 min OG vi leder, da (MoveToPos(Off-corner)).”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Multiple planning layers

Hva innebærer flere planleggingslag i robotikk?

A

Misjonsplanlegging (Mission Planning): Øverste lag som definerer overordnede mål.
Oppgaveplanlegging (Task Planning): Underliggende lag som spesifiserer detaljene for “hvordan” oppgavene skal utføres.

Eksempler:
Hovedoppgave: “Vinne ballen” → “Score mål ELLER Passere ballen.”
Deloppgave: “Vinne ballen” → (Stoppe den første angriperen ELLER Lukke rommet ELLER …).
Spesifikasjon for å stoppe angriperen: “Flytt til posisjon (i front av første angriper) ELLER …”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Integrating Planning and Execution (architecture)

Hvordan integreres planlegging og utførelse i robotikk?

A

Trenger en ny plan
Planner <————————– Executive

Planlegging blir påkallet av den utøvende enheten når nødvendig.
Den utøvende enheten venter til planen er returnert og forblir inaktiv i mellomtiden.
Eksempler: ATLANTIS, Remote Agent.
Effektiv i statiske systemer, men har begrensninger i omplanlegging og er best i forutsigbare situasjoner.

         Overvåk og lag ny plan Planner ------------------------------> Executive Den utøvende enheten mottar høy-nivå oppgaver fra planleggeren. Planleggeren overvåker fremdriften av oppgavene. I dynamiske miljøer kjører planleggingen kontinuerlig og omplanlegger etter behov (f.eks. 3T).

Andre beslutninger som må tas hensyn til:
1. Når å stoppe dekomponering:
- Jo høyere nivå, jo mer tidkrevende er prosessen.

  1. Hvor å overvåke:
    - Mer effektiv å overvåke på det utøvende nivået.
  2. Hvordan håndtere unntak:
    - På planleggingsnivå = Omplanlegging for å tilpasse seg endringer
    - Ved utøvende nivå = Bryte planleggerens forventinger når det oppsåt uforusette situasjoner
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvilke spørsmål bør vurderes når man bestemmer programvarearkitektur for roboter?

A

Oppgavetyper (Task types)
Handlinger(Actions)
Data
Beregningskapasiteter (Computational capabilities)
Robotbrukere (Robot users)
Robotvurdering (Robot evaluation)
Gjenbrukbarhet (Architecture reusability)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

1. Oppgavetyper (Task Types)

Hva bør vurderes angående oppgavetyper i robotikk?

A
  1. Hva er oppgavene roboten vil utføre?
    - Hvilke spesifikke oppgaver kreves?
    Semester oppgaven:
    To Turtlebots må finne qr kode og kommunisere hva som står på de(brann, katt etc), må vite sin posisjon til enhver tid, kommunisere med hverandre, bevege seg fram og tilbake, snu

2.Varighet av oppgaver:
- Er oppgavene langvarige eller kortvarige?
- Er de initiert av brukeren eller av roboten selv?
Kortvarig siden de skal gjennom en lite Labyrint og finne qr koder

3.Oppgaverepetisjon:
- Er oppgavene repetitive, eller varierer de over tid?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

2. Handlinger(Actions)

Hva bør vurderes angående handlinger i robotikk?

A

1.Nødvendige handlinger:
- Hvilke handlinger er nødvendige for å utføre oppgavene?
Sensor input fra veggene rundt for bevegelsen til roboten.
QR kode scanning (brann, katt, baby?)
Kommunikasjon mellom robotene

  1. Representasjon av handlinger:
    - Hvordan er disse handlingene representert i systemet?
    Input fra sensor: Lidar
    QR kode: something else
    Kommunikasjon: client-server?
  2. Koordinering av handlinger:
    - Hvordan koordineres handlingene for å sikre effektivitet?
  3. Hastighet for valg/endre handlinger:
    - Hvor raskt må handlinger velges eller endres?
  4. Sikkerhetshastighet:
    - Hvilken hastighet må hver handling utføres i for å holde roboten trygg?
17
Q

3. Data

Hva bør vurderes angående data i robotikk?

A
  1. Nødvendig data:
    Hvilken data er nødvendig for å utføre oppgavene?
  2. Datafangst:
    Hvordan vil roboten skaffe denne dataen fra miljøet eller brukerne?
  3. Sensorer:
    Hvilke sensorer vil produsere dataene?
  4. Datapresentasjon:
    Hvilke representasjoner vil bli brukt for dataene?
  5. Prosesser for databehandling:
    Hvilke prosesser vil abstrahere sensoriske data til interne representasjoner i arkitekturen?
  6. Oppdateringsfrekvens:
    Hvor ofte må dataene oppdateres?
  7. Oppdateringsgrense:
    Hvor ofte kan dataene oppdateres?
18
Q

4. Beregningskapasiteter (Computational capabilities)

Hva bør vurderes angående beregningskapasiteter i robotikk?

A
  1. Beregningsevner:
    Hvilke beregningskapabiliteter vil roboten ha?
  2. Data produsert:
    Hvilke data vil disse beregningskapabilitetene produsere?
  3. Data konsumert:
    Hvilke data vil de konsumere?
  4. Strukturering av kapabiliteter:
    Hvordan vil de beregningskapabilitetene bli delt, strukturert og sammenkoblet?
  5. Dekomponering/granularitet:
    Hva er den beste dekomponeringen/granulariteten av beregningskapabiliteter?
  6. Kunnskap om andre kapabiliteter:
    Hvor mye må hver beregningskapabilitet vite om de andre kapabilitetene?
  7. Legacy kapabiliteter:
    Finnes det eksisterende beregningskapabiliteter fra andre roboter eller prosjekter som vil bli brukt?
  8. Plassering av kapabiliteter:
    Hvor vil de forskjellige beregningskapabilitetene befinne seg (f.eks. ombord eller eksternt)?
19
Q

5. Robotbrukere (Robot users)

Hva bør vurderes angående robotbrukere i robotikk?

A
  1. Brukeridentifikasjon:
    Hvem er robotens brukere?
  2. Brukerkommandoer:
    Hva vil de kommmandere roboten til å gjøre?
  3. Informasjonsbehov:
    Hvilken informasjon vil brukerne ha fra roboten?
  4. Forståelse av kapabiliteter:
    Hvilken forståelse trenger brukerne om robotens beregningskapabiliteter?
  5. Statusinformasjon:
    Hvordan vil brukerne vite hva roboten gjør?
  6. Brukerinteraksjon:
    Er brukerinteraksjonen peer-to-peer, tilsynsbasert, eller som tilskuer?
20
Q

6. Robotvurdering (Robot evaluation)

Hva bør vurderes angående robotvurdering i robotikk?

A
  1. Evaluering av roboten:
    Hvordan vil roboten bli evaluert?
  2. Suksesskriterier:
    Hva er kriteriene for suksess?
  3. Feilmodi:
    Hva er mulige feilmodi for roboten?
  4. Tiltak mot feilmodi:
    Hva er tiltakene for å håndtere disse feilmodiene?
21
Q

7. Gjenbrukbarhet (Architecture reusability)

Hva bør vurderes angående gjenbrukbarhet av robotarkitektur?

A
  1. Oppgavegjenbruk:
    Vil robotarkitekturen bli brukt for mer enn ett sett med oppgaver?
  2. Robottyper:
    Kan arkitekturen brukes for mer enn én type robot?
  3. Utviklerteam:
    Vil flere team av utviklere kunne bruke arkitekturen?