机械臂手眼标定步骤、遇到的问题 及 欧拉角、四元素、旋转矩阵关系

欧拉角 、四元素和旋转矩阵

这些表示方式都是为 表示一种旋转过程。从姿态A转到姿态B,使用旋转T,则T可用这些方式表示

欧拉角

定义

  1. 欧拉角

注意

  1. 欧拉角有24种
  2. 定义一种欧拉角需要考虑 旋转的顺序旋转的轴(内旋和外旋)
    内旋:按物体自己的轴旋转,该轴是运动的。对应的旋转矩阵是右乘
    外旋:按固定轴旋转。对应的旋转矩阵是左乘

不足

  1. 有歧义
  2. 有万向死锁

四元素

定义(后面补)

使用(w,x,y,z)表示,(x,y,z)表示旋转轴的方向,w表示旋转的角度

特点

  1. 无歧义
  2. 存储方便

旋转矩阵

定义(后面补)

左乘和右乘矩阵
别人的1
别人的2
别人的3

  1. 欧拉角内旋对应的是右乘矩阵
  2. 欧拉角外旋对应的是左乘矩阵

用途

  1. 形象展示:欧拉角
  2. 存储:四元素
  3. 计算机计算:旋转矩阵

标定原理

原理解释
原理

标定过程中遇到的问题

  1. 标定板要长方形的
    在使用matlab标定工具时,标定板的原点默认在图片左上角。用边长相等的标定棋盘时,出现前后几张图的原点位置不对,换成长方形标定棋盘解决问题。

  2. 机械臂来的坐标要搞成统一
    机械臂和相机的坐标的单位要统一

  3. 注意欧拉角顺序,我们的欧拉角是右乘(内旋)
    机械臂使用欧拉角表示末端坐标系到基坐标系的旋转关系时
    第一注意: 该欧拉角的是什么顺序
    第二注意: 内旋还是外旋

  4. 欧拉角转四元素组库里面自动将 w 放后面了

    import numpy as np	
    from scipy.spatial.transform import Rotation as R
    
    MyQuat = R.from_euler('zyx',[np.pi/2,0,0]).as_quat()
    

    其中 MyQuat 已经将 w 放到末尾
    注意 zyxZYX 意义不同,详见接口里的NOTES

工具

python中 欧拉角<–>四元数<–>旋转矩阵 相互转化

你可能感兴趣的:(机械臂,矩阵,线性代数,matlab)