-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathagentproperty.m
executable file
·38 lines (38 loc) · 1.49 KB
/
agentproperty.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function agent=agentproperty(interact)
agent.umax=1;
agent.delta_t=0.1;
agent.A=[1 agent.delta_t 0 0 ;0 1 0 0;0 0 1 agent.delta_t;0 0 0 1];
agent.B=[0.5*agent.delta_t^2 0;agent.delta_t 0;0 0.5*agent.delta_t^2;0 agent.delta_t];
agent.C=eye(4);
agent.D=zeros(4,2);
agent.Q=eye(4);
agent.R=eye(2);
[agent.K, agent.P] = lqr_infinite_horizon(agent.A, agent.B, agent.Q, agent.R);
agent.Goal=[5,5;1,9]';
agent.nG=size(agent.Goal,2);
agent.innoise=0;
agent.outnoiseself=0;
agent.outnoisestar=0;
agent.obs.xself=[];
agent.obs.xstar=[];
agent.obs.goal=[];
agent.score=0;
agent.flag=0;
agent.base=[2;0.5;0];
agent.shoulderlength=0.45;
agent.pelvislength=0.32;
agent.x(1:3,1)=agent.base+[0;0;1.6]; %1:head
agent.x(11:13,1)=agent.base+[0;0;1.2]; %2:trunk
agent.x(21:23,1)=agent.base+[0;agent.shoulderlength/2;1.4]; %3:right boom
agent.x(31:33,1)=agent.x(21:23,1)+[0;0;-0.3]; %4:right forearm
agent.x(41:43,1)=agent.base+[0;-agent.shoulderlength/2;1.4]; %5:left boom
agent.x(51:53,1)=agent.x(41:43,1)+[0;0;-0.3]; %6:left forearm
agent.x(61:63,1)=agent.base+[0;agent.pelvislength/2;0.8]; %7:right thigh
agent.x(71:73,1)=agent.x(61:63,1)+[0;0;-0.3]; %8:right calf
agent.x(81:83,1)=agent.base+[0;-agent.pelvislength/2;0.8]; %9:left thigh
agent.x(91:93,1)=agent.x(81:83,1)+[0;0;-0.3]; %10:left calf
agent.x(101:103,1)=agent.x(31:33,1)+[0;0;-0.4]; %right wrist
agent.x(111:113,1)=agent.x(51:53,1)+[0;0;-0.4]; %left wrist
agent.x(121:123,1)=agent.x(71:73,1)+[0;0;-0.5]; %right ancle
agent.x(131:133,1)=agent.x(91:93,1)+[0;0;-0.5]; %left ancle
end