通常来说,一个6轴机械臂有三种个奇异点 (对应三个奇异区域):

  1. Wrist Singularities - These happen when two of the robot’s wrist axes (joints 4 and 6) line up with each other. This can cause these joints to try and spin 180 degrees instantaneously.
  2. Shoulder Singularities - These happen when the center of the robot’s wrist aligns with the axis of joint 1. It causes joints 1 and 4 to try and spin 180 degrees instantaneously. A subset of this is an Alignment Singularity, where the first and last joints of the robot (joints 1 and 6) line up with each other.
  3. Elbow Singularities - These happen when the center of the robot’s wrist lies on the same plane as joints 2 and 3. Elbow singularities look like the robot has “reached too far”, causing the elbow to lock in position. This video shows a good example of an elbow singularity which causes the robot to get stuck.

对于奇异区域的判断:
1. 求得雅克比矩阵
2. 通过svd分解,求得雅克比矩阵的奇异值
3. 判断雅克比矩阵最大特征值和最小特征值的比值是否超过了某个阈值;或者判断雅克比矩阵特征值是否在小于某个接近于零的值 eps;或者判断可操作性—Manipulability是否小于某个阈值: Manipulability=sqrt(det(J’J))=特征值乘积

例如,用 kdl 库求雅克比矩阵的奇异值:

double eps=0.00001;
int maxiter=150;jnt2jac.JntToJac(q_in,jac);  // 通过关节角求雅克比矩阵//Do a singular value decomposition of "jac" with maximum
//iterations "maxiter", put the results in "U", "S" and "V"
//jac = U*S*Vt
svdResult = svd.calculate(jac,U,S,V,maxiter);
if (0 != svdResult)
{std::cerr<<"svd calc error"<<std::endl;return;// qdot_out.data.setZero();// return (error = E_SVD_FAILED);
}// Use this to check singularity!
std::cerr << "Singular Value:\n";
for (i=0;i<jac.columns();i++)
{std::cerr << S(i) << "\t";  // 奇异值, Manipulability=sqrt(S(0)*S(1)*S(2)*...)
}
std::cerr << std::endl;

如果判断机器人处于奇异区域,则不应该通过求逆解来对操作空间插值,而是应该跳过该奇异区域的求逆解过程,直到离开奇异区域之后再求逆解,然后在这个过程中对关节空间插值(不能保证操作空间的运动轨迹)。
例如,yaskawa 的机器人就是牺牲操作空间位置 (或姿态) 的精度来避免出现关节角速度过大的情况。

一般来说,对于操作空间的任意一个位姿,机器人可以有6组解,对应一下几种构型的变换(构型之间存在耦合)
flip—no flip
up—dowm
front—back

从一个构型变换到另外一个构型,不能通过 MOVL或 MOVC 来运动,会经过奇异点。

但是,但是。。。并不是说确定了构型就确定了运动方式。。。
因为,对于末端关节(6轴机器人),即使构型相同,也存在是向左转和向右转的问题。。。只有确定了构型,并且确定了旋转方向,才能唯一确定一个运动形式。

ref link:
http://blog.robotiq.com/why-singularities-can-ruin-your-day
https://www.youtube.com/watch?v=zlGCurgsqg8

