Hi Vaibhav Rungta,

using setSpeed(veh_id, speed) kind of disables the default car following 
model
for the given vehicle.
If you want the simulation to take over control again, -1 is your choice 
to do so.

For breaking down a vehicle you may use slowDown(vehicle_id, 0., 
duration=3).

By the way, while the wiki documentation on Traci is sometimes a bit 
cryptic,
the doc-strings in the Traci-client are an excellent resource of 
information.
e.g.: in your sumo-folder simply check: sumo/tools/traci/_vehicle.py

Best regards
Marek Heinrich
simoserv GmbH


Am 11.11.2016 um 18:07 schrieb Vaibhav Rungta:
> Hello Marek,
> Thanks for your feedback on my attempt.
> Yes writing the vehicle IDs as text files isn't required. I wasn't 
> acquainted to sets() until now.
>
> I have changed vehicle speed as per your recommendation from 
> /setSpeed(veh_id, 20)/ to /setSpeed(veh_id, -1)/. When I observe the 
> simulation now it looks more realistic.
> But I have doubt with this command /setSpeed(veh_id, -1)/
> - Does it set the acceleration value or is it some default value which 
> causes the vehicle to behave in a particular way?
> - On a similar note is there a similar way to make the vehicle come to 
> a slow stop as well or /setSpeed(veh_id, 0)/ doing the same?
>
> The next step for me is to get signal times, phase and position of 
> vehicle to make decisions and generate optimal profile. I'll share my 
> code with comments once I am done.
>
> I really appreciate the prompt response of SUMO team.
>
>
>
> Regards,
> Vaibhav Rungta
> Graduate Student - Industrial and Systems Engineering
> Graduate Assistant - Toyota Production Systems Lab
> Research Assistant - University Transport Research Center
> 585-754-7133
>
>
> On Thu, Nov 10, 2016 at 9:16 AM, sumo.mahei <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Dear Vaibhav Rungta,
>
>     just a some short comments on your code:
>
>     * why do you take the extra loop writing and reading a file?
>       you can easily keep record of vehicles by putting their id into
>       a list or even better a set if the order is not of interest:
>
>       all_vehicles_ever_arrived = set()
>       for vv in traci.simulation.getArrivedIDList():
>           all_vehicles_ever_arrived.add(vv)
>       ...
>       if 'v1' not in all_vehicles_ever_arrived:
>          do_something_cool() #....
>
>
>     * speeding up vehicles, which have been stop with
>       setSpeed(veh_id, speed=0.) can be resumed more
>       realistically by setSpeed(veh_id, speed=-1)
>       This causes the vehicle to speed up, according to its
>       physics, whereas  setSpeed(veh_id, speed=20.)
>       sets the vehicle speed to 20. (m/s) right in the next simulation
>       step and the speed will be unchanged, until you change it to
>     something else.
>
>     * you may write and read a trip file to get info's about the
>     arrived vehicles.
>       just run sumo with the option --tripinfo-output . The file can
>     be processed in
>       python by using the sumolib.
>
>     Best Marek Heinrich
>     simoserv GmbH
>
>
>     Am 09.11.2016 um 19:40 schrieb Vaibhav Rungta:
>
>         #First interfacing program
>         #TraCI
>
>         import os           #OS module which provides function for
>         interacting with
>         OS
>         import sys          #to communicate with other software
>         import optparse     #a python module to write command line tools
>         import subprocess   #allows to communicate b/w pyhton script
>         and cmd.exe
>         import random
>
>         #check for environment variables
>         '''
>         if 'sumo-0.27.1' in os.environ:
>              tools = os.path.join(os.environ['sumo-0.27.1'], 'tools')
>              sys.path.append(tools)
>         else:
>              sys.exit("please declare environment variables
>         'sumo-0.27.1'")
>         '''
>         try:
>              sys.path.append(os.path.join(os.path.dirname(
>                  __file__), '..', '..', '..', '..', "tools")) #
>         tutorial in tests
>            
>          sys.path.append(os.path.join(os.environ.get("sumo-0.27.1",
>         os.path.join(
>                  os.path.dirname(__file__), "..", "..", "..")),
>         "tools"))  #
>         tutorial in docs
>              from sumolib import checkBinary
>         except ImportError:
>              sys.exit(
>                  "please declare environment variable 'SUMO_HOME' as
>         the root
>         directory of your sumo installation (it should contain folders
>         'bin',
>         'tools' and 'docs')")
>
>         PORT = 8813 #port used for communicating with sumo instance
>
>         #sumo is started as a subprocess
>         sumoBinary =
>         
> "C:/Users/vr2002/Downloads/sumo-win64-0.27.1/sumo-0.27.1/bin/sumo-gui.exe"
>         #sumoBinary is a variable which holds the path to sumo-gui,
>         you can any
>         name for this variable
>         sumoProcess = subprocess.Popen([sumoBinary, "-c", "att2.sumo.cfg",
>         "--remote-port", str(PORT)], stdout=sys.stdout, stderr=sys.stderr)
>
>         #For any time step I am saving all the vehicle IDs in a text
>         file and then
>         verifying if the vehicle v1 is in the text file (i.e; exited
>         system).
>         #If it's in the system it's stopped irrespective of it's
>         position depending
>         on state of signal at node B2.
>
>         import traci
>         traci.init(PORT)
>         step = 0
>         while traci.simulation.getMinExpectedNumber() > 0:
>              traci.simulationStep()
>              get_id = traci.simulation.getArrivedIDList()       #list
>         of vehicles
>         exited the system in current time step
>
>              with open ("vid3.txt", "a") as vehicle_id: #opened a text
>         file
>         named vid3 located in same folder, using with closes it
>         automatically once
>         writing work is done
>                  vehicle_id.write (str(get_id) + '\n')  #stored all
>         the vehicle
>         IDs as a string
>
>              with open ("vid3.txt", "r") as read_vehicle_id:  
>          #opened a text file
>         named vid3 located in same folder,
>                  veh_id = read_vehicle_id.read()    #reading the data
>         stored in text file
>
>              if 'v1' in veh_id:   #to verify if
>         string 'v1' is present in list veh_id
>                  continue
>              else:
>                  if traci.trafficlights.getPhase("B2") == 0:     
>         #signal at B2 in
>         state GGrr
>                      traci.vehicle.setSpeed("v1", 0)     #stops the
>         vehicle
>         'v1'
>                  else:
>                      traci.vehicle.setSpeed("v1", 20)    #sets the
>         speed of
>         'v1' to 20 units
>
>              step = step + 1
>         traci.close()
>
>         Regards,
>         Vaibhav Rungta
>         Graduate Student - Industrial and Systems Engineering
>         Graduate Assistant - Toyota Production Systems Lab
>         Research Assistant - University Transport Research Center
>         585-754-7133 <tel:585-754-7133>
>         
> ------------------------------------------------------------------------------
>         Developer Access Program for Intel Xeon Phi Processors
>         Access to Intel Xeon Phi processor-based developer platforms.
>         With one year of Intel Parallel Studio XE.
>         Training and support from Colfax.
>         Order your platform today. http://sdm.link/xeonphi
>         _______________________________________________
>         sumo-user mailing list
>         [email protected]
>         <mailto:[email protected]>
>         https://lists.sourceforge.net/lists/listinfo/sumo-user
>         <https://lists.sourceforge.net/lists/listinfo/sumo-user>
>
>
>

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
sumo-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sumo-user

Reply via email to