The LuGre Friction Model

在这里插入图片描述


一 摩擦力的分类

在这里插入图片描述

  1. stiction:静态摩擦力:非线性变化,符号是跟方向有关
  2. Columb:库伦摩擦力:常值,符号是跟方向有关
  3. Viscous:粘性摩擦力:线性变化

二 LuGre摩擦力模型

2.1 LuGre的原型:

在这里插入图片描述

Lugre的物理模型是将摩擦力看成两个都有毛的平面接触时的相互力

2.2 LuGre的曲线轨迹

在这里插入图片描述

在这里插入图片描述
LuGre模型将静态摩擦力,库伦摩擦力,粘性摩擦力糅合到一起,依据速度值来计算出一个综合的摩擦力。


三 LuGre的matlab实现

3.1 计算的公式

在这里插入图片描述
因为公式里面出现了z以及z的导数dz/dt,因此计算有积分的操作。


四 不同速度下的LuGre表现

4.1 几乎静止下的LuGre表现

此状态下,一旦速度方向发生改变,摩擦力会发生越阶效果(静态摩擦力),如果在此区间内速度f方向不变,则几乎保持在一定值(库伦摩擦力)
在这里插入图片描述

此种状态下的计算,没有使用积分操作

sigma_0 = 1e5;
sigma_1  = sqrt(1e5);
sigma_2  = 0.4;
Fc = 1;
Fs = 1.5;
vs = 0.001;

%% Draw the overall friction force at steady state condition.
%  This is not shown in the paper

v = -0.005:0.0001:0.005;

Fss = lugref_ss(v, Fc, Fs, vs, sigma_2);

figure
plot(v, Fss)
grid
xlabel('Velocity (m/s)')
ylabel('Friction force (N)')
title('Friction force at steady state condition')

%% Zoom into certain velocity to see its transient behaviour 
%  This is not shown in the paper. We here want to demonstrate that the 
%  LuGre friction model does have a transient behaviour.
function Fss = lugref_ss(v, Fc, Fs, vs, sigma_2)
    r = -(v/vs).^2;
    
    % This equation is not lebaled on the paper, it is in the bottom left 
    % of the 2nd page 
    Fss = Fc*sign(v)+ (Fs - Fc) * exp(r) .* sign(v) + sigma_2 * v;      
end

在这里插入图片描述

4.2 一定速度下的LuGre表现

一开始的时候,摩擦力跟速度成线性比例,最后保持在一定的常值上
在这里插入图片描述

ts = 1e-3;
time_span = 20;
t_sol = 0 : ts : time_span;

v = 0.002;
z = 0;


% Note, this is forward euler integration of the ODE for z. - Jason Nicholson
F = nan(size(t_sol));
for j = 1 : length(t_sol)
    [F(j), z] = lugref(z, v, Fc, Fs, vs, sigma_0, sigma_1, sigma_2, ts);
end

figure
plot(t_sol, F);
grid
xlabel('Time (s)')
ylabel('Friction force (N)')
title('Friction force for v = 0.002 m/s')
xlim([0 0.1]);

%% Apply sinusoidal velocity and measure the friction force (Fig. 3)
% The input to the friction model was the velocity which was changed
% sinusoidally around an equilibrium. The resulting friction force is given 
% as a function of velocity .
function [F, z] = lugref(z, v, Fc, Fs, vs, sigma_0, sigma_1, sigma_2, ts)
    r = -(v/vs).^2;
    g_v = (Fc + (Fs - Fc) * exp(r)) ./ sigma_0;          % eq. 4
    z_dot = v - abs(v) .* z ./ g_v;                      % eq. 1 
    
    % note, this is forward euler integration. Your results depend heavily on the size of ts. - Jason Nicholson
    z = z + z_dot.* ts;

    F = sigma_0 * z + sigma_1 * z_dot + sigma_2 * v;    % eq. 3
end

注意,上面的实现,是使用简单的欧拉法来实现积分,很依赖积分区间的大小,比如我将积分时长改为ts=0.01,则是完全不同的效果
在这里插入图片描述


reference

[1] https://github.com/auralius/LuGre
[2] A new Model for control of systems with friction

  • 11
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值