4.1 导入功能设计
研究轨迹跟踪系统需要采集和处理大量的系统状态数据,而数据的来源方式具有多样性,可以是系统仿真数据,也可以是若干智能体设备的运行数据。导入模块的功能是将这些外部数据以规则的方式存贮在仿真软件指定的存储器中。图3为该仿真软件的数据流图。
当仿真对象发生变化时,只要在存储器中导入新的跟踪系统状态数据,无需改变任何程序代码,就可以进行新系统的仿真。导入功能将数据的供给与动画实现程序独立开来,使整个仿真软件不受数据来源情况复杂的限制。
图3 仿真软件数据流图
4.2 opengl动画开发设计
opengl图形系统是行业领域中最为广泛接纳的2d/3d图形api[6],其跨平台性和优越的三维动画特性可以满足仿真软件的需求。基于第2节对程序各个功能模块进行的需求和能力分析,设计开发了轨迹跟踪动画实现代码。该模块只向指定存储器读取轨迹跟踪行为的数据,并且留有控制指令接口,实现了动画核心程序的重用和可扩展。程序流程如图4所示。
图4 opengl三维动画程序流程图
将第3节建立的智能跟踪控制系统模型分别运用matlab和三维动画仿真软件进行仿真,仿真结果分别如图5,图6所示。
图5 matlab仿真结果
图6 三维动画仿真结果
图5是matlab仿真结果,我们只能观察到跟踪过程完成后的情况,其中sys1、sys2、sys3的点线分别表示智能跟踪系统一、系统二、系统三的轨迹。图6是三维动画仿真结果,如图6所示,目标为红色,其运动轨迹为红色椭圆,颜色分别为橙色、绿色、蓝色的智能体从不同空间位置出发,以各自的路径和速度进入目标轨迹,然后沿着目标轨迹跟踪目标。从图6(b)中可以看到绿色智能体跟踪速度最快,进入目标轨迹后几乎与目标重合。对比两种软件的仿真效果,三维动画仿真能更加直观地表现出智能体跟踪运动过程。