主要内容

模拟雷达传感器安装在无人机

雷达传感器使无人机在空域检测其他车辆,使无人机能够预测其他车辆运动和做出决定,以确保间隙与其他车辆。这个例子展示了如何模拟雷达传感器安装在无人机使用uavScenarioradarDataGenerator对象。在场景模拟,radarDataGenerator对象生成飞行轨道的另一辆车的场景。自我车辆可以利用这些跟踪信息来决定是否即将发生碰撞并决定是否需要改变飞行计划。

创建无人机场景定义雷达传感器

测试场景由两个无人机。固定翼无人机目标车辆和multirotor无人机跟踪固定翼无人机使用安装雷达传感器。

%对模拟repeatablity使用固定随机种子。rng (0)%创建一个场景运行10秒钟。s = uavScenario (“StopTime”10“HistoryBufferSize”,200);%创建一个固定翼的目标,从[30 0 0][20 10 0]。目标= uavPlatform (“目标”年代,“轨迹”waypointTrajectory ([30 0 0;20 10 0],“TimeOfArrival”10 [0]));updateMesh(目标,“fixedwing”{1},(1 0 0),eul2tform([0 0π]));%创建一个从quadrotor [0 0 0] [10 10 0]。egoMultirotor = uavPlatform (“EgoVehicle”年代,“轨迹”waypointTrajectory ([0 0 0;10 10 0],“TimeOfArrival”10 [0]));updateMesh (egoMultirotor“quadrotor”{1}[0 1 0],eul2tform([0 0π]));% quadrotor挂载雷达。radarSensor = radarDataGenerator (“没有扫描”,“SensorIndex”,1“UpdateRate”10“FieldOfView”(120 80),“HasElevation”,真的,“ElevationResolution”3,“AzimuthResolution”,1“RangeResolution”10“RangeRateResolution”3,“RangeLimits”750年[0],“TargetReportFormat”,“跟踪”,“TrackCoordinates”,“场景”,“之内”,真的,“HasFalseAlarms”,真的,“FalseAlarmRate”1 e-5“HasRangeRate”,真的,“FalseAlarmRate”1 e);%建立传感器。从无人机ExampleHelperUAVRadar继承。SensorAdaptor类。雷达= uavSensor (“雷达”、egoMultirotor ExampleHelperUAVRadar (radarSensor),“MountingAngles”,0 0 0);

预览场景中使用show3D函数。

[ax, plotFrames] = show3D(年代);xlim ([5、15]);ylim ([5, 35]);持有

图包含一个坐标轴对象。坐标轴对象包含东(m), ylabel北(m)包含2块类型的对象。

模拟和可视化雷达探测

设置场景中,运行模拟,并检查检测。

%添加检测和传感器视场的阴谋。trackSquare = plot3 (plotFrames.NED南,南南“-”);radarDirection = hgtransform (“父”plotFrames.EgoVehicle.Radar,“矩阵”、眼睛(4));coverageAngles = linspace (-radarSensor.FieldOfView(1) / 360 *π,radarSensor.FieldOfView(1) / 360 *π,128);coveragePatch =补丁([0 radarSensor.RangeLimits (2) * cos (coverageAngles) 0],[0 radarSensor.RangeLimits (2) * sin (coverageAngles) 0],“蓝色”,“FaceAlpha”,0.3,“父”,radarDirection);(ax,“关闭”);%开始仿真。设置(年代);推进(s)%更新传感器读数和读取数据。updateSensors(年代);%更新雷达视场。egoPose =阅读(egoMultirotor);radarFOV = coverageConfig (radarSensor egoPose(1:3),四元数(egoPose (13)));radarDirection。矩阵= eul2tform ([radarFOV.LookAngle(1) / 180 *π0 0]);%获得雷达的检测和可视化。[isUpdated、时间confTracks, numTracks,配置]=阅读(雷达);如果numTracks trackSquare > 0。XData = [trackSquare.XData confTracks (1) .State (1)];trackSquare。YData = [trackSquare.YData confTracks (1) .State (3)];trackSquare。ZData = [trackSquare.ZData confTracks (1) .State (5)];drawnowlimitrate结束show3D(年代,“FastUpdate”,真的,“父”、ax);暂停(0.1);结束

图包含一个坐标轴对象。坐标轴对象包含东(m), ylabel北(m)包含4块类型的对象,线。

在模拟目标无人机跟踪可视化。使用这个跟踪预测,自我汽车现在可以决定是否即将发生碰撞。这使您能够实现避障算法和测试这个场景。