杭州蓝芯科技有限公司

3D视觉传感器
深度避障相机 视觉工件测量 结构光视觉传感器 3D视觉物体识别系统 三维视觉相机 3D深度相机 高精度3D视觉相机 3D视觉上料系统 工业机器人视觉定位系统 机器人视觉定位系统 深度视觉感知系统 3D视觉机械上料 机器人视觉导航系统 3D视觉拆码垛 3D视觉检测 工业3D视觉相机 结构光深度相机 Eagle深度传感器 3D视觉抓取系统 3D视觉混合拆垛 3D视觉物流分拣 3D视觉机械上下料 3D视觉订单分拣系统 工业级3D相机 深度视觉传感器 视觉导航模块 混杂多货品分拣系统 机器人3D视觉引导系统 双目视觉定位系统 Eagle 3D视觉传感器 3D视觉引导定位系统 3D视觉拆垛系统 双目视觉传感器 双目3D视觉定位系统 工业机器人3D视觉系统 机器人3D视觉引导 混合物流包裹分拣 3D视觉定位引导系统 3D视觉识别系统 3D智能抓取系统 3D视觉解决方案 机器视觉拆垛系统 3D拆垛系统 3D分拣系统 视觉引导定位系统 工业机器人视觉系统 工业3D视觉系统 3D视觉系统 机器人视觉系统 3D视觉引导拆垛 高精度抓取视觉系统 3D视觉技术 高精度悟空3D相机 某快递包裹无序混合分拣 零件拣选装配 快递供包 电商仓储订单分拣 机器视觉3D引导系统 机器人3D混合无序抓取 3D抓取系统 3D视觉分拣系统 混合拆垛 机器人智能无序分拣系统 3D双目立体视觉 激光3D机器视觉 3D结构光成像系统 货品分拣 混合码垛 包裹体积动态测量 快递包裹无序混合分拣 零食无序分拣装箱 动态高速分拣 无人码垛 机械零件自动上下料 3D视觉定位系统 拆垛及上下料解决方案 货品拣选解决方案 工业机器人上料解决方案 视觉引导拆垛 曲轴连杆定位分拣解决方案 数控机床汽车板簧上料 汽车玻璃涂胶 包裹体积测量 超市物流配货混合码垛 洗衣机配重块装配 药品包装无人拆垛 药品包装无人码垛 电商物流智能分拣 快递包裹分拣 输送带模型分拣 三维扫描系统 视觉拆垛系统 3D成像系统 机器人3D定位系统 3D照相机 3D视觉传感器 3D工业相机 3D相机 机器视觉 高精三维扫描仪 三维相机
智能搬运机器人
全向车型搬运机器人 车间无人搬运机器人 工厂无人搬运机器人 仓储自动搬运机器人 物流移动式搬运机器人 工业智能搬运机器人 物流搬运AGV 仓储AGV小车 工业自主搬运机器人 自主移动式搬运机器人 工厂柔性搬运机器人 智能柔性搬运机器人 柔性化机器人 货物运输机器人 料车搬运机器人 AGV智能搬运机器人 机器人软件系统 辊筒式搬运机器人 设备搬运机器人 滚筒对接机器人 货物搬运机器人 背负式移动机器人 搬运机器人物流应用系统 智慧物流机器人 智能无人搬运车 潜入顶升搬运机器人 辊筒对接机器人 视觉引导式AGV AGV智能机器人 智能无人搬运机器人 自动化搬运机器人 仓库智能搬运机器人 自主机器人搬运系统 智能仓储搬运车 无标识搬运机器人 无轨智能搬运机器人 智能自主搬运机器人 无轨导引AGV小车 工厂物料搬运机器人 视觉搬运AGV 背负自主搬运机器人 AGV自主搬运机器人 仓库搬运机器人 潜入顶升式机器人 辊筒搬运机器人 智能调度系统 辊筒自动搬运机器人 顶升料箱搬运机器人 自动搬运AGV 智能自主移动搬运机器人 3C行业自主移动机器人 电商物流搬运机器人 顶升式自主移动搬运机器人 智能AGV机器人 自行走式物料搬运机器人 配件呼叫器 配件充电器 载具-协作机器人 视觉导航无人托盘车 多机调度智能化生产线 3C行业移动机器人 电商自主移动搬运机器人 电商行业自主搬运机器人 顶升搬运智能机器人 电商仓储机器人 电商仓储搬运智能小车 物流搬运小车 智能移动搬运机器人 智能移动搬运小车 自然导航小车 视觉导航物流机器人 仓储机器人厂家 仓储物流机器人 自主移动机器人 VR全景直播搬运机器人 顶升AGV小车 智能搬运AGV小车 滚筒AGV小车 智能物料搬运机器人 滚筒AGV 无轨搬运机器人 视觉导航小车 智能搬运机器人 顶升搬运机器人 视觉导航机器人 滚筒搬运AGV 智能物流机器人 智能仓储机器人 智能移动机器人 视觉导航AGV 无标识AGV 无轨AGV
智能物流机器人
工业机器人
装车系统
无人叉车系列
无人叉车解决方案 智能无人叉车机器人 车间叉车AGV 智能搬运无人叉车 电动堆高无人叉车 智能无人托盘搬运叉车 托盘搬运机器人 智能托盘堆高叉车 AGV无人化叉车 AGV智能化叉车 托盘电动搬运叉车 堆高型无人叉车 智能升降叉车 自主无人叉车 托盘式堆高叉车 托盘式搬运叉车 堆高叉车式AGV 无人电动搬运叉车 无人搬运叉车机器人 智能仓储无人叉车 工业无人搬运叉车 自主无人搬运叉车 仓库无人叉车 仓库搬运无人叉车 自动叉车机器人 电动叉车机器人 无人智能驾驶叉车 智能AGV叉车 智能无人搬运叉车 AGV叉车系统 无人叉车式AGV 堆垛式叉车 无人叉车机器人 电动托盘搬运叉车 无人AGV叉车 电动叉车AGV 工业叉车AGV 自动AGV叉车 叉车式AGV小车 自动叉车AGV 智能电动叉车 无人驾驶叉车 叉车式AGV 无轨叉车 智能叉车 自动搬运叉车
3D视觉传感器解决方案
智能拣货机器人
核心技术-深度视觉传感器
复合机器人
上下料机器人

