机器人的奇异位与雅各比矩阵

本文探讨了在机械手速度控制中雅各比矩阵的重要性,特别是在工作空间分配速度时,如何避免雅各比矩阵逆不存在的问题,防止关节速度过大导致的机械损伤。

奇异位存在的原因
在这里插入图片描述
简单的理解就是:根据工作需求,我们必须在工作空间内,给机械手分配速度,而机械手的速度是由关节速度控制的,他们之间存在雅各比矩阵J的关系,某些位置会出现雅各比矩阵的行列式值为0,这样雅各比矩阵的逆不存在,反解也就不存在,进而无法求出这个位置的关节速度,或者关节速度非常大,这会损伤机械结构。

### 机器人学中的雅可比矩阵机器人学中,雅可比矩阵用于描述关节空间速度与操作空间速度之间的关系。对于一个具有 \( n \) 个自由度的机械臂来说,如果末端执行器的位置和姿态由向量 \( p(x_1,x_2,...,x_n) \) 表示,则该位置相对于各个关节变量的一阶偏导数组成的矩阵即为雅可比矩阵[^1]。 具体而言,在笛卡尔坐标系下表示端点位姿变化率时,可以利用雅克比矩阵来建立关节角速度矢量 \( q'=[\dot{\theta}_1,\dots ,\dot {\theta }_{n}]^{T} \) 和线性/角加速度矢量 \( v=[v_x,v_y,v_z,w_x,w_y,w_z]^T \) 的联系: \[ J(q)=\left[\begin{array}{ccc} \frac{{\partial {p}_{x}}}{{\partial {\theta _{1}}}} & ...& \frac{{\partial {p}_{x}}}{{\partial {\theta _{n}}}}\\ .&...&. \\ .&...&. \\ \frac{{\partial w}}{{\partial {\theta _{1}}}} & ...& \frac{{\partial w}}{{\partial {\theta _{n}}}} \end{array}\right](q)\] 其中每一列代表对应于特定关节角度的变化如何影响到终端效应器的空间运动特性;而每行则分别关联着平移或旋转维度上所发生的改变程度。 下面给出一段Python代码作为实例展示如何基于给定DH参数表构建简单的二连杆平面机械手对应的雅可比矩阵: ```python import numpy as np def compute_jacobian(theta): L1,L2=0.5,0.375 # 链接长度 c1=np.cos(theta[0]) s1=np.sin(theta[0]) c12=np.cos(sum(theta)) s12=np.sin(sum(theta)) jac =np.array([[-L1*s1-L2*c12,-L2*s12], [ L1*c1-L2*s12, L2*c12]]) return jac ``` 此函数接收两个关节的角度值组成的列表`theta`并返回相应的\(2\times2\)维雅可比矩阵。这里假设已知前两节手臂各自的固定距离分别为 `L1`, `L2`.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值