单索并联机构动力学模型

randolf2022年9月19日
大约 17 分钟

单索并联机构动力学模型

定义

介绍 单索并联机构 的动力学模型构建,给出其基本的动力学建模技巧

方案

索机构动力学模型是进行索机构原型测试的必要条件,之前研究的运动学模型是动力学模型上的自然延伸,在研究过程中涉及到的主要映射如下:

p246r54

正逆动力学的基本框架如下图:

p250r54

动力学模型介绍

绳索的动力学特性与其长度、材料乃至预紧力都有关系,下面总结了可能影响绳索动力学特性的原因:

  • 弹性变形:对长距离绳索以及大负载绳索影响大
  • 热变形
  • 蠕变 (Creeping?):是绳索材料中变形的一种特殊形式,比如高分子材料。Creeping 是一种 hysteresis(迟滞) 效应,可以引起绳索一定时间的可恢复拉伸变形
  • 下垂 (Saggingg):由于绳索重力导致的静态变形
  • 横向振动 (Transversal vibration):绳索像琴弦一样的横向振动,会导致 effective length 和 tension 出现高频的震动。这一现象在以高加速度运动、绳索质量相对运动平台的质量不可忽略的时候容易出现
  • 纵向振动 (Longitudinal vibration):对大尺度的绳索机器人,绳索材料中的音速导致不可忽略的延迟,从而减小了机器人的动力学带宽 (dynamic bandwidth);这也出现在超级高加速度运行的机构中
  • 并不是完全的可变形的 (Imperfect flexiblity):绳索通常来说是忽略了其 bending 和 torsional 的刚度的,但在有些情况下,比如金属制造的绳索在小滑轮上会体现出一定的弯曲刚度

动力学模型分析

理想模型

Pott_2018_Cable-Driven Parallel Robots

理想模型中,绳索的传递函数就是一个符号函数,使得拉力为正时传递力,为负时不传递力

这一方法虽然之间实现简单,但是其使得仿真分析变得比较困难,因为这一模型是一个不连续的模型,而且具有强烈的非线性性

弹簧 - 阻尼模型

绳索也被建模为一个并联的弹簧 - 阻尼模型,其中弹簧弹性系数和阻尼比都是可变的,取决于绳索的有效变形长度

这一模型忽略了绳索自身的质量,认为绳索的张力只取决于其弹性变形,这表示纵向和横向的振动都被忽略

在此基础上建立绳索的模型为:

p257r57

其中有效绳长的初始条件 可以通过绳索原长计算:

其中 是绳索在滑轮上的长度, 是绳索在 winch 上的长度。注意到缠绕的绳索长度为 ,从而可以将有效长度表示为:,从而可以计算出变形量为:

p257r48

估计模型中弹簧的刚度还是一个未定的问题,目前一般使用弹性模量进行估算:

其中 是绳索的原始的长度

弹性绳索建模——集中质量法

^7bd30c

这是很经典的一种方法,通过将绳索离散为多段单元,并将质量集中到每段的端点上,利用线性变形的假设将端点之间通过弹簧连接,最终通过拉格朗日方法建立动力学模型

@caverlyDynamicModelingPassivityBased2015

动力学模型

Pasted image 20220921100513

note

我们只看其中一半模型

将 winch 外的绳索划分为 n 段,取系统坐标为:

其中

是划分段数的 相对坐标 代表末端坐标的相对坐标

note

事实上如果你愿意,将末端那一节勉强也能看成是第n+1段,只不过质量有所变化

可以将系统的动能和使能以及 Rayleigh dissipation 表示为:

其中 ,且:

其中

对离散的绳索有:

其中 是 winch 转动惯量

note

这里其实是有点暗示角度不能太大,否则

那么为什么不定义成:

进一步建立拉格朗日方程可以得到:

其中

代表了施加在 winch 上的转矩系数

这一些项是在考虑了 winch 之后,由于第一段绳子的质量和刚度改变带来的非线性项:

note

注意如果将位移分散到每一段中,即

那么计算的时候会复杂很多...全部质量非线性

数值仿真

仿真参数:

%% INIT PARAMS

mp = 1; % 负载质量
r = 0.5; % 滑轮半径
Jw = 1.39e-1; % winch 转动惯量
L = 5; % 绳索原长
A = 17.95e-6; % 绳索截面面积
rho = 2200; % 绳索密度
E = 500e6; % 弹性模量
tau = @(t) 1; % 转矩
f = @(t) 0; % 外力

n = 5; % 瑞利基数

% damper coefficients
D = zeros(n+2);

