EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1这是我再知网上查了许多论文,关于机器人末端轨迹的仿真,用的都是这一类的代码,会涉及到squeeze函数,不管怎样,都会有“位置 1 的索引超出数组范围(不能超过 1)”的报错。; V$ _# U/ L" W+ O, L2 w, v# v
29 U3 ]; X) ]# \1 o
L1 =Link( 'd',0.525, 'a',0.15,'alpha',pi/2) ;. V! z; [# w' B/ P. a B9 b3 z# a
/ Y; ]5 v, W% S$ Q# H" ?. C: f2 ^
L2 =Link( 'd',0, 'a',0.79, 'alpha',0) ;
/ ?) |3 h% v- m% _ h5 @
% a+ s0 R1 X" @2 a$ q9 WL3 =Link( 'd',0, 'a',0.25, 'alpha',pi/2);
+ h4 q: h& L& B$ e8 j' m W- M% G( ~$ A
, A/ e* m6 G% R: ^$ k* ]6 A6 eL4 =Link( 'd',0.835, 'a',0, 'alpha',-pi/2);; V2 q2 b- j- k4 |7 t& V- Z
$ ]. b5 |0 F( S" W6 _3 f9 p kL5 =Link( 'd',0, 'a',0, 'alpha',pi/2) ;3 x G7 a: t! b1 S: R! \: Q) g
2 j( R* \" V) a* s& ]1 O( g/ `L6 = Link( 'd', 0.1,'a',0,'alpha',0) ;
9 k( F& b) U, D( n6 R4 R- S* m! r8 s8 C' G4 ~" h
VFb=isrevolute( L1) ; %测试是否为旋转关节
7 f9 @6 v$ I/ v' Y0 C
# _" b5 F/ h( |* irobot=SerialLink([L1, L2, L3, L4, L5, L6]); %创建机器人模型
0 j; z. O- c" w) C0 O
1 a+ F' k) e* j8 w" F+ F5 Q* irobot.name='M-20iA'; %机器人模型名称& |7 J0 L$ ]8 _/ I5 s: Y9 o
+ f: p9 t* w1 Y* z# i! b8 J* mtheta=[0 pi/2 0 0 0 0]; %关节角度初值3 Z# v9 N D- }
4 O y0 ~/ {. g3 ~& V$ lt=[0:0.05:4]’;# b, O9 w8 i! @( _3 {
0 a" z; K# r2 D3 e! k; GqA=[0 pi/2 0 0 0 0];. u/ `3 s6 o& y& Z- M
( c; p& y% k. K: Q" W, C1 l
qB=[pi/2 pi/3 -pi/6 0 pi/3 pi/2];8 i5 \- c% @6 R$ ]! D# B6 }
, Z/ T, n* ~- _1 H8 n2 a; Q
q=jtraj(qA, qB, t);2 e ~3 L- l! R+ S
+ q! Y5 V; ?; q- I* m0 |2 @1 Y- C
plot(robot,q);
# t$ X% T7 K) X' {6 \" c
1 P+ t& G3 o) U3 p. @) F j! e/ kT=fkine(robot,q);
6 c1 Y; R" y3 R/ Y4 \1 |3 g9 w0 R" s
/ q$ r/ T. D) ~; ?9 ~/ Gx=squeeze(T(1,4, );
9 Q* K( E8 T3 J! _y=squeeze(T(2,4, );
5 @" R8 n4 Q" [9 N! iz=squeeze(T(3,4, ); 1 S p$ y6 F' t9 q
subpIoT(3,1,1);piot(t,x);xlabel(‘时间/s’);ylabel(‘x/m’); ) O0 U, y& F* {% ?0 z
subpiot(3,1,2);piot(t,y);xlabel(‘时间/s’);ylabel(‘x/m’);
Y! P& w! g/ A& T: G+ {- s# Zsubpiot(3,1,3);piot(t,z);xlabel(‘时间/s’);ylabel(‘x/m’); 3请问该如何解决? ) s. A) C. M; N8 n
|