【关于四足机器人那些事】雅克比矩阵

一、引入

假设有6个函数,每个函数有6个独立的变量,即:

y 1 = f 1 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 2 = f 2 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) ⋮ y 6 = f 6 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) \begin{matrix} y_1 = f_1(x_1, x_2, x_3, x_4, x_5, x_6)\\ y_2 = f_2(x_1, x_2, x_3, x_4, x_5, x_6)\\ \vdots \\ y_6 = f_6(x_1, x_2, x_3, x_4, x_5, x_6)\\ \end{matrix} y1=f1(x1,x2,x3,x4,x5,x6)y2=f2(x1,x2,x3,x4,x5,x6)y6=f6(x1,x2,x3,x4,x5,x6)

我们用矢量形式表达上式,即:

Y = F ( X ) Y = F(X) Y=F(X)

现在,如果我们要计算 y i y_i yi的微分关于 x i x_i xi的微分的函数,通过多元函数求导法则,可以计算出:

δ y 1 = ∂ f 1 ∂ x 1 δ x 1 + ∂ f 1 ∂ x 2 δ x 2 + ⋯ + ∂ f 1 ∂ x 6 δ x 6 δ y 2 = ∂ f 2 ∂ x 1 δ x 1 + ∂ f 2 ∂ x 2 δ x 2 + ⋯ + ∂ f 2 ∂ x 6 δ x 6 ⋮ δ y 6 = ∂ f 6 ∂ x 1 δ x 1 + ∂ f 6 ∂ x 2 δ x 2 + ⋯ + ∂ f 6 ∂ x 6 δ x 6 \begin{matrix} \delta y_1 = \frac{\partial f_1}{\partial x_1}\delta x_1 + \frac{\partial f_1}{\partial x_2}\delta x_2 + \cdots + \frac{\partial f_1}{\partial x_6}\delta x_6 \\ \\ \delta y_2 = \frac{\partial f_2}{\partial x_1}\delta x_1 + \frac{\partial f_2}{\partial x_2}\delta x_2 + \cdots + \frac{\partial f_2}{\partial x_6}\delta x_6\\ \vdots \\ \delta y_6 = \frac{\partial f_6}{\partial x_1}\delta x_1 + \frac{\partial f_6}{\partial x_2}\delta x_2 + \cdots + \frac{\partial f_6}{\partial x_6}\delta x_6 \end{matrix} δy1=x1

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
通过引用和[2]可以得知,使用matlab工具箱的雅可比矩阵函数可以计算雅可比矩阵,并且与通过矢量积法计算得到的结果一致。最新版的机器人工具包可以以mltbx格式直接拖进matlab进行安装,安装成功后可以通过运行rvc_startup打开机器人工具包。 而关于雅可比矩阵的推导过程,通过引用可以了解到雅可比矩阵是联系末端操作空间速度与空间关节速度的枢扭。雅可比矩阵是一个m*n矩阵,其中m表示末端操作空间的自由度,一般为6个(即 x y z Wx Wy Wz),n为关节空间的关节数。对于一个6自由度的旋转关节机器人,可以使用6旋转关节机器人的史陶比尔TX90作为例子来推导雅可比矩阵,具体的推导过程可以参考中的图示。 如果想要在matlab中计算6自由度机器人雅可比矩阵,可以参考提供的程序。首先根据D-H参数定义连杆,然后生成机器人,并最后完成雅可比矩阵的计算。具体的程序如下所示: L1 = Link('d', 0.68, 'a', 0.2, 'alpha', -pi/2); L2 = Link('d', 0, 'a', 0.089, 'alpha', 0); L3 = Link('d', 0, 'a', 0.150, 'alpha', -pi/2); L4 = Link('d', 0.88, 'a', 0, 'alpha', -pi/2); L5 = Link('d', 0, 'a', 0, 'alpha', pi/2); L6 = Link('d', 0.3, 'a', 0, 'alpha', 0); bot = SerialLink([L1 L2 L3 L4 L5 L6],'name','50kg','offset',[0 -pi/2 0 0 -pi/2 0]); syms a1; syms a2; syms a3; syms a4; syms a5; syms a6; IK=[a1,a2,a3,a4,a5,a6]; J=bot.jacob0(IK); j=char(vpa(J)) 其中,L1到L6分别表示机器人的六个连杆,bot为生成的机器人对象。通过输入关节角度a1到a6,可以通过bot.jacob0函数计算得到机器人雅可比矩阵J,然后可以使用vpa函数将结果转换为字符形式。 综上所述,通过使用matlab工具箱和相应的程序,可以计算出UR5机器人雅可比矩阵。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值