学习记录-Simpack生成车轮不圆的几种示例

本文详细介绍了如何在SIMPACK中通过半径偏差法添加单阶和多阶车轮多边形,包括使用Harmonicfunctions和Radiusdeviations方法,以及车轮不圆公式的选择和应用。适合深入理解车轮失圆对仿真模型影响的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 引言

2 几种类型的车轮不圆添加

2.1单阶车轮多边形添加

2.2 多阶车轮多边形定义

3 关于半径偏差


1 引言

关于SIMPACK加车轮不圆的学习之前发过一篇文章,但随着需求不断提升,又学到了一些新知识,主要包括各种类型的车轮不圆的添加。写在这里记录一下。(赶紧记下来,要不过两天就忘了……)

关于simpack添加车轮多边形的基础部分在之前的博客里面有写

https://blog.csdn.net/weixin_51965897/article/details/123956918

2 几种类型的车轮不圆添加

2.1单阶车轮多边形添加

单阶多边形的添加,也就是说当你的仿真模型只想添加一种类型的车轮多边形的时候,如只添加一个6阶多边形或者只添加一个8阶多边形,这个时候有两种添加方式

(1) Harmonic function (simple polygonality)

首先也是最简单的一种方法,这个方法在我上面发链接的博客里有写,不再赘述

(2)Radius deviations

(关于这部分是我自己看帮助文档领悟的,如果有错误请大家批评指正,相互进步)

主要用到的是半径偏差,也就是下拉框里的这个选项,具体步骤如下

①要使用半径偏差定义车轮多边形,需要先定义一个函数

选择新建函数

 定义函数这里需要注意的点比较多,首先把公式输入类型选择为Formula,然后在下面的框里输入车轮多边形公式,最后把x的范围改成0到2*pi。

关于车轮多边形的公式,参考的是这篇文献[1]

 [1]高润. 列车车轮失圆动态检测方法与技术研究[D].北京交通大学, 2021.DOI:10.26944/d.cnki.gbfju.2021.000154.

现在我们这个公式定义的就是这个半径偏差,Δr,也就是说,我们输入公式的时候定义好公式里的A幅值和n相位部分就可以了,相位初始角部分可以在后面定义。

② 将定义好的多边形函数施加到车轮上

 在这里把定义好的函数放进来,同时根据需求修改比例系数和初始相位角,点击保存,这样就定义好了。

2.2 多阶车轮多边形定义

添加多阶车轮多边形,通常是当你的仿真模型需要同时看两个以及两个以上阶数的车轮多边形对车的影响时,就需要同时添加几个不同阶数的车轮多边形。

这部分同样用到半径偏差定义方法,基本的流程都是一样的

①定义函数

选择新建函数

然后定义函数

 这部分跟定义单阶的步骤唯一的区别在于定义多边形公式有区别,主要参考了这篇文献[2]

[1]何春燕. 车轮不圆对机车齿轮传动系统动态特性的影响研究[D].西南交通大学,2018.

也就是说你想定义多个车轮多边形就把它单个多边形的定义公式直接相加就好了。

② 将函数施加到车轮上

这部分跟上一步一样的,不再赘述

3 关于半径偏差

整篇文章用这个半径偏差法用的比较多,简单记录下它的主要基础知识。 关于它的帮助文档的描述是这样的

Google翻译下:

半径偏差通过输入函数在极坐标中逐点描述,请参阅输入函数和输入函数集。 它的独立坐标是角度β,必须在区间[0,2pi]中定义。 相关坐标是半径偏差Δ R(β) 或实际位置半径R(β) (以米为单位)(如果数据有另一个单位,则使用比例因子 C)。从这些值中减去平均值以获得实际的半径偏差。 最后,对数据进行样条化以允许包括导数在内的连续插值,忽略输入函数的特定插值设置。

也就是说,要使用这个方法,必须要自己定义一个描述车轮半径偏差随着角度变化的函数,且区间在[0,2pi]上。

要实现一个基于Java的车轮度数据采集与分析系统,首先需要确保系统的稳定、可靠与安全。这里提供一个设计思路,涵盖了数据采集、实时显示、数据分析以及用户交互等方面。 参考资源链接:[Java驱动的车轮度数据采集与分析系统设计](https://wenku.csdn.net/doc/22ppdrr7e3) 首先,数据采集模块应负责与车轮度激光测量仪进行串口通信,获取测量数据。可以使用Java的`java.io`包中的`SerialPort`类来实现串口通信。为了保证数据的实时性,需要合理设置串口参数,如波特率、数据位、停止位等,并通过多线程技术实现数据的非阻塞读取。 接下来,为确保系统稳定性,在数据采集的同时,需要建立数据缓冲区,避免因数据流量过大导致系统崩溃。可以利用队列数据结构来缓存数据,结合定时器(如`ScheduledExecutorService`)定期从缓冲区读取数据进行处理。 为了提高系统可靠性,应设计异常处理机制,包括但限于设备异常、数据读取失败等情况。可以使用Java的异常处理语句(try-catch)来捕获并处理这些异常情况,保证程序能够稳定运行。 安全性是系统设计的重中之重,需要确保数据传输的安全性,防止数据在传输过程中被篡改或窃听。可以采用加密算法(如AES)对传输数据进行加密,并实现用户权限验证机制,控制对系统的访问。 数据分析模块负责对接收到的数据进行处理,计算度参数,如最大偏差、平均值等,并提供趋势分析。分析结果可以实时显示在系统界面上,供操作人员观察和分析。数据分析可以通过实现特定的算法或调用科学计算库(如Apache Commons Math)来完成。 最后,人机交互界面需要简洁直观,方便用户操作。可以使用Java的Swing库或JavaFX来构建图形用户界面(GUI),并通过事件驱动的方式响应用户操作。 总之,构建这样一个系统需要综合运用Java编程语言、多线程编程、异常处理、数据加密和人机交互界面设计等多方面的知识。在实施过程中,还需要进行充分的测试,确保每一个模块都能正常工作,并对系统整体性能进行评估,以满足实时、稳定、可靠和安全的要求。 参考资源链接:[Java驱动的车轮度数据采集与分析系统设计](https://wenku.csdn.net/doc/22ppdrr7e3)
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值