0001 function [struct_enemy_comp, noOfEnemyCompanies] = initializeEnemy;
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 global verbose;
0018 global simulationTime;
0019 noOfEnemyCompanies = 3;
0020 max_speed = 5;
0021
0022
0023 global noOfParticles;
0024 noOfParticles = 30;
0025 noOfStateAttributes = 4;
0026 defaultParticles = zeros( noOfParticles, noOfStateAttributes );
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 platoon = struct('id',{}, 'obs_time',{},'particles',{},'obs_pos', {}, 'est_pos',{}, ...
0041 'real_pos',{},'velocity',{},'est_vel', {}, 'max_speed', ...
0042 {});
0043 struct_enemy_comp = struct('id',{},'plt', {});
0044
0045
0046 for comp_id = 1:noOfEnemyCompanies
0047
0048 pos_new = getGround_TruthPos(comp_id);
0049
0050 platoon(1) = struct('id',['cmp' num2str(comp_id) '.plt1'], ...
0051 'obs_time',simulationTime,'particles', ...
0052 initParticles( noOfParticles, ...
0053 noOfStateAttributes, cog( pos_new(1:3,:)), max_speed ), 'obs_pos', cog(pos_new(1:3,:)),'est_pos',pos_new(1:3,:),'real_pos',pos_new(1:3,:),'velocity',zeros(3,2), 'est_vel', zeros(3,2), 'max_speed', max_speed);
0054
0055 platoon(2) = struct('id',['cmp' num2str(comp_id) '.plt2'], ...
0056 'obs_time',simulationTime,'particles', ...
0057 initParticles( noOfParticles, noOfStateAttributes, ...
0058 cog( pos_new(4:6,:)), max_speed ), 'obs_pos', cog(pos_new(4:6,:)), 'est_pos',pos_new(4:6,:),'real_pos',pos_new(4:6,:),'velocity',zeros(3,2),'est_vel', zeros(3,2), 'max_speed', max_speed);
0059
0060 platoon(3) = struct('id',['cmp' num2str(comp_id) '.plt3'], ...
0061 'obs_time',simulationTime,'particles', ...
0062 initParticles( noOfParticles, noOfStateAttributes, ...
0063 cog( pos_new(7:9,:)), max_speed ), 'obs_pos', cog(pos_new(7:9,:)), 'est_pos',pos_new(7:9,:),'real_pos',pos_new(7:9,:),'velocity',zeros(3,2),'est_vel', zeros(3,2), 'max_speed', max_speed);
0064
0065 struct_enemy_comp(comp_id) = struct('id',['cmp' num2str(comp_id)],'plt', ...
0066 platoon);
0067
0068 end;
0069
0070 if verbose
0071 disp('Initialize Enemy: Begin')
0072 noOfEnemyCompanies
0073 max_speed
0074 noOfParticles
0075 disp('Initialize Enemy: End')
0076 end