Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] Ovetaking via TraCI

Hello,
there were two issues in regard to changeLaneRelative in an opposite driving context responsible for your problem and both are now fixed:
https://github.com/eclipse/sumo/issues/6576
https://github.com/eclipse/sumo/issues/6577
To make use of these fixes, download the updated version tomorrow at https://sumo.dlr.de/docs/Downloads.php#sumo_-_latest_development_version

regards,
Jakob

Am Mi., 29. Jan. 2020 um 04:54 Uhr schrieb Tiago Silva <tiago.silva1230@xxxxxxxxx>:
Dear Jakob,

After applying updated code of Veins lcOpposite="0" finally works as expected: Auto overtaking is disabled. Many thanks!

But I still have problems using the changeLaneRelative command via traci. I have changed laneChangeMode to 1109 (010001010101). I understand that the value 01 (do changes if not in conflict with a TraCI reques) will always give priority to the traci command. However, even then the vehicle continues to jump between the current lane and the opposite lane several times after the changeLaneRelative traci command.

I had a lot of difficulties to understand how to debug Veins. Initially I was printing log messages on the simulation screen using WRITE_MESSAGE (). But now I was able to select the vehicle and enabled the DEBUG_CHANGE_OPPOSITE and DEBUG_CHANGE_OPPOSITE_OVERTAKINGTIME settings in MSLaneChanger.cpp
and create new ones.

Please see how it is behaving in the bellow log collected from one vehicle during this behavior:

2.38 veh=flow_rToL_Lead.0 remaining dist=295.81 forwardPos=4.19 laneQ.length=300.00
2.38 changing to opposite veh=flow_rToL_Lead.0 dir=-1 opposite=rToL_0 state=386           ======>  state 386 means LCA_URGENT - LCA_TRACI - LCA_LEFT
   usableDist=295.80 spaceToOvertake=35.00 timeToOvertake=7.00
2.39 changing to opposite veh=flow_rToL_Lead.0 dir=1 opposite=lToR_0 state=386
   usableDist=295.79 spaceToOvertake=35.00 timeToOvertake=7.00
2.40 veh=flow_rToL_Lead.0 remaining dist=295.79 forwardPos=4.21 laneQ.length=300.00
2.40 changing to opposite veh=flow_rToL_Lead.0 dir=-1 opposite=rToL_0 state=386
   usableDist=295.78 spaceToOvertake=35.00 timeToOvertake=7.00
2.41 changing to opposite veh=flow_rToL_Lead.0 dir=1 opposite=lToR_0 state=386
   usableDist=295.77 spaceToOvertake=35.00 timeToOvertake=7.00
...

it looks like the vehicle is in a loop identifying the other lane as opposed to the one it currently is. Consequently, the vehicle keeps jumping from one to the other.

I tried to remove the <neigh> element from the oppositive lane so that it can just go to the oppositive and break the loop. However, with that the simulation crashes. Have you ever seen something like this or have any idea what may be happening?

Thanks in advance!

Em sex., 10 de jan. de 2020 às 00:44, Tiago Silva <tiago.silva1230@xxxxxxxxx> escreveu:
Dear Jakob,

You are right. My Veins source code is outdated. I'm using Veins 5.0 but doesn't contains the change to support TraCI API 20: https://github.com/sommer/veins/commit/b279e42fedae6ebe169e6692c1505775b38a6db6
I will update and try using new SUMO version.
Many thanks!

Em qui., 9 de jan. de 2020 às 14:07, Jakob Erdmann <namdre.sumo@xxxxxxxxx> escreveu:
Veins version 5 is compatible with SUMO 1.2. which already uses TraCI API version 20. I recommend upgrading Veins.

Am Do., 9. Jan. 2020 um 17:26 Uhr schrieb Tiago Silva <tiago.silva1230@xxxxxxxxx>:
Dear Jakob,

Thanks for your explanation. I made a mistake. In my first email I said i'm using the SUMO 1.2.0 but in fact Veins is only compatible with SUMO 1.0.1 and I am using this version. I noticed that even using the attribute lcOpposite="0" the vehicles remains performing overtakings in SUMO 1.0.1. 
To test, I run my network in SUMO 1.4.0 and noticed that in this version the attribute lcOpposite="0" works fine and no overtakings occurs. But when I run Veins with SUMO 1.4.0 the following error occurs:

image.png

I think the best approach is to find the change that corrects this behavior and applies in version supported by Veins TraCI interface (generating a new version 1.0.1 with the fix applied). The other option is to adapt the interface to support  SUMO 1.4.0. The problem is that is approach requires many more changes. What is your opinion on these approaches and what might be the best way to solve this problem?

Thanks in advance!

Em qui., 2 de jan. de 2020 às 18:28, Jakob Erdmann <namdre.sumo@xxxxxxxxx> escreveu:
1)
a) you can use <vType>-attribute lcOpposite="0" to disable automatic opposite direction driving
b) you can use laneChangeMode to disable the interaction between the laneChange model and traci: https://sumo.dlr.de/docs/TraCI/Change_Vehicle_State.html#lane_change_mode_0xb6

2) I don't think this is a Veins issue but rather the laneChange model at work (and possible a bug in the way that the duration argument is interpreted for opposite-direction driving). The answers to 1) should take care of this.

regards,
Jakob

Am Do., 2. Jan. 2020 um 17:07 Uhr schrieb Tiago Silva <tiago.silva1230@xxxxxxxxx>:
Hello!

I'm developing a Veins application to control the overtaking maneuver of vehicles in a road with 2 single lane with opposite direction routes in SUMO 1.2.0:

image.png
Blue vehicles must overtake red vehicle and avoid collision with green vehicles (that travel in the opposite direction). I would like to trigger overtaking maneuver via TraCI (from Veins, using V2V to get environment awareness). But I'm having two issues that I would like a suggestion from you:

1. To perform the overtaking, I include the 'neigh' information in the network. With this, Sumo perform automatically the overtaking of some vehicles. Is there any way to disable automatic overtaking in Sumo so that only TraCI overtaking occurs?

2. When I trigger the overtaking via changeLaneRelative TraCI command, in some cases, the vehicle starts jumping between the current line and the opposite line several times. I tracked the submission of the command and it is occurring only once. Is there a mechanism in Veins that forces the vehicle back to its current lane even before the changeLaneRelative timeout?

Thanks in advance!

--
Att.
Tiago Alves Silva
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user


--
Att.
Tiago Alves Silva
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user


--
Att.
Tiago Alves Silva


--
Att.
Tiago Alves Silva
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user

Back to the top