EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1这是我再知网上查了许多论文,关于机器人末端轨迹的仿真,用的都是这一类的代码,会涉及到squeeze函数,不管怎样,都会有“位置 1 的索引超出数组范围(不能超过 1)”的报错。/ }& ]1 {) t; A" Y, `
2
2 k+ {! s( _! N2 g/ n, o# |L1 =Link( 'd',0.525, 'a',0.15,'alpha',pi/2) ;
; J, q2 g8 o$ _6 L
( @4 K, T/ D* e9 sL2 =Link( 'd',0, 'a',0.79, 'alpha',0) ;! F3 U5 C& K9 c/ a4 G
$ I3 L# M1 m& QL3 =Link( 'd',0, 'a',0.25, 'alpha',pi/2); w# g8 e/ [( {% z2 p- f
" i; s* A4 O' v6 Y( X, Q) E NL4 =Link( 'd',0.835, 'a',0, 'alpha',-pi/2);
9 z7 |9 v/ i1 G2 v% q! d1 `3 Z3 P4 {4 p" C, c
L5 =Link( 'd',0, 'a',0, 'alpha',pi/2) ;$ F* {$ w4 d5 ]; [' }: m1 f
' R/ c. I; B( g
L6 = Link( 'd', 0.1,'a',0,'alpha',0) ;
* Z# W$ `) Y) v6 M/ b& q) E1 E$ N3 {8 Q. s
VFb=isrevolute( L1) ; %测试是否为旋转关节
4 F. W! E$ V- M' T i( s; G1 N" `7 `4 j7 @
robot=SerialLink([L1, L2, L3, L4, L5, L6]); %创建机器人模型1 p7 ]# R& I, `6 A3 O) M# B
# A6 }! D1 d. G* l" K N, J
robot.name='M-20iA'; %机器人模型名称
. Y# A5 Y9 R ^: q8 l7 p; _
. U* u' w) a3 }) Stheta=[0 pi/2 0 0 0 0]; %关节角度初值! H$ R9 h7 v& B, q0 P. I
8 r8 A. a- N6 V! {. H6 j
t=[0:0.05:4]’;
' Z! K( u: s( U- F. u% S3 o* G E, |% M3 |4 E, y% T& \& A
qA=[0 pi/2 0 0 0 0];" l! y/ v/ N% A6 ]& Y
1 k& g4 ?$ \( W# RqB=[pi/2 pi/3 -pi/6 0 pi/3 pi/2];6 W' ~3 x% i9 w5 h- t9 J& j
" }6 R% F8 G% ?+ S& o1 K: E$ U+ b
q=jtraj(qA, qB, t);
# I( T4 }) o4 U; q/ E; r% y6 n7 w# p, l% g, |6 y
plot(robot,q);0 [; R2 O2 x* w7 f' i7 J
0 T( S% d) n% IT=fkine(robot,q);
3 p5 y8 I, x/ g% @
& O" K/ c$ r1 F$ B: tx=squeeze(T(1,4, ); + r+ e. M4 n: k
y=squeeze(T(2,4, ); - M9 _ ^+ @! A
z=squeeze(T(3,4, );
5 X( ~9 E! t+ h2 L* W% {, ~3 ksubpIoT(3,1,1);piot(t,x);xlabel(‘时间/s’);ylabel(‘x/m’); , U( c$ R* ?1 | x
subpiot(3,1,2);piot(t,y);xlabel(‘时间/s’);ylabel(‘x/m’); " L3 p. w# p; D# M
subpiot(3,1,3);piot(t,z);xlabel(‘时间/s’);ylabel(‘x/m’); 3请问该如何解决?
6 t- f" l. ]! t# E; x |