|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab robotics toolbox的逆运动学求解ikine为题。
& J- I; N9 F( F" N: q+ l代码如下:
* f& Q2 R/ a6 Y5 S. {; x9 {% K% Z. eclear all;
7 L0 i: i+ `6 j' H* @& X' ?clc;
. y6 E4 c, R, L" r5 bstartup_rvc;
& Q: O3 U; S- [2 ?7 K/ e6 M# @L(1) = Link([0,0.194,0.45,0,0]);1 i% X# V, ]/ j, G! W5 @
L(1).qlim=([-130*pi/180,130*pi/180]);' `4 c! j+ C# g
L(2) = Link([0,0.072,0.35,0,0]);
4 b% H. i. A' l0 IL(2).qlim=([-5*pi/6,5*pi/6]);
0 M+ A0 X7 J3 P& [1 W/ a# |4 E3 SL(3) = Link([0,0,0,0,1]);6 ~! W8 U X; v! I
L(3).qlim=[0,0.5]; / S% \* ~/ U4 j! A1 y- l; I
L(4) = Link([0,0,0,0,0]);
9 p2 b; m: Z- L2 R0 n% @L(4).qlim=([-pi,pi]);; d& O- E, {7 Y$ A. x9 d, z
bot = SerialLink(L); %连接连杆+ O u7 X' b V* `
bot.name='SCARA';# b) N0 j0 H0 u7 J/ J
bot.display() %显示D-H参数表3 R, V% e" I- H- ]7 |( e; ^5 P, Z
bot.teach()8 c6 |2 p" V) d: r1 J
* e% w$ Q6 q _0 l, V, A9 V- @T=[-0.2588 0.9659 0 0.1344;-0.9659 -0.2588 0 0.7278;0 0 1 0.366;0 0 0 1]7 B U Y1 }. V2 `: i
inverse_kinematics=bot.ikine(T) %逆向运动学. 这个逆解为啥就是不能求?????% `7 i9 H2 ~4 U4 b8 m) G5 i M
2 F' N$ E- }% Z: C2 T# s- p) f% y! p3 a& `5 \; O0 M5 ]
theta1=inverse_kinematics(1);
% O4 Y3 g H$ S9 P& Ytheta2=inverse_kinematics(2);
$ C# L* n) \' P" D" ?d=inverse_kinematics(3);1 p$ z" Q' `; ~: s2 s4 u) Y
theta4=inverse_kinematics(4);" V& G ^1 L7 h- `
forward_kinematics=bot.fkine([theta1 theta2 d theta4])
, t9 m8 `7 L. |$ p0 |. [错误信息:
0 \8 z R/ n9 Q8 n( Z5 l+ f, d+ dError using SerialLink/ikine (line 164)
! l6 L( L# ^& X0 G7 {3 m/ G! H7 [' mNumber of robot DOF must be >= the same number of 1s in the mask matrix$ T6 S$ z+ ~8 c; ?( ^
8 G Q" h: ]& I4 e! E/ Z
Error in ikine (line 19)2 f& @& G9 R! A: T8 R% r% x
inverse_kinematics=bot.ikine(T); E3 X) ~/ Y1 J+ n' U( L
# T" p4 c9 V! K; R) Y" q
+ e) ^8 ~6 _+ H5 j3 X5 w
, ?2 M8 C( S, X# @ q想问下大家这个错误信息的自由度问题怎么解决?
! y4 O' @* }) `7 C; P |
|