概述
文章目录
- Coulomb and Viscous Friction
- 描述
- 端口
- 输入
- 输出
- 参数
- 模块特性
- 笔记
- Friction模块的缺陷及其解决方案
Coulomb and Viscous Friction
描述
Coulomb and Viscous Friction 模块用于对库仑(静态)摩擦和粘性(动态)摩擦进行建模。此模块可以对值为零时的不连续性以及非零时的线性增益进行建模。
y = sign(x) .* (Gain .* abs(x) + Offset)
其中 y 是输出,x 是输入,Gain 是非零输入值的信号增益(即粘滞摩擦系数),Offset 是库仑摩擦。
此模块接受一个输入并生成一个输出。输入可以是标量、向量或包含实数和复数元素的矩阵。
-
对于标量输入,Gain 和 Offset 的维度可以不同于输入。输出是标量、向量或矩阵,具体取决于 Gain 和 Offset 的维度。
-
对于向量或矩阵输入,Gain 和 Offset 必须为标量或与输入具有相同的维度。输出是向量或与输入具有相同维度的矩阵。
端口
输入
Port_1 - 输入信号
标量 | 向量 | 矩阵
库仑和粘性摩擦模型的输入信号。
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
输出
Port_1 - 输出信号
标量 | 向量 | 矩阵
通过将摩擦模型应用于输入来计算输出信号。
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
参数
Coulomb friction value - 静态摩擦偏移量
[1320] (默认) | 实数值
指定应用于所有输入值的偏移量。
编程用法
- 模块参数:offset
- 类型:字符向量
- 值:实数值
- 默认值:’[1 3 2 0]’
Coefficient of viscous friction - 动态摩擦系数
1 (默认) | 实数值
指定非零输入值的信号增益。
编程用法
- 模块参数:gain
- 类型:字符向量
- 值:实数值
- 默认值:‘1’
模块特性
-
数据类型:double | fixed point | integer | single
-
直接馈通: 否
-
多维信号: 否
-
可变大小信号: 否
-
过零检测: 否
参考自https://www.mathworks.com/help/simulink/slref/coulombandviscousfriction.html
笔记
Friction模块的缺陷及其解决方案
这个模块有个缺陷,不能用作信号输入为0的时候!
原因在于:
① Coulomb and Viscous Friction模块内部
② 输入值分母不能为0
解决方案:
自己用MATLAB Function
写一个模块
function y = Friction(u)
Gain_ = 0.1; %
if(u > 0) %
Offset_ = 0.3;
else
Offset_ = -0.3;
end
%y = sign(u) * (Gain_ * abs(u) + Offset_);
y = sign(u) * Offset_ + Gain_ * u;
end
最后
以上就是踏实唇膏为你收集整理的Simulink - Coulomb and Viscous Friction模块的使用Coulomb and Viscous Friction笔记的全部内容,希望文章能够帮你解决Simulink - Coulomb and Viscous Friction模块的使用Coulomb and Viscous Friction笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复