机器人奇异性 奇异区域的判断 maketest相关推荐

  1. java求矩阵条件数_数值分析:矩阵求逆-奇异性、条件数

    本blog主要内容有:矩阵的奇异性.条件数与病态矩阵.矩阵求逆. 奇异矩阵和非奇异矩阵singular matrix&nonsingular matrix 概念和定义 若n阶矩阵A的行列式不为 ...

  2. Modern Robotics串联机器人常见的奇异构型

    Modern Robotics串联机器人常见的奇异构型 奇异点的数学定义 机器人末端执行器失去瞬间向一个或多个方向移动的能力时的姿态称为运动学奇异点(kinematic singularity), 或 ...

  3. 数值分析:矩阵求逆-奇异性、条件数

    http://blog.csdn.net/pipisorry/article/details/52241141 本blog主要内容有:矩阵的奇异性.条件数与病态矩阵.矩阵求逆. 奇异矩阵和非奇异矩阵s ...

  4. comsol分析时总位移代表什么_网格剖分时识别并解决其中的奇异性

    阅读之前的一篇博客 "线性静态问题的网格剖分注意事项",我们发现,有限元模型的解将能在网格细化的限度内收敛至真实解.不仅如此,我们还了解到,在误差较高的区域,可以通过自适应网格细化 ...

  5. 欧拉角奇异性产生的原因

    1 欧拉角奇异性的原因. 1.1 奇异性的定义 奇异性,英文Singularity, wiki中的解释为 In mathematics, a singularity is in general a p ...

  6. 矩阵奇异性和“病态”问题的解释与改善方法(简单易懂)

    文章目录 矩阵奇异性.'病态'问题描述: 常用改善条件数的方法: 关于条件数和正则化的概念补充: 矩阵奇异性.'病态'问题描述:   在实际工程应用中,求解线性方程组 AX=BAX=BAX=B 问题时 ...

  7. 机器人画太极图abb机器人_ABB工业机器人(条件执行数字信号判断,画方or画圆)...

    一.前戏 条件:从安全点,到工具区域夹取工具(笔),到工作区域,判断数字信号 Di1 =1 ,Ture :画方,False:画圆,回到工具区域放下工具(笔),回到安全点 二. 准备工作 校准tcp工具 ...

  8. 利用OpenCV的SimpleBlobDetector检测图像的奇异区域(斑点)

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 奇异区域通常是指与周围领域有着某些特征(颜色或灰 ...

  9. 【数学与算法】奇异矩阵、奇异值、奇异值分解、奇异性

    我们经常会碰到几个名词很相近的一些数学术语,例如奇异矩阵.奇异值.奇异值分解.奇异性,经常会混淆,这里把它们的定义放在一起,做一下总结: 1.奇异矩阵: 奇异矩阵是线性代数的概念,就是该矩阵的秩不是满 ...

最新文章

  1. Android配置----Android开发环境搭建
  2. 在Android中使用AspectJ进行切面编程的简易步骤
  3. JavaScript实现rabin-karp算法(附完整源码)
  4. C# ref与out关键字解析
  5. J-LINK7 固件修复
  6. c++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取,2013年计算机二级C++模拟试题十一及答案...
  7. 今日恐慌与贪婪指数为94 贪婪程度与昨日持平
  8. 天池实验室-Task03-Python入门(下)
  9. LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图
  10. 第 4 周 关于 startActivityForResult
  11. C# ManualResetEvent 与 AutoResetEvent 区别
  12. 计算机通信原理电子版,通信原理-西安电子科技大学.PDF
  13. CAD转图片,怎么转换成PNG图片?
  14. LayUi集成下载Excel、word、PDF、CSV扩展
  15. 关于消息推送服务的十问十答
  16. 去丹东绿江村观光几月份合适,油菜花什么时候开,花期多久?
  17. 软件项目管理第4版课后习题[附解析]第八章
  18. I2C3挂载wm8960音频芯片竟如此简单
  19. kafka学习bolg
  20. 北京邮电大学计算机学院找导师,计算机学院导师联系方式

热门文章

  1. MySQL黑马笔记三
  2. CMOS三态输出反相器典型电路
  3. 如何求first集与follow集
  4. ucweb6.7,S60V1,S60V2,S60V3,S60V5,WINDOWS MOBILE,SP手机安装包下载
  5. 新零售不简单,当初马云自己都没解释清楚! 1
  6. python axes3d函数,Python绘制3D图形:Axes3D
  7. Android 锁屏时间
  8. element ui的布局el-container布满整个页面
  9. win10常用的运行命令
  10. 未解之谜——“森林人”明尼苏达冰人