carsim
📖 阅读信息
阅读时间:8 分钟 | 中文字符:3028
整体初步介绍¶
功能¶
- 求解运算车辆的动态特性
- 可视化的后处理——视频、曲线图
- 有一个强大的 GUI 界面(与用户交互的)
使用的步骤¶
- 打开,选择一个 database(一个大的文件夹、数据库)
- 右下角是创建一个新的 database(创建文件夹)
在这个创建新的文件中点击,找到下面的文件路径"D:\Program Files (x86)\CarSim2021.0_Prog\Resources\Import_Examples\CarSim_2021_Quick_Start.cpar"
双击这个文件
创建文件夹(保存的文件夹,必须使用英文或者数字进行命名)
然后选择默认的这个
就正式打开这个窗口了
- 右下角是创建一个新的 database(创建文件夹)
- 在上面的 view 中可以修改窗口的大小,改成中等的就可以
中文指导的帮助文档¶
打开的方式:
-
在软件的界面下按
F1
-
点击右上角的
help(❓️)
调出来的就是关于当前界面的帮助文档 -
或者点击工具栏中的 help(关于这个屏幕)
- database:打开的时候需要选择的东西
一个大的数据集 - library:点击会进入不同的界面中(灰色的就是当前的界面)
就是一个功能快捷方式
- 比如点击转向 (steering),进入转向的设置
- dataset(工具栏中):
点击之后只有一个,但是可以自己搭建(数据集)
也就是在功能模块中进行设置之后就会有数据,保存在这里,想要不同的参数集就可以切换- 比如我们进入汽车的总体构架:
- 我们修改这个汽车的总体参数之后就可以有关于这个新的汽车参数的数据集了
主页面¶
在 library 中来到我们的主页面中
- 三部分
- 第一部分:车辆和测试的工况设置
- 中间:求解器的设置
- 最后:后处理的设置
简单试试
点击右上角的解锁
点击中间的运算
运算之后点击后处理中的 video
就有上面的小视频了
- 这个视频中可以暂停和调节(和视频一样)
- 还可以再 view 中点击
time后面那个
可以用来控制播放速度
- 再下面那个先进的控制
- 可以以一个时间步步进
- 视图调节
- 按住鼠标的右键进行旋转
- 远近大小:按住鼠标的中键拖动
- 鼠标右键 +
shift键调节焦点 render mode中调节视图的框架
还有就是在这个界面中按F1可以有快捷键的说明
右上角的帮助文档
video+plot
既有视频,还有对应的曲线
比如我们看纵向车速的关系,可以双击,直接变大图;再双击就还原了
按快捷键 c:显示某个时间的实际值
快捷键 v:目标值
pgdn:下一个视图
↔️键:移动时间
左键选择区域,按住中键缩放,右键进行移动
按快捷键 r 或者双击右键还原视图
在坐标轴的位置同时按着左右键,可以进行分度值的放大缩小(比例尺)
- 按着
ctrl+⬆️或者是ctrl+⬇️得到最大值和最小值 - 在空白处点击右键,也有很多的附加功能
- 也能按
F1或者是 help 查看快捷键
怎么新建新的:
- 点击上面的 plot 新建一个空白的图
- 点击
view,点击 data manage- 选择自己想要的参数,左键拖到图像中
- 在 plot 中还有一些默认的、常见的图像;可以快速对的建立
图的上面可以调节这几幅图的布局:
在初始的页面的右下角,点击 view 就能看见此时的参数(右下角的下拉菜单可以切换,得到此时的模式下的参数(view))
快速开始仿真的小例子¶
我们之前使用的 dataset 是简单的演示数据集
新建 dataset¶
- 工具栏中两个方框的那个,点击新建:
- 之后就会自动转到我们的新的(相当于复制了之前的一个)
从上到下,从左到右读取这些 dataset 的,所以后面设置的会覆盖前面的
- 还有一种复制的方法是文件中——newdataset(有很长的后缀哪里)
- 选择类别(就是 dataset 中大的一栏)
左侧的设置¶
车速的设置,设置之后运行,现在相比而言只改了一个车速- 车身部分,解锁进行修改
修改了悬架
- 怎么对比两个 dataset:
- 点击下面:
现在就有两辆车了,一个悬架变了,一个车速变了
在 video 中可以选择颜色(select color)
- 点击下面:
在修改的页面可以撤销和反撤销
back 和 forward 可以实现界面的返回
- 右下角可以查看三个 dataset(一个参数的参数树) 文件之间的区别
- 使用工具栏中的 tool->compare 进行对比
- 蓝色的代表一个参数集(相同的这个修改一下就会全部修改),打开不同的页面有不同的参数(看 dataset 就行),不同的页面下亦可以 Duplicate 新的集
- 在不同的 library 下都可以新建 dataset,也可以进行 copy
新建图像
还可以在主页面中 more plot:
点击这个蓝色的东西就可以设置了
选择此时的 dataset: (自己计算好的参数)
x 轴就按照时间选择
y 轴可以先按照部位筛选
右键不松可以查看这个变量的详细解释
如上图的设置
改标题和分类¶
- edit
- 改变标题和分类
打开别人的 dataset¶
- 文件——>近期的 database——>2021
- 选择中间的新建窗口
现在就有两个了
打开这个新的的 plot setup (在 library 中)- 点击工具栏中的 tool
- 点击下面的导出 cpar 文件
选择文件夹保存
- 回到我们自己的文件中
- 文件——>导入任何类型文件——>导入我们上一步导出的文件
点击 ok - 再点击 plot,现在就有我们导入进来的图像了
这样就可以通过默认设置好的 dataset 的设置
- 文件——>导入任何类型文件——>导入我们上一步导出的文件
- 同样的,车辆、道路这些设置也是可以导出的
就能把所有的都导出去
现在我们看
就有更多的车辆配置了 - 同样的,其他的配置也是可以的
library 的名字
好像就是页面此时的左上角显示的名字
链接¶
怎么看当前的 dataset 连接到哪些上级的 dataset
- 点开这个 dataset
- tool
我们就可以看见上一级的了
双击就可以切换
使用哪些默认的 dataset
复制使用
因为修改一个的话,会影响上层的 dataset,所以要新建复制一个新的
library-run control¶
- 左侧为车辆模型
- 中间是求解器的设置
- 右边是后处理
左侧¶
上¶
- 最上面的数学模型:
现在使用的比较多的就是我们的整车模型:
选择了这个之后,我们就可以从我们导入的库中选择我们的车辆模型了,我们现在选择 A 型车- 我们点击这个车型进行修改
- procedure(下面的这个,是最常用到的)
也就是驾驶员模型,可以选择这个车辆是怎么开的
同样选择一个数据集 120 km 这个- 点击进行修改:
左边为车速、制动系、转向等等
当我们使用 simulink 联合仿真时,我们可以选择不在此处进行控制,然后接入 simulink 的控制接口 - 我们修改的时候应该新建一个 dataset,防止修改原有的
- 点击进行修改:
- 更多的数据这里,我们可以写一些代码(命令行)
- 再下面,有路面和力的一些设置
- 最右边还有图像的设置
中下¶
中间有三个(carsim 是一个从上到下读取,所以下面的会覆盖掉上面的设置)
- 想临时修改的时候就可以这样做
中间¶
中部¶
可以设置开始和停止的条件(在驾驶员模型中也可以设置)(时间和距离满足一个就会开始/停止运行)
这样设置还可以倒着跑,总之这个条件很多,可以探索一下
运行这里
可以点击 simulink 进行联合运行
点进去之后选择一个模型
输入接口(就是 simulink 到 carsim 的输入)和输出(就是 carsim 的输出)接口
输入就是
选择一个(在外面进行选择),点击 send to simulink
就会自动打开 simulink
上面就是 carsim 中的 ABS 的模型的 simulink 的显示
打开已有的文件(dataset),然后才能点击 send to simulink(也就是得在外面选中的,之前的都是新建的 simulink)
- 再下面还有输出文件的格式和输出文件中输出的变量
- 实时动画
联合仿真完成之后就可以运行得到结果
然后查看我们的运行动画 - 时间步的设置:
- 数学的时间步
- 输出模型的时间步
算力比较高的话可以把时间步调的比较大
- 还可以在 tools 工具栏最下面的参数设置进行时间步的设置:
- 这里面还有求解数学模型
- 输出文件在什么时候开始使用
- 还有可视化的窗口的设置
还有一些线图默认的 dataset 等等
最下面的更高级的设置
选择一个已经存在的仿真测试
继续进行仿真
最下面的 overriding data,这里的设置是最高级的
但是这里设置之后要有动画的话,要勾上 advanced 那里的两个键
最右下角可以查看当前运行的代码、配置什么的
library: vehicle 1¶
现在我们学习 vehicle 这个 library
- vehicle 包括
- 现在我们只讲关于整车的两个
assembly¶
点击进入这个 library
设置这个
-
首先是簧上质量:
创建一个新的簧上质量,下面是各个参数的解释
车轮、车宽、四个轮子的中心高度
无载荷的情况下质心距离前轴和地面的高度,0 为质心距离中心平面的距离
还有加入是一个挂车的话,可以看见挂钩的高度- 还有下面的这些:
汽车理论中的一些参数:
惯性积,还有就是三个轴的转动半径(两者是相关的,填其中的一个就行)
最右侧的:
| Text Only | |
|---|---|
1 2 3 4 | |
我们还可以选择从整车出发设置簧上质量(和上面的那个是不同的方向)
参数
- 四个车轮的承重(还可以算出质心的位置)
-
总的非簧载质量
- 簧上质量(悬架弹簧以上的质量)与簧下质量(轮胎、悬架的质量)
- 悬架的导轨宽度(轮距)
簧上质量在悬挂中可以看见:
-
下面只需要设置整车的质心高度
其余的东西会自动计算 -
下面就是转动惯量和对应的惯性矩
右边的和上面的也是一样的
with load, sensor¶
现在能加上一堆东西,传感器、负载什么的,还能加上拖车(trailer)
挂车的设置和车的设置是类似的,可以设置质量、空气东西学、动画效果,脱钩的特性
这里的一些动力学模型自己要理解
library: vehicle 2:¶
空气动力学的设置¶
认为整车收到的风阻作用于参考点的三个力和三个力矩
中间可以设置参考点的位置(x 轴为轴距的一半)
还可以设置阻力系数
这个系数可以是个恒定值,也可以是一个随着角度变化的值
线型、二维的、三维的
还可以换到另一种空气动力学的设置:
中间部分是看受不受到俯仰角、垂向位移的影响
能看见上图的三维的模型
PID 控制¶
- 开环
机器人的输出会不会影响机器人的输入
但是如果机器人在前进的过程中发生偏移,就不行 -
闭环
提高系统控制的精确度 -
P:比例——使得被控对象去弥补误差
- D:微分——减小震荡的幅度
- I:积分——对误差进行积分,使得最后误差趋于 0