• 机器人学——1.6-双向量表示法


    对于关节臂式机器人,一般会在它的末端执行器上固联一个坐标系 {E}{E},如图所示。通常情况下,工具的轴线为坐标系的 zz 轴,并被称为接近向量,记为 a^=(ax,ay,az)hat{a}=(a_x, a_y, a_z)。对于某
    些应用来说,定义接近向量比定义欧拉角或横滚-俯仰-偏航角更为方便。
    在这里插入图片描述

    然而定义出 zz 轴的方向还不足以表示完整坐标我们还需要确定 xx 轴和 yy 轴的方向。为了确定末端执行器的姿态,我们定义一个与接近向量正交的向量,它位于机器人手爪的两个手指之间,被称为姿态向量,记为 o^=(ox,oy,oz)hat{o}=(o_x, o_y, o_z)。有了接近和姿态这两个单位向量,就足以完全确定旋转矩阵了:
    R=(nxoxaxnyoyaynzozaz) R=left(egin{array}{ccc}n_x&o_x&a_x\n_y&o_y&a_y\n_z&o_z&a_zend{array} ight)
    因为剩下的一列可以根据正交系的概念计算,即 n^=o^×a^hat{n} =hat{o} imes hat{a}
    即使两个向量 a^hat{a}o^hat{o} 不是正交的,它们仍然能定义一个平面,而且计算出来的 nn 仍垂直于这个平面。在这种情况下,我们需要用 o^=a^×n^hat{o}'=hat{a} imeshat{n} 来计算一个新的向量值,它仍然在 a^hat{a}o^hat{o} 定义的平面中,只不过与 a^hat{a}n^hat{n} 都正交。

    使用工具箱函数,可以执行以下计算:

    >> a = [1; 0; 0];
    >> o = [0; 1; 0]; 
    >> oa2r(o, a)
    ans =
         0     0     1
         0     1     0
        -1     0     0
    

    任何两个非平行的向量都足以定义一个坐标系。对于一个摄像头,通常我们取光轴为 zz 轴,摄像头的左侧为 xx 轴。对于移动机器人,通常我们规定重力加速度方向(用加速度计测量)为 zz 轴方向,前进方向(用电子罗盘测量)为 xx 轴方向。

  • 相关阅读:
    QTP知识总结(一)
    QTP中DataTable操作大全
    QTP DataTable全攻略(1)
    QTP脚本不能录制怎么办?
    每天一个linux命令(20):find命令之exec
    bash下几个替换运算符的区分
    linux_shell 特殊符号的介绍
    Linux dirname、basename 指令
    Liunx readlink命令
    微信公众账号开发教程(四)自定义菜单(转)
  • 原文地址:https://www.cnblogs.com/thewaytotheway/p/12847249.html
Copyright © 2020-2023  润新知