计算角速度

% 测试四元数
% Quaternion  2022.09.23
% 小角度才可以这样算
clc  
clear
cycletime=0.004;
R0=rpy2r(pi/4, pi/6, pi/3,'zyx');
R1=R0*rpy2r(0, 0, 0.001,'zyx');  
% 1、通过旋转矩阵获得旋转角速度
delta_rm = R1*R0'-diag([1,1,1]);
delta_w = [-delta_rm(2,3),delta_rm(1,3),-delta_rm(1,2)];
Vel_w1 = delta_w./ cycletime %差分获得的空间旋转速度
Vel_w1 = 1×3
    0.1973   -0.0118    0.1531
% 2.1、通过四元数获得旋转角速度
q0 = UnitQuaternion(R0);
q1 = UnitQuaternion(R1);
dq_dt=(q1-q0)/cycletime;
% 参考:https://blog.csdn.net/CAIYUNFREEDOM/article/details/53738090
q=double(q0);
dq_dt_value=double(dq_dt);
mat=[-2*q(2) 2*q(1) -2*q(4) 2*q(3);
    -2*q(3) 2*q(4) 2*q(1) -2*q(2);
    -2*q(4) -2*q(3) 2*q(2) 2*q(1);];
Vel_w2=mat*dq_dt_value'
Vel_w2 = 3×1
    0.1973
   -0.0118
    0.1531
% 2.2、通过四元数获得旋转角速度
% 参考 https://blog.csdn.net/zhoupian/article/details/96974091
Vel_w3=2*dq_dt*q0.conj
 
Vel_w3 = 
 
-6.25e-05 << 0.19729, -0.011842, 0.15309 >>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值