由6.4.2小节机器人逆运动学介绍可知,机器人的末端执行器位姿与机器人的各关节转角间存在十分复杂的转换关系,对于某些自由度多的机器人,甚至难以求得其逆运动学的解析解。雅可比矩阵是机械臂位姿的函数,可实现关节速度和末端执行器速度之间的映射、机器人末端执行器所受静力和各关节力矩之间的映射。此外,雅克比矩阵的数值属性可以帮助人们理解机械臂的灵巧性,并且更深刻地了解奇异位形。(关于刚体线速度与角速度的描述及连杆间速度的传递关系等详细内容,可参考机器人学相关的专业书籍,本小节不做相关介绍。)
机器人的雅可比矩阵是指从机器人关节空间的速度向机器人末端笛卡尔空间速度的映射,在6.4.1小节中,使用式(6-7)描述机器人的末端执行器位姿T和关节坐标向量q的关系,采用六个独立的空间坐标描述机器人末端位姿并对式(6-7)求导可得:
这是一个瞬时的正运动学,其中ν=(vx,vy,vz,ωx,ωy,ωz)是一个空间速度,表示机器人末端执行器笛卡尔空间的速度矢量,它包含机器人末端执行器笛卡尔空间的线速度矢量和角速度矢量。矩阵J(q)(6×N)是机械臂的雅可比矩阵。
机器人工具箱中提供了两个用于求解雅可比矩阵的函数:jacob0和jacobn,jacob0函数计算得到的雅可比矩阵将关节空间速度映射到世界坐标系中的末端执行器空间速度,而jacobn函数计算得到的雅可比矩阵将关节空间速度映射到末端执行器自身坐标系中的空间速度。设R为SerialLink对象,其调用格式分别如下:
j0=R.jacob0(q,options):其中,q为各关节坐标组成的1×N关节向量;options为可选择添加的额外参数,如设置为‘rot’,则返回值为雅可比矩阵的旋转子矩阵,详细设置可自行参考官方文档。
jn=R.jacobn(q,options):其中,q为各关节坐标组成的1×N关节向量;options为可选择添加的额外参数,如设置为‘trans’,则返回值为雅可比矩阵的平移子矩阵,详细设置可自行参考官方文档。(www.xing528.com)
对于前述Staubli TX200机器人,世界坐标系下的雅可比矩阵可以直接由SerialLink对象的jacob0方法计算。设机器人关节向量q=qn=[0-pi/2-3∗pi/4 pi/4 pi/4 0],此时可得:
求得的雅可比矩阵的行对应笛卡尔自由度,列对应于各个关节——分别对应于各相应关节单位速度产生的末端执行器笛卡尔空间速度。此方式求得的雅可比矩阵可将关节空间速度映射到世界坐标系中的末端执行器笛卡尔空间速度。
有时为了获得关节空间速度产生的末端执行器自身坐标系中的空间速度,使用jacobn函数来求解雅可比矩阵:
实际上,jacob0函数计算所得雅可比矩阵是在jacobn函数计算所得雅可比矩阵的基础上附加了一个从末端执行器坐标系到世界坐标系的速度变换。除此之外,雅可比矩阵还可以实现机器人关节空间力矩与机器人末端笛卡尔空间的力和力矩的映射,详细内容读者可自行参考机器人学相关的专业书籍,此处不予详细介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。