CircleLine_Contact -圆和直线接触模型

1)        模型路径

TYContact.PlaneContact.CircleLine_Contact

2)        图标设计

圆和直线接触模型

3)        功能描述

圆直线接触模型是一个基础接触模型,该模型是一个在二维固定平面点接触模型,在该模型仿真前,首先检测两个接触体的质心是否在一个平面内,如果两物体不在一个固定平面,计算结束,输出警告;如果两物体在一个固定平面内,通过该模型可以计算圆形和固定直线在指定平面中的接触问题。

4)        基本假设

        接触体和被接触体材质为均质刚体,有各向同性;

        接触体积远小于两物体体积,接触时的区域简化为潜在接触点进行分析;

        接触穿透深度相对于物体直径/长度是一个小参数(小于1/100);

        摩擦力计算采用基于速度的接触摩擦模型,遵守库仑定律;

        接触法向力根据赫兹理论简化为基于罚函数的非线性阻尼弹簧计算;

        接触体除了刚体的质心点和ab 端口点外,还利用相关参数和方向向量表示物体的表面信息;

        两接触体在指定平面XYXZYZ内运动,只有3个自由度;

5)        模型接口

接口类型

接口

变量

范围/单位

数据维度

数据类型

描述

多体接口

frame_a

r_0

m

[3]

Real

位移

R

-

[3,3]

--

姿态模型

f

N

[3]

Real

力向量

t

Nm

[3]

Real

力矩向量

多体接口

frame_b

r_0

m

[3]

Real

位移

R

-

[3,3]

--

姿态模型

f

N

[3]

Real

力向量

t

Nm

[3]

Real

力矩向量

布尔接口

contact

output

--

[1]

Boolean

接触状态

6)        模型参数

tab参数

group参数

参数名称

默认值

单位

参数描述

常规

参数

planesort

"xy_plane"

/

指定平面(与物体状态相同)

animationforce

true

/

=true显示接触力动画

几何参数

Points

{ {-1, 0, 0}, {1, 0, 0} }

m

线段两端点相对frame_b的位置矢量

r1

0.2

m

圆半径

r2

0.05

m

线半径(可以设置为0

接触力

法向力

k

1e8

N/m

用于计算法向力的弹簧(刚度)系数

d

10000

N.s/m

用于计算法向力的阻尼系数

n1

1.5

--

刚度指数

n2

0

--

压痕指数

p_max

0.0001

m

最大侵入深度

摩擦曲线

mue_k

0.03

1

动摩擦系数

mue_s

0.04

1

静摩擦系数

mue_r

0

1

滚动摩擦系数

k_v

0

s2/m

粘性摩擦的梯度,摩擦力正比于相对速度的系数

v_e1

0.01

m/s

静摩擦的极限速度

v_e2

0.1

m/s

动摩擦的极限速度

动画

表面动画

animation1

true

--

为真时,表面1动画显示

animation_BCS1

true

--

为真时,表面1坐标系动画显示

color1

{255, 128, 0}

--

表面1颜色

animation2

true

--

为真时,表面2动画显示

animation_BCS2

true

--

为真时,表面2坐标系动画显示

color2

{255, 128, 0}

--

表面2颜色

接触点动画

animation

true

--

= true表示显示接触点动画

radiusContactPoint

0.0025

m

接触点显示动画的半径

colorContactPoint1

{0, 180, 0}

--

刚体1上接触点的颜色

colorContactPoint2

{255, 0, 255}

--

刚体2上接触点的颜色

圆面几何厚度

h

0.001

m

圆面几何厚度

7)        模型变量

变量类型

变量名称

单位

类型

描述

中间变量

Lines

m

Real

线接触定义

Cd

N.s/m

Real

阻尼系数

p_norm1[3]

m

Real

接口1相对接口2方向向量

Vp[3]

m/s

Real

两接触点相对速度矢量

Vv[3]

m/s

Real

两接触点法向相对速度矢量

vv

m/s

Real

两接触点法向相对速度幅值

Vh[3]

m/s

Real

两接触点切向相对速度矢量

vh

m/s

Real

两接触点切向相对速度幅值

Pin_l

/

Real

球心是否在线段内

b_l

m

Real

球心到线段的最短距离

Pv_l

m

Real

垂足到球心的单位向量

a

/

Real

AP向量(A到球心)投影在线段上的长度

结果变量

contact

--

Boolean

接触状态

ds

m

Real

穿透深度

Fn[3]

N

Real

接触法向力

Ff[3]

N

Real

接触摩擦力

F[3]

N

Real

接触力合力

Ts[3]

N.m

Real

球线接触力矩

Tf_s[3]

N.m

Real

球线接触反力矩

8)        参数设置

(1).  首先设定两接触体的仿真平面,使接触体和被接触体在指定平面仿真;

(2).  圆面和直线几何参数与物体相同,均为外径参数,需要都为非零参数;

(3).  接触刚度和阻尼、最大侵入深度均为正值,阻尼系数推荐小于刚度系数的1%接触刚度系数通常设置为1~2.2范围内;

(4).  动画设置中,接触面的动画和坐标系显示,设置后可以和外部刚体的动画重合,在验证正确性后,在仿真时推荐在接触模型中设置表面,关闭刚体动画显示;

(5).  触点动画为小直径球体,只显示动画不参与计算,其数值参考表面属性设置,接触点直径要与接触体的直径有明显区别,小于接触体最小边的十分之一;

9)        模型原理

(1).  接触点检测

在平面内,圆和直线的接触检测过程如下:

圆和直线接触检测模型原理

首先,需要判断b的投影点是否在线段上,然后计算投影垂线的方向向量和坐标,利用内置的点线函数计算点的垂线在线段上的状态参数Pin_l、垂足到线段的单位向量Pv_lAP向量(A到球心)投影在线段上的长度a

然后利用距离参数判断圆和直线是否接触并计算距离;

ds = max(r1 + r2 - b_l, 0);

Contact = if ds > 0 and Pin_l > 0 then true else false;

(2).  接触力计算

在接触模型中,接触力法向力采用罚函数进行计算,其计算公式和基础函数解如下所示:

图示, 工程绘图 描述已自动生成

其中,

         IJ分别为两个物体的名字

         x为球心到接触点的距离

         x1为球心到球外表面的距离

         p_max为最大穿透深度

         n1为刚度指数,n2为压痕指数

x>x1时,没有穿透发生,接触法向力为 0

x<x1时,穿透发生在 J物体的接触点上,法向力大于 0,穿透距离px1x

p<pmax,穿透阻尼系数使用三次阶跃函数计算。

p<pmax,穿透阻尼系数为 dmax

(3).  接触摩擦力计算

在该模型中可以选择是否计算接触摩擦力,如果计算接触摩擦力,使用相对简单的基于速度的接触摩擦模型计算接触摩擦力。

摩擦模型计算

图示在此模型中的参数如下所示:

V:接触点的滑动速度

Vs:静摩擦转换速度

Vd:动摩擦转换速度

s:静摩擦系数

d:动摩擦系数

具体摩擦系数参数设置与两接触材料的类型有关。