% params
P.r = r;
P.rho = rho;
P.A = A;
P.Jw = Jw;
P.mp = mp;
P.D = D;
P.tau = tau;
P.f = f;
P.L = L;
P.E = E;
P.n = n;

t_end = 1;
tspan = [0 t_end];
simu_num = 500;

仿真代码:

q0 = zeros(n+2,1);
dq0 = zeros(n+2,1);
y0 = [q0;dq0];
sol = ode45(@(t,y) CableLMModel(t, y, P),tspan,y0)
x = linspace(0,t_end,simu_num);
y = deval(sol,x);
LM_theta = y(1, :);
LM_dx = sum(y(2:(n+2), :), 1);
LM_xp = L - r.*LM_theta + LM_dx;
LM_figPlot(x, LM_theta, LM_xp, LM_dx)

Pasted image 20220921141949

弹性绳索建模——Rayleigh-Ritz 方法

参考 @gosselinCableDrivenParallelRobots2018 的 P14:Modelling of Flexible Cable-Driven Parallel Robots Using a Rayleigh-Ritz Approach

关于 Rayleigh-Ritz 方法可以参考: Chap3 弹性体振动Chap3 弹性体振动

模型基础

p16r57

其中 分别是世界坐标系,winch 坐标系和绳索坐标系

Payload 到 winch 切点距离为 ,winch 转角为 ,绳子名义的初始长度 (总长) 为 ,那么有:。定义 时不变的坐标 x 为绳子上一点相对 C 点的长度, 为 winch 上绳子相对竖直位置的角度, 是 payload 中心相对 winch 中心在 方向的位置

note

注意这里的是不考虑变形时候的payload到切点的距离,而是考虑变形后实际的payload到切点的距离

选取 Ritz 基为:

^eqn-ritz-basis

其中

我们根据 Ritz 基给出绳子在任一点上的变形量为:

这里的 就是弹性变形相对 Ritz 基的时变的坐标,有 n 个自由度

从而根据上面的分析将整个系统的广义坐标表示为:

^eqn-generalized-coordinates

note

我知道这么选取广义坐标是不独立的,但这么建立动力学模型,在后面如果涉及到多索机构的时候可以方便的添加约束上去,从而保证独立性

动力学模型

使用拉格朗日方程可以建立起动力学模型:

Assumption

在 inertial fram(i) 下进行分析

首先对 winch 上的绳子进行分析:

一个单位质量元 对应的坐标可以表示为:

从而动能可以表示为:

其中

类似的可以得到 winch 和 payload 的动能:

其中

对 winch 外的绳子进行分析:

其中

从而可以得到 unwarpped cable 的动能为:

从而可以将其写成一个二次型的形式:

通过变换 ,可以得到问题方程被简化为:

其中

note

这一质量方程的简化是通过选取合适的这种三角函数基完成的

对绳子的势能可以通过弹性变形得到:

其中

为了引入绳索自然的阻尼项,加入 Rayleigh dissipation 为:

从而系统的拉格朗日方程导出的动力学方程为:

其中

p18r47 ^eqn-dynamic-model

p19r47

note

注意,到目前为止,末端的payload还没有被连接到绳索末端,需要后面增加constraints

基于能量的模型简化
  1. 注意到仿真中,unwarpped cable 的动能 ,其中的 小了很多 (约 量级),从而忽略这一项,进而忽略了 这几项,方程简化为:

p19r33

其中

代表第 k 个元素

连接约束

^eqn-dynamic-model 中,选取的广义坐标并不是独立的,因此需要对其施加约束来保证问题的求解:

考虑到初始选取的广义坐标为:

^eqn-generalized-coordinates

从而考虑其缺失的一个约束,即末端位置 和前 2 个坐标存在关系:

note

这里的约束其实感觉不是对时间的导数,有点像虚位移的感觉=>虚功那一套

从而构造约束 为:

我们考虑构造带约束的拉格朗日系统为:

其中 为拉格朗日乘子,用于约束系统

我们考虑构造新的广义坐标为:

使得其在约束 的零空间中,即:

通过约束可以直接得到 R 为:

从而考虑新系统:

新系统下就可以直接进行仿真了

remark

这么做的主要优势是将约束放在最后进行考虑,对多索耦合的系统可以按照范式方便的进行拓展

note

对比弹性绳索建模——集中质量法,集中质量法构造的单索模型就不需要施加约束,但是多索的话还是需要的

仿真结果

仿真条件为:

