Unmanned Aircraft Systems (UAS) with autonomous decision-making capabilities are of increasing interest for a wide area of applications such as logistics and disaster recovery. In order to ensure the correct behavior of the system and to recognize hazardous situations or system faults, we applied stream runtime monitoring techniques within the DLR ARTIS (Autonomous Research Testbed for Intelligent System) family of unmanned aircraft. We present our experience from specification elicitation, instrumentation, offline log-file analysis, and online monitoring on the flight computer on a test rig. The debugging and health management support through stream runtime monitoring techniques have proven highly beneficial for system design and development. At the same time, the project has identified usability improvements to the specification language, and has influenced the design of the language. 1 input double lat, lon, ug, vg, wg, time_s, time_micros 2 output double time := time_s + time_micros / 1000000.0 3 output double flight_time := time -time#[0,0.0] 4 output double frequency := switch position{ 5 case 0 { 1.0 / ( time[1,0.0] -time ) } 6 default { 1.0 / ( time -time[-1,0.0] ) } } 7 output double freq_sum := freq_sum[-1,0.0] + frequency 8 output double freq_avg := freq_sum / double(position+1) 9 output double freq_max := max( frequency, freq_max[-1,double_min] ) 10 output double freq_min := min( frequency, freq_min[-1,double_max] ) 11 12 output double velocity := sqrt( ug^2.0 + vg^2.0 + wg^2.0 ) 13 const double R := 6373000.0 14 const double pi := 3.1415926535 15 16 output double lon1_rad := lon[-1,0.0] * pi / 180.0 17 output double lon2_rad := lon * pi / 180.0 18 output double lat1_rad := lat[-1,0.0] * pi / 180.0
Software verification for highly automatic unmanned aerial vehicles is not only a problem itself, it is furthermore constrained by certification standards and regulatory rules. These, however, are themselves still under development. As a top-level view, the current status of unmanned aerial vehicle verification, certification, and regulation is addressed and corresponding challenges are discussed. From a low-level view, this work presents the processes and tools that were established for the software development, verification, and validation of the unmanned rotorcraft software testbed ARTIS. Large efforts have been put into the software verification process to cope with the growing complexity of the autonomous system and the validation of the software behavior. Automated tests drive the development of the mission planning, mission management, and sensor fusion systems. High-level behavior is tested by complex simulation scenarios. To connect the aforementioned top-and low-level views, a comparison between the RTCA DO-178C standard ("Software Considerations in Airborne Systems and Equipment Certification") and corresponding ARTIS software development practices is elaborated to assess the efforts that would be necessary for a small research team to develop software according to the standard. It shows that the currently used practices are not incompatible, but there are still some gaps to the desired level of compliance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.