Inconsistencies in Models of Adaptive Service Robots Ivan Ruchkin * PhD Student in Software Engineering Institute for Software Research Carnegie Mellon University * with images from Jonathan Aldrich, Javier Cámara, and Bradley Schmerl Software Research Seminar (SSSG) April 10, 2017
43
Embed
Inconsistencies in Models of Adaptive Service Robots
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Inconsistencies in Models ofAdaptive Service Robots
Ivan Ruchkin *PhD Student in Software Engineering
Institute for Software ResearchCarnegie Mellon University
* with images from Jonathan Aldrich, Javier Cámara, and Bradley Schmerl
Software Research Seminar (SSSG)April 10, 2017
2
Service robot missions
● Autonomy in the face of uncertainty● Timeliness, power, safety
3
Centralized online adaptation
4
Centralized online adaptation
Does it work?
5
How to check if it works
Run the system
6
How to check if it works
Run the system
Run the simulation
7
How to check if it works
Run the system
Run the simulation
Analyze the models
8
How to check if it works
Run the system
Run the simulation
Analyze the models
Analyze the code
9
How to check if it works
Run the system
Run the simulation
Analyze the models
Analyze the code
10
Plan for today
● Inconsistency 1: power● Inconsistency 2: turns● What is common? ● Tentative approach: detection
11
Inconsistency 1: power in simulation vs hardware
12
Inconsistency 1: power in simulation vs hardware
13
Inconsistency 1: power in simulation vs hardware
Model source: hardware experiments
14
Inconsistency 1: power in simulation vs hardware
Model source: hardware experiments
Simulation: fixed increments
Simulation
15
Inconsistency 1: power in simulation vs hardware
Model source: hardware experiments
Simulation: fixed increments
Simulation
16
Inconsistency 1: models
17
Inconsistency 1: models
18
Inconsistency 1: summary
● Hardware power predictions do not match the simulation– Initially optimistic, later pessimistic
● Obscured by mixing power dynamics– Mode switching
– CPU and sensors
● Definition: – What deviations are acceptable, over what time?
● Assurance: – Simulation, corner case tests
19
Inconsistency 2: turning in instruction graphs vs planning
20
Inconsistency 2: turning in instruction graphs vs planning
A
B
C
D
21
Inconsistency 2: turning in instruction graphs vs planning
A
B
C
D
Instructiongraph A B C D
22
Inconsistency 2: turning in instruction graphs vs planning
A
B
C
D
A Planning + cost(C)
B D
Instructiongraph A B C D
23
Inconsistency 2: turning in instruction graphs vs planning
A
B
C
D
A Planning + cost(C)
B D
Instructiongraph A B C D
State estimation = ?
24
Inconsistency 2: models
25
Inconsistency 2: models
26
● Planning and execution represent turning differently ● State estimation is uncertain during a turn
– If optimistic, can run out of power
– If pessimistic, can waste time on charging
● Definition: – Bound of utility loss from state estimation uncertainty
● Assurance: – Quantitative model checking
Inconsistency 2: summary
27
What is common?
A
B D
A B C D
Power in simulation/hardware Turns in planning/execution
28
Models: big picture
29
Models: big picture
30
Models: big picture
31
What is common?
A
B D
A B C D
Power in simulation/hardware Turns in planning/execution
● Several models with differing assumptions● Definition: bounded mismatch● Checking requires multiple semantics
32
Detecting Inconsistencies
33
Detecting Inconsistencies
1. Relate models ● Manual
34
Relating models
35
Relating models
36
Detecting Inconsistencies
1. Relate models ● Manual
2. Specify consistency properties● Manual
37
Specifying consistency
“Predicted and simulated power always stay within a fixed error bound”
□ ∀p, t · p = PowPred(t) → □ ( time = t → | PowSim – p | < ε)
38
Detecting Inconsistencies
1. Relate models ● Manual
2. Specify consistency properties● Manual
3. Find potential inconsistencies● Automated
39
Finding potential inconsistencies
40
Finding potential inconsistencies
41
Detecting Inconsistencies
1. Relate models ● Manual
2. Specify consistency properties● Manual
3. Find potential inconsistencies● Automated
4. Check if the consistency properties hold ● Automated