《海洋运动体控制原理》读书笔记-2.1海洋运动体分析中的坐标系

角度定义

艏摇角-偏航角-\psi-psi

横摇角-滚动角-\phi-phi

纵摇角-俯仰角-\theta-theta

MATLAB符号推导

首先定义符号变量phi theta psi

>> syms phi theta psi real

绕本体x轴转动的坐标转换关系为

>> cx = [1 0 0;0 cos(phi) sin(phi);0 -sin(phi) cos(phi)]
 
cx =
 
[1,         0,        0]
[0,  cos(phi), sin(phi)]
[0, -sin(phi), cos(phi)]

绕本体y轴转动的坐标转换关系为

>> cy = [cos(theta) 0 -sin(theta);0 1 0;sin(theta) 0 cos(theta)]
 
cy =
 
[cos(theta), 0, -sin(theta)]
[         0, 1,           0]
[sin(theta), 0,  cos(theta)]

绕本体z轴转动的坐标转换关系为

>> cz = [cos(psi) sin(psi) 0;-sin(psi) cos(phi) 0;0 0 1]
 
cz =
 
[ cos(psi), sin(psi), 0]
[-sin(psi), cos(phi), 0]
[        0,        0, 1]

按照3-2-1转序对应的坐标转换关系为

>> Cbo=cx*cy*cz
 
Cbo =
 
[                             cos(psi)*cos(theta),                              cos(theta)*sin(psi),         -sin(theta)]
[cos(psi)*sin(phi)*sin(theta) - cos(phi)*sin(psi),        cos(phi)^2 + sin(phi)*sin(psi)*sin(theta), cos(theta)*sin(phi)]
[sin(phi)*sin(psi) + cos(phi)*cos(psi)*sin(theta), cos(phi)*sin(psi)*sin(theta) - cos(phi)*sin(phi), cos(phi)*cos(theta)]
>> Cob=Cbo'
 
Cob =
 
[cos(psi)*cos(theta), cos(psi)*sin(phi)*sin(theta) - cos(phi)*sin(psi), sin(phi)*sin(psi) + cos(phi)*cos(psi)*sin(theta)]
[cos(theta)*sin(psi),        cos(phi)^2 + sin(phi)*sin(psi)*sin(theta), cos(phi)*sin(psi)*sin(theta) - cos(phi)*sin(phi)]
[        -sin(theta),                              cos(theta)*sin(phi),                              cos(phi)*cos(theta)]

按照3-1-2转序对应的坐标转换关系为

>> Cbo=cy*cx*cz
 
Cbo =
 
[cos(psi)*cos(theta) - sin(phi)*sin(psi)*sin(theta), cos(theta)*sin(psi) + cos(phi)*sin(phi)*sin(theta), -cos(phi)*sin(theta)]
[                                -cos(phi)*sin(psi),                                         cos(phi)^2,             sin(phi)]
[cos(psi)*sin(theta) + cos(theta)*sin(phi)*sin(psi), sin(psi)*sin(theta) - cos(phi)*cos(theta)*sin(phi),  cos(phi)*cos(theta)]
 
>> Cob=Cbo'
 
Cob =
 
[cos(psi)*cos(theta) - sin(phi)*sin(psi)*sin(theta), -cos(phi)*sin(psi), cos(psi)*sin(theta) + cos(theta)*sin(phi)*sin(psi)]
[cos(theta)*sin(psi) + cos(phi)*sin(phi)*sin(theta),         cos(phi)^2, sin(psi)*sin(theta) - cos(phi)*cos(theta)*sin(phi)]
[                              -cos(phi)*sin(theta),           sin(phi),                                cos(phi)*cos(theta)]

按照3-2-1转序对应的角速度转换关系为

>> c = cx*cy*cz*diag([0,0,1])+cx*cy*diag([0,1,0])+cx*diag([1,0,0])
 
c =
 
[1,         0,         -sin(theta)]
[0,  cos(phi), cos(theta)*sin(phi)]
[0, -sin(phi), cos(phi)*cos(theta)]
 
>> invc = inv(c)
 
invc =
 
[1, (sin(phi)*sin(theta))/(cos(theta)*cos(phi)^2 + cos(theta)*sin(phi)^2), (cos(phi)*sin(theta))/(cos(theta)*cos(phi)^2 + cos(theta)*sin(phi)^2)]
[0,                                    cos(phi)/(cos(phi)^2 + sin(phi)^2),                                   -sin(phi)/(cos(phi)^2 + sin(phi)^2)]
[0,              sin(phi)/(cos(theta)*cos(phi)^2 + cos(theta)*sin(phi)^2),              cos(phi)/(cos(theta)*cos(phi)^2 + cos(theta)*sin(phi)^2)]
 
>> simplify(invc)
 
ans =
 
[1, (sin(phi)*sin(theta))/cos(theta), (cos(phi)*sin(theta))/cos(theta)]
[0,                         cos(phi),                        -sin(phi)]
[0,              sin(phi)/cos(theta),              cos(phi)/cos(theta)]

按照3-1-2转序对应的角速度转换关系为

>> c = cy*cx*cz*diag([0,0,1])+cy*cx*diag([1,0,0])+cy*diag([0,1,0])
 
c =
 
[cos(theta), 0, -cos(phi)*sin(theta)]
[         0, 1,             sin(phi)]
[sin(theta), 0,  cos(phi)*cos(theta)]
 
>> invc = inv(c)
 
invc =
 
[                             cos(theta)/(cos(theta)^2 + sin(theta)^2), 0,                               sin(theta)/(cos(theta)^2 + sin(theta)^2)]
[(sin(phi)*sin(theta))/(cos(phi)*cos(theta)^2 + cos(phi)*sin(theta)^2), 1, -(cos(theta)*sin(phi))/(cos(phi)*cos(theta)^2 + cos(phi)*sin(theta)^2)]
[          -sin(theta)/(cos(phi)*cos(theta)^2 + cos(phi)*sin(theta)^2), 0,             cos(theta)/(cos(phi)*cos(theta)^2 + cos(phi)*sin(theta)^2)]
 
>> simplify(invc)
 
ans =
 
[                    cos(theta), 0,                      sin(theta)]
[(sin(phi)*sin(theta))/cos(phi), 1, -(cos(theta)*sin(phi))/cos(phi)]
[          -sin(theta)/cos(phi), 0,             cos(theta)/cos(phi)]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值