在 SimMechanics 中更改旋转关节轴

Change Revolute Joint Axis in SimMechanics

我正在利用 SimMechanics、SimElectronics 和 Simulink 为嵌入式系统 class 项目 (files here) 的四轴飞行器系统建模。我已经生成了 F450 四轴飞行器框架的第二代 SimMechanics 模型,包括电机和螺旋桨。我们希望开发一种四轴飞行器模型,其围绕 x 轴或 y 轴只有一个旋转自由度。我希望用一个将四轴飞行器框架连接到 "world frame" 的旋转接头对其进行建模。然而,SimMechanics 中的 "revolute joint" 模块仅围绕 z 轴起作用。如何更改旋转关节的旋转轴?

似乎另一个人问了same question,但还没有人回答他的问题。

请参阅 SimMechanics 文档中的 Assembling Multibody Models,特别是关于 "orienting joints" 的部分:

To obtain the motion expected in a model, you must align its various joint motion axes properly. This means aligning the joints themselves as observed or anticipated in the real system. Misaligning the joint axes may lead to unexpected motion but it often leads to something more serious, such as a failure to assemble and simulate.

You can specify and change joint alignment by rotating the connection frames local to the adjoining body subsystems. For this purpose, you specify rotation transforms using Rigid Transform blocks, either by adding new blocks to the body subsystems or, if appropriate, by changing the rotation transforms in existing blocks within the subsystems.

Why change the orientation of joints through body subsystem frames? The primitives in a Joint block each have a predetermined motion axis, such as x or z. The axis definition is fixed and cannot be changed. Realigning the connection frames local to the adjoining body subsystems provides a natural way to reorient joints while avoiding confusion over which axis a particular joint uses.

For an example of how to rotate joint connection frames, see Model Mount.

所以答案是使用Rigid Transform块来改变框架的方向,你不能改变旋转关节的轴。

我认为您应该在 CAD 文件中更改它。更改螺旋桨轴以与 z 轴对齐。但是你应该只改变螺旋桨轴,而不是整个body。