25 lines
890 B
Markdown
25 lines
890 B
Markdown
|
|
||
|
|
||
|
# yaw
|
||
|
|
||
|
```rust
|
||
|
// Partial angular velocity of the nacelle (body N) in the inertia frame (body E for earth) [-]
|
||
|
|
||
|
|
||
|
rt_hs.p_ang_vel_en.slice_mut(s![.., 0, ..]).assign(&rt_hs.p_ang_vel_eb.slice_mut(s![.., 0, ..]));
|
||
|
|
||
|
rt_hs.p_ang_vel_en.slice_mut(s![DOF_YAW -1, 0, ..]).assign(&coord_sys.d2.clone());
|
||
|
|
||
|
rt_hs.ang_vel_en = rt_hs.ang_vel_eb.clone() + x.qdt[DOF_YAW as usize- 1] * rt_hs.p_ang_vel_en.slice_mut(s![DOF_YAW -1, 0, ..]).to_owned();
|
||
|
|
||
|
|
||
|
rt_hs.p_ang_vel_en.slice_mut(s![.., 1, ..]).assign(&rt_hs.p_ang_vel_eb.slice_mut(s![.., 1, ..]));
|
||
|
|
||
|
let p_ang_vel_en_slice = rt_hs.p_ang_vel_en.slice(s![DOF_YAW - 1, 0, ..]).to_owned();
|
||
|
|
||
|
rt_hs.p_ang_vel_en.slice_mut(s![DOF_YAW - 1, 1, ..]).assign(&cross_product(&rt_hs.ang_vel_eb, &p_ang_vel_en_slice));
|
||
|
|
||
|
rt_hs.ang_acc_ent = rt_hs.ang_acc_ebt.clone() + x.qdt[DOF_YAW as usize- 1] * rt_hs.p_ang_vel_en.slice_mut(s![DOF_YAW - 1, 1, ..]).to_owned();
|
||
|
```
|
||
|
|