Path: blob/main/tests/complex/traci/vehicle/getFollowSpeed/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:])3637traci.setLegacyGetLeader(False)38vehID = "follower"3940while traci.simulation.getMinExpectedNumber() > 0:41leader, gap = traci.vehicle.getLeader(vehID, 100)42if leader:43vSafe = traci.vehicle.getFollowSpeed(vehID,44traci.vehicle.getSpeed(vehID),45gap, traci.vehicle.getSpeed(leader),46traci.vehicle.getDecel(leader),47leader)48traci.simulationStep()49print("%s vSafe=%s vActual=%s" % (50traci.simulation.getTime(),51vSafe,52traci.vehicle.getSpeed(vehID)))53else:54traci.simulationStep()5556traci.close()575859