自动计算旋转关节块错误的扭矩驱动?
Automatically computed torque actuation of a revolute joint block error?
我正在使用 Simscape/Simulink 模拟带发电机的平开门。我想系统只有一个输入,即打开门所需的旋钮处的力,因此所有旋转关节都将其扭矩驱动设置为自动计算。但是,我收到一条错误消息:
“在包含 Revolute Joint 'SDL/SwingMotion' 的动态耦合组件中,自动计算力或扭矩 (4) 的关节原始自由度比来自输入的运动 (0) 多。一般来说,运动方程没有唯一解。通过增加具有输入运动的关节基元数量或减少具有自动计算的力或扭矩的关节基元数量来解决此问题。解决此问题以模拟模型。” =12=]
如果我将所有 4 个旋转关节的扭矩驱动设置为 none,动画效果很好,但是力产生的扭矩不会以这种方式传递,发电机轴不会有任何扭矩。但是,我能够测量输出 RPM(angular 发电机轴的速度)。我不太明白这个错误。为什么旋转块将其他旋转块的运动度视为自己的运动度?我该如何解决这个问题?
框图可以在这里看到。
程序集如下所示:
非常感谢任何帮助!
对于旋转关节,有三个选项:
- 让旋转关节充当铰链,从底座到从动件不能施加扭矩,反之亦然
- 提供扭矩并根据扭矩计算运动。这叫做正向动力学,运动是由力矩决定的。
- 提供运动并根据运动计算扭矩。这叫做逆动力学,扭矩由运动决定。
因此您必须 select 选择其中一个。如果您 select 扭矩自动计算,那么您需要提供它必须遵循的运动。如果您不需要遵循提供的动作,则不需要扭矩。
如果将计算的扭矩设置为 'none',则没有扭矩可以从底座施加到从动件,反之亦然,这就是自由度的概念。
看起来好像你想让Base和Follower有些僵硬地连接在一起并遵循相同的运动。您可以考虑使用刚体变换块,它只是一个刚体 link,您可以在其中定义平移或旋转偏移。
编辑
您有效地结合了正向和反向动力学。你在门把手上施加一个力,让 Simulink 计算运动(到目前为止的正向动力学),然后你希望 GenShaft 上的扭矩来自它正在做的运动,这是逆动力学。那是行不通的。
检查 GenShaft 扭矩的更好方法是,例如,需要特定的门铰链 angular 速度,在其上放置一个比例控制器,然后检查所需的扭矩。请注意,在铰链中没有摩擦建模的情况下,所需的扭矩将变为零。
因此,如果您将计算的所有扭矩设置为 'none'(GenShaft 除外),请将其设置为由输入提供。然后在门铰链的 angular 速度上放置一个比例控制器。然后您可以检查所需的扭矩。
我正在使用 Simscape/Simulink 模拟带发电机的平开门。我想系统只有一个输入,即打开门所需的旋钮处的力,因此所有旋转关节都将其扭矩驱动设置为自动计算。但是,我收到一条错误消息:
“在包含 Revolute Joint 'SDL/SwingMotion' 的动态耦合组件中,自动计算力或扭矩 (4) 的关节原始自由度比来自输入的运动 (0) 多。一般来说,运动方程没有唯一解。通过增加具有输入运动的关节基元数量或减少具有自动计算的力或扭矩的关节基元数量来解决此问题。解决此问题以模拟模型。” =12=]
如果我将所有 4 个旋转关节的扭矩驱动设置为 none,动画效果很好,但是力产生的扭矩不会以这种方式传递,发电机轴不会有任何扭矩。但是,我能够测量输出 RPM(angular 发电机轴的速度)。我不太明白这个错误。为什么旋转块将其他旋转块的运动度视为自己的运动度?我该如何解决这个问题? 框图可以在这里看到。
程序集如下所示:
非常感谢任何帮助!
对于旋转关节,有三个选项:
- 让旋转关节充当铰链,从底座到从动件不能施加扭矩,反之亦然
- 提供扭矩并根据扭矩计算运动。这叫做正向动力学,运动是由力矩决定的。
- 提供运动并根据运动计算扭矩。这叫做逆动力学,扭矩由运动决定。
因此您必须 select 选择其中一个。如果您 select 扭矩自动计算,那么您需要提供它必须遵循的运动。如果您不需要遵循提供的动作,则不需要扭矩。 如果将计算的扭矩设置为 'none',则没有扭矩可以从底座施加到从动件,反之亦然,这就是自由度的概念。
看起来好像你想让Base和Follower有些僵硬地连接在一起并遵循相同的运动。您可以考虑使用刚体变换块,它只是一个刚体 link,您可以在其中定义平移或旋转偏移。
编辑
您有效地结合了正向和反向动力学。你在门把手上施加一个力,让 Simulink 计算运动(到目前为止的正向动力学),然后你希望 GenShaft 上的扭矩来自它正在做的运动,这是逆动力学。那是行不通的。
检查 GenShaft 扭矩的更好方法是,例如,需要特定的门铰链 angular 速度,在其上放置一个比例控制器,然后检查所需的扭矩。请注意,在铰链中没有摩擦建模的情况下,所需的扭矩将变为零。
因此,如果您将计算的所有扭矩设置为 'none'(GenShaft 除外),请将其设置为由输入提供。然后在门铰链的 angular 速度上放置一个比例控制器。然后您可以检查所需的扭矩。