zoukankan      html  css  js  c++  java
  • matlab符号计算实现六自由度机器人运动学正解

    a1~a6代表绕z轴的旋转角,b1~b6分别代表沿z轴的平移量,c1~c6分别代表沿x轴的平移量,d1~d6分别代表沿x轴的旋转

    以上即为D——H参数

    syms a1 b1 c1 d1 Trz Tz Tx Trx A1;

    Trz = sym('[cos(a1),-sin(a1),0,0;sin(a1),cos(a1),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b1;0,0,0,1]');
    Tx=sym('[1,0,0,c1;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d1),-sin(d1),0;0,sin(d1),cos(d1),0;0,0,0,1]');
    A1=Trz*Tz*Tx*Trx;
    syms a2 b2 c2 d2  A2;
    Trz = sym('[cos(a2),-sin(a2),0,0;sin(a2),cos(a2),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b2;0,0,0,1]');
    Tx=sym('[1,0,0,c2;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d2),-sin(d2),0;0,sin(d2),cos(d2),0;0,0,0,1]');
    A2=Trz*Tz*Tx*Trx;
    syms a3 b3 c3 d3  A3;
    Trz = sym('[cos(a3),-sin(a3),0,0;sin(a3),cos(a3),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b3;0,0,0,1]');
    Tx=sym('[1,0,0,c3;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d3),-sin(d3),0;0,sin(d3),cos(d3),0;0,0,0,1]');
    A3=Trz*Tz*Tx*Trx;
    syms a4 b4 c4 d4  A4;
    Trz = sym('[cos(a4),-sin(a4),0,0;sin(a4),cos(a4),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b4;0,0,0,1]');
    Tx=sym('[1,0,0,c4;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d4),-sin(d4),0;0,sin(d4),cos(d4),0;0,0,0,1]');
    A4=Trz*Tz*Tx*Trx;
    syms a5 b5 c5 d5  A5;
    Trz = sym('[cos(a5),-sin(a5),0,0;sin(a5),cos(a5),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b5;0,0,0,1]');
    Tx=sym('[1,0,0,c5;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d5),-sin(d5),0;0,sin(d5),cos(d5),0;0,0,0,1]');
    A5=Trz*Tz*Tx*Trx;
    syms a6 b6 c6 d6  A6;
    Trz = sym('[cos(a6),-sin(a6),0,0;sin(a6),cos(a6),0,0;0,0,1,0;0,0,0,1]');
    Tz=sym('[1,0,0,0;0,1,0,0;0,0,1,b6;0,0,0,1]');
    Tx=sym('[1,0,0,c6;0,1,0,0;0,0,1,0;0,0,0,1]');
    Trx=sym('[1,0,0,0;0,cos(d6),-sin(d6),0;0,sin(d6),cos(d6),0;0,0,0,1]');
    A6=Trz*Tz*Tx*Trx;
    syms T;
    T=A1*A2*A3*A4*A5*A6;
    subs(T,{a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,a5,b5,c5,d5,a6,b6,c6,d6},{0,0,0,0,-pi/2,0,0.15,-pi/2,0,0,0.57,0,0,0.65,0.15,-pi/2,0,0,0,pi/2,0,0,0,-pi/2});
  • 相关阅读:
    Codeforces Round #564 (Div. 1)
    Codeforces Round #569 (Div. 1)
    SDOI2019R2游记
    BZOJ 3555: [Ctsc2014]企鹅QQ
    SDOI2019R1游记
    计数的一些东西
    多项式的各种操作
    BZOJ 5424: 烧桥计划
    Codeforces Round #545 (Div. 1)
    概率期望学习笔记
  • 原文地址:https://www.cnblogs.com/ustczd/p/5019426.html
Copyright © 2011-2022 走看看