obsidian_backup/多体求解器编写/多体+水动 platform+tower debug.md

59 lines
2.4 KiB
Markdown
Raw Normal View History

2025-01-09 14:41:22 +08:00
# 结果监视6个量
- TwrTpTDxi
- 塔架顶点/偏航轴前后(平移)偏转量(相对于未偏转位置),包括所有平台运动
- TwrTpTDzi
- Tower-top / yaw bearing axial (translational) deflection (relative to the undeflected position) including all platform motions
- YawBrTVxp
- Tower-top / yaw bearing fore-aft (translational) **velocity** (absolute)
- YawBrTVzp
- Tower-top / yaw bearing axial (translational) **velocity** (absolute)
- PtfmRDyi
- Platform pitch tilt angular (rotational) displacement. In ADAMS, it is output as an Euler angle computed as the 2nd rotation in the yaw-pitch-roll rotation sequence. It is not output as an Euler angle in FAST, which assumes small rotational platform displacements, so that the rotation sequence does not matter.
- 平台俯仰倾斜角位移(旋转)。在 ADAMS 中,它作为欧拉角输出,计算为 yaw-pitch-roll 旋转序列中的第二个旋转。在 FAST 中,它不以欧拉角输出,因为 FAST 假设平台的旋转位移很小,因此旋转顺序无关紧要。
- PtfmRVyt
- Platform pitch tilt angular (rotational) velocity
## TwrTpTDzi
```
m%AllOuts(TwrTpTDxi) = m%RtHS%rO(1) - y%TowerLn2Mesh%Position(1,J)
m%AllOuts(TwrTpTDzi) = m%RtHS%rO(2) - y%TowerLn2Mesh%Position(3,J) + p%PtfmRefzt
```
rO !< Position vector from inertial frame origin to tower-top / base plate (point O) [m]
## YawBrTVxp YawBrTVzp 前后 Yaw平动速度
```
m%AllOuts(YawBrTVxp) = DOT_PRODUCT( m%RtHS%LinVelEO, m%CoordSys%b1 )
m%AllOuts(YawBrTVzp) = DOT_PRODUCT( m%RtHS%LinVelEO, m%CoordSys%b2 )
```
LinVelEO !< Linear velocity of the base plate (point O) in the inertia frame (body E for earth) [-]
b1 !< Vector / direction b1 (= xp from the IEC coord. system) [-]
b2 !< Vector / direction b2 (= zp from the IEC coord. system) [-]
### LinVelEO 差距较大
```
rt_hs.lin_vel_eo = lin_vel_x_o.clone() + rt_hs.lin_vel_ez.clone();
for i in 0..NPX{
rt_hs.lin_vel_eo = rt_hs.lin_vel_eo.clone() + x.qdt[PX[i] as usize - 1] * rt_hs.plin_vel_eo.slice(s![PX[i] - 1, 0, ..]).to_owned();
}
```
#### lin_vel_x_o有差距
#### rt_hs.lin_vel_ez有差距
### b1[3]少许差距
# pitch 角度 角速度
```
m%AllOuts( PtfmRDyi) = x%QT (DOF_P )*R2D
m%AllOuts( PtfmRVyt) = -DOT_PRODUCT( m%RtHS%AngVelEX, m%CoordSys%a3 )*R2D
```
AngVelEX !< Angular velocity of the platform (body X) in the inertia frame (body E for earth) [-]
a3 !< Vector / direction a3 (= -yt from the IEC coord. system) [-]