1. a) wantsAndCouldChangeLane always returns false for direction=0 at the moment b) Yes. the lane change state is only stored for "legal" targets
2. for any vehicle that will have lateral overlap with ego (during or at the end of the maneuver) the distance between the follower and the leader must be at least as big as the value of traci.vehicle.getSecureGap(followerID, followerSpeed, leaderSpeed, leaderMaxDecel, leaderID) regards, Jakob Am Di., 19. Apr. 2022 um 00:10 Uhr schrieb Hriday Sanghvi via sumo-user < [email protected]>: > Hello, if this question needs more information / screenshots - I could try > and modify it if it's not clear. > > Thank you. > > Sincerely, > Hriday > > > On Wed, 13 Apr 2022 at 19:58, Hriday Sanghvi <[email protected]> wrote: > >> Hello, >> >> Lane change mode: 1621 (default) >> Lane change model: SL2015 >> Max. duration given for a vehicle to perform a lane change: 10 s >> (arbitrary) >> >> 1. I am trying to discourage lane changes enforced by TraCI that are not >> valid, i.e., >> >> A vehicle trying to move to the right or the left from the rightmost or >> leftmost lane in the network respectively, or a vehicle that cannot perform >> a certain lane change operation within the given time due to other vehicles >> blocking it. >> >> For a lane change operation initiated on a vehicle by >> >> traci.vehicle.*changeLaneRelative*(vehID=*veh_id*, indexOffset=*dr*, >>> duration=*lc_max_duration*) >> >> >> The following code should tell me if the lane change will be a success: >> >> *lcs* = traci.vehicle.*getLaneChangeState*(vehID=*veh_id*, direction=*dr*)[1] >>> # index 1 for TraCI >>> *lc_success* = traci.vehicle.*wantsAndCouldChangeLane*(vehID=*veh_id*, >>> direction=*dr*, state=*lcs*) >> >> >> However, in the particular case where direction=0 (stay in the same >> lane), it still returns false. This made sense in a situation where the >> vehicle was still in the middle of a previous lane change from another lane >> (where it was between two lanes, and hence cannot "stay" in the same lane). >> >> a. But it also happened to a vehicle that had departed from the rightmost >> lane and chose to "stay". I could not understand it even with the help of >> the console output's 'pretty' version of the Lane change state for the >> TraCI command as shown: >> >> veh id: f.2 (currently on lane 0) >>> lc success: False >>> lcs pretty: ['stay', 'TraCI', 'sublane'] >>> Direction: 0 >> >> >> b. On a side note, the pretty version of the lane change state seems to >> be empty when it encounters a situation where the TraCI command tries to >> move the vehicle to a lane that doesn't exist, i.e. "move right" on the >> rightmost lane - just looking for confirmation? >> >> veh id: f.0 (currently on lane 0) >>> lc success: False >>> lcs pretty: [] >>> Direction: -1 >> >> >> 2. I am trying to program an action that translates to "cooperate" with >> another vehicle. For this, I need to know what needs to be done in a >> situation where a leader/follower vehicle on the same or a different lane >> is blocking another vehicle from changing lanes. So if I can figure out the >> minimum changes that need to be made to resolve this situation - for >> example, the lateral distance between the ego vehicle and blocking vehicle >> has to be at least *X *m and the longitudinal distance between ego and >> blocking vehicle has to be at least *Y *m or maybe the relative speed >> difference has to be at least *S *m/s, then the lane change can go ahead. >> >> As I understand it, my question would be answered from this: >> >> https://github.com/eclipse/sumo/blob/f71860fb1b15868e0be63338bfcbd3fc05b08451/src/microsim/lcmodels/MSLCM_SL2015.cpp#L2190 >> >> but there are many components like the TraCI constant tc.LC_BLOCKED and >> how/when it is set that I don't fully understand. >> >> Please advise. 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
