求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code
会员   
订购 | 案例 | 建模扩展语言 | 模型框架 | 学习资源 | 培训&咨询 | 解决方案 | 用户组 | 客户专区 | 联系我们
  2508 次浏览  11 次
模型库 > 模型库
模型库简介  

在线模型库
WebEA
学习资料
模型框架
产品购买
MaaS服务

Autoware架构模型(UML/Sys ML+EA建模)

作者: 俎涛 (火龙果软件工程)

Autoware架构模型(UML/Sys ML+EA建模)
作者: 俎涛 (火龙果软件工程)
 

1.前言

最近看了一个文档《 Autoware 架构提议》,写的是根据问题和需要对自动驾驶开源框架 Autoware 的架构进行重新设计。文章中 首先分析了 Autoware 要支持的场景,然后设计了架构的逻辑模块,最后对逻辑模块设计了软件实现。感觉 Autoware 的设计思路很清晰,但是描述比较随意。为了让 Autoware 的架构描述更加清晰完整,我采用了 UML 和 Sys ML 、基于建模工具 EA 对 AUTOWARE 的架构进行了建模,并发布到 ModelCenter ,内容如下:

欢迎访问:Autoware架构模型,下面对其中的内容进行简要介绍。

2. 用例模型

《 Autoware 架构提议》原文描述了 Autoware 支持的用例场景,以文字列表的方式列出了列出了自动驾驶相关的用例,但是缺乏用于描述用例概览的用例图, 这造成了用户难以对 Autosare 的功能有全面的理解。应该从系统之外的用户的视角采用用例图进行建模用户功能需求,所以我采用 UML/SysML 的用例图建模 Autoware 支持的自动驾驶的场景,并建模了用例之间的关系。用例图可以提高用户视角的需求描述的可读性和完整性。如下是采用 Sys ML/UML 的用例图建模的 Autoware 的用例模型:

图 . Autoware 的用例模型( Sys ML/UML 用例图)

3.逻辑架构

《 Autoware 架构提议》原文对 Autoware 的逻辑架构用多页进行了详细描述,包括模块以及它们之间的数据流。但是 缺乏一个逻辑架构的整体视图,所以我采用 SysML 的模块定义图和内部模块图对 Autoware 的整体逻辑架构进行建模,如下图所示:

图 . Autoware 的逻辑架构模型( Sys ML 模块定义图和内部模块图) )

对于逻辑模块的细节可以采用分层逐步细化的方式描述,如下是取自《 Autoware 架构提议》原文的相应章节:

4.Autoware 的一级逻辑模块划分

如下是 Autoware 的一级逻辑模块划分:

可以对 一级逻辑模块 的模块进一步划分,以便进行更加详细的逻辑设计。如下是 Perception 和 Planning 的内部逻辑模块划分示例:

下面分别对各个一级模块的内部模块进行说明。

Sensing 子系统的内部模块和关系

用途 : 将传感数据转换为 ROS 消息

Map 子系统的内部模块和关系

用途 : 负责为系统提供自动驾驶车辆行驶中的静态环境信息

Localization 子系统的内部模块和关系

用途 : 整合每个传感器数据, 通过其他传感器的感知信息综合来计算当前车辆所处的位置。

Perception 子系统的内部模块和关系

用途 : 识别动态物体和交通信号灯。

 

Planning 子系统的内部模块和关系

作用:计算到目标位置的路径,然后生成驾驶轨迹。

Control 子系统的内部模块和关系

作用:输出控制信号以驱动车辆沿轨迹行驶。

4.软件层次框架模型

《 Autoware 架构提议》原文描述了 Autoware 的软件层次框架,如下图所示:

这样的软件层次描述因为没有和典型的软件层次架构建立概念映射,所以到底分为哪些层并没有表现出来。 根据其中的软件模块可知, Autoware 的软件分为 4 层:应用层、中间层、基础服务层、驱动层。为了让软件层次结构更容易理解,如下是使用了 UML 的包图建模 Autoware 的软件层次框架。

图 . Autoware 的软件层次框架示意图( UML 包图和类图)

5.逻辑模块的软件实现

《 Autoware 架构提议》原文对 Autoware 的各个逻辑模块的软件实现进行了逐一描述,建模了逻辑模块和软件组件的实现关系,包括软件组件以及它们之间的数据流。但是 缺乏一个软件架构的整体视图,所以我采用 UML 复合结构图和组件图对 Autoware 架构的所有的逻辑模块和对应的软件组件实现建立了一个大图,如下图所示:

图 . Autoware 的整体软件组件模型( UML 复合结构图和组件图)

如下是取自《 Autoware 架构提议》原文的对应章节,从中可以了解 Autoware 的每个模块的软件组件实现。

Sensing 子系统中的模块和软件组件

Localization 子系统中的模块和软件组件

Perception 子系统中的模块和软件组件

Planning 子系统中的模块和软件组件

Control 子系统中的模块和软件组件

Vehicle Interface 子系统中的模块和软件组件

6.软件组件模型

Autoware 的软件组件比较多,应该采用组件图对系统中所有的软件组件的关系建模,如下是采用 UML 组件图建模的 Autoware 的全局软件组件模型。

图 . Autoware 的整体软件组件模型( UML 组件图)

如果希望了解Autoware 架构模型详细信息,请浏览 《 模型库:Autoware架构模型 》

如果您希望了解更多信息:

  • 欢迎访问建模者频道 http://modeler.org.cn/
  • 也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969
2508 次浏览  11 次