1 简介
随着智能交通系统的发展,车载自组网(VANET)已经成为该领域的热门网络通信技术。车载网络是一种透过随意网络提供车辆之间的通讯,即由无线通信与数据传递技术,串联交通工具以及路边交通设施,所形成的特殊的专用网络,属于高度客制化的行动式随意网络。主要功能在于让所有的用路人可以实时取得与传递与交通相关的信息,以便提高行车效率,增进用路安全与舒适性。
在车载网络中,尤其是在城市环境下,车辆高速移动导致网络拓扑结构频繁变化,车辆密度分布不均,导致稀疏连通和局部最优情况频繁出现,所以必须专门为车载自组网设计具备鲁棒性、可靠性、实时性的路由协议。本章针对现有城市环境下存在的车辆碰撞问题,利用车辆的地理位置和电子导航地图提供的道路车流信息进行路由决策,根据设定的城市交通网络模拟图,随机的分布车辆节点,通过十字交叉路口的防碰撞研究以及路边节点之间的相对位置预警仿真,得到不同仿真下的城市交通信息网络结果图,对于该区域交通通信设计以及路况信息改善有一定的指导意义。
VANET具有以下一些特征:
(1)VANET网络中,车辆节点移动性较快,道路拓扑变化快,路径寿命短;
(2)VANET的网络管理涉及面较广,但是车路以及车与车之间相互配置等连线维持较困难。
(3)VANET网络中节点分布随机性较强,导致节点没有十分均匀的分布;
(4)VANET网络链路状况不稳定,对障碍物的阻碍很敏感;
(5)VANET网络通过车辆间的自组织通信,使驾驶者能够获得超视距范围内其它车辆的行驶信息和实时路况信息,从而帮助车辆及时调整行驶路线,实现动态路劲选择,提高行驶效率。
(6)VANET网络可以通过车辆与路边节点的信息交互,将收集到的信息汇总至交通控制中心进行分析和处理,并将结果反馈给驾驶人员。
(7)VANET网络在行驶安全预警。VANET可以在前方有塞车或是撞车情形时实时的对驾驶提出警告,当前方的车子减速时,也可以提醒后方的车辆放慢速度避免碰撞的发生。
2 部分代码
clc,clear,close allaxis([0 100 0 100]);hold onnodes = 5; % 节点个数PauseTime = 0.1; % pause时间[x,y] = ginput(nodes);plot(x,y,'-ks','LineWidth',8,... 'MarkerEdgeColor','b',... 'MarkerFaceColor','b',... 'MarkerSize',8) [p,q] = ginput(nodes);plot(p,q,'-ks','LineWidth',8,... 'MarkerEdgeColor','b',... 'MarkerFaceColor','b',... 'MarkerSize',8) Sa = 5; % 最小安全距离% 初始化xp = x(1);yp = y(1);pp = p(1);qp = q(1);m = 0; n = 0; k =1 ;for i = 2:nodes xc = x(i); yc = y(i); xp = x(i-1); yp = y(i-1); pc = p(i); qc = q(i); pp = p(i-1); qp = q(i-1); m = floor(sqrt((xp-xc)*(xp-xc)+(yp-yc)*(yp-yc))); n = floor(sqrt((pp-pc)*(pp-pc)+(qp-qc)*(pp-qc))); a1 = linspace(xp,xc,m); b1 = linspace(yp,yc,m); aa1 = a1; bb1 = b1; na = length(a1); a2 = linspace(pp,pc,m); b2 = linspace(qp,qc,m); v1(i) = sqrt((xp-xc)*(xp-xc)+(yp-yc)*(yp-yc)) /m; % 红车1速度 v2(i) = sqrt((pp-pc)*(pp-pc)+(qp-qc)*(qp-qc)) /m; % 蓝车2速度 for j = 2:m S(k) = sqrt( (a1(j)-a2(j))^2 + (b1(j)-b2(j))^2 ); if S(k)<Sa S(k) = sqrt( (a1(j-1)-a2(j))^2 + (b1(j-1)-b2(j))^2 );% a1(j)=a1(j-1);% b1(j)=b1(j-1); % a1(j+1)=a1(j);% b1(j+1)=b1(j); aa1(j) = a1(j-1); aa1(j+1) = a1(j-1); aa1 = [aa1(1,1:j+1),a1(1,j:na)]; bb1(j) = b1(j-1); bb1(j+1) = b1(j-1); bb1 = [bb1(1,1:j+1),b1(1,j:na)]; h1 = plot(a1(j-1),b1(j-1),'*r','MarkerSize',4); h2 = plot(a2(j),b2(j),'*g','MarkerSize',4); h3 = plot([a1(j-1) a2(j)],[b1(j-1) b2(j)]); else h1 = plot(a1(j),b1(j),'*r','MarkerSize',4); h2 = plot(a2(j),b2(j),'*g','MarkerSize',4); h3 = plot([a1(j) a2(j)],[b1(j) b2(j)]); end a1 = aa1; b1 = bb1; pause(PauseTime); set(h1,'Visible','off'); set(h2,'Visible','off'); k=k+1; end endfigure,plot(S,'r','linewidth',3)grid onxlabel('t')ylabel('S运行距离')figure,plot(v1,'sr--','linewidth',3)hold onplot(v2,'>g--','linewidth',3)grid onxlabel('t')ylabel('V速度')legend('红色1速度','蓝车2速度')
3 仿真结果
4 参考文献
[1]王艳茹. 基于社交属性的车载自组织网络路由算法研究[D]. 南京邮电大学, 2020.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。