(完整word版)matlab应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(完整word版)matlab应用Manipulator Description
〉> l1。
m=3;
>> l2。
m=1;
>> l3.m=2;
〉>l1.I=[0 0 0;0 0 0;0 0 0];
〉> l2。
I=[0 0 0;0 0 0;0 0 0];
〉〉l3.I=[0 0 0;0 0 0;0 0 0];
>> l1。
r=[0 0 0];
>> l2.r=[0 0 0];
〉〉 l3。
r=[0 0 0];
〉> l1.G=1;
〉〉 l2.G=1;
〉> l3.G=1 ;
〉〉 l1.Jm=0;
>> l2.Jm=0;
〉> l3。
Jm=0;
Manipulator Dynamics
1.Two reachable point (-pi/2, 200, pi/2),(pi, 100, pi)
>〉 tau_g=gravload(r,[—pi/2, 200, pi/2],[0;0;9.8])
tau_g =
0 29.4000 0。
0000
〉> tau_g=gravload(r,[—pi, 100, —pi],[0;0;9。
8])
1。
0e+003 *
0 0。
0294 —4.9000
2。
〉> tau=rne(r,[-pi/2, 200, pi/2],[1 1 1],[2 2 2],[0;0;9。
8])tau =
1.0e+005 *
0 —0。
0046 2.5000
>〉 tau=rne(r,[—pi/2, 200, pi/2],[1 1 1],[4 4 4],[0;0;9.8])
tau =
1.0e+005 *
0.0000 -0。
0046 5。
0000
>〉 tau=rne(r,[—pi/2, 200, pi/2],[1 1 1],[8 8 8],[0;0;9。
8])
tau =
1。
0e+006 *
tau =
1.0e+005 *
2。
5000 -0.0096 2.4410
〉〉 tau=rne(r,[-pi, 100, -pi],[1 1 1],[4 4 4],[0;0;9.8])
tau =
1。
0e+005 *
5.0000 —0。
0196 4。
9310
>> tau=rne(r,[-pi, 100, -pi],[1 1 1],[8 8 8],[0;0;9。
8])
tau =
1。
0e+006 *
1.0000 —0。
0039 0。
9911
3。
3. Using ‘accel' function try to identify what torque is required to keep the velocity constant (= [1 1 1]) at each position that you checked in (1。
)
>〉 tau=rne(r,[-pi/2, 200, -pi/2],[1 1 1],[0 0 0],[0;0;9.8])
0.0000 529.4000 -0。
0000
〉> qdd=accel(r,[—pi/2, 200 ,—pi/2],[1 1 1],tau)
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 3。
749399e—033.
> In accel at 64
qdd =
0。
0000
—0.0100
—0。
0000
>〉 tau=rne(r,[—pi, 100, -pi],[1 1 1],[0 0 0],[0;0;9。
8]) tau =
1。
0e+003 *
—0。
0000 0.0294 —4.9000
〉> qdd=accel(r,[—pi, 100 ,-pi],[1 1 1],tau)
0。
0000
-0。
0100
-0.0000
4。
We first change the gear ratio of all joints to 3,
〉> l1.G=3
>> l2。
G=3
>〉 l3.G=3
>〉 tau=rne(r,[—pi/2, 200, pi/2],[1 1 1],[2 2 2],[0;0;9。
8])tau =
1.0e+005 *
0 -0。
0046 2。
5000
5。
Trajectory planning
(100 100 700)(-200, -10, 950)
〉> T0=transl([—200 —10 950]);
T1=transl([0 -250 1000]);
t=[0:0。
05:10];
r1=jtraj(0,1,t);
TC=ctraj(T0,T1,r1);
plot(t,transl(TC));
>> [q qd qdd]=jtraj([-pi/2, 200, pi/2],[ pi, 100, pi],t); >> plot(t,q(:,1),’r',t,qd(:,1),'b',t,qdd(:,1),'k’);
plot(t,q(:,3),’r’,t,qd(:,3),'b',t,qdd(:,3),'k');。