%% Create Driving Scenario with Multiple Actors and Roads
% Create a driving scenario containing a curved road, two straight roads, and two actors: a car and a bicycle. Both actors move along the road for 60 seconds.
% Create the driving scenario object.

scenario = drivingScenario('SampleTime',0.1','StopTime',60);

%
% Create the curved road using road center points following the arc of a circle with an 800-meter radius. The arc starts at 0°, ends at 90°, and is sampled at 5° increments.

angs = [0:5:90]';
R = 800;
roadcenters = R*[cosd(angs) sind(angs) zeros(size(angs))];
roadwidth = 10;
road(scenario,roadcenters,roadwidth);

%
% Add two straight roads with the default width, using road center points at each end.

roadcenters = [700 0 0; 100 0 0];
road(scenario,roadcenters)
roadcenters = [400 400 0; 0 0 0];
road(scenario,roadcenters)

%
% Get the road boundaries.

rbdry = roadBoundaries(scenario);

%
% Add a car and a bicycle to the scenario. Position the car at the beginning of the first straight road.

car = vehicle(scenario,'ClassID',1,'Position',[700 0 0], ...
    'Length',3,'Width',2,'Height',1.6);

%
% Position the bicycle farther down the road.

bicycle = actor(scenario,'ClassID',3,'Position',[706 376 0]', ...
    'Length',2,'Width',0.45,'Height',1.5);

%
% Plot the scenario.

plot(scenario,'Centerline','on','RoadCenters','on');
title('Scenario');

%
% Display the actor poses and profiles.

poses = actorPoses(scenario)
profiles = actorProfiles(scenario)

%
% Copyright 2012 The MathWorks, Inc.