在进行机械臂操作或写论文时,经常需要进行四元数、旋转矩阵、欧拉角等的转换。
此时,我们利用matlab里的机器人工具箱(Peter 开发)内置的函数就可完成,具体程序如下:
环境:Matlab2020b+robotics toolbox(安装方法在前几期文章里有)
% Define a quaternion
q = [0.696549561858, -0.0251843946307, 0.0209930829923, -0.716759195692];
% 将四元数q单位化
q1=quatnormalize(q);
% Convert quaternion to rotation matrix
R = quat2dcm(q1);
% Display rotation matrix
disp(R);
此时运行matlab可得以下结果:
重要注释:
1.上述matlab程序,四元数q以英文状态下的逗号(,)隔开,如果用分号会出错;
2.四元数q=[w, x, y, z],切记第一位是实部;
3. quat2dcm()是机器人工具箱内置的由四元数到旋转矩阵转换的函数;
4. disp()是将得到的旋转矩阵R打印,显示在命令行窗口,若无此句,则显示Untitled。
完结撒花~~