mp = 5;      % 负载质量
r = 0.5;       % 滑轮半径
Jw = 1.39e-1;  % winch 转动惯量
L = 20;        % 绳索原长
A = 17.95e-6;   % 绳索截面面积
rho = 2200;     % 绳索密度
E = 500e6;      % 弹性模量
n = 5;          % 瑞利基数

% damper coefficients
D = zeros(n+2);
% init conditions: (n+2)x2
% q = [\theta, q_e^T]
% y = [q;dq]
q0 = zeros(n+1,1);
dq0 = zeros(n+1,1);
y0 = [q0;dq0];

仿真时长 10s,250 步

note

这里的瑞利基选取5个,而不选取更高阶是因为高阶的基计算出的 会有很大的条件数,测试发现的是:

  • 5阶:9.6306e+04
  • 10阶:1.4618e+12
  • 20阶:9.0865e+16

因此不能算高了,会导致数值计算不稳定

不对拉结果为:

tau = @(t) 1;        % 转矩
f = @(t) 0;      % 外力

Pasted image 20220920203137

对拉拉力为:

tau = @(t) 1;        % 转矩
f = @(t) tau(t)/r;      % 外力

Pasted image 20220920203023

至少说明施加的力还是有效果的

仿真代码参考:

符号计算参考:

对比:集中质量 Vs 瑞雷 - 李兹

从理论推导上来看,集中质量法瑞雷李兹法 的一种特例,无非是选取的基函数变成了分段的单位函数,这一改变的影响体现在推导瑞雷李兹法过程中的

注意到建立的模型大概为:

单索并联机构动力学模型 2022-09-21 14

因此对集中质量法 (至少我参考的文章),其要求 winch 转角 不能太大,否则超过了第一段的长度会导致计算错误(比如出现负质量、负刚度),特别地:

note

额外选取一个最简单的模型:绳索认为完全刚性,可以立即传导双向的力和力矩,忽略绳子的质量,那么动力学模型为:

选取基本的仿真参数为:

mp = 1; % 负载质量
r = 0.5; % 滑轮半径
Jw = 1.39e-1; % winch 转动惯量
L = 5; % 绳索原长
A = 17.95e-6; % 绳索截面面积
rho = 2200; % 绳索密度
E = 500e6; % 弹性模量

n = 5; % 瑞利基数

% damper coefficients
D = zeros(n+2);

t_end = 1;
tspan = [0 t_end];
simu_num = 500;

带入可以计算得到:

代码可以参考:

单向转矩

对单向转动的情况,考虑:

tau = @(t) 1; % 转矩
f = @(t) 0; % 外力

进行仿真有:

LM_RR_单向力矩

基本上比较贴合

附上和完全刚性的结构进行对比的图片:

LM_RR_TR_单向力矩

单向拉力
tau = @(t) 0; % 转矩
f = @(t) 1; % 外力

LM_RR_单向拉力

可以发现,LM 角度基本不变,这是因为按照设计他就不能按照这个方向被拉;而反过来的 RR 就可以被拉伸,产生反方向的转动

双向对拉
tau = @(t) 1; % 转矩
f = @(t) tau(t)/r; % 外力

LM_RR_双向对拉_1

可以发现 RR 基本是满足期望的,但是对 LM 就不太对,这应该是程序 Bug,还没想到为什么

大力矩拉动
tau = @(t) 5; % 转矩
f = @(t) 0; % 外力

LM_RR_大力矩

可以发现,LM 模型在角度为 1.6 度左右的时候出现反向振动,这就是前面说的到了最大转动角度,出现了负质量和负刚度

如果更极端一点,取下面这样的条件:

mp = 1; % 负载质量
r = 0.1; % 滑轮半径
Jw = 1.39e-1; % winch 转动惯量
L = 5; % 绳索原长
A = 17.95e-6; % 绳索截面面积
rho = 2200; % 绳索密度
E = 500e6; % 弹性模量
tau = @(t) 5; % 转矩
f = @(t) 0; % 外力

仿真 5s 的结果:

LM_RR_大力矩_2

这里可以发现,RR 方法当其绳子全部缠到了 winch 上后就出问题了,这表明还是存在局限性的

note

不过确实这个情况很极端了

总结

对比 LM 方法和 RR 方法,有下面特点:

  • RR 方法仿真的使用情况更广,多种情况下仿真
  • RR 方法在低阶的时候稳定,高阶的话会出现高条件数的情况从而出现奇异
  • 经过验证,无阻尼情况下,两个方法基本高阶和低阶解的结果基本一样

参考

引文
脚注
Loading...