A computer program of the fuzzy-logictoolkit type has been devel- oped as a relatively simple, portable, highly compatible, means of providing fuzzy-logic reasoning capabilities for control and expert-system applications.

This program is designed to work with the high-level scripting language Tcl/Tk and to invoke the access-todata capabilities of an information-sharing protocol (ISP). This program supplies the numerous functions necessary for effective utilization of fuzzy-logic reasoning methods and overcomes many disadvantages of other fuzzy-logic toolkits. The program, written in the C language, is relatively small, portable, efficient, and embeddable. Better yet, this program is flexible in that it includes a source code that can be improved or developed to add further capabilities and features. The most commercially advantageous feature of the program is that it is available essentially without cost. With the help of this program, users can learn how to write fuzzylogic programs for real applications.

This software is based partly on the FuzzyCLIPS software, which was developed by the National Research Council of Canada by modifying a prior Johnson Space Center software innovation known as CLIPS (for C Language Integrated Production System). FuzzyCLIPS is written in the C language and contains a source code that is freely available to users. In addition, FuzzyCLIPS was also designed to be embeddable in other application programs, making it most suitable for the development of toolkit-type software.

In the development of the present fuzzy-logic-toolkit program, the FuzzyCLIPS source code was combined with an interface code, thereby registering FuzzyCLIPS functions with Tcl commands while at the same time converting data types between the two codes as necessary. In the end, 13 commands were created to provide access to FuzzyCLIPS from within Tcl.

Other programs were then developed as test cases to demonstrate the capabilities of this fuzzy-logic-toolkit program. In one case, a simple shower-control problem, provided with the original FuzzyCLIPS software, was used to exhibit the ability of the toolkit program to incorporate fuzzy logic into a control application program. Another case, more relevant to NASA’s needs, the use of fuzzy-logic control with ISP telemetry data was demonstrated. In this demonstration, ISP data were presented to the user with a graphical display created by use of the Tk software. During each cycle of ISP data, a fuzzy-logic control procedure was invoked, and the results of this invocation were displayed. The degrees of membership of input and output data in fuzzy sets were also presented graphically to users.

In both the aforementioned test cases and in use at NASA, the versatility of this fuzzy-logic-toolkit program has been demonstrated. The main benefit that it affords to NASA is an ability to create more “intelligent” flight-control displays. Beyond NASA, this software can be used to create displays that make background use of fuzzy-logic reasoning while at the same time presenting the results of an expert system (e.g., a diagnostic system) in the foreground.

This program was written by John C. Limroth of Rockwell International for Johnson Space Center. For further information, contact the Johnson Commercial Technology Office at 281-483-3809.

NASA Tech Briefs Magazine

This article first appeared in the October, 2002 issue of NASA Tech Briefs Magazine.

Read more articles from the archives here.