This repository contains the MATLAB implementation for constructing a Fuzzy-Powered Situation Hyperspace to enhance safety testing for autonomous systems, specifically focused on drones in underground mining environments.
Ensuring the safety of autonomous drones in the complex, uncertain Operational Design Domain (ODD) of underground mines is challenging due to the combinatorial explosion of possible testing scenarios. This project proposes a fuzzy logic-based approach to:
- Transform ODD parameters into linguistic fuzzy sets.
- Construct a situation hyperspace that maps these parameters to risk values.
- Prioritize high-risk situations for more efficient and effective safety testing at the design phase.
- Novel Fuzzification: A method to convert ODD parameters (e.g., corridor width and lighting levels) into linguistic fuzzy sets for fine-grained risk reasoning.
- Situation Hyperspace Generation: Systematic mapping of ODD parameters to a 3D hyperspace that highlights priority zones for safety testing.
- Risk-Sensitive Test Prioritization: A framework that identifies critical test cases and minimizes redundant evaluation of low-risk situations.
- Software: MATLAB (Version R2023b or later recommended).
- Toolboxes: Fuzzy Logic Toolbox.
- Simulator: SCALOFT Testbed (ROS and Gazebo Classic)
- This work builds on our previous implementation available at
SCALOFT Framework.
The framework is divided into two primary phases:
Identification of key environmental risk factors such as corridor width (defines lateral movement space) and lighting level (affects perception reliability).
- Fuzzification: Crisp sensor readings are quantized into membership functions (e.g., "Narrow," "Medium," "Wide").
- Fuzzy Inference Engine: Evaluates parameter interactions based on an expert-defined IF-THEN rule base to assess risk.
- Defuzzification: Aggregated fuzzy outputs are converted into numerical risk scores (0 to 1) for precise test prioritization.
This repository includes two primary MATLAB scripts that define the Fuzzy Inference Systems (FIS) used in the study:
This script implements the Disjoint Model.
- Logic: It uses non-overlapping, "sharp" trapezoidal membership functions (e.g.,
[1.001 1.001 3 3]). - Explanation: This acts as a binary classifier. A situation is either strictly "Safe" or "Unsafe" with no transition. It is used as a baseline to demonstrate how traditional rigid boundaries can underestimate risk at the edges of the ODD.
This script implements the Graded Situation Hyperspace framework proposed in the paper.
- Logic: It utilizes overlapping membership functions (e.g.,
[0 0 1 2.5]). - Explanation: By allowing overlap between sets (like "Narrow" and "Medium"), the system captures the "grey areas" of environmental uncertainty. This allows for smooth transitions in risk scores, identifying the medium-risk scenarios that are critical for safety-critical systems.
To use these models in MATLAB:
- Ensure the Fuzzy Logic Toolbox is installed.
- Run the script to load the FIS object into your workspace:
run('FuzzyODD_GradedInference.m')
The fuzzy-powered model was compared against a traditional disjoint (binary) model. Key findings include:
- Graded Risk Assessment: The fuzzy approach identifies significantly more medium-risk cases, capturing gradual variations rather than forcing binary safe/unsafe extremes.
- Reduced Underestimation: The fuzzy model more reliably flags safety-critical edge cases that are often misclassified as low-risk by disjoint models.
- Efficiency: Enables more effective prioritization without sacrificing coverage of hazardous conditions.
- Nawshin Mannan Proma
- Hasan Bin Firoz
- Colin Paterson
- Richard Hawkins
- Victoria Hodge
- Rob Alexander
Department of Computer Science
University of York, UK
This work is supported by the Centre for Assuring Autonomy (CfAA),
a partnership between Lloyd’s Register Foundation and the University of York.