Thank you for the clarification. Then as a follow up question, which parameter and conditions, if any, dictates the stopping distance of vehW in this crossing scenario?
On Thu, Mar 4, 2021 at 12:11 AM Jakob Erdmann <[email protected]> wrote: > Sorry for the ambigous wording in my explanation. I hope this makes it a > bit clearer: > > - vehicle 'ego' entered the intersection first > - both vehicles 'vehE' and 'vehW' yield to ego because of this > - the difference between vehE and vehW is that the path of vehE merges > with ego and the path of vehW crosses with ego > - vehW can drive safely up the the point where both trajectories cross and > wait there. The main assumption here is that ego will keep moving so vehW > doesn't have to come to a stop at the stop line and can follow ego more > smoothly (rather than actually stopping in the middle of the intersection). > - since the path of ego and vehE merge, vehE has to enter a car-following > relationship with ego. Thus the speed of vehE is computed as the safe > car-following speed by computing a "virtual gap" as dFollower - dLeader - > leaderLength where > - dLeader is the distance from ego to the merging point (start of > lane:oW_0) > - dFollower is the distance from vehE to the merging point > - due to the curved left-turn movement of 'ego' being longer, the virtual > gap is negative and vehE stops outside the junction. Again, the assumption > is that ego keeps moving after entering the intersection and vehE can > follow in a smooth movement. > - with different geometries, you might also see a merging follower wait > within the intersection if the leader suddenly stops. > > regards, > Jakob > > > Am Mi., 3. März 2021 um 15:37 Uhr schrieb A Raman <[email protected]>: > >> Thank you for the response. >> >> To give a little more context, this experiment is simply for me to >> understand more on how sumo's intersection model works (i.e what >> constitutes the intersection area and how the vehicles behave by comparing >> it to sumo's publication on the matter by doctoring when the ego vehicle >> enters). With that said, the motion and position I put the ego vehicle in >> is merely arbitrary because from my previous understanding I had thought >> that it had 'entered' the intersection area. I tried setting startPos of >> both vehE and vehW to 20 to try and make extra sure that the ego vehicle >> enters the intersection first and the same result is obtained, but >> according to you the main road vehicle stops pass the stop line because it >> has entered the intersection first and in that case I have several >> questions: >> >> -Which of the vehicles in the current scenario enter the intersection >> first? >> >> -If I understand you correctly, vehW from the main road entered first >> which means my ego vehicle has not entered the intersection and if so what >> specific condition needs to be satisfied for a vehicle to be considered to >> have entered an intersection area? For example is it sufficient for only >> the front bumper position to be in the junction's internal lane edge or >> does the whole vehicle need to be inside? >> >> -If it was like my previous understanding where I thought my ego vehicle >> entered first, then is this the expected behaviour? How come vehE stops at >> the correct position because even with the slight deviations in speed, it >> seemed to have entered the intersection at around the same time as vehW? >> >> Again thank you very much in advance >> >> On Wed, Mar 3, 2021 at 9:58 PM Jakob Erdmann <[email protected]> >> wrote: >> >>> In the default intersection model, a vehicle from a side road will >>> either stop before the stop line or pass it and the continue driving across >>> the intersection. >>> Consequently, vehicles from the main road will yield to the side-road >>> vehicle if it entered the intersection first (by passing the stop line). >>> >>> Currently, the best workaround for letting your ego vehicle stop at that >>> location without impacting main road flow is by changing the junction shape >>> to move the stop line forward. (i.e. setting it's 'radius' attribute to >>> 2.5). >>> >>> regards, >>> Jakob >>> >>> Am Mi., 3. März 2021 um 12:54 Uhr schrieb A Raman <[email protected] >>> >: >>> >>>> Thank you for the help so far. Please find attached the traci log file >>>> from my script. The problem still exist when I run without --random and >>>> with the traffic definition file previously attached >>>> >>>> On Wed, Mar 3, 2021 at 6:32 PM Jakob Erdmann <[email protected]> >>>> wrote: >>>> >>>>> Your traci script is importing the wrong traci (from anaconda) which >>>>> does not support tracing. >>>>> See >>>>> https://sumo.dlr.de/docs/TraCI/Interfacing_TraCI_from_Python.html#determine_the_traci_library_being_loaded >>>>> >>>>> Am Mi., 3. März 2021 um 10:28 Uhr schrieb A Raman < >>>>> [email protected]>: >>>>> >>>>>> The phenomena persists even with the given route file and without the >>>>>> use of --random. >>>>>> I tried to get the log file by adding traceFile=<filepath> argument >>>>>> to traci.start but I got this error when running my python script: >>>>>> TypeError: start() got an unexpected keyword argument 'traceFile' >>>>>> >>>>>> There could be issues to how I installed sumo so I check with my sumo >>>>>> imports in my python script which are: >>>>>> >>>>>> if 'SUMO_HOME' in os.environ: >>>>>> tools = os.path.join(os.environ['SUMO_HOME'], 'tools') >>>>>> sys.path.append(tools) >>>>>> else: >>>>>> sys.exit("please declare environment variable 'SUMO_HOME'") >>>>>> >>>>>> # sys.path.append('/home/abi/Desktop/hdd/sumo/sumo/tools') >>>>>> >>>>>> from sumolib import checkBinary # noqa >>>>>> import traci >>>>>> >>>>>> looking at the output of print(traci.__file__) after the import leads me >>>>>> to my anaconda environment at >>>>>> /anaconda3/envs/envname/lib/python3.7/site-packages/traci/__init__.py >>>>>> where the definition for start is: >>>>>> >>>>>> def start(cmd, port=None, numRetries=10, label="default"): >>>>>> """ >>>>>> Start a sumo server using cmd, establish a connection to it and >>>>>> store it under the given label. This method is not thread-safe. >>>>>> """ >>>>>> if port is None: >>>>>> port = sumolib.miscutils.getFreeSocketPort() >>>>>> sumoProcess = subprocess.Popen(cmd + ["--remote-port", str(port)]) >>>>>> _connections[label] = connect(port, numRetries, "localhost", >>>>>> sumoProcess) >>>>>> switch(label) >>>>>> return getVersion() >>>>>> >>>>>> However digging deeper, I found a start definition in main.py at my >>>>>> '/usr/share/sumo/tools/traci' folder which contains the traceFile >>>>>> argument. So I would like to know if the correct traci is imported here >>>>>> >>>>>> Thank you >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Mar 3, 2021 at 4:15 PM Jakob Erdmann <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Unfortunately, these items are insufficient to replicate the >>>>>>> situation from your screenshot (it shows 4 vehicles wheres the route >>>>>>> file >>>>>>> only defines 3 vehicles). >>>>>>> Also, the use of option "--random" precludes exact reproducibility. >>>>>>> - can you provide the complete traci script or alterantively, a log >>>>>>> of the issued traci commands? ( >>>>>>> https://sumo.dlr.de/docs/TraCI/Interfacing_TraCI_from_Python.html#generating_a_log_of_all_traci_commands >>>>>>> ) >>>>>>> - can you provide a --seed value that shows the situation (or >>>>>>> reproduce it without the use of --random)? >>>>>>> >>>>>>> Am Mi., 3. März 2021 um 02:19 Uhr schrieb A Raman < >>>>>>> [email protected]>: >>>>>>> >>>>>>>> Thank you for the response, >>>>>>>> >>>>>>>> You can find the traffic definition file attached. I did use traci >>>>>>>> for my tests and traci.start() is run with the configuration: >>>>>>>> >>>>>>>> traci.start([ >>>>>>>> self._sumo_bin, >>>>>>>> '-n', self._net, >>>>>>>> '-r', self._route, >>>>>>>> '--step-length', '0.1', >>>>>>>> '--no-warnings', 'true', >>>>>>>> '--collision.action', 'warn', >>>>>>>> '--collision.check-junctions', 'true', >>>>>>>> '--max-depart-delay', '0.2', >>>>>>>> '--random', 'true' >>>>>>>> ]) >>>>>>>> >>>>>>>> >>>>>>>> with the attached files as self._net and self._route >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Mar 3, 2021 at 2:57 AM Jakob Erdmann <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Please attach the traffic definition (.rou.xml) and post all >>>>>>>>> options used to run sumo (or attach the .sumocfg). >>>>>>>>> Did you use traci in your test? >>>>>>>>> >>>>>>>>> Am Di., 2. März 2021 um 13:10 Uhr schrieb A Raman < >>>>>>>>> [email protected]>: >>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> I found that, while testing intersection behaviours in SUMO in my >>>>>>>>>> network, the yellow vehicles in the west-side lane always stop in the >>>>>>>>>> intersection area and not at the end of the lane edge. In my attached >>>>>>>>>> image, the east-side lane vehicle seems to stop correctly at the >>>>>>>>>> edge of >>>>>>>>>> the lane at position (8, 2) while the west-side lane vehicles always >>>>>>>>>> stop >>>>>>>>>> at around (~-4, -2). I tested this by manually entering the blue >>>>>>>>>> vehicle >>>>>>>>>> into the intersection area and initializing the incoming yellow >>>>>>>>>> vehicles at >>>>>>>>>> different times to have ample braking distance once the blue vehicle >>>>>>>>>> enters. >>>>>>>>>> >>>>>>>>>> It doesn't seem like any of the documented reasons for this to >>>>>>>>>> happen is the cause so I would like to know what exactly do I need to >>>>>>>>>> change so that the bottom lane vehicle stops at the proper position. >>>>>>>>>> I've >>>>>>>>>> tried changing the stop offset properties for the lane in the >>>>>>>>>> network file >>>>>>>>>> which does not affect things. The current vehicle type configuration >>>>>>>>>> is at >>>>>>>>>> default and you can also find my network file attached. >>>>>>>>>> >>>>>>>>>> Thank you very much in advance >>>>>>>>>> _______________________________________________ >>>>>>>>>> sumo-user mailing list >>>>>>>>>> [email protected] >>>>>>>>>> To unsubscribe from this list, visit >>>>>>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> sumo-user mailing list >>>>>>>>> [email protected] >>>>>>>>> To unsubscribe from this list, visit >>>>>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> sumo-user mailing list >>>>>>>> [email protected] >>>>>>>> To unsubscribe from this list, visit >>>>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> sumo-user mailing list >>>>>>> [email protected] >>>>>>> To unsubscribe from this list, visit >>>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>>> >>>>>> _______________________________________________ >>>>>> sumo-user mailing list >>>>>> [email protected] >>>>>> To unsubscribe from this list, visit >>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>> >>>>> _______________________________________________ >>>>> sumo-user mailing list >>>>> [email protected] >>>>> To unsubscribe from this list, visit >>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>> >>>> _______________________________________________ >>>> sumo-user mailing list >>>> [email protected] >>>> To unsubscribe from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>> >>> _______________________________________________ >>> sumo-user mailing list >>> [email protected] >>> To unsubscribe from this list, visit >>> https://www.eclipse.org/mailman/listinfo/sumo-user >>> >> _______________________________________________ >> sumo-user mailing list >> [email protected] >> To unsubscribe from this list, visit >> https://www.eclipse.org/mailman/listinfo/sumo-user >> > _______________________________________________ > sumo-user mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/sumo-user >
_______________________________________________ sumo-user mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
