• 大小: 84KB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: matlab  

资源简介

自动驾驶感知软件中,使用卡尔曼滤波和匈牙利算法实现的matlab多目标融合的一个例子。里面使用了相机和毫米波雷达的数据来进行融合

资源截图

代码片段和文件信息

function [allData scenario sensor] = generateSensorData()
%generateSensorData - Returns sensor detections
%    allData = generateSensorData returns sensor detections in a structure
%    with time for an internally defined scenario and sensor suite.
%
%    [allData scenario sensors] = generateSensorData optionally returns
%    the drivingScenario and detection generator objects.

% Generated by MATLAB(R) 9.5 and Automated Driving System Toolbox 1.3.
% Generated on: 07-Mar-2019 23:15:02

% Create the drivingScenario object and ego car
[scenario egoCar] = createDrivingScenario;

% Create all the sensors
sensor = createSensor(scenario);

allData = struct(‘Time‘ {} ‘ActorPoses‘ {} ‘objectDetections‘ {} ‘LaneDetections‘ {});
running = true;
while running
    
    % Generate the target poses of all actors relative to the ego car
    poses = targetPoses(egoCar);
    time  = scenario.SimulationTime;
    
    % Generate detections for the sensor
    laneDetections = [];
    [objectDetections numobjects isValidTime] = sensor(poses time);
    objectDetections = objectDetections(1:numobjects);
    
    % Aggregate all detections into a structure for later use
    if isValidTime
        allData(end + 1) = struct( ...
            ‘Time‘       scenario.SimulationTime ...
            ‘ActorPoses‘ actorPoses(scenario) ...
            ‘objectDetections‘ {objectDetections} ...
            ‘LaneDetections‘   {laneDetections}); %#ok
    end
    
    % Advance the scenario one time step and exit the loop if the scenario is complete
    running = advance(scenario);
end

% Restart the driving scenario to return the actors to their initial positions.
restart(scenario);

% Release the sensor object so it can be used again.
release(sensor);

%%%%%%%%%%%%%%%%%%%%
% Helper functions %
%%%%%%%%%%%%%%%%%%%%

% Units used in createSensors and createDrivingScenario
% Distance/Position - meters
% Speed             - meters/second
% Angles            - degrees
% RCS Pattern       - dBsm

function sensor = createSensor(scenario)
% createSensors Returns all sensor objects to generate detections

% Assign into each sensor the physical and radar profiles for all actors
profiles = actorProfiles(scenario);
sensor = visionDetectionGenerator(‘SensorIndex‘ 1 ...
    ‘SensorLocation‘ [3.7 0] ...
    ‘MaxRange‘ 10 ...
    ‘DetectorOutput‘ ‘objects only‘ ...
    ‘Intrinsics‘ cameraIntrinsics([1814.81018227767 1814.81018227767][320 240][480 640]) ...
    ‘ActorProfiles‘ profiles);

function [scenario egoCar] = createDrivingScenario
% createDrivingScenario Returns the drivingScenario defined in the Designer

% Construct a drivingScenario object.
scenario = drivingScenario;

% Add all road segments
roadCenters = [72.2 7.1 0;
    22.3 11.7 0;
    -1.2 36.2 0];
laneSpecification = lanespec(2 ‘Width‘ 2.925);
road(scenario roadCenters ‘Lanes‘ laneSpecification);

% Add t

评论

共有 条评论