博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微分几何在机器人领域的应用(一)
阅读量:5377 次
发布时间:2019-06-15

本文共 1499 字,大约阅读时间需要 4 分钟。

 微分几何在机器人领域的应用(一)


 微分几何基础

微分几何是现代数学领域中的重要分支,在理论探索和实际应用中都是重要学科。大名鼎鼎的高斯、欧拉是微分几何学派的创建者(是否记得多少公式和定理以这两人的名字命名)。20世纪是微分几何发展迅猛的100年,中国的数学家也做出过重要贡献,如陈省身、邱成桐(菲尔兹奖得主)。在计算机领域,微分几何是计算机图形学的基础,逼真酷炫的电脑游戏、电影特效等,都是在微分几何基础上的产业化。在机器人领域,核心控制系统需要合适的传感器(如相机)获取信息,并理解环境信息,属于计算机视觉的范畴;如需完成复杂动作,如抓取、放置等操作,则需要理解物体的几何信息,需要用几何特征描述来决策机器人要执行的动作。

完成机器人抓取需要如下两个过程:

  • 识别过程,属于视觉和深度学习的范畴,在此不再赘述。

  • 获取物体的三维空间描述,微分几何。

三维空间中的物体有哪些特征呢?


 曲率

为理解曲率,首先回到二维平面。什么是曲率?简答说来,是几何体的不平坦程度。平面曲线的曲率定义为其密切圆的倒数。采用微分的定义,密切圆在很小的范围内同曲线重合。故平面中的圆所有点曲率一直,为半径的倒数,密切圆为其本身。直线曲率处处为0,因其密切圆半径无穷大。

 

 

 

曲线的密切圆和密切圆半径。曲率为半径的倒数。

 

三维空间中可用曲率描述曲面。包括两个主曲率、高斯曲率、平局曲率等。点的主曲率是通过此点曲线最大和最小曲率。高斯曲率为两个曲率之积,平均曲率则是两个主曲率之平均。

一些特殊情况,如负曲率,如马鞍型,常见使用:冷却塔,广州塔。

 

 

 

 


二次曲线(Conics)和二次曲面(Quadrics)

 二次曲线也称圆锥曲线,其在数学上的定位为一个正圆锥面和一个平面的相切形成的曲线。其公式可表述为:

 

其中A,B,C不得皆等于0。故常见的圆、椭圆、抛物线等皆属于二次曲线。

二次曲面则是三维空间中最常见的曲面,其一般公式为:

 

 

常见的二次曲面包括:

  • 椭球(Ellipsoid),形如 的曲面。故球体是椭球的一种特例。
  • 双曲面(Hyperbolic),形如

 

圆锥体(elliptic cone),形如:

 

 

一些特殊二次曲面示例:

 

 

 


曲面拟合

在机器人抓取领域,一般采用深度相机作为传感器。深度相机可直接获取空间点云信息。对于特定物体的抓取,一般在检测定位的基础上,采用点云拟合的方式定位,从而获取物体在深度相机坐标系下的位置和姿态。常用的拟合有如下几种: 

  • 平面拟合。空间中的平面可由空间中一点和法向量唯一确定。常用拟合方案有,主成分分析;最小二乘法;随机采样法(RANSAC)。

  • 圆柱拟合。实际抓取场景中经常碰到圆柱面物体的情况。实际点云拟合中,如果已知主轴方向,则可投影到平面中,做圆的拟合。如方向未知,可首先用PCA的方法确定主轴方向。

  • 球体拟合,看似复杂,实际只需确定圆心(一个点)和半径。总共4个自由度(未知变量),可使用最小二乘法或数值最优化方法来确定。

 


 不规则形状

机器人抓取的实际场景中,一般曲面较为复杂,很难用简单公式表述。对于复杂曲面(曲线),一般采用ICP(IterativeClosestPoint)的方案完成自由形状的对齐。

 


  总结

曲率是描述空间中的曲线或曲面最重要的特征。一般来说,进行机器人抓取,需要首先利用图像信息确定物体的图像位置,然后通过深度相机获取的点云信息技术其几何特性,完成抓取过程。曲面拟合和ICP的方案仍然有许多细节,在机器人抓取中需要特别注意。请关注后续文章。

原载杭州蓝芯科技微信公众号

转载于:https://www.cnblogs.com/zjulion/p/10509326.html

你可能感兴趣的文章
笔记本电脑插入耳机后无法使用解决办法
查看>>
全球最昂贵的10大科技产品
查看>>
Sql获取第一天、最后一天
查看>>
SQL中如何使用UPDATE语句进行联表更新(转)
查看>>
移动端,ajax 动态加载的元素,为动态添加的一系列同个类名的元素添加点击事件...
查看>>
前端性能优化--图片懒加载(lazyload image)
查看>>
02.规划过程组表格-活动持续时间估算工作表
查看>>
关于cmp函数参数中的&符号
查看>>
Linq 多件拼接
查看>>
《构建之法》读后感
查看>>
Check odd faces of the selection object
查看>>
[Algorithm -- Dynamic Programming] Recursive Staircase Problem
查看>>
[Angular 2] Using ngrx/store and Reducers for Angular 2 Application State
查看>>
2. Add Two Numbers
查看>>
hdu 1556 Color the ball
查看>>
hdu 3790 最短路径问题
查看>>
uploadify v3.1{上传附件}
查看>>
Linux/Unix系统编程手册 第二章:基本概念
查看>>
海量存储——致性和高可用专题
查看>>
让div里面的两个元素竖直排列,并相对于其水平垂直居中
查看>>