A Simulation-Based Approach to Aid Development of Software-Based Hardware Failure Detection and Mitigation Algorithms of a Mobile Robot System
<p>Proposed methodology flow-chart. Tables at both sides follow the structure indicated in [<a href="#B3-sensors-22-04665" class="html-bibr">3</a>], while the central one follows the HSIA described in [<a href="#B2-sensors-22-04665" class="html-bibr">2</a>]. List of abbreviations from the left to right: severity (S), failure mode (FM), failure cause (FC), detectability (D), occurrency (O), action priority (AP).</p> "> Figure 2
<p>A 3D rendering of the Ardito Rover developed by the D.I.A.N.A. student team of Politecnico di Torino.</p> "> Figure 3
<p>Scheme of the implemented simulation environment, with indication of the chosen software.</p> "> Figure 4
<p>Mobility system hierarchical organisation.</p> ">
Abstract
:1. Introduction
2. State of the Art
- Functional safety;
- HARA and FMEA;
- FMEDA and fault injection;
- The simulation environment;
- The background of the proposed approach.
2.1. Functional Safety
- The system dependability has to be taken into account in all the phases;
- A hazard analysis and risk assessment (HARA) is needed to formalize the requirements;
- An FMEA is required to be performed;
- It is necessary to assess if the design is able to achieve all the requirements found during the HARA and FMEA.
2.2. FMEA and HARA
- FMEA can take into consideration only one failure mode (a component can fail in different manners for different causes) at a time, so it cannot assess the effect of correlated or contemporary faults;
- There is a lack in objectivity, in particular when FDIR mechanisms are implemented thanks to the embedded software;
- There is a lack in repeatability;
- They are time-consuming activities.
- Improve the repeatability thanks to model and workload definitions. These allow repeating the simulations in a deterministic way (with the only limitation on the quality of the adopted models). This aspect is an improvement with regards to the proposals introduced by [8,9], where classification tables aid the HARA. In this case, classification tables are compared against the simulation results and not with the estimation of the human experts, in a similar way as it has been performed in [10];
- Improve the objectivity thanks to the simulation results [10];
- Speed up the analysis: simulations are faster with respect to a handmade analysis. Concerning the models, it is possible to re-use those developed to design the control systems in nominal conditions. Moreover, if it is possible to describe (as in this case) the fault models only at the behavioral level, they are simple to develop.
2.3. FMEDA and Fault Injection
- Fault injector (or saboteur) to inject faults into the target system;
- Fault library, a collection of semi-formal descriptions, suitable for the chosen simulation environment of those failure modes we are interested in;
- Mission database to describe the specific tasks we want to complete with the system when used for the purposes for which it has been designed for;
- Controller to coordinate all the set-up components;
- Monitor to log all events happening during the injection;
- Data collector to perform data collection;
- Data analyzer to perform data processing and analysis.
2.4. Simulation Environment
- The physical process to be controlled. In this case, this refers to the mobility system of the rover itself;
- Sensors. In this case, this refers to the absolute encoders mounted on the hinges of the rocker-bogie and the steering systems for the external wheels, and the relative encoders on the hubs of the wheels;
- An analog electronics input conditioning stage (to adapt sensos outputs to processing state inputs);
- A processing stage (usually a microcontroller);
- An analog electronics output conditioning stage (to adapt processing stage outputs to actuator inputs);
- Actuators and their accessories (in this case the reduction gears).
2.5. Background of the Proposed Approach
3. Proposed Approach
- FDIR performance assessment;
- The simulation environment;
- A description of the fault models adopted for the FMs affecting the components of the benchmark application.
3.1. FDIR Performances Assessment
3.1.1. Phase 5 AIAG&VDA
3.1.2. HSIA (ECSS-Q-ST-30-02C) and Phase 6 (AIAG&VDA)
- An emergency procedure to move the system into a safe state (fail-safe behavior);
- An action to isolate the fault, avoiding its propagation to the rest of the system;
- An algorithm to mitigate the FM effects (fail-operational behaviors).
3.2. Simulation System
- A saboteur that modifies both the circuit and the mechanical models to simulate the FM we want to inject;
- A missions database, which is a file containing the descriptions of the scenario and operative conditions in which we want to assess the effects of the FMs;
- Electronic and mechanical simulators, which are in charge of performing the SPICE-level simulation of the analog conditioning system and the mechanical simulation of the rover, respectively. An interoperability layer is provided to put in communication with the two domain-specific simulators;
- A failure modes or causes list, which is a file containing the list of the FMs for each of the component classes of the considered system and a set of instructions, interpretable by the saboteurs, on how to inject them into the simulation environment;
- Embedded software, the code that will implement the detection and mitigation strategies in the considered system;
- A controller, the function that manages the fault injector and the circuit simulator;
- A system-level classifier, which applies the classification rules to assess the FM effect in terms of severity. Adding redundant components makes it possible to spread the severity level of the missing or not correctly done functions on different subsystems. The approach verifies that the redundant modules work properly in failure isolation and recovery (mitigation). It can also trace the detection performed by the embedded software, showing when the detection algorithm works appropriately or when a false positive (detection of an FM that does not exist) or false negative (an actual FM is not recognized) occurs.
3.3. Fault Models
- Model-based (structural or parametric), if implemented by modifying the physical model (structural) or the parameters (parametric) on which the component relies to perform its functionality;
- Signal-based (behavioral), if the injection is done by changing a signal produced by the affected component.
3.3.1. Sensors
- Absolute encoders: when one of them fails, it provides a position readout equal to its zero position (0 deg in the simulation).
- Relative encoders: when one of them fails, it provides a speed readout equal to zero (hence 0 rpm).
- Hall effect speed sensors: similar to the relative encoders, when one of them fails, it provides a random speed readout.
3.3.2. Passive Components
- Reduction gears: when one of them fails, it remains stuck, preventing the affected wheel from rotating.
3.3.3. Actuators
- Clutches: the considered ones are normally open. They are monostable, so when their solenoid is operated, they transfer torque from the motor to the wheel. When one fails, the traction control can no longer engage it, so the traction motor cannot provide torque to the affected wheel.
- Traction motors: when one of them fails, it remains stuck. Due to the presence of the reduction gear, the affected wheel remains stuck. Due to this effect, the need to install a clutch between the traction motor and its reduction gear.
- Steering motors: when one of them fails, it remains stuck. Due to the presence of the reduction gear, it is not possible to move the wheel, which remains with the relative angle applied by the motor the last time it was able to operate.
3.4. Classification Rules
- A comparison between fault-free and fault-affected simulation outcomes;
- Specification-based, where the expected behavior can be compared with the expected one reported on the item specifications.
4. Experimental Setup
4.1. Mobility System
- Six traction brushless direct current (BLDC) motors (TM);
- Six traction reduction gears (TRG);
- Six clutches between the traction motors (TC);
- Four steering stepper motors (SM);
- Four reduction gears for the steering motors (SGR);
- Six relative encoders installed on the traction motors (speed of the motor) (E-TM);
- Six relative encoders installed on the traction reduction gears (speed of the wheel) (E-TRG);
- Six hall effect speed sensors installed on the wheels (H-TRG);
- Three absolute encoders, 2 installed on both rocker-bogie hinges, the other on the torsion bar one;
- Four absolute encoders installed on the steering motors (position of the steering motor) (E-SM);
- Four absolute encoders installed on the steering after the reduction gears (position of the wheel) (E-SGR).
4.2. Setup of the Simulation Environment
4.2.1. Fault Injection
4.2.2. Data Logging
5. Improvement Measures
5.1. Summary of the FMEA
5.2. Taken Actions
5.2.1. Detection Algorithms (Traction Subsystem)
5.2.2. First-Level Detection Algorithms (Traction Subsystem)
- If both the measurements are 0, it has no sense to perform the comparison;
- If one of the inputs is equal to 0 and the other is not not, their difference is compared with a threshold equal to 2 rpm; the 2 rpm threshold has been chosen to avoid possible divisions by 0;
- If both the inputs are different from 0, their difference, normalized by the first input, is compared with a threshold equal to (corresponding to a disparity).
- TF1 (E-TM/Wheel velocity command). The flag TF1 is raised when the difference between the wheel velocity command and the velocity measured by the encoder E-TM installed on the motor shaft is greater than the threshold.
- TF2 (H-TM/Wheel velocity command). The flag TF2 is raised when the difference between the wheel velocity command and the velocity measured by the hall sensor H-TM installed inside the motor is greater than the threshold.
- TF3 (E-TM/H-TM). The flag TF3 is raised when the difference between the velocity measured by the encoder E-TM installed on the wheel and the one measured by the hall sensor H-TM installed inside the motor is greater than the threshold.
- TF4 (E-TM/E-TRG). The flag TF4 is raised when the difference between the velocity measured by the encoder E-TM installed on the wheel and the one measured by the encoder E-TRG installed on the reduction gear (divided by the reduction ratio of the gear itself to obtain a comparable value) is greater than the threshold.
- TF5 (H-TM/E-TRG). The flag TF5 is raised when the difference between the velocity measured by the hall sensor H-TM installed on the wheel and the one measured by the encoder E-TRG installed on the reduction gear (divided by the reduction ratio of the gear itself to obtain a comparable value) is greater than the threshold.
- TF6 (E-TRG/Wheel velocity command). The flag TF6 is raised when the difference between the wheel velocity command and the one measured by the encoder E-TRG installed on the reduction gear (divided by the reduction ratio of the gear itself to obtain a comparable value) is greater than the threshold.
5.2.3. Second-Level Detection Algorithms (Traction Subsystem)
- All flags cleared: no plausibility problems are detected; hence no failures are affecting the sensors; there is 1 combination of this kind.
- 1 flag set: the state is incoherent but tolerated without triggering any mitigation; there are 6 combinations of this kind.
- 2 flags set: the state is incoherent but tolerated without triggering any mitigation; there are 15 combinations of this kind.
- 3 flags set: 6 of them represent with certainty the failure of a component, while 14 are not sufficient to determine the affected sensors and are hence tolerated without triggering any mitigation; there are 20 combinations of this kind.
- 4 flags set: no one of them is sufficient to represent with certainty the failure of a component, but if one or more subsets of three flags are one of the 6 sufficient to represent a failure, these failures are taken into account. If not, the wheel is considered in the all-flag set condition; there are 15 combinations of this kind.
- 5 flags set: each one of the possible combinations is sufficient to determine the components affected by faults. Hence, they are managed without considering the subsets of three flags; there are 6 possible combinations of this kind.
- All flags set: it is impossible to reconstruct the state from the sensors, so the affected wheel is no longer monitored; there is 1 combination of this kind.
5.2.4. Internal Mitigation Algorithms (Traction Subsystem)
- Internal: it is possible to isolate this failure at the wheel level without involving a change of the whole rover behavior or/and sensors of other wheels;
- External: it is impossible to manage this failure without involving behavioral changes at the rover level or without using sensors’ external feedback from the affected wheel.
- H-TM: This uses the best feedback between E-TM, divided by the gear ratio, and E-TRG.
- E-TM: This uses the best feedback between H-TM, divided by the gear ratio, and E-TRG.
- E-TRG: This uses the best feedback between E-TM and H-TM, both divided by gear ratio.
5.2.5. External Mitigation Algorithms (Traction Subsystem)
- TRG and TM.(Internal) It opens the clutch (TC) to disengage the motor from the wheel.(External) The traction control recomputes the torques to the other wheels to consider the impossibility for the affected wheel to generate torque to move the rover.
- TC.(Internal) Stops the motor (only to save battery energy) since the TC failure prevents the motor from applying torque on the wheel.(External) The same as for TRG and TM.
- H-TM + E-TM or E-TRG + H-TM or H-TM + E-MT (only one of the three).(Internal) It uses the still-working speed sensor to feed the rover and motor speed control loop.(External) Applies the “inverse kinematic” model of the rover to estimate the speed of the affected wheel to choose the encoder still working correctly and formulate the dual failure diagnosis.
- All encoders.(Internal) It configures the motor control routine in the sensorless mode.(External) Applies the “inverse kinematic” model of the rover to estimate the speed of the affected wheel to check if the motor is working correctly.
- All encoders + TC and/or + TM and/or TRG.(Internal) Stops the motor.(External) The traction control recomputes the torques to the other wheels, taking into account the impossibility for the affected wheel to generate torque to move the rover.
5.2.6. Detection Algorithms (Steering Subsystem)
- SF1. The flag SF1 is raised when the difference between the angle required for the motor, the position read from the encoder on the motor (E-SM) and the angular position of the motor is greater than 2 rad.
- SF2. The flag SF2 is raised when the difference between the angle measured by the motor (E-SM) encoder is divided by 50, and the angle measured by the encoder on the reduction gear (E-SGR) is greater than the angle measured by the encoder 0.04 rad. (The angle 0.04 rad downstream of the gear is equal to 2 rad upstream of it, taking the gear ratio of the steering system into account, so 2/50 = 0.04).
- SF3. The flag SF3 is raised when the difference between the angle measured by the encoder on the motor (E-SM) and by the encoder on the reduction gear (E-SGR) is greater than 0.04 rad.
5.2.7. Internal Mitigation Algorithms (Steering Subsystem)
- E-SM. This algorithm uses the feedback given by the steering gear reduction encoder E-SGR.
- E-SGR. This algorithm uses the feedback given by steering motor encoder E-SM.
5.2.8. External Mitigations Algorithms (Steering Subsystem)
- SM;
- SGR;
- E-SM + SM;
- E-SM + SGR;
- E-SGR + SM;
- E-SGR + SGR;
- E-SM + E-SGR.
6. Simulation Results
- Fault time tolerance interval (FTTI) [5]: time-span in which a fault or faults can be present in a system before a hazardous event occurs.
- Fault reaction time interval (FRTI) [5]: time span from the detection of a fault to reaching the safe state.
- Injection time : the time (from the start of the simulation) in seconds when the considered fault has been injected.
- Detection time : the time (from the start of the simulation) in seconds when the system has detected the considered fault.
- Diagnostic time interval : the difference between the detection time and the injection time, hence .
- Mitigation time : the time when the mitigation algorithm has brought the system to a safe state.
- Mitigation delay : the difference between the time when the mitigation algorithm has put the system in a safe state and when the fault has been injected, hence . It is needed that .
6.1. Achieved Performances
6.2. Discussion of Results
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
Diagnostic time interval | |
Mitigation delay | |
Detection time | |
Injection time | |
Mitigation time | |
AIAG | Automotive Industry Action Group |
AP | Action priority |
API | Application program interface |
BLDC | Brushless direct current |
CAD | Computer-aided design |
COTS | Commercial off-the-shelf |
CSV | Comma separated values (file) |
ECU | Electronic control unit |
E-SM | Absolute encoder installed to measure the position of the SM |
E-SRG | Absolute encoder installed on the steering after the SRG |
E-TM | Relative encoder installed on the TM |
E-TRG | Relative encoder installed on the TRG |
FC | Failure cause |
FDIR | Fault detection, isolation, and recovery |
FM | Failure mode |
FMEA | Failure mode and effect analysis |
FMEDA | Failure mode, effect and diagnostic analysis |
FRTI | Fault reaction time interval |
FTTI | Fault tolerance time interval |
HARA | Hazard analysis and risk assessment |
HSIA | Hardware-software interaction analysis |
H-TRG | Hall effect speed sensor installed on the TRG |
MQTT | Message queue telemetry transport |
RHF | Random hardware faults |
SF | Steering flag |
SM | Steering stepper motor |
SRG | Steering reduction gear |
TC | Clutch between the TM and TRG |
TF | Traction flag |
TM | Traction motor |
TRG | Traction reduction gear |
VDA | German Association of the Automotive Industry |
References
- Winter, M.; Rubio, S.; Lancaster, R.; Barclay, C.; Silva, N.; Nye, B.; Bora, L. Detailed description of the high-level autonomy functionalities developed for the ExoMars Rover. In Proceedings of the 14th Symposium on Advanced Space Technologies in Robotics and Automation, Leiden, The Netherlands, 20–22 June 2017. [Google Scholar]
- ECSS-Q-ST-30-02C; Failure Modes, Effects (and Criticality) Analysis (FMEA/FMECA)—(6 March 2009). European Cooperation for Space Standardization: Noordwijk, The Netherlands, 2009.
- AIAG. Automotive Industry Action Group (AIAG) and Verband Automobilindustrie (VDA), AIAG & VDA FMEA Handbok; AIAG: Southfield, MI, USA, 2019; ISBN 9781605343679. [Google Scholar]
- IEC 61508-1:2010; Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems—Parts 1. IEC: Geneva, Switzerland, 2010.
- ISO 26262:2018; Road Vehicles—Functional Safety. ISO: London, UK, 2018.
- CEI EN 50126; Railway Applications—The Specification and Demonstration of Reliability, Availability, Maintainability and Safety (RAMS). Available online: https://standards.iteh.ai/catalog/standards/clc/e5456892-eb2c-437e-8c4b-91c08007f0b4/en-50126-1-2017 (accessed on 28 May 2022).
- RTCA DO-178C; Software Considerations in Airborne Systems and Equipment Certification. RTCA: Parañaque, Philippines, 2011.
- Siddartha, K.; Birrell, S.; Dhadyalla, G.; Sivencrona, H.; Jennings, P. Towards increased reliability by identification of Hazard Analysis and Risk Assessment (HARA) of automated automotive systems. Saf. Sci. 2017, 99, 166–177. [Google Scholar] [CrossRef]
- Jang, H.A.; Kwon, H.M.; Hong, S.; Lee, M.K. A study on situation analysis for ASIL determination. J. Ind. Intell. Inf. 2015, 3, 152–157. [Google Scholar] [CrossRef]
- Sini, J.; Violante, M. A simulation-based methodology for aiding advanced driver assistance systems hazard analysis and risk assessment. Microelectron. Reliab. 2020, 109, 113661. [Google Scholar] [CrossRef]
- Ziade, H.; Ayoubi, R.A.; Velazco, R. A survey on fault injection techniques. Int. Arab J. Inf. Technol. 2004, 1, 171–186. [Google Scholar]
- Benso, A.; Prinetto, P. Fault Injection Techniques and Tools for Embedded System Reliability Evaluation; Kluwer: Alphen aan den Rijn, The Netherlands, 2003. [Google Scholar]
- Arlat, J.; Cruzet, Y.; Laprie, J.C. Fault Injection for dependability validation of fault-tolerant computing systems. In Proceedings of the 19th International Symposium on Fault-Tolerant Computing, Chicago, IL, USA, 21–23 June 1989; pp. 348–355. [Google Scholar]
- Sini, J.; Violante, M.; Tronci, F. A Novel ISO 26262-Compliant Test Bench to Assess the Diagnostic Coverage of Software Hardening Techniques against Digital Components Random Hardware Failures. Electronics 2022, 11, 901. [Google Scholar] [CrossRef]
- Sini, J.; Violante, M. An Automatic approach to Perform FMEDA Safety Assessment on Hardware Designs. In Proceedings of the IEEE 24th International Symposium on On-Line Testing And Robust System Design IOLTS), Platja d’Aro, Spain, 2–4 July 2018. [Google Scholar] [CrossRef]
- Piumatti, D.; Sini, J.; Borlo, S.; Sonza Reorda, M.; Bojoi, R.; Violante, M. Multilevel Simulation Methodology for FMECA Study Applied to a Complex Cyber-Physical System. Electronics 2020, 9, 1736. [Google Scholar] [CrossRef]
- Sini, J.; D’Auria, M.; Violante, M. Towards Vehicle-Level Simulator Aided Failure Mode, Effect, and Diagnostic Analysis of Automotive Power Electronics Items. In Proceedings of the 2020 IEEE Latin-American Test Symposium (LATS), Maceio, Brazil, 30 March–2 April 2020; pp. 1–6. [Google Scholar] [CrossRef]
- Yang, C.; Yang, C.; Peng, T.; Yang, X.; Gui, W. A fault injection strategy for Traction Drive Control System. IEEE Trans. Ind. Electron. 2017, 64, 5719–5727. [Google Scholar] [CrossRef]
- Yongming, W.; Xiaoliu, Y.; Wencheng, T. Analysis of Obstacle-Climbing Capability of Planetary Exploration Rover with Rocker-Bogie Structure. In Proceedings of the 2009 International Conference on Information Technology and Computer Science, Kiev, Ukraine, 8–11 August 2009; pp. 329–332. [Google Scholar] [CrossRef]
- Toupet, O.; Biesiadecki, J.; Rankin, A.; Steffy, A.; Meirion-Griffith, G.; Levine, D.; Schadegg, M.; Maimone, M. Traction control design and integration onboard the Mars science laboratory curiosity rover. In Proceedings of the 2018 IEEE Aerospace Conference, Big Sky, MT, USA, 3–10 March 2018; pp. 1–20. [Google Scholar] [CrossRef]
- Gonzalez, R.; Apostolopoulos, D.; Iagnemma, K. Improving rover mobility through traction control: Simulating rovers on the Moon. Auton Robot 2019, 43, 1977–1988. [Google Scholar] [CrossRef]
- CoppeliaSim. Available online: https://www.coppeliarobotics.com/ (accessed on 15 December 2020).
- MathWorks MATLAB. Available online: https://www.mathworks.com/ (accessed on 15 December 2020).
- Michel, D.; McIsaac, K. New rocker-bogie and terramechanics-based wheel/soil interaction models for planetary rovers. In Proceedings of the 2012 IEEE International Conference on Mechatronics and Automation, Chengdu, China, 5–8 August 2012; pp. 2417–2422. [Google Scholar] [CrossRef]
- Setterfield, T.P.; Ellery, A. Terrain Response Estimation Using an Instrumented Rocker-Bogie Mobility System. IEEE Trans. Robot. 2013, 29, 172–188. [Google Scholar] [CrossRef]
Group number | TM | TRG | TC | H-TM | E-TM | E-TRG | SM | SRG | E-SM | E-SRG | Action at the Rover Level |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | x | x | x | x | x | x | x | 1 | x | x | Stop. |
2 | x | x | x | x | x | x | 1 | x | x | x | Stop. |
3 | 1 | 0 | x | b | b | b | 0 | 0 | a | a | Fail (mitigation). |
4 | x | 1 | x | x | x | x | x | x | x | x | Stop. |
5 | x | 0 | 1 | b | b | b | 0 | 0 | a | a | Fail (rover can work). |
6 | 0 | 0 | 0 | b | b | b | 0 | 0 | 1 | 0 | No degradation. |
7 | 0 | 0 | 0 | b | b | b | 0 | 0 | 0 | 1 | No degradation. |
8 | 0 | 0 | 0 | b | b | b | 0 | 0 | 1 | 1 | Stop. |
9 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | a | a | Stop. |
10 | 0 | 0 | 0 | b | b | 1 | 0 | 0 | a | a | No degradation (but check configuration of the rover in order to determine if TRG is failed or not). |
11 | 0 | 0 | 0 | 1 | b | b | 0 | 0 | a | a | No degradation. |
12 | 0 | 0 | 0 | b | 1 | b | 0 | 0 | a | a | No degradation. |
13 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | a | a | No degradation (use as motor feedback the reduction feedback multiplied by 50). |
Wheel Velocity Command | E-TM | H-TM | E-TRG | |
---|---|---|---|---|
Wheel velocity command | - | TF1 | TF2 | TF6 |
E-TM | TF1 | - | TF3 | TF4 |
H-TM | TF2 | TF3 | - | TF5 |
E-TRG | TF6 | TF4 | TF5 | - |
Components | TF1 | TF2 | TF3 | TF4 | TF5 | TF6 |
---|---|---|---|---|---|---|
None | 0 | 0 | 0 | 0 | 0 | 0 |
H-TM | 0 | 1 | 1 | 0 | 1 | 0 |
E-TM | 1 | 0 | 1 | 1 | 0 | 0 |
E-TRG | 0 | 1 | 1 | 0 | 1 | 0 |
TM | 1 | 1 | 0 | 0 | 0 | 1 |
TRG | 1 | 1 | 0 | 0 | 0 | 1 |
TC | 0 | 0 | 0 | 1 | 1 | 1 |
E-TM + H-TM | 1 | 1 | 1 | 1 | 1 | 0 |
E-TM + E-TRG | 1 | 0 | 1 | 1 | 1 | 1 |
E-TRG + H-TM | 0 | 1 | 1 | 1 | 1 | 1 |
E-TM + TC | 1 | 0 | 1 | 1 | 1 | 1 |
H-TM + TC | 1 | 0 | 1 | 1 | 1 | 1 |
TM + TC | 1 | 1 | 0 | 1 | 1 | 1 |
All encoders | 1 | 1 | 1 | 1 | 1 | 1 |
Legend | Type of Mitigation Algorithm Triggered |
---|---|
0 | No mitigation |
1.1 | Internal mitigation (use another feedback value) |
1.2 | Internal mitigation (clutch opening) |
2.1 | External mitigation (use external data, e.g., slip) |
2.2 | External mitigation (change the behaviour of the rover, e.g., stop the rover) |
Failure | State | Mitigation Required |
---|---|---|
None | 0 | 0 |
H-TM | 1 | 1.1 |
E-TM | 1 | 1.1 |
E-TRG | 2 | 2.1 |
TM | 3 | 1.2 |
TRG | 4 | 2.2 |
TC | 5 | 0 |
E-TM + H-TM | 6 | 1.1 |
E-TM + E-TRG | 6 | 2.1 |
E-TRG + H-TM | 6 | 2.1 |
E-TM + TC | 7 | 0 |
H-TM + TC | 7 | 0 |
TM + TC | 5 | 0 |
All encoders | 8 | 2.1 or 2.2 |
Component | SF1 | SF2 | SF3 |
---|---|---|---|
E-SM | 1 | 1 | 0 |
E-SGR | 0 | 1 | 1 |
SM | 1 | 0 | 1 |
SGR | 1 | 0 | 1 |
E-SM + SM | 1 | 0 | 1 |
E-SM + SGR | 1 | 0 | 1 |
E-SGR + SM | 1 | 0 | 1 |
E-SGR + SGR | 1 | 0 | 1 |
Both encoders unreadable; hence, firmware reads 0) | 1 | 0 | 1 |
Encoders (disagree between each other and with the command) | 1 | 1 | 1 |
Injected Failure (s) | Injection Time (s) | Detection Time (s) | Diagnostic Time Interval (s) = | Expected Mitigation Time () (s) | Mitigation Time (s) | Mitigation Delay (s) | Test Results |
---|---|---|---|---|---|---|---|
Ratio-motor | 7.1 | 12.8 (angle quite constant) | 5.7 | 13.3 | 15.8 | 2.5 | DETECTED |
E-SM | 11.6 | 14.2 (angle quite constant) | 2.6 | 0 | 0 | 0 | DETECTED |
E-SRG | 7.5 | 13.1 (angle quite constant) | 5.6 | 0 | 0 | 0 | DETECTED |
E-SM + E-SGR | 8.3 s E-SM + 15.7 s E-SRG | 10.6 s E-SM + 17.8 s E-SRG | 2.6 s E-SM + 2.1 s E-SRG | 16.2 | 18.6 | 2.4 | DETECTED |
E-SM + SM | 8.4 s E-SM + 15.8 s SM | 11.1 s E-SM + 17.2 s SM | 2.7 s E-SM + 1.4 s SM | 0 s E-SM+ 17.7 s SM | 0 s E-SM + 20 s SM | 0 s E-SM +2.3 s SM | DETECTED |
E-SRG + SM | 6.9 s E-SRG + 12.8 s SM | 9.1 s E-SRG + 16 s SM | 2.2 s E-SRG + 3.2 s SM | 0 s E-SRG + 16.5 s SM | 0 s E-SRG + 17.6 s SM | 0 s E-SRG+ 1.1 s SM | DETECTED |
Injected Failure (s) | Injection Time (s) | Detection Time (s) | Diagnostic Time Interval (s) = | Expected Mitigation Time () (s) | Mitigation Time (s) | Mitigation Delay (s) | Test Results |
---|---|---|---|---|---|---|---|
H-TM | 11.9 | 12 | 0.1 | 0 | 0 | 0 | DETECTED |
E-TM | 10.5 | 10.7 | 0.2 | 0 | 0 | 0 | DETECTED |
E-TRG | 8 | 8.1 | 0.1 | 0 | 0 | 0 | DETECTED |
TM | 14.6 | 14.7 | 0.1 | 15.2 | 15.2 | 0 | DETECTED |
TRG | 13.2 | 13.9 | 0.7 | 14.4 | 14.4 | 0 | DETECTED |
TC | 7.7 | 12.5 | 4.8 | 13.5 | 0 | ∞ | FAIL |
H-TM + TM | 12.4 s H-TM + 17.4 s TM | 12.5 s H-TM + 17.5 s TM | 0.1 s H-TM + 0.1 s TM | 0 s H-TM + 18 s TM | 0 s H-TM + 18 s TM | 0 s H-TM + 0 s TM | DETECTED |
H-TM + TRG | 18.6 s H-TM + 20.6 s TRG | 18.7 s H-TM + 20.9 s TRG | 0.1 s H-TM + 0.3 s TRG | 0 s H-TM + 21.4 s TM | 0 s H-TM + 21.4 s TRG | 0 s H-TM + 0 s TRG | DETECTED |
H-TM + TC | 5 s H-TM + 13.6 s TC | 5.3 s H-TM + 15.2 s TC | 0.3 s H-TM + 1.6 s TC | 0 s H-TM + 16.2 s TC | 0 s H-TM + 0 TC | 0 s H-TM + ∞ TC | DETECTED |
H-TM + E-TRG | 4.7 s H-TM + 22.1 s E-TRG | 4.8 s H-TM + 22.2 s E-TRG | 0.1 s H-TM + 0.1 s E-TRG | 0 s H-TM + 0 s E-TRG | 0 s all + 0 E-TRG | 0 s H-TM + 0 s E-TRG | FAIL |
E-TM + E-TRG | 13.8 s E-TM + 21.9 s E-TRG | 13.9 s E-TM + 22 s E-TM | 0.1 s E-TM + 0.1 s E-TRG | 0 s E-TM + 0 s E-TRG | 0 s E-TM + 0 s E-TRG | 0 s E-TM+ 0 s E-TRG | DETECTED |
H-TM + E-TM | 9 s H-TM + 15.2 s E-TM | 9.1 s H-TM + 15.3 s E-TM | 0.1 s H-TM + 0.1 s E-TM | 0 s H-TM + 0 s E-TM | 0 s H-TM + 0 s E-TM | 0 s H-TM + 0 s E-TM | DETECTED |
E-TM + TM | 7.5 s E-TM + 14.4 s TM | 7.6 s E-TM + 14.5 s TM | 0.1 s E-TM + 0.1 s TM | 0 s E-TM + 15 s TM | 0 s E-TM + 15 s TM | 0 s E-TM + 0 s TM | DETECTED |
E-TM + TC | 10.7s E-TM + 17.8 s TC | 10.9 s E-TM + 0 TC | 0.2 s E-TM + ∞ TC | 0 s E-TM + 18.8 s TC | 0 s E-TM + 0 s TC | 0 s E-TM + ∞ TC | FAIL |
E-TM + TRG | 6.8 s E-TM + 13.1 s TRG | 6.9 s E-TM + 13.8 s TRG | 0.1 s E-TM + 0.7 s TRG | 0 s E-TM + 14.3 s TRG | 0 s E-TM + 14.3 s TRG | 0 s E-TM + 0 s TRG | DETECTED |
E-TRG + TM | 4.5 s E-TRG + 15.3 s TM | 4.6 s E-TRG + 15.4 s TM | 0.1 s E-TRG + 0.1 s TM | 0 s E-TRG + 15.9 s TM | 0 s E-TRG + 15.9 s TM | 0 s E-TRG + 0 TM | DETECTED |
E-TRG + TRG | 7.2 s E-TRG +12.6 s TRG | 7.3 s E-TRG + 12.7 s TRG | 0.1 s E-TRG + 0.1 s TRG | 0 s E-TRG + 13.7 s TRG | 0 s E-TRG + 13.8 s TRG | 0 s E-TRG + 0.1 s TRG | DETECTED |
E-TRG + TC | 8.7 s E-TRG + 15 s TC | 8.8 s E-TRG + 0 s TC | 0.1 s E-TRG + ∞ TC | 0 E-TRG + 16 s TC | 0 s E-TRG + 0 s TC | 0 s E-TRG + ∞ TC | FAIL |
TM + TC | 7.9 s TM + 13.1 s TC | 8 s TM + 13.2 s TC | 0.1 s TM + 0.1 s TC | 8.5 s TM + 14.2 s TC | 8.5 s TM + 0 s TC | 0 s TM + ∞ TC | DETECTED |
TC + TRG | 2.4 s TC + 15.7 s TRG | 2.4 s TC + 15.9 s TRG | 0 s TC + 0.2 s TRG | 3.4 s TC + 16.4 s TRG | 15.9 s TC + 16.9 s TRG | 12.5 s TC + 0.5 s TRG | FAIL |
TRG + TC | 13.9 s TRG + 15.2 s TC | 14.6 s TRG + 16.8 s TC | 0.7 s TRG + 1.6 s TC | 15.1 s TRG + 17.8 s TC | 15.1 s TRG + 0 s TC | 0 s TRG + ∞ TC (not needed) | DETECTED |
All sensors | 10.8 s H-TM + 12.9 s E-TM+ 15.4 s E-TRG | 10.9 s H-TM + 13 s E-TM + 15.4 s E-TRG | 0.1 s H-TM + 0.1 s E-TM + 0 s E-TRG | 0 H-TM + 0 E-TM + 16.4 s E-TRG | 0 H-TM + 0 E-TM + 17.6 s E-TRG | 0 H-TM + 0 E-TM + 1.2 s E-TRG | DETECTED |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Sini, J.; Passarino, A.; Bonicelli, S.; Violante, M. A Simulation-Based Approach to Aid Development of Software-Based Hardware Failure Detection and Mitigation Algorithms of a Mobile Robot System. Sensors 2022, 22, 4665. https://doi.org/10.3390/s22134665
Sini J, Passarino A, Bonicelli S, Violante M. A Simulation-Based Approach to Aid Development of Software-Based Hardware Failure Detection and Mitigation Algorithms of a Mobile Robot System. Sensors. 2022; 22(13):4665. https://doi.org/10.3390/s22134665
Chicago/Turabian StyleSini, Jacopo, Andrea Passarino, Stefano Bonicelli, and Massimo Violante. 2022. "A Simulation-Based Approach to Aid Development of Software-Based Hardware Failure Detection and Mitigation Algorithms of a Mobile Robot System" Sensors 22, no. 13: 4665. https://doi.org/10.3390/s22134665
APA StyleSini, J., Passarino, A., Bonicelli, S., & Violante, M. (2022). A Simulation-Based Approach to Aid Development of Software-Based Hardware Failure Detection and Mitigation Algorithms of a Mobile Robot System. Sensors, 22(13), 4665. https://doi.org/10.3390/s22134665