在做仿真的时候使用了绳索和滑轮,网上的资料不是很多,所以想想还是自己做一下记录,提供了一个小案例,文件上传到我的资源里了。
1.滑轮约束 Pulley
这个模块可以建立滑轮和绳索之间的约束。这个约束保证了绳子和滑轮之间
The pulley has one local reference frame (frame port R) and two cord tangency points (belt-cable ports A and B). The reference frame is placed with its origin at the center of the pulley and its z-axis along the rotation axis of the same. The cord tangency points coincide with the locations at which the cord meets or separates from the pulley. These locations can change during simulation. The belt or cable wraps around the pulley from port A to port B so as to trace a counterclockwise arc about the z-axis.
注意这个模块共有3个端口,A和B分别是和绳索和滑轮接触的端口,图示的红色坐标轴代表x轴,绿色箭头代表y轴,蓝色坐标轴代表z轴。从A到B是沿着Z轴逆时针旋转的(Z轴纸面向外,从向外的方向看进去A到B是逆时针)。这一点很重要,因为Z轴方向不同可能绳子的缠绕方向就不一样的,如下图所示。记住一点,从A入线,从B出线,沿着箭头旋转的方向就对了。
看这两个图,如果两个滑轮的z轴沿同一个方向,比如都是纸面向外,那么A和A连,B和B连,就是左图这种交叉的形式,而如果A和B连,B和A连,就是右图这种形式。
还有一个R端口,这个端口是和滑轮相连的。
A和B端口引出的线可以看到是虚线,而R是实线。注意Pulley的R端口原点放在滑轮的质心的位置,Z轴根据我们的绕线的方向决定。如果发现绕线的方向不对,需要反转Z轴,可以在零件里添加一个坐标系.
比如上图的这个滑轮。
双击滑轮对应的实体Solid (我这里命名是pulley1).我们点开后打开下面的Frames,添加一个坐标系。
坐标系Z轴进行反向。把+Z改为-Z就行了。
我们打开Pulley
需要注意的是这里的绳子的半径和滑轮的半径应该要一致,我之前没有注意到这一点,结果仿真的时候一直报错。
2.带-绳索缠绕-Belt Cable Spool
类似于滑轮约束Pulley,滑轮-绳索缠绕-Belt Cable Spool有两个端口,其中一个A对应出绳的节点,一个R对应缠线轮中心的坐标系。注意出绳的方向是沿着Z轴顺时针转出,如果绕绳方向相反,需要在R端口连接的Solid模块中将坐标系的Z轴反向,方法同上面的滑轮约束Pulley。
我们还需要打开滑轮-绳索缠绕-Belt Cable Spool模块,设置其中的Pitch Radius和我们的转轴的半径一致。
3.带-绳索属性 Belt Cable Properties
这个模块很好理解,我们需要设置一下滑轮-绳索属性。它只有一个端口P,也是和绳子进行连接。双击模块打开我们看到
这里的Unconstricted表示绳子可以和滑轮有一个张角。如下图所示。
还有另一个模式是monitored planar,这个是保证了上面图示角度的
θ
\theta
θ为0,否则会出现报错。
其他一般可以选择默认设置。
4. 带-绳索末端 Belt-Cable End
这个没什么好说的,有两个端口,一个E连接绳子端,一个R连接的是连接点端。其他也没有什么属性设置的了。
小demo
MATLAB Simscape滑轮绳索仿真,有点意大利炮的感觉了
仿真的demo放在我的资源里了。
MATLAB simulink Simscape绳索滑轮仿真demo