ViCarrealTime软件资料Cosimulation
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同时保证一定的横摆角速度
案例3 修改前束特性
Vi-CarRealTime是基于文本驱动的软件,修改悬架的参数就是修 改文本中的特定位置的内容。
Vi-CarRealTime所有的子系统(包括悬架,车轮,动力,车身) 都是依托xml文件格式。
在xml文件通过<tag>与</tag>将文件隔成多个块。下图是tag是 Spline3d的数据块
matlab2014bvicarrealtime17希望悬架尽可能产生与簧载质量垂向速度相反的力力的大小与簧载质量的速度成正比定义仿真工况文件单击运行按钮在工作目录下生成想xml仿真文件搭建仿真模型理想天棚控制模型搭建仿真模型被动减振器模型只能耗散能量不能主动提供能量减振器的阻尼在正常阻尼的2倍到0之间变换编写阻尼力显示函数保证阻尼器只耗散能量不提供能量搭建仿真模型考虑实际减振器特性的半主动悬架vicarrealtime与amesim联合仿真案例说明
案例3 设定优化变量与优化目标 自变量 三次拟合中一次项的系数
优化目标
案例3
设定优化变量与优化目标
0
59.963
0.5
49.833
1 37.1215
1.5 28.5569
2
30.614
2.5
43.221
3
55.066
上表横坐标是前速曲线系数与目标 可以看出系数取1.5是最优的
案例4 基于Isight的参数优化
9. 配置求解器为fix step,开始仿真,仿真通过就此 AMEsim与Simulink仿真通过。
Vi-grade 与 AMEsim联合仿真
CarRealTime环境设置 确认Vi-CarRealTime的目录已经加载到Maltab的路径中。如果没有请运行 addpath_vicrt_17函数,并打开Matlab set path 查看无误后点击保存,一 定要保持。
Matlab API函数通过直接修改文件内容的方式来修改车辆模型参数。而且所有 的操作都在Matlab中进行,不需要用户打开软件GUI界面来配置模型参数。
Matlab API Toolkit
VI-CarRealTIme提供了完备的函数Matlab API函数库,方便用户在Matlab环 境访问,修改以及运行VI-CarRealTme模型
案例1 半主动悬架 搭建仿真模型
考虑实际减振器特性的半主动悬架
案例1 半主动悬架 结果对比
指标:车身垂向加速度均方根值
被动减振器: 0.0130(g) 理想半主动减振器:0.0070(g) 考虑减振器特性的半主动悬架:0.0085 (g)
案例2
Vi-CarRealTime 与 AMEsim联
仿真结果可以两种获取方式(两 者是并存的): Res文件 Matlab Workspace
Matlab/Simulink接口
The VI-CarRealTime vehicle data is communicated to the S-function through: 仿真配置文件生成
Matlab/Simulink 接口
在Simulink中,用户可以方便的获取VI-CarRealTime的状态信号,以及控制 模型输入。用户可以在这个基础上设计控制算法与采集模型状态。.
Matlab/Simulink接口
VI-CarRealTime被封装成S-function,方便用户调用The VI-CarRealTime 一个S-function模块可以作为一辆车的模型,用户可以定义车辆模型的输入
合仿真 案例说明:用于仿真AFS(前轮主动转向技术)中行星轮机构引入的转 向惯量滞后等特性
Vi-grade 与 AMEsim联合仿真
AMESim环境设置
软件:Vi-grade CarRealTime 17+AMESim 14.0+Matlab 2014b(64位) +VS2012
1.建立Matlab环境变量MATLAB D:\PROGRA~1\MATLAB\R2014 环境变量建立完成之后,建议注销计算机,重新进入系统。 2.在Matlab 2014b中确认是否找到了编译器(可以通过mex –setup设
案例说明:半主动主动悬架,用于改善悬架的平顺性 软件环境: Matlab 2014b + Vi-CarRealTime 17
案例1 半主动悬架 天棚控制 希望悬架尽可能产生与簧载质量垂向速度相反的力
(力的大小与簧载质量的速度成正比)
案例1 半主动悬架 车身传感器定义
案例1 半主动悬架
定义仿真工况文件
案例3 Step1 修改前束特性
XmlSpy是用于专门查看xml文件的工具 导入文件之后,选择grid模式进行查看
案例3 Xml文件定位方式 Vi-CarRealTime使用xml中的tag与name来定位
上图是前悬架子模型中前束的位置的tag值
案例3 Xml文件定位方式 Vi-CarRealTime文件中每一个tag块都有name属性
批处理文件 RunGrog.bat文件的内容如下: E: cd E:\crtModel\PATAC "D:\Program Files\MATLAB\R2014\bin\matlab.exe" matlab nojvm -nodesktop -nodisplay -r suspension_opt_tutial1ForIsight
输出信号,并将这些信号接口与其他模块相连。(注意:一个Simulink模型 中只能有一个VI-CarRealTime模型) VI-CarRealTime 车辆模型的参数通过一个xml文件传递到CarRealTime中。
Matlab/Simulink接口
123个输入信号模块
711个输出信号,当前(17版本) 允许将所有信号整合到一个Bus 中
5.插入联合仿真模块,选择SimuCosim模式。
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
6.让模型进入编译模式下,查看是否Detail窗口是否有错误信
息
注意查看Matlab的位 置与Matlab的位数 (32bit还是64bit)
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
插入Vi-grade模型
注意调整积分时间,定步长求解器, Simulink求解器的步长必须是Vi-Crt Integration Time Step的倍数,这里的 仿真步长为0.01s
Vi-grade 与 AMEsim联合仿真 AMESim环境设置 对信号进行连线,完成仿真,读取res文件完成分析
置),这里的编译器使用的VS2012。
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
3.在AMESim中设置编译器的种类,在Tool—Option—reference下面的
编译器选项卡下面
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
4.搭建仿真模型,保证在非联合仿真情况下没有问题。
集成原理
Isight自带的Matlab集成模块不支持Vi-Crt函数
集成方式选用基于SimCode集成方式
原理:将优化参数写到var.txt中
用windows命令行的形式运行Matlab代码
Maltab读入var.txt,将参数导入,计算,将结果输出到
res.txt
Isight读入res.txt,然后删除res.txt文件
Matlab Interface
.. or: 网络通信式 Socket
模型的数据通过以太网协议传输
The socket remains open until the window with the ongoing communication is kept open.
案例1 半主动悬架 Vi-grade 与 Simulink联合仿真
上图是前悬架子模型中前束的位置的name值
案例3 通过Matlab代码访问修改 Spline3d
key{1,x}保存tag值 key{2,x}保存name值
案例3
Spline3d结构体内容 用户可以先读取原有的前束曲线,然后在原有曲线 的基础上进行修改。
案例3 修改method属性
案例3 修改method属性keys = cell(2,1);
单击运行按钮在工作目录下生成想xml仿真 文件
案例1 半主动悬架 搭建仿真模型
理想天棚控制模型
案例1 半主动悬架 搭建仿真模型
被动减振器模型
案例1 半主动悬架 信号定义
案例1 半主动悬架 信号定义
案例1 半主动悬架 半主动减振器的特性
只能耗散能量不能主动提供能量
减振器的阻尼在正常阻尼的2倍到0之间变换,编写阻尼力显 示函数,保证阻尼器只耗散能量,不提供能量
keys{1,1}='CRTSteeringSystem'; keys{2,1}='steering_gear';
attributes= cell(1,1); attributes{1}='method';
values=cell(1,1); values{1}='use_toe';
Cell{1,x}保存tag值 Cell{2,x}保存name值
Matlab API函数库包括以下三种: 用于修改已经存在的xml文件的函数(xml文件定义了车辆模型参数,仿 真工况与参数等) 用于打包与更新VI-CarReaLTime数据库的函数. 用于运行仿真工况的函数.
上述功能函数提供了友好的接口方便用户进行优化设计
函数列表,函数使用范例等内容可以在VI-CarRealTime帮助文档Matlab API Toolkit 这部分找到。
仿真配置文件生成时只需要注意Solver Setting中配置,主要配置的是 Mode of Simulation要配置为file only。
运行仿真仿真配置文件<event_name>_send_svm.xml 创建
Matlab/Simulink Interface
在Maltab的WorkSpace中定义一个字符串变量vicrt_inputfile 该变量的 内容是<event_name>_send_svm.xml 文件的完整地址。
VI-CarRealTime Training 联合仿真
Matlab接口
VI-CarRealTime 允许用户通过Matlab界面与VI-CarRealTime进行交互。
这里有两种交互方式: VI-CarRealTIme 与Simulink 联合仿真 用过Maltab API函数库与VI-CarRealTime模型交互
案例3 悬架前束特性优化
研究对象:悬架K特性中,轮跳与前束曲线ቤተ መጻሕፍቲ ባይዱ曲线拟合为3次曲线, 通过控制系数来控制曲线形状)
优化工况:阶跃响应 优化工具:Vi-CarRealTime 17.0 + Matlab 2014b + XmlSpy 2013 优化目标:横标角速度超调量(overshoot)
7.让AMESim模型进入仿真模式(这是经常忽略的一步, 千万注意),典型的报错是在Matlab中报打开data文件 错误。
8.通过Tool---start simulink,AMEsim会自动打开 Simulink,在Simulink库中找到AMESim模块,指定事先 生成好的mexw64文件(32位Matlab是mexw32文件)
Matlab API函数库包含了一系列的Matlab函数用于与VI-CarRealTime文件交互。 交互包括了修改,设置,获取数据VI-CarRealTime文件中的模型属性。
Matlab API函数可以管理整个车辆模型数据库,以及运行所有的建模与仿真过 程 。 上 述 提 到的 建 模 与 仿 真过 程 既 包 括 了 VI-CarRealTime , 也 包 括 了 VISuspensionGen。
不推荐多个版本VI-CarRealTIme的Simulink模块库在同一Maltab中共存,这 是为稳定性考虑。请不要使用下图中文件浏览功能指定输入xml文件(至少 在17版本中)。
Matlab API Toolkit
Matlab API函数库为用户提供了创建与自动运行试验设计(DOE)的环境, 通过这一工具。用户运用该工具优化悬架与车辆参数配置。
所有的操作都是基于唯一的工作目录(E:\crtModel\PATAC\)
SimCode参数配置
输入文件配置
SimCode参数配置
输出文件配置
Isight基本框图
OS Command用于删除原有的res.txt文件 SimCode用于完成文件读取,Matlab运行,文件写入操作 优化的内容如案例3一致
案例3 修改前束特性
Vi-CarRealTime是基于文本驱动的软件,修改悬架的参数就是修 改文本中的特定位置的内容。
Vi-CarRealTime所有的子系统(包括悬架,车轮,动力,车身) 都是依托xml文件格式。
在xml文件通过<tag>与</tag>将文件隔成多个块。下图是tag是 Spline3d的数据块
matlab2014bvicarrealtime17希望悬架尽可能产生与簧载质量垂向速度相反的力力的大小与簧载质量的速度成正比定义仿真工况文件单击运行按钮在工作目录下生成想xml仿真文件搭建仿真模型理想天棚控制模型搭建仿真模型被动减振器模型只能耗散能量不能主动提供能量减振器的阻尼在正常阻尼的2倍到0之间变换编写阻尼力显示函数保证阻尼器只耗散能量不提供能量搭建仿真模型考虑实际减振器特性的半主动悬架vicarrealtime与amesim联合仿真案例说明
案例3 设定优化变量与优化目标 自变量 三次拟合中一次项的系数
优化目标
案例3
设定优化变量与优化目标
0
59.963
0.5
49.833
1 37.1215
1.5 28.5569
2
30.614
2.5
43.221
3
55.066
上表横坐标是前速曲线系数与目标 可以看出系数取1.5是最优的
案例4 基于Isight的参数优化
9. 配置求解器为fix step,开始仿真,仿真通过就此 AMEsim与Simulink仿真通过。
Vi-grade 与 AMEsim联合仿真
CarRealTime环境设置 确认Vi-CarRealTime的目录已经加载到Maltab的路径中。如果没有请运行 addpath_vicrt_17函数,并打开Matlab set path 查看无误后点击保存,一 定要保持。
Matlab API函数通过直接修改文件内容的方式来修改车辆模型参数。而且所有 的操作都在Matlab中进行,不需要用户打开软件GUI界面来配置模型参数。
Matlab API Toolkit
VI-CarRealTIme提供了完备的函数Matlab API函数库,方便用户在Matlab环 境访问,修改以及运行VI-CarRealTme模型
案例1 半主动悬架 搭建仿真模型
考虑实际减振器特性的半主动悬架
案例1 半主动悬架 结果对比
指标:车身垂向加速度均方根值
被动减振器: 0.0130(g) 理想半主动减振器:0.0070(g) 考虑减振器特性的半主动悬架:0.0085 (g)
案例2
Vi-CarRealTime 与 AMEsim联
仿真结果可以两种获取方式(两 者是并存的): Res文件 Matlab Workspace
Matlab/Simulink接口
The VI-CarRealTime vehicle data is communicated to the S-function through: 仿真配置文件生成
Matlab/Simulink 接口
在Simulink中,用户可以方便的获取VI-CarRealTime的状态信号,以及控制 模型输入。用户可以在这个基础上设计控制算法与采集模型状态。.
Matlab/Simulink接口
VI-CarRealTime被封装成S-function,方便用户调用The VI-CarRealTime 一个S-function模块可以作为一辆车的模型,用户可以定义车辆模型的输入
合仿真 案例说明:用于仿真AFS(前轮主动转向技术)中行星轮机构引入的转 向惯量滞后等特性
Vi-grade 与 AMEsim联合仿真
AMESim环境设置
软件:Vi-grade CarRealTime 17+AMESim 14.0+Matlab 2014b(64位) +VS2012
1.建立Matlab环境变量MATLAB D:\PROGRA~1\MATLAB\R2014 环境变量建立完成之后,建议注销计算机,重新进入系统。 2.在Matlab 2014b中确认是否找到了编译器(可以通过mex –setup设
案例说明:半主动主动悬架,用于改善悬架的平顺性 软件环境: Matlab 2014b + Vi-CarRealTime 17
案例1 半主动悬架 天棚控制 希望悬架尽可能产生与簧载质量垂向速度相反的力
(力的大小与簧载质量的速度成正比)
案例1 半主动悬架 车身传感器定义
案例1 半主动悬架
定义仿真工况文件
案例3 Step1 修改前束特性
XmlSpy是用于专门查看xml文件的工具 导入文件之后,选择grid模式进行查看
案例3 Xml文件定位方式 Vi-CarRealTime使用xml中的tag与name来定位
上图是前悬架子模型中前束的位置的tag值
案例3 Xml文件定位方式 Vi-CarRealTime文件中每一个tag块都有name属性
批处理文件 RunGrog.bat文件的内容如下: E: cd E:\crtModel\PATAC "D:\Program Files\MATLAB\R2014\bin\matlab.exe" matlab nojvm -nodesktop -nodisplay -r suspension_opt_tutial1ForIsight
输出信号,并将这些信号接口与其他模块相连。(注意:一个Simulink模型 中只能有一个VI-CarRealTime模型) VI-CarRealTime 车辆模型的参数通过一个xml文件传递到CarRealTime中。
Matlab/Simulink接口
123个输入信号模块
711个输出信号,当前(17版本) 允许将所有信号整合到一个Bus 中
5.插入联合仿真模块,选择SimuCosim模式。
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
6.让模型进入编译模式下,查看是否Detail窗口是否有错误信
息
注意查看Matlab的位 置与Matlab的位数 (32bit还是64bit)
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
插入Vi-grade模型
注意调整积分时间,定步长求解器, Simulink求解器的步长必须是Vi-Crt Integration Time Step的倍数,这里的 仿真步长为0.01s
Vi-grade 与 AMEsim联合仿真 AMESim环境设置 对信号进行连线,完成仿真,读取res文件完成分析
置),这里的编译器使用的VS2012。
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
3.在AMESim中设置编译器的种类,在Tool—Option—reference下面的
编译器选项卡下面
Vi-grade 与 AMEsim联合仿真 AMESim环境设置
4.搭建仿真模型,保证在非联合仿真情况下没有问题。
集成原理
Isight自带的Matlab集成模块不支持Vi-Crt函数
集成方式选用基于SimCode集成方式
原理:将优化参数写到var.txt中
用windows命令行的形式运行Matlab代码
Maltab读入var.txt,将参数导入,计算,将结果输出到
res.txt
Isight读入res.txt,然后删除res.txt文件
Matlab Interface
.. or: 网络通信式 Socket
模型的数据通过以太网协议传输
The socket remains open until the window with the ongoing communication is kept open.
案例1 半主动悬架 Vi-grade 与 Simulink联合仿真
上图是前悬架子模型中前束的位置的name值
案例3 通过Matlab代码访问修改 Spline3d
key{1,x}保存tag值 key{2,x}保存name值
案例3
Spline3d结构体内容 用户可以先读取原有的前束曲线,然后在原有曲线 的基础上进行修改。
案例3 修改method属性
案例3 修改method属性keys = cell(2,1);
单击运行按钮在工作目录下生成想xml仿真 文件
案例1 半主动悬架 搭建仿真模型
理想天棚控制模型
案例1 半主动悬架 搭建仿真模型
被动减振器模型
案例1 半主动悬架 信号定义
案例1 半主动悬架 信号定义
案例1 半主动悬架 半主动减振器的特性
只能耗散能量不能主动提供能量
减振器的阻尼在正常阻尼的2倍到0之间变换,编写阻尼力显 示函数,保证阻尼器只耗散能量,不提供能量
keys{1,1}='CRTSteeringSystem'; keys{2,1}='steering_gear';
attributes= cell(1,1); attributes{1}='method';
values=cell(1,1); values{1}='use_toe';
Cell{1,x}保存tag值 Cell{2,x}保存name值
Matlab API函数库包括以下三种: 用于修改已经存在的xml文件的函数(xml文件定义了车辆模型参数,仿 真工况与参数等) 用于打包与更新VI-CarReaLTime数据库的函数. 用于运行仿真工况的函数.
上述功能函数提供了友好的接口方便用户进行优化设计
函数列表,函数使用范例等内容可以在VI-CarRealTime帮助文档Matlab API Toolkit 这部分找到。
仿真配置文件生成时只需要注意Solver Setting中配置,主要配置的是 Mode of Simulation要配置为file only。
运行仿真仿真配置文件<event_name>_send_svm.xml 创建
Matlab/Simulink Interface
在Maltab的WorkSpace中定义一个字符串变量vicrt_inputfile 该变量的 内容是<event_name>_send_svm.xml 文件的完整地址。
VI-CarRealTime Training 联合仿真
Matlab接口
VI-CarRealTime 允许用户通过Matlab界面与VI-CarRealTime进行交互。
这里有两种交互方式: VI-CarRealTIme 与Simulink 联合仿真 用过Maltab API函数库与VI-CarRealTime模型交互
案例3 悬架前束特性优化
研究对象:悬架K特性中,轮跳与前束曲线ቤተ መጻሕፍቲ ባይዱ曲线拟合为3次曲线, 通过控制系数来控制曲线形状)
优化工况:阶跃响应 优化工具:Vi-CarRealTime 17.0 + Matlab 2014b + XmlSpy 2013 优化目标:横标角速度超调量(overshoot)
7.让AMESim模型进入仿真模式(这是经常忽略的一步, 千万注意),典型的报错是在Matlab中报打开data文件 错误。
8.通过Tool---start simulink,AMEsim会自动打开 Simulink,在Simulink库中找到AMESim模块,指定事先 生成好的mexw64文件(32位Matlab是mexw32文件)
Matlab API函数库包含了一系列的Matlab函数用于与VI-CarRealTime文件交互。 交互包括了修改,设置,获取数据VI-CarRealTime文件中的模型属性。
Matlab API函数可以管理整个车辆模型数据库,以及运行所有的建模与仿真过 程 。 上 述 提 到的 建 模 与 仿 真过 程 既 包 括 了 VI-CarRealTime , 也 包 括 了 VISuspensionGen。
不推荐多个版本VI-CarRealTIme的Simulink模块库在同一Maltab中共存,这 是为稳定性考虑。请不要使用下图中文件浏览功能指定输入xml文件(至少 在17版本中)。
Matlab API Toolkit
Matlab API函数库为用户提供了创建与自动运行试验设计(DOE)的环境, 通过这一工具。用户运用该工具优化悬架与车辆参数配置。
所有的操作都是基于唯一的工作目录(E:\crtModel\PATAC\)
SimCode参数配置
输入文件配置
SimCode参数配置
输出文件配置
Isight基本框图
OS Command用于删除原有的res.txt文件 SimCode用于完成文件读取,Matlab运行,文件写入操作 优化的内容如案例3一致