微分几何在机器人领域的应用(二)深入理解三维空间变换

时间:2019/4/11阅读:745

空间几何变换

空间中的几何变换分为多类,从简单,到逐渐复杂的变换,分别有如下几种:

1.   等距变换(Isometries)。等距变换下点到点的欧式距离保持不变。刚体变换是典型的等距变换。

2.   相似变换(Similarity)。在等距变换的基础上加上一个各向同性的缩放。矩阵表示上需要在旋转矩阵部分乘以一个非零系数s。

3.   仿射变换(Affine)。是一个非奇异的线性变换加上一个平移向量组成的变换。

4.   投影变换(Projective)。任意非奇异的4×4矩阵所构成的变换。

变换的分类和特征如下图所示。

 

三维刚体的空间变换属于种情况。如果物体不变形,那么刚体变换涵盖物理世界中的所有情况。刚体变换包含三个平移自由度和三个旋转自由度,总共6个自由度。应用刚体变换,点到点的距离保持不变,同时矢量的点积和叉积保持不变。平移自由度易于理解,故本文重点讨论旋转分量,即旋转矩阵R。

旋转矩阵

在理解高维理论时,我们一般采用降维的方式理解,由易到难。首先回到二维空间的变换。二维平面中,刚体变换有三个自由度,x, y 和旋转角θ。用矩阵的形式表示:

其中

 

分别为旋转矩阵和平移向量。可以看到旋转矩阵只有一个自由度,因其只有一个变量θ。

旋转矩阵R的性质:

1. 旋转矩阵的逆矩阵是它的转置矩阵,故旋转矩阵是正交矩阵。(如果不理解逆矩阵和转置矩阵,请首先恶补线性代数)。

2. 一个矩阵是旋转矩阵,当且仅当它是正交矩阵,且它的行列式是1。正交矩阵的行列式是±1。读者可思考行列式为-1的情况对应什么变换。

二维旋转矩阵可用旋转角唯yi表示。正角表示逆时针旋转。

 

 

如下图表示的是当θ=20°的情况。

 

二位旋转矩阵的许多性质在三维空间中同样满足。

让我们回到三维空间。旋转可以有三个旋转组合而成。在右手(笛卡尔)坐标系下分别绕x,y, z轴旋转。其旋转矩阵分别对应为

 

任意旋转矩阵可写作一定角度下的三个矩阵的乘积。

注意:矩阵乘法不符合交换律!故顺序不同,得到的旋转矩阵并不相同。

 

欧拉角

