来个简单的机器人来解释奇点(singularity)。
Scara机器人:
这个机器人实际上有4个自由度:3个平动(x,y,z)+1个转动(z)。
我们在此基础上再简化一下,留下2个平动(x,y),相当于我们只考虑在一个平面上的(x,y)坐标。简化模型为:
这个机器人很直观啦,你可以控制两个旋转关节来改变机器人的端点坐标。
这个机器人的奇异点是什么呢?
其实奇异点可以通过观察机器人端点的速度合成得到。
比如在当前的姿态下,机器人的端点可以产生的速度是由两个速度合成的:v1和v2.
v1是由于第一个旋转关节产生的;
v2是由于第二个旋转关节产生的;
可以看到两个速度矢量v1和v2在平面上没有共线,它们是独立的(记得线性代数里面的independent和dependent么)。
机器人的端点可以产生的速度就是这两个矢量的合矢量,这个合矢量可以是任意的吗?
来看两个分矢量:
这两个矢量的方向是定了的(在这一瞬间),但是大小呢?
大小是可变的,而且正比于相应的转动关节的角速度。(线速度=角速度*距离)
可以知道在v1和v2不共线的情况下,我们是可以通过调整v1和v2的大小来得到任意的合速度的(大小和方向)。
但是,当机器人处于这个姿态的时候:
可以看到两个速度矢量v1和v2在平面上共线了,它们是不独立的(independent)。
这个情况很直接,无论你怎样改变v1和v2的大小,你都只能合成出和v1(v2)方向相同的速度。
这就意味着你的机器人端点的速度不是任意的了,你只能产生某个方向上的速度。
这样机器人就奇异了。
在机器人控制上来说,就意味着,你一旦奇异了,你就不能随意控制你的机器人朝着你想要的方向前进了。
这也就是前面同学所谓的自由度退化、逆运动学无解。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30924087/article/details/97015417