Path: blob/main/tests/complex/traci/vehicle/slowDown_subsecond/runner.py
169689 views
#!/usr/bin/env python1# -*- coding: utf-8 -*-2# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo3# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.4# This program and the accompanying materials are made available under the5# terms of the Eclipse Public License 2.0 which is available at6# https://www.eclipse.org/legal/epl-2.0/7# This Source Code may also be made available under the following Secondary8# Licenses when the conditions for such availability set forth in the Eclipse9# Public License 2.0 are satisfied: GNU General Public License, version 210# or later which is available at11# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html12# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1314# @file runner.py15# @author Mirko Barthauer (Technische Universitaet Braunschweig)16# @date 2018-09-271718from __future__ import print_function19import os20import sys2122if "SUMO_HOME" in os.environ:23sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))2425import traci # noqa26import sumolib # noqa27import traci.constants as tc # noqa2829sumoBinary = sumolib.checkBinary('sumo')30traci.start([sumoBinary,31"-n", "input_net.net.xml",32"-r", "input_routes.rou.xml",33"--step-length", "0.5",34"--no-step-log",35] + sys.argv[1:])3637vehID = "v0"383940def slowDown(currentSpeed, delta, duration):41newSpeed = currentSpeed + delta42print(" slowDown from %s to %s over %s seconds" % (currentSpeed,43newSpeed, duration))44traci.vehicle.slowDown(vehID, newSpeed, duration)454647traci.vehicle.setAccel(vehID, 0)48# traci.vehicle.setSpeed(vehID, 25)49while traci.simulation.getMinExpectedNumber() > 0:50t = traci.simulation.getTime()51speed = traci.vehicle.getSpeed(vehID)52print("%s speed=%s" % (t, speed))53if t == 4:54slowDown(speed, -4, 2)55if t == 8:56slowDown(speed, -6, 5)57if t == 15:58slowDown(speed, -2, 1)59traci.simulationStep()6061traci.close()626364