航空领域,一般定义飞机前后轴为x轴,沿x轴旋转的角度一般称为Roll,中文称作翻滚角;两翼方向称作Pitch,中文称作俯仰角;垂直地面的方向是航向角(Yaw),如下图所示。作者觉得中文翻译很符合愿意,更易于理解。可以记住在驾驶飞机时,如何操纵翻滚角,俯仰角,航向角。Roll,Pitch,Yaw,又称作欧拉角。习惯上,三个欧拉角的方向是z-y-x,使用时需要特别重要,欧拉角顺序错了,旋转矩阵也会发生变化。

 

程序实现:
程序使用基于C++的Eigen库[3]。注意,Eigen库是一个仅包含头文件的基础矩阵库,没有静态或动态库。使用时仅需要把相关的目录include就可以了。

 

再次注意:三个欧拉角的顺序!

 

 

 

李群和李代数

三维旋转矩阵是直观的表示方法,但旋转矩阵有9个变量,只有3个自由度,故信息是冗余的。旋转矩阵在工程使用更好的表达方法。根据定义,所有的刚体变换属于一个群(李qun,Lie Group)。刚体变换又称作特殊欧式变换(special  Euclidean  transformation),通常写作SE(3)。李群中的变换满足如下特性。详细性质可参见李群和李代数的资料。如果只限于3D视觉或机器人学,只需记住其主要特性:

▪封闭性
▪相关性
▪单位矩阵
▪可逆

刚体变换的组合和逆变换均属于刚体变换。
单纯的旋转变换称作特殊正角变换(special orthogonal transformation),通常写作SO(3)。旋转矩阵都是正交矩阵。
李代数通过指数映射,将旋转矩阵的9个变量转换为3个变量,结合三个平移向量,总共6个变量,对应6个自由度。李代数表示法在三维重建(SFM)、VR、SLAM等位姿估计领域应用的较多。李代数有基于Eigen的Sophus库[4]可使用,方便完成指数映射。

 

罗德里格斯旋转公式

(Rodriguez’s Rotation Formula)

旋转矩阵有一个更有效的表达方法,即由一个单位向量和一个旋转角生成。每一个旋转矩阵均可转化为向量和角(又称轴-角)的表达方式。根据公式,单位向量用表示,旋转的角度是θ,那么相应的旋转矩阵是:

 

 

此矩阵可简化为如下公式:

具体点符号定义可参见相关文献。单纯环绕x,y或z轴旋转而成的旋转矩阵是罗德里格斯公式的特殊形式。读者可以把上式中的单位向量替换为(0,0,1)进行验证。虽然公式复杂,但程序实践比较方便。利用Eigen库中的Eigen::AngleAxisf(旋转向量)可以直接获得。

 

四元数(Quternions)

四元素可看作一种特殊的复数,由一个实部和三个虚部构成。四元素的表示方法同旋转矩阵、欧拉角表示方法是等价的。根据罗德里格斯旋转公式,任何一个旋转都可以表达成轴角的表达法。四元素可以更方便的表达出旋转轴和旋转角。单位欧拉向量可表示为:

根据欧拉公式的扩展,四元素可表示为

 

四元素分为实部和虚部,实部只跟旋转角有关。虚部有单位向量和旋转角共同计算得来。

四元数的求逆可采用复数的共轭(即虚部取反)方式求得

同时,四元数更易于做线性插值(Slerp)。实际实验中,使用四元素做旋转矩阵的计算更加方便。使用Eigen库时,四元素的使用更为方便。

 

总结

刚体的空间变换由平移和旋转两部分组成。平移部分易于理解,旋转部分一般由直观的3×3矩阵表示。

旋转矩阵有很多特性(正交矩阵、单位矩阵),但其由9个元素,但只有3个自由度,故数学上的表示是冗余的。

在机器人领域,使用多的除旋转矩阵外,还有旋转向量、欧拉角、四元素等。

本文的几乎所有变换都容易实现,可直接使用三方库如Eigen[3],类似的还要OpenCV等。但如要深入理解,hao自己实战。

思考:二维空间刚体变换有3个自由度,三维有6个自由度,四维空间呢?n维空间呢?

 

参考文献:

1. Multiple View Geometry in Computer Vision (2nd Edition), Richard Hartley and Andrew Zisserman.

2. An Invitationto 3-D Vision From Images to Models, Yi Ma, Jana Kosecka, Stefano Soatto and Shankar Sastry.

3. Eigen, eigen.tuxfamily.org/.

 

本文属于纯原创文章,转载请注明杭州蓝芯科技有限公司

会员登录

X

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
拨打电话
在线留言