Main Content

restart

最初からドライビング シナリオ シミュレーションを再実行

説明

restart(scenario) は、ドライビング シナリオ scenario のシミュレーションを最初から再実行します。この関数は、ドライビング シナリオの SimulationTime プロパティを 0 に設定します。

すべて折りたたむ

25 メートルの直線道路を車両が秒速 20 メートルで走行するドライビング シナリオを作成します。シナリオをプロットします。

scenario = drivingScenario('SampleTime',0.1);

roadcenters= [0 0 0; 25 0 0];
road(scenario,roadcenters)
ans = 
  Road with properties:

           Name: ""
         RoadID: 1
    RoadCenters: [2x3 double]
      RoadWidth: 6
      BankAngle: [2x1 double]
        Heading: [2x1 double]

v = vehicle(scenario,'ClassID',1);

waypoints = [5 0 0; 20 0 0];
speed = 20; % m/s
smoothTrajectory(v,waypoints,speed)

plot(scenario)

Figure contains an axes object. The axes object contains 3 objects of type patch, line.

シミュレーションを実行し、各タイム ステップにおける車両の位置を表示します。

while advance(scenario)
    fprintf('Vehicle location: %0.2f meters at t = %0.0f ms\n', ...
            v.Position(1), ...
            scenario.SimulationTime * 1000)
end
Vehicle location: 7.00 meters at t = 100 ms
Vehicle location: 9.00 meters at t = 200 ms
Vehicle location: 11.00 meters at t = 300 ms
Vehicle location: 13.00 meters at t = 400 ms
Vehicle location: 15.00 meters at t = 500 ms
Vehicle location: 17.00 meters at t = 600 ms
Vehicle location: 19.00 meters at t = 700 ms

Figure contains an axes object. The axes object contains 3 objects of type patch, line.

シミュレーションを再実行します。サンプル時間を長くし、シミュレーションを再実行します。

restart(scenario);
scenario.SampleTime = 0.2;

while advance(scenario)
    fprintf('Vehicle location: %0.2f meters at t = %0.0f ms\n', ...
            v.Position(1), ...
            scenario.SimulationTime * 1000)
end
Vehicle location: 9.00 meters at t = 200 ms
Vehicle location: 13.00 meters at t = 400 ms
Vehicle location: 17.00 meters at t = 600 ms

Figure contains an axes object. The axes object contains 3 objects of type patch, line.

入力引数

すべて折りたたむ

ドライビング シナリオ。drivingScenario オブジェクトとして指定します。

バージョン履歴

R2017a で導入