SenseDSL: Automating the Integration of Sensors for MCU-based Robots and Cyber- Physical Systems
2007 DARPA Urban Challenge Autonomously driving vehicle Caroline participating in the 2007 DARPA Urban Challenge.
Experimental Miniature Vehicle Fleet 3
Experimental Miniature Vehicle Fleet Vehicle ¡ Camera ¡ L L L ODO ¡ ¡ ¡ ¡ ¡ A&G ¡ Ultra ¡sonic ¡ Infrared ¡ L ¡ ¡ L ¡ ¡ L ¡ ¡ L L Infrared ¡ Infrared ¡
Experimental Miniature Vehicle Fleet Component Component ID Connection Type RC Vehicle 1/10 scale electrically driven on-road vehicle Infrared Sensor SHARP GP2D120 ADC Ultrasonic Devantech SRF08 I2C Sensor Camera Logitech c525 USB Steer/Servo PWM ESC 1/10 Brushless ESC PWM Motor 1/10 Brushless Motor LED Board Self-assembled ADC Razor Board Razor-9DoF-IMU UART Discovery Board STM32F4-Discovery USB Application PandaBoard ES USB Board RC-Handset A3-STX Deluxe F.H.S.S Wireless RC Receiver A3-RX Deluxe F.H.S.S Wireless 5
Engineering the HW/SW interface Embedded ¡ Domain-‑ Embedded ¡ System ¡Data ¡ specific ¡PIN ¡ System ¡ Sheets ¡ Constraints ¡ Hardware ¡ Manual ¡ 6
Engineering the HW/SW interface • Total 14,689,111 configuration possibilities • Verification of a given pin assignment configuration • Finding a feasible/all possible/best pin assignment configuration for the interface board Mamun, ¡Berger, ¡and ¡Hansson: ¡Engineering ¡the ¡Hardware/SoLware ¡Interface ¡for ¡RoboNc ¡PlaOorms ¡– ¡A ¡Comparison ¡of ¡Applied ¡Model ¡Checking ¡with ¡Prolog ¡and ¡Alloy. ¡DSLRob’13 ¡ 7
Engineering the HW/SW interface Flashing Flashing Application Board LED Braking Camera LEDs LEDs LEDs Board left left P_039, P_138, P_140 PandaBoard ES + Linux Wheel Wheel RC- Motor Encoder 1 Encoder 2 Software/Hardware Interface Board Receiver Sensor A Sensor A PA8 PC6 Wheel Wheel PB7 PA1 Encoder 1 Encoder 2 ESC Steer PA7 Sensor B Sensor B PB14 PC8 PC9 PE5 STM32F4 Discovery Board + ChibiOS PD8 (TX) PC1 PC4 PC5 PD9 (RX) Infrared Infrared Infrared PB6 (SCL) Razor PB9 (SDA) Board Ultrasonic Ultrasonic Ultrasonic ADC I 2 C ICU PWM UART USB
Engineering the HW/SW interface Flashing Flashing Application Board LED Braking Camera LEDs LEDs LEDs Board left left P_039, P_138, P_140 PandaBoard ES + Linux Wheel Wheel RC- Motor Encoder 1 Encoder 2 Software/Hardware Interface Board Receiver Sensor A Sensor A PA8 PC6 Wheel Wheel PB7 PA1 Encoder 1 Encoder 2 ESC Steer PA7 Sensor B Sensor B PB14 PC8 PC9 PE5 STM32F4 Discovery Board + ChibiOS PD8 (TX) PC1 PC4 PC5 PD9 (RX) Infrared Infrared Infrared PB6 (SCL) Razor PB9 (SDA) Board Ultrasonic Ultrasonic Ultrasonic ADC I 2 C ICU PWM UART USB
Model Checking & Code Generation
Model Checking & Code Generation
Conclusion • HW/SW integration is a constraint-satisfaction problem • Engineering the HW/SW interface with MDE: – Our embedded system: >14.5 million configuration possibilities – Automated verification of a given pin assignment configuration – Side effect: Finding a feasible/all possible/best pin assignment configuration for the interface board • Intuitive workflow: – Description of facts – Description of desired setup – Let model transformation automagically do the rest! http://www.christianberger.net/uproxy 12
Recommend
More recommend