Using Simulation, Fault Injection and Property-Based Testing to Evaluate Collision Avoidance of a Quadcopter System

In this work we use our testing platform based on FaultCheck and QuickCheck that we apply on a quad copter simulator. We have used a hardware platform as the basis for the simulator and for deriving realistic fault models for our simulations. The quad copters have a collision-avoidance mechanism that shall take over control when the situation becomes hazardous, steer away from the potential danger and then give control back to the pilot, thereby preventing collisions regardless of what the pilot does. We use our testing platform to randomly generate thousands of simulations with different input stimuli (using QuickCheck) for hundreds of quad copters, while injecting faults simultaneously (using FaultCheck). This way, we can effectively adjust system parameters and enhance the collision-avoidance mechanism.

[1]  Neeraj Suri,et al.  PROPANE: an environment for examining the propagation of errors in software , 2002, ISSTA '02.

[2]  Maria Lindén,et al.  Signal processing algorithms for temperauture drift in a MEMS-gyro-based head mouse , 2014, IWSSIP 2014 Proceedings.

[3]  Johan Karlsson,et al.  A comparison of simulation based and scan chain implemented fault injection , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[4]  J. Vinter,et al.  FISCADE - A Fault Injection Tool for SCADE Models , 2007 .

[5]  Magnus Jonsson,et al.  Combining Fault-Injection with Property-Based Testing , 2013, ES4CPS@DATE.

[6]  Johan Karlsson,et al.  GOOFI: generic object-oriented fault injection tool , 2001, 2001 International Conference on Dependable Systems and Networks.

[7]  Johan Karlsson,et al.  Fault injection into VHDL models: the MEFISTO tool , 1994 .

[8]  Ravishankar K. Iyer,et al.  DEPEND: A Simulation-Based Environment for System Level Dependability Analysis , 1997, IEEE Trans. Computers.

[9]  Sebastian Madgwick,et al.  Estimation of IMU and MARG orientation using a gradient descent algorithm , 2011, 2011 IEEE International Conference on Rehabilitation Robotics.

[10]  Henrik Eriksson,et al.  Model-Implemented Fault Injection for Hardware Fault Simulation , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.

[11]  Ravishankar K. Iyer,et al.  Experimental evaluation , 1995 .

[12]  Henrik Eriksson,et al.  MODIFI: A MODel-Implemented Fault Injection Tool , 2010, SAFECOMP.

[13]  Johan Karlsson,et al.  GOOFI-2: A tool for experimental dependability assessment , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

[14]  John Hughes,et al.  Testing telecoms software with quviq QuickCheck , 2006, ERLANG '06.

[15]  Lars-Åke Fredlund,et al.  Property-Based Testing - The ProTest Project , 2009, FMCO.

[16]  Jean Arlat,et al.  Fault Injection for Dependability Validation: A Methodology and Some Applications , 1990, IEEE Trans. Software Eng..

[17]  Henrique Madeira,et al.  RIFLE: A General Purpose Pin-level Fault Injector , 1994, EDCC.

[18]  Algirdas Avižienis Proceedings of the Twenty-Fifth international conference on Fault-tolerant computing , 1995 .

[19]  Mats Per Erik Heimdahl,et al.  Model-Based Safety Analysis of Simulink Models Using SCADE Design Verifier , 2005, SAFECOMP.

[20]  Johan Karlsson,et al.  Using heavy-ion radiation to validate fault-handling mechanisms , 1994, IEEE Micro.

[21]  Volkmar Sieh,et al.  VERIFY: evaluation of reliability using VHDL-models with embedded fault descriptions , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.