function actorSensors = exampleHelperCreateVehicleSensors(scene, vehicle)
%exampleHelperCreateVehicleSensors Construct the lidar sensors mounted to the ego-vehicle

% Copyright 2020 The MathWorks, Inc.

    % Attach three sensors to the vehicle
    xFront = vehicle.Wheelbase + vehicle.FrontOverhang;
    xRear  = -vehicle.RearOverhang;
    
    % Accurate, narrow FOV front-left Lidar
    frontLeft = lidarPointCloudGenerator(...
        'SensorLocation',[xFront vehicle.Width/2], ...
        'SensorIndex',1,...
        'UpdateInterval',0.1, ...
        'Height', vehicle.Height/3, ...
        'Yaw', 15, ...
        'MaxRange', 80, ...
        'AzimuthLimits', [-30 30], ...
        'ElevationLimits', [0 0], ...
        'AzimuthResolution', 1, ...
        'ElevationResolution', 5, ...
        'HasRoadsInputPort', false, ...
        'HasEgoVehicle', false, ...
        'DetectionCoordinates', 'Sensor Cartesian', ...
        'ActorProfiles',scene.actorProfiles);
    
    % High-Noise, narrow FOV front-right Lidar
    frontRight = lidarPointCloudGenerator(...
        'SensorLocation',[xFront -vehicle.Width/2], ...
        'SensorIndex',2,...
        'UpdateInterval',0.1, ...
        'Yaw', -15, ...
        'MaxRange', 80, ...
        'RangeAccuracy', 2, ...
        'Height', vehicle.Height/3, ...
        'AzimuthLimits', [-30 30], ...
        'ElevationLimits', [0 0], ...
        'AzimuthResolution', 1, ...
        'ElevationResolution', 5, ...
        'HasRoadsInputPort', false, ...
        'HasEgoVehicle', false, ...
        'DetectionCoordinates', 'Sensor Cartesian', ...
        'ActorProfiles',scene.actorProfiles);
    
    % Accurate, wide FOV rear-facing Lidar
    rear = lidarPointCloudGenerator(...
        'SensorLocation',[xRear 0], ...
        'SensorIndex',3,...
        'UpdateInterval',0.1, ...
        'Yaw', 180, ...
        'MaxRange', 80, ...
        'Height', vehicle.Height/3, ...
        'AzimuthLimits', [-75 75], ...
        'ElevationLimits', [0 0], ...
        'AzimuthResolution', 3, ...
        'ElevationResolution', 5, ...
        'HasRoadsInputPort', false, ...
        'HasEgoVehicle', false, ...
        'DetectionCoordinates', 'Sensor Cartesian', ...
        'ActorProfiles',scene.actorProfiles);
    
    % Return sensors as cell-array
    actorSensors = {frontLeft, frontRight, rear};
end