Path: blob/main/tests/complex/traci/vehicle/setAcceleration/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 Matthias Schwamborn16# @date 2022-03-011718from __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"--no-step-log",34] + sys.argv[1:])3536vehID = "v0"373839def accelerate(currentSpeed, targetSpeed, duration):40accel = (targetSpeed - currentSpeed) / duration41print(" accelerate from %s m/s to %s m/s over %s seconds with accel %s" % (42currentSpeed, targetSpeed, duration, accel))43traci.vehicle.setAcceleration(vehID, accel, duration)444546traci.vehicle.setSpeed(vehID, 15)47while traci.simulation.getMinExpectedNumber() > 0:48t = traci.simulation.getTime()49accel = traci.vehicle.getAcceleration(vehID)50speed = traci.vehicle.getSpeed(vehID)51print("%s acceleration=%s" % (t, accel))52print("%s speed=%s" % (t, speed))53if t == 4:54accelerate(speed, speed + 2, 2)55if t == 8:56accelerate(speed, speed + 4, 3)57if t == 15:58accelerate(speed, -1, 5)59traci.simulationStep()6061traci.close()626364