控制工程师论坛

人机界面

汽车制动专家系统人机界面设计和知识库的建立

强强
强强

2007-09-14

引言
   
    专家系统自20世纪60年代末诞生以来,一直是人工智能领域最活跃的一个分支。如果在汽车制动领域引入专家系统将会有很广阔的应用前景。
   
    1、系统的功能
   
    汽车制动专家系统是汽车制动性能分析和计算的综合性软件,能够模拟专家的思维。汽车制动专家系统包括知识库、推理机、动态数据库和自学习模块 。其中,知识库共包括20多项设计项目,涉及汽车制动系统设计的各种设计技巧。推理机对知识库的计算结果以设计任务为目标函数进行推理和优化,是实现真正专家推理的关键部分,动态数据库用于管理和存储输入、输出数据及中间计算结果。自学习模块是专家系统运用数据库存储的数据和知识库的知识不断丰富和提高自身处理问题能力的模块。
   
    2、人机界面设计
   
    汽车制动专家系统的计算和分析内容很多,功能也很强大。各功能之间既相互独立又相互依赖,这就需要一个好的人机界面将这些内容有序地组织起来。另外,好的界面对于专家系统的用户也是一个好的使用向导。
   
    2.1 人机界面设计需解决的问题
   
    一般计算机应用程序的计算内容和操作项目都设计成菜单管理。但是,汽车制动专家系统不适合用菜单管理。① 它包含的计算内容和操作项目有20多项,很难用菜单管理起来。更主要的是每个计算项目还包括数个小的计算和操作内容,这就使菜单管理方法更难以实现。② 专家系统中各计算项目之间是相互联系的,如果将它们分别安排在不同的菜单中,相互调用的时候会很不方便。③专家系统包括汽车制动领域很多方面的知识和设计技巧,能够解决多方面问题,因此专家系统的界面上应该全面体现出各种功能模块。④ 从计算结果的可视化的角度来看,专家系统要输出大量的性能曲线图和计算数据表格,应该把这些结果显示在程序的主界面上,使用户一目了然。出于以上4方面的考虑采用了以下的界面设计方案。
   
    2.2 人机界面设计方案

    采用Visual C++程序设计的CJLibrary界面开发工具生成OutLook风格的程序界面,如图1所示。界面包括4个区域。最左边的区域包括20多个滚动条,囊括汽车制动专家系统的20多项计算项目。鼠标左键点击任意计算项目滚动条,该计算项目所需参数输入项和包含的计算内容就会显示。用户输入参数后,点击任意计算项目即可完成相应的计算和操作,计算结果和必要的说明显示在视图区(界面的右上方)和注释区(界面的右下方)。左边第二个区域显示的是专家系统各计算项目中操作内容的目录树,主要显示已经完成的和正在进行的计算项目。


图1 汽车制动专家系统程序界面

    2.3 参数的输人
   
    系统中每一组计算项目下都有一个参数输入对话框。用于输入该计算项目中各项计算和操作内容必需的数据。参数输入对话框要和参数模块进行数据交换(参数模块的功能将在3.3节中介绍)。这样可以提高数据输入的效率,增强数据输入的灵活性。
   
    3、系统知识库的建立
   
    知识库是存储于计算机中的知识的集合,是制动专家系统的核心之一。知识库对知识的表示和组织直接关系到推理机工作效率的高低,因此建立高效合理的知识库对于制动专家系统的开发是至关重要的。
   
    3.1 系统的知识结构
   
    知识库中既包括汽车整车制动性能设计又有制动系统结构参数设计。在实际设计任务中,这两方面工作往往交叉进行。这就要求在建立知识库时不但要考虑知识的完整全面性,还要考虑各计算项目之间的协作能力和它们组合起来适应不同任务目标的灵活性。另外,制动专家系统的功能应具有可扩充性。比如在扩充专家系统功能时,可以在系统已有的ABS性能分析模块的基础上扩充TCS性能计 :和分析功能模块。出于以上各方面因素的考虑,构建知识库时采用了模块化设计的方法。
   
    3.2 知识库的模块化设计方案
   
    模块化设计是指将设计系统目标分解成若干个模块分别进行设计,然后在模块的基础上完成设计任务。汽车制动专家系统的模块划分和模块间的关系如图2。为了实现各模块之间的协作和数据通讯,每个模块都有与相关模块通讯的接口,以便相互之间灵活调用。


图2 汽车制动专家系统模块关系图

    3.3 参数模块的作用和优点
   
    如图2所示参数模块是一个全局可见的数据结构,它的元素对应着整个专家系统所需的全部数据。参数模块一方面与人机界面的参数输入对话框(数据输入模块)相连,接收用户输入的数据;另一方面与知识库的各计算功能模块相连,为它们提供计算参数并接收计算结果,进而实现模块间的数据通讯。使用参数模块的优点表现在4方面。
   
    (1) 便于各模块的数据管理和相互通讯
   
    参数模块是一个全局数据结构变量,它的各个元素对应着全系统各种计算和操作所需的参数以及保存计算结果的变量。由于专家系统工作时需要输入很多变量,而且有的变量不只一个模块需要,如果分别管理不仅浪费存储资源且很混乱,也不利于模块间的数据通讯。所以通过参数模块的运用能够提高程序的运行效率,便于管理和维护。

回帖

评论1

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China