✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,
代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
🔥 内容介绍
多摄像头监控系统已成为许多领域的现代趋势,无论是用于研究还是工业。这些系统越来越被用于增强公共场所(如公园、机场和银行)以及政府和军事设施等受限区域的安全性。此外,将摄像头安装在无人机上可以将这些监控系统的能力提升到一个全新的水平。事实上,飞行摄像头的使用可以大大增加网络的可重构性,并为环境提供新的视角和更广泛的覆盖范围。
项目摘要
该项目旨在通过多个无人机载摄像头从顶部视角在已知环境中找到交互式监控问题的可能解决方案。采用基于贝叶斯的贪婪算法与状态交换来分布式地解决协调巡逻问题。将该策略的结果与通过线性规划获得的受限环境中的最佳路径进行比较。此外,还在大型环境中评估整体性能,其中最佳问题变得不可行。利用卡尔曼理论实施智能目标跟踪算法,该算法具有针对目标约束和信息损失最小化的摄像头变焦控制优化。进行了几次模拟,跟踪具有不同轨迹模型的目标,并改变滤波器的采样频率和检测的准确性。最后,对该算法对测量误差和摄像头故障的鲁棒性进行了测试。
📣 部分代码
%% Parameters
load('Data/C.mat') % load desired environment
env = C; % rename selected environment
Ts = 5; % setteling time for P before starting zoom
theta = 40; % angle (1m^2 from 2m)
gamma = 12; % trade off parameter
eFoV = 0.05; % percentage error of view
err = 0.05; % measure loss percentage
sigma_P = 0.25; % kalman prediction error sd
% Generate Camera
cam = Camera(env,theta,1,0,eFoV);
%% Coverage Factor Analysis
tx = 0:0.00001:1; % Real Uncertainty
ts = tinv((tx+1)/2,inf); % Real Coverage factors
% Approximated Uncertainty
u = @(k,beta) (1-exp(-k/beta));
% Interest Zone
lb = logical(ts >= 2);
hb = logical(ts <= 3);
bound = logical(lb.*hb);
% Cost Function
u0 = @(beta) norm((tx(bound)-u(ts(bound),beta)));
% Solve
beta = fmincon(u0,0.5,[],[],[],[],0,1);
figure()
plot(ts,tx)
hold on
plot(ts,u(ts,beta))
xlim([0 3.5])
%% Trade-off Parameter Analysis
% Gamma Test
y = [];
t = 1:5:100;
for g = t
[z,k] = cam.optimalZoom(g,sigma_P);
x = [z;k];
y = [y x];
end
figure()
plot(t,y(1,:))
hold on
plot(t,y(2,:))
% sigma_P Test
y = [];
t = 0.05:0.005:0.55;
for sigma_p = t
[z,k] = cam.optimalZoom(gamma,sigma_p);
x = [z;k];
y = [y x];
end
figure()
plot(t,y(1,:))
hold on
plot(t,y(2,:))