Simulink—Adams联合仿真:匀速圆周运动的控制

一、前言

        用Adams和Simulink实现物体的匀速圆周运动

二、理论分析

我们知道,匀速圆周运动的动力学公式为式子(1)

                                                               F——圆周运动的向心力

                                                               M——运动物体的质量

                                                               V——匀速圆周运动的切向线速度

                                                               R——圆周轨迹半径

假设小球在XY平面上做匀速圆周运动,其运动轨迹半径为R,如图所示

 分析上图,则存在式子(2) 

这里有式子(3)和(4)

则式子(2)可改写为式子(5) 

 同理,向心力F和切向速度V分别为式子(6)和(7):

 这里θ是随着小球的运动时刻变化的,既随时间变化的(8):

小球做匀速圆周运动时,我们知道其角速度和线速度存在关系(9): 

 将(8)和(9)式替换掉前面所有式子中的θ,则我们找出了运动和力关于时间之间关系。同时可

以将圆周运动转化为在X轴和Y轴上的运动进行求解,即简谐运动的求解。

三、解法一 (开环控制)

1、匀速圆周条件

        分析小球匀速圆周运动的过程,我们知道要满足以下条件:

        (1)切向线速度V,大小保持不变,方向时刻改变

        (2)存在一个力F为小球的运动提供向心力

2、初始位置状态

        如果一个小球从静止状态开始,要达到圆周运动;则需要在一定时间内加速到指定线速度V,

之后在向心力的作用下开始做圆周运动。在XY平面中,要使小球绕原点O做匀速圆周运动,存在两

种三种情况:

a.小球在运动轨迹范围内:

        这种情况下,可以控制小球做螺旋线运动,但需要小球在达到圆周轨迹上的时候速度也刚好

满足要求,然后再向心力的作用下做圆周运动。

b.小球刚好在运动轨迹上:

        此种情况下需要小球在极短的时间内加速到指定的切向线速度,之后再提供向心力。

c.小球在运动轨迹外:

        此中情况与a类似。可以按照a的方法进行处理。

3、设定初始位置

        设想一种特殊状态如图所示,小球4处在XY坐标系第一象限,我们可以先让小球4直线加速到

目标速度V和目标位置小球3处,然后撤销直线加速度a, 同时添加向心力F。理论上小球4达到小

球3位置后,开始进行匀速圆周运动,按此理论创建Adams模型。

         其中小球1表示运动中心,连杆2表示运动半径,小球3表示运动轨迹上的点,小球1、3和连

杆2都是固定不动的(Adams中作为参考物体)。小球4是我们需要进行控制做圆周运动的。

图中:

小球1位置(X,Y,Z)=(0,0,0);

连杆2长度(X1,Y1,Z1)=(0,0,0),(X2,Y2,Z2)=(0.45,0,0);

小球3位置(X,Y,Z)=(0,0.45,0);

小球4位置(X,Y,Z)=(0.4,0.45,0)。

4、Adams模型创建

(1)新建模型

        新建模型——模型名称:Circle_Ball——选择无重力状态——单位选择(米、千克、牛、秒、

        度):MKS(M、kg、N、s、deg)——选择一个工作路径(不能有中文名称),点击确定

        即可。

a. 创建小球1:

        点击物体——球——半径处可以勾选后自己输入指定半径(注意这里单位是厘米cm),

        也可以不勾选拖动达到自己觉得合适的尺寸。这里我选择小球半径5cm(5cm只是为了画面

        协调,大小不影响结果的输出)。位置可以直接选择坐标原点位置即可创建成功。

b. 创建连杆2:

        选择连杆,长、宽、深可以不用指定。然后点击左边原点处,会自动捕捉参考点,然后任意

        位置右键弹出坐标对话框,可以将上述中连杆的第二个坐标复制输入进去,点击应用即可创

        建连杆。 

### 配置 ADAMSSimulink 联合仿真环境 #### 准备工作 为了成功配置 ADAMSSimulink联合仿真环境,需确保安装了最新版本的 MATLABSimulinkADAMS。此外,还需确认计算机的操作系统兼容性以及相应软件包已正确安装。 #### 文件路径设置 将 `...\MSC.ADAMS\2005\Win32\` 文件夹中的 `adams_plant.dll` 文件和 `...\MSC.ADAMS\2005\Controls->Win32\` 下的 `plant.lib` 文件复制到适当位置以便于访问[^4]。 #### 创建 S-Function 模块 在 Simulink 中创建一个新的模型并添加一个名为 "S-function" 的模块。此模块用于连接 ADAMS Simulink 并实现数据交换功能。对于 `'adams_plant' in 'GCdd/adams_sub/ADAMS Plant/S-Function'`, 如果遇到任何问题,则可能是因为缺少必要的库文件或不正确的路径指定[^2]。 #### 参数调整 进入 Adams 设置界面完成联仿参数设定,这一步骤至关重要因为它决定了两个平台间的数据传输方式及频率等重要属性[^1]。 #### 测试验证 构建简单的物理场景来测试整个系统的稳定性是非常有帮助的;例如可以尝试建立匀速圆周运动控制系统,在这个过程中可能会碰到一些挑战比如圆心偏移等问题,这些问题有的能通过优化算法得到改善而有些可能是硬件层面所引起的固有问题[^3]。 ```matlab % 示例代码:初始化S函数接口 function setup() % 定义输入输出端口数量和其他特性... end function sys=mdlInitializeSizes() sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys=simsizes(sizes); end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值