I think your video was running with an older version of sumo. The likely
reason for this is that our night-build failed for several days in a row.
Running your setup with laneChangeMode=0 now runs to completion without
blockage.


Am Mo., 21. Feb. 2022 um 16:11 Uhr schrieb Hriday Sanghvi via sumo-user <
[email protected]>:

> I am attaching the other relevant files associated with the above Python
> code!
>
> Thank you.
>
> Sincerely,
> Hriday
>
>
> On Mon, 21 Feb 2022 at 12:26, Jakob Erdmann <[email protected]> wrote:
>
>> Looks buggy. Please provide all relevant files for reproducing your
>> scenario.
>>
>> Am Fr., 18. Feb. 2022 um 14:31 Uhr schrieb Hriday Sanghvi via sumo-user <
>> [email protected]>:
>>
>>> Hello,
>>>
>>> As per my understanding, the "duration" argument in the change lane
>>> command would keep attempting to change lane to the target lane until the
>>> end of that duration or if another TraCI change lane command overrides it.
>>> If I set my Lane change mode to 0 (all safety checks and any control by
>>> SUMO is gone), then I would expect the below code to get all the vehicles
>>> to the end (with collisions).
>>>
>>> I have *attached a short video* to show the behaviour that is observed.
>>> Not sure why the vehicles closest to the blockage do not turn to the free
>>> lane? (even though their indicator is yellow and shows that they want to
>>> change lane?)
>>>
>>> My TraCI code:
>>>
>>>>
>>>> step = 0
>>>> GHOST_POS = 750.0
>>>>
>>>> *END = 86400.0*BLOCK_LENGTH = 300
>>>>
>>>> traci.vehicle.add(vehID='ghost', routeID='r0', typeID='veh', depart=0,
>>>> departLane=0, departPos=GHOST_POS, departSpeed='random',
>>>> arrivalLane='current', arrivalPos=GHOST_POS)
>>>> traci.vehicle.setColor(vehID='ghost',color=(255,0,0))
>>>> traci.vehicle.setLength(vehID='ghost',length=BLOCK_LENGTH)
>>>>
>>>> traci.vehicle.setStop(vehID='ghost', edgeID='1f2', pos=GHOST_POS,
>>>> duration=10, until=END)# flags=0, startPos=0, until=120)
>>>>
>>>> # duration - min duration for stopping
>>>> # until - timestep at which the route continues
>>>>
>>>> lane_ids = list(traci.lane.getIDList())
>>>>
>>>> BLOCKED_LANE = 0
>>>> FREE_LANE = 1
>>>> LC_MODE = 0 # 512 # 1621 # 0 # 512 # 256 # 1109 #
>>>> S_MODE = 0
>>>> NUMBER_OF_VEH = 100
>>>>
>>>> *LC_MAX_DURATION = END*
>>>> def take_step(step=1):
>>>>
>>>>     lane_info = dict()
>>>>     for li in lane_ids:
>>>>
>>>>         lane_info[li] = {
>>>>             'mean_speed' : traci.lane.getLastStepMeanSpeed(laneID=li),
>>>>             'vehicle_ids' : traci.lane.getLastStepVehicleIDs(laneID=li),
>>>>         }
>>>>
>>>>     for vh in lane_info['1f2_1']['vehicle_ids']: # *free lane*
>>>>         if vh == 'ghost':
>>>>             continue
>>>>         traci.vehicle.setLaneChangeMode(vehID=vh, lcm=LC_MODE)
>>>>
>>>> *        traci.vehicle.changeLane(vehID=vh, laneIndex=BLOCKED_LANE,
>>>> duration=LC_MAX_DURATION)*
>>>
>>>         print('Vehicle {} will try to move to BLOCKED lane'.format(vh))
>>>
>>>
>>>>
>>>>     for vh in lane_info['1f2_0']['vehicle_ids']: # *blocked lane*
>>>>         if vh == 'ghost':
>>>>             continue
>>>>
>>>>         traci.vehicle.setLaneChangeMode(vehID=vh, lcm=LC_MODE)
>>>>
>>>> *        traci.vehicle.changeLane(vehID=vh, laneIndex=FREE_LANE,
>>>> duration=LC_MAX_DURATION)*        print('Vehicle {} will try to move
>>>> to FREE lane'.format(vh))
>>>>
>>>>
>>>> arrived = 0
>>>> while arrived < NUMBER_OF_VEH:
>>>>
>>>>     print('################ SIM TIME: {}
>>>> ##################'.format(traci.simulation.getTime()))
>>>>     print('################ SIM STEP COUNT: {}
>>>> ################'.format(step))
>>>>     step+=1
>>>>     print('\n')
>>>>
>>>>     take_step(step)
>>>>
>>>>     print('Arrived: {}'.format(arrived))
>>>>     traci.simulationStep()
>>>>
>>>> traci.close()
>>>>
>>>
>>> Thank you.
>>>
>>> Sincerely,
>>> Hriday
>>> _______________________________________________
>>> 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

Reply via email to