MDE-based Sensor Management and Verification for a Self-Driving - - PowerPoint PPT Presentation
MDE-based Sensor Management and Verification for a Self-Driving - - PowerPoint PPT Presentation
MDE-based Sensor Management and Verification for a Self-Driving Miniature Vehicle Christian Berger Md Abdullah Al Mamun Jrgen Hansson Division of Software Engineering Department of Computer Science & Engineering The 13th Workshop on
2
3
4
5
Realizing Sensor Layout
Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared
Power Supply
LED Board
PandaBoard ES
USB I2C Power PWM UART ADC
Infrared Ultrasonic Ultrasonic Ultrasonic ESC
STM32F4 Discovery Board
Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5
Pxy = Connection PIN
P_138 P_140
Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4
ICU
PB7 PB14 PA1 PA7 P_039
MDE-based Sensor Management
- DSL to manage sensor layouts and constraints for
different use cases:
– Use Case A: Evaluating sensor layout – Use Case B: Checking realizability of desired sensor layout
DSL Meta-Model
- Sensors
- Sensor
Properties
- Configuration
Properties
- Execution
Platform
- Application
Platform
- Unit Types
7
Use Case A: Evaluating Sensor Layout
Test%3D%track%from%the%simula3on%%
9
Test%2D%track%from%the%simula3on%%
irus.numberOfSensors%=%5% irus.showPolygons%=%1% ...% irus.sensor2.id%=%2% irus.sensor2.name%=%Infrared_RearRight% irus.sensor2.rotZ%=%F90.0% irus.sensor2.transla3on%=%(F1.0;F1.0;0.0)% irus.sensor2.angleFOV%=%5.0% irus.sensor2.distanceFOV%=%3.0% irus.sensor2.clampDistance%=%2.9% irus.sensor2.showFOV%=%1%
InstanceModel.xmi%
1 2 3 3 3
Use Case B: Checking Realizability
10
Tabular representation of configuration space for multiplexed pins.
Embedded% System% Hardware% Manual% Embedded% System%Data% Sheets% DomainF specific%PIN% Constraints%
Use Case B: Checking Realizability
11
Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared
Power Supply
LED Board
PandaBoard ES
USB I2C Power PWM UART ADC
Infrared Ultrasonic Ultrasonic Ultrasonic ESC
STM32F4 Discovery Board
Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5
Pxy = Connection PIN
P_138 P_140
Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4
ICU
PB7 PB14 PA1 PA7 P_039
Use Case B: Checking Realizability
12
Use Case B: Checking Realizability
edge(root, final, -). edge(root, pin1, analog). edge(root, pin2, analog). edge(root, pin2, i2c). edge(pin1, pin2, analog). edge(pin1, pin2, i2c). edge(pin1, final, -). edge(pin2, final, -).
13
Configuration graph in Prolog:
- Realizability check as graph traversal problem in Prolog:
Use Case B: Checking Realizability
14
“Inference engine” realized as constraint-based graph traversal:
Use Case B: Checking Realizability
verify(RequiredProperties, Path) :- path(root, final, Path, RequiredProperties). verify([analog, i2c], P)
15
“User interface” to solve the verification query in Prolog: Checking realizability for configurations up to a length of 5: Calling the user interface with a desired configuration:
Conclusion & Work in-Progress
- Sensor-layout specification and management language as
single-point-of-truth:
– Configure experiments in the simulation environment – Check realizability on the desired embedded system – Generate code for the HAL of the embedded system
- Engineering the HW/SW interface:
– Our embedded system: >14.5 million configuration possibilities – Finding a feasible/all possible/the best pin assignment configuration for the interface board – Experimenting with Prolog and Alloy to check realizabilityThank you!
16
Thank you!
17 Use Case A: Evaluating Sensor Layout
Test%3D%track%from%the%simula3on%%
11
Test%2D%track%from%the%simula3on%%
irus.numberOfSensors%=%5% irus.showPolygons%=%1% ...% irus.sensor2.id%=%2% irus.sensor2.name%=%Infrared_RearRight% irus.sensor2.rotZ%=%F90.0% irus.sensor2.transla3on%=%(F1.0;F1.0;0.0)% irus.sensor2.angleFOV%=%5.0% irus.sensor2.distanceFOV%=%3.0% irus.sensor2.clampDistance%=%2.9% irus.sensor2.showFOV%=%1%
InstanceModel.xmi%
1 2 3 3 3
Use Case B: Checking Realizability
15
Use Case B: Checking Realizability
verify(RequiredProperties, Path) :- path(root, final, Path, RequiredProperties). verify([analog, i2c], P)
18
“User interface” to solve the verification query in Prolog: Checking realizability for configurations up to a length of 5: Calling the user interface with a desired configuration:
5
Realizing Sensor Layout
Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared
Power Supply
LED Board
PandaBoard ES
USB I2C Power PWM UART ADC
Infrared Ultrasonic Ultrasonic Ultrasonic ESC
STM32F4 Discovery Board
Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5
Pxy = Connection PIN
P_138 P_140
Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4
ICU
PB7 PB14 PA1 PA7 P_039