SenseDSL: Automating the Integration of Sensors for MCU-based Robots and CyberPhysical 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 L L Infrared L L L ODO Vehicle A&G L L L Camera Ultra sonic 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 Sensor Camera Devantech SRF08 I2C 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 Board RC-Handset PandaBoard ES USB 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 System Hardware Manual Embedded System Data Sheets Domain-‐ specific PIN Constraints 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 LED Board Camera Flashing LEDs left Braking LEDs Flashing LEDs left P_039, P_138, P_140 PandaBoard ES + Linux Wheel Encoder 2 Sensor A PA1 Wheel Encoder 1 Sensor B RCReceiver Wheel Encoder 2 Sensor B PB14 PE5 PA8 PC6 PA7 Wheel Encoder 1 Sensor A PB7 Software/Hardware Interface Board Application Board Engineering the HW/SW interface Motor ESC Steer PC8 PC9 STM32F4 Discovery Board + ChibiOS PC1 PC4 Infrared Infrared Ultrasonic Ultrasonic ADC I2C PD8 (TX) PD9 (RX) PC5 ICU Infrared PB6 (SCL) PB9 (SDA) Razor Board Ultrasonic PWM UART USB LED Board Camera Flashing LEDs left Braking LEDs Flashing LEDs left P_039, P_138, P_140 PandaBoard ES + Linux Wheel Encoder 2 Sensor A PA1 Wheel Encoder 1 Sensor B RCReceiver Wheel Encoder 2 Sensor B PB14 PE5 PA8 PC6 PA7 Wheel Encoder 1 Sensor A PB7 Software/Hardware Interface Board Application Board Engineering the HW/SW interface Motor ESC Steer PC8 PC9 STM32F4 Discovery Board + ChibiOS PC1 PC4 Infrared Infrared Ultrasonic Ultrasonic ADC I2C PD8 (TX) PD9 (RX) PC5 ICU Infrared PB6 (SCL) PB9 (SDA) Razor Board Ultrasonic 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
© Copyright 2024 ExpyDoc