一个自动驾驶仿真系统设计框架

ITS和AHS是复杂的系统,人、车、环境等各种因素相互作用,其中的信息是多源、异构、非结构化的。这个系统需要智能汽车的参与。考虑成本问题,仿真就成为开发过程中一个很重要的阶段。

对构建自动驾驶仿真来说,可以重点关注以下几项技术:VR技术和多代理建模技术,后者的技术框架中还包括对建模技术的优化。

概念介绍

在自动驾驶仿真系统中,Agent模型是指复杂系统中个体(实体)模型的抽象模型。这里有以下几个要点

  • 每个独立的仿真模块都是一个agent
  • 环境。Agent在虚拟环境中实现感知和行为
  • 感知与行动。Agent通过内部传感器感知环境和其他Agent的信息,通过actor对环境和其他Agent起作用。智能汽车模型中有感知模块和运动模块来实现这一工作。
  • 事件。微观行为如追车、超车是系统中的事件。
  • 目标。交互结果是去验证交通安全。
  • 规则和属性。实体代理(如智能车辆)定义了反映实体行为的规则和属性。实体代理根据感知信息改变其规则和行为。
  • 协调。多控制器协调可以实现不同的车辆算法。
  • 交互。仿真系统中的交互作用可以反映车辆与环境的交互作用。
  • 合作。实体代理(智能车辆和周边车辆)需要协同实现交通行为。
  • 代码生成。仿真系统所需的项目文件、源代码文件、头文件应通过配置添加。
  • 智能仿真系统是在Visual Studio c++中构建的,智能车辆模型是在Matlab/Simulink中开发的。系统整体而言是分布式仿真系统。
系统需求
  • 系统应该能够有效模拟交通环境下智能车辆的控制过程,验证微观交通模型和智能车辆控制算法的合理性和正确性。
  • 通过三维可视化,用户可以清晰地观察整个仿真过程。系统界面简单,人机交互方便,仿真过程和可视化可由用户控制。
  • 系统应具有可扩展性、灵活性、可扩展性。采用分散设计范式实现复杂的交通模型和仿真。这些算法可以很容易地添加、删除或更改。
基于多智能体的自动驾驶仿真框架

硬件、网络和操作系统层提供了系统运行的支持技术,其中包括可视化呈现的子模块系统(即图形加速器硬件和OpenGL、DirectX等软件开发库)、车辆动态模型和控制模型子系统(Matlab/Simulink)、分布式网络通信环境、操作系统和存储数字高程模型(DEM)的模型数据库、三维模型等

可视化管理层负责管理三维模型,组织可视化节点,驱动三维场景,计算物理属性,如碰撞检测和基于场景的事件管理。

多代理层包括实体代理、环境代理和服务代理。这一层反映了自动驾驶仿真系统的智能化、可重构性、可重用性和可扩展性。

每个实体代理对应于场景中的一个三维实体,为三维实体提供特定的语义和行为规则以及交互功能。

实体代理分为智能车辆代理和周边车辆代理。智能汽车agent通过感知能力、认知能力和行为能力来表现驾驶员的行为特征。围绕车辆的agent通过感知和行动能力与智能车辆进行交互,它们可以改变自身属性,影响智能车辆。

环境代理是在综合自然环境(SNE)概念的基础上构建的,它是通过建模和仿真方法建立的系统中自然环境的表示,考虑了仿真实体与自然环境仿真系统之间的相互作用。可以利用地理信息系统(GIS) 建立环境代理,使仿真系统更加真实。环境代理是动态的,其特性可以改变,也可以通过模型数据库中存储的环境参数影响实体代理。

服务代理没有几何形状,其基本功能是提供系统服务,分为通信服务代理(CommAgent)和信息服务代理(InfoAgent)。CommAgent提供分布式仿真支持服务。InfoAgent提供与环境相关的语义信息和智能行为所需的知识,它不仅与实体代理交互,而且与可视化管理层交互。InfoAgent负责将实体代理的命令转换为3D场景中特定实体的状态变化。具体实体的状态变化也可以转化为有意义的知识,传递给实体代理进行决策

人机界面层是用户通过键盘、鼠标、显示器等虚拟现实设备与智能仿真系统直接交互的界面

仿真框架抽象化描述
  • simulation framework ::= < Agent, Communication >

    • Agent = {EnvironmentAgent} ∪ {ServiceAgents} ∪ {EntityAgents}
      • EntityAgents = {IntelligentV ehicleAgents} ∪ {AroundV ehicleAgents}
      • ServiceAgents = {CommuAgent} ∪ {InfoAgent}
  • EnvironmenAgent ::=< FeatureName, FeatureType, FeatureValue >

  • EntityAgent ::=< AgentID, Attribs, BehaviorModel >
  • Attrib ::=< AttribID, AttribName, AttribType, AttribV alue >
  • Behavior ::=< AgentID, BehaviorName, BehaviorT ype, ParameterSet >

    • BehaviorType ∈ {SelfBehavior, InteractBehavior}
  • Communication = {< Sender, Receiver, MsgContent > |
    (Sender ∈ Agent) and (Receiver ∈ Agent) and
    (MsgContent ∈ Communication(L))}

具体框架实现

需要采用分布式组件对象模型(DCOM)和高级架构(HLA)实现了分布式仿真通信,下面将详细说明。
DCOM使用Microsoft Component Object Model (COM)技术,其源代码可以用任何支持COM的编程语言编写,如c++。
Matlab具有支持COM的特性,通过IDispatch接口将COM对象集成到Matlab/Simulink模型中。

HLA/RTI(实时架构)是通过HLA/RTI的仿真联合辅助开发工具实现的。

AST-RTI和AST-OMDT (Object Management Development Tool)是由北京航空航天大学先进仿真技术实验室(Advanced Simulation Technology Laboratory, ASTLab)开发并用于研究的一类工具。AST-RTI是一个仿真支持平台,AST-OMDT软件帮助定义交互数据和联合对象模型(FOM)和仿真对象模型(SOM)。AST-FEDWIZARD工具软件可以根据FOM和发布/订阅信息生成联邦应用程序框架和RTI调用接口.

0%