Abstract:Lack of numerical precision in control software -- in particular, related to trajectory computation -- can lead to incorrect results with costly or even catastrophic consequences. Various tools have been proposed to analyze the precision of program computations. This paper presents a case study on numerical analysis of an industrial implementation of the fast marching algorithm, a popular path computation algorithm frequently used for trajectory computation. We briefly describe the selected tools, present the applied methodology, highlight some attention points, summarize the results and outline future work directions.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is that in control software, especially software related to trajectory calculation, insufficient numerical precision may lead to incorrect results, and these errors may bring high - cost or even catastrophic consequences. Specifically, the paper focuses on the numerical analysis of the Fast Marching Algorithm in industrial implementation. The Fast Marching Algorithm is a commonly - used path - calculating algorithm, often used for trajectory calculation in autonomous systems. Through case studies, the paper analyzes the numerical precision of this algorithm on a discrete grid, explores the impact of numerical errors on the algorithm's performance, and proposes improvement methods.
### Background of the Paper
The problem of numerical precision is an important concern in modern critical software. The accumulation of rounding errors in floating - point arithmetic may lead to serious problems, affecting the accuracy of calculations and thus resulting in incorrect results. Especially in control software, such errors may lead to high - cost or even catastrophic consequences. For example, the Patriot missile failure in 1991 and the Ariane 5 rocket crash in 1996 were both caused by numerical precision problems.
### Introduction to the Fast Marching Algorithm
The Fast Marching Algorithm is an algorithm for solving the minimum - cost path problem, suitable for path calculation in continuous space. The algorithm is divided into two steps:
1. **Forward Wave - front Propagation**: Starting from the starting point, calculate the time when the wave - front reaches each point.
2. **Backward Propagation**: Starting from the end point, based on the calculation results of the previous step, find the optimal path in reverse.
### Research Objectives
The main objectives of the paper are to conduct a numerical analysis of an industrial implementation of the Fast Marching Algorithm, specifically including:
- **Precision Evaluation**: Evaluate the precision of calculating the path cost.
- **Robustness Analysis**: Analyze the robustness of the calculation, that is, whether small perturbations in the input data will lead to significant changes in the output results.
- **Compare Results under Different Grid Precisions**: Compare the paths calculated on grids with different precisions and evaluate the impact of grid precision on the results.
### Methodology
The paper uses three numerical analysis tools:
- **Cadna**: Implement dynamic analysis to evaluate the precision of the code.
- **Verrou**: Implement dynamic analysis, compare with the Cadna results to further verify the precision and robustness.
- **FLDLib**: Combine static analysis and dynamic path exploration to analyze the impact of unstable branches on robustness.
### Main Findings
- **Precision Evaluation**: Through the Cadna tool, the average value of the path cost is calculated to be 0.392, and the relative error is \(1.323\times10^{- 15}\).
- **Robustness Analysis**: A large number of numerical instabilities are found, including 977,194 numerical instabilities, 1,687 unstable multiplication operations, 482,538 unstable branch selections, and 260,343 precision losses due to cancellation.
- **Impact of Grid Precision**: Preliminary results show that grids with different precisions have a significant impact on the calculation results, but the specific details need further study.
### Conclusion
Through case studies, the paper demonstrates the numerical analysis method of the Fast Marching Algorithm in industrial implementation and reveals the impact of numerical precision problems on the algorithm's performance. Future work directions include further optimizing the numerical stability of the algorithm and expanding to the analysis of other similar algorithms.