zoukankan      html  css  js  c++  java
  • 机器人奇异点

    来个简单的机器人来解释奇点(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)方向相同的速度。
    这就意味着你的机器人端点的速度不是任意的了,你只能产生某个方向上的速度。
    这样机器人就奇异了。
    在机器人控制上来说,就意味着,你一旦奇异了,你就不能随意控制你的机器人朝着你想要的方向前进了。
    这也就是前面同学所谓的自由度退化、逆运动学无解。
  • 相关阅读:
    最小生成树算法
    并查集
    背包问题
    木桶排序
    STL之vector
    STL中的queue用法与stack用法对比
    快速幂求模
    归并排序+典型例题(逆序对)
    负进制转换
    冒泡排序
  • 原文地址:https://www.cnblogs.com/kdp0213/p/9082416.html
Copyright © 2011-2022 走看看