Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] Lane hopping and emergency braking at zipper
  • From: Jordan Poots <jordan.poots@xxxxxxxxxxx>
  • Date: Sun, 5 Feb 2023 01:33:28 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E2tIPEJErGAVsHGIfNyiO9V8oUDlAsnFdtTtiJRUrBs=; b=U/lYwhy6RuVdtuh2MHY3voTIIMbtG7bXCL8B3sQilTp1YfKEF/8e/fU4krf5kgmC91AaW0rjIw7pf9kEvMKkLYAup0U+RhdqJTJqhUblxGy1oIWPJPMfadEc+SN8OYnWOW4+F23J6Q6S43htitSMBNvf0naFc8zXUv4ikRTu1E0Ktyz3KXv4JyK+P0ROYWIYfrCc+aHNONeUjGNxJrUA0kHmrTAs0b4yXdWg4ccF6iYEDkyChZLQd+SnPeumkeoL7ZCkSUVOpwPE2tfGG/ahcXIvmEOsZdONDukCKs0YWzVXITv80ixxgd9pesUoAAc9eEiBX7+EsOmytv7fbq0hhA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JKIaXy0O9bAmgGxYUs22LKug7T6DjZ0VoVSiyDKmaRlROghyh3WEBR999pgUHQCzPIosY040NyDC7wdZ9sL2brO3hsPFiLsl9OMxovvPv+qPvGoiJedciNGA6/NanN/NlA+aQOtn+/5o4ZDN1JIZUDbC2VgpsqPlOPjY4KXXfm1CKShxdtdtjtIFKWHTai4+JN3TmyLHv77xmboagVeGNh3vwwBdn9APCDv8JL5F7meAB8AtaG7/spYNegaftd4RqwDXcaU7QmxEGbn1CKic/SdMRLftx429SFqccf5tJbaMeHwmXgwM+pMg1Bz+BI48HvuWeeW0f6gAwxNxuk5wug==
  • Delivered-to: sumo-user@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/sumo-user/>
  • List-help: <mailto:sumo-user-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/sumo-user>, <mailto:sumo-user-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/sumo-user>, <mailto:sumo-user-request@eclipse.org?subject=unsubscribe>
  • Msip_labels:
  • Thread-index: AQHZM3yvr1F7vpWX10yviscV7uqsxK62zkWAgAjKotc=
  • Thread-topic: [sumo-user] Lane hopping and emergency braking at zipper

Hi Jakob,

Upon review the vehicles are not stopping but are failing to finish their continuous change due to the lane ending. This while not ideal, isn't as bad as what I said earlier.

My major problem now is lane skipping around the merging zone. The vehilcle is only allowed to switch lanes on the "merge" edge which has 3 lanes. However, it seems to be hopping over two lanes when a lane change is commanded at the zipper (or perhaps right before it?). I have already tried to limit this by including a position condition. It should not be able to change lanes at the junction.

On this same project I also have an issue with TraCI not detecting collisions which the simulator is.

I fear a trace file may not show case the problem as I am using a reinforcement learning model to respond dynamically to the environment which contains randomness. I have however, included the scenario. The command being used is a simple traci.vehicle.changeLane(id, 1, 10).

Kind regards,

Jordan

From: sumo-user <sumo-user-bounces@xxxxxxxxxxx> on behalf of Jakob Erdmann <namdre.sumo@xxxxxxxxx>
Sent: 30 January 2023 11:04
To: Sumo project User discussions <sumo-user@xxxxxxxxxxx>
Subject: Re: [sumo-user] Lane hopping and emergency braking at zipper
 
Technically, there should never be a lane-end warning if the zipper connections are set up correctly. It's hard to tell what's going on without observng running traci code.
Please put together a minimal example that triggers the error message a package the scenario files together with a traci-traceFile: https://sumo.sourceforge.net/docs/TraCI/Interfacing_TraCI_from_Python.html#generating_a_log_of_all_traci_commands

Am So., 29. Jan. 2023 um 02:06 Uhr schrieb Jordan Poots <jordan.poots@xxxxxxxxxxx>:
Hello,

I am using a zipper lane driven by TraCI controlled vehicles. This zipper lane reduces three lanes to two. The lane changes are continuous. The TraCI vehicles can merge at any point on the zipper lane or simply follow the lane and merge as it ends. Once the vehicles have merged, control of them is returned to SUMO.

I find when vehicles choose to change lanes late on the zipper lane, they have two problems.
  1. Occasionally, they will emergency brake. I receive an error message about the lane ending. I assume this is in reference to either the to or from lane ending as the moving vehicle moves onto the zipper junction during the lane change. 
  2. They occaisonally cross two lanes instead of the intended one and thus end up on the left lane on the reduced side instead of the right.
How might I configure my setup to avoid these issues?

Thanks,

Jordan

_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
<?xml version="1.0" encoding="UTF-8"?>

<!-- generated on 2023-01-19 17:32:01 by Eclipse SUMO netedit Version 1.15.0
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/netconvertConfiguration.xsd";>

    <input>
        <sumo-net-file value="C:\Users\AdminL\Desktop\TraCI\19 SPARSE REWARDS\learning_net.net.xml"/>
    </input>

    <output>
        <output-file value="C:\Users\AdminL\Desktop\TraCI\19 SPARSE REWARDS\learning_net.net.xml"/>
    </output>

    <processing>
        <geometry.min-radius.fix.railways value="false"/>
        <geometry.max-grade.fix value="false"/>
        <offset.disable-normalization value="true"/>
        <lefthand value="0"/>
    </processing>

    <junctions>
        <no-turnarounds value="true"/>
        <junctions.corner-detail value="5"/>
        <junctions.limit-turn-speed value="5.50"/>
        <rectangular-lane-cut value="0"/>
    </junctions>

    <pedestrian>
        <walkingareas value="0"/>
    </pedestrian>

</configuration>
-->

<net version="1.9" junctionCornerDetail="5" limitTurnSpeed="5.50" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/net_file.xsd";>

    <location netOffset="0.00,0.00" convBoundary="0.00,-70.70,400.00,0.00" origBoundary="-10000000000.00,-10000000000.00,10000000000.00,10000000000.00" projParameter="!"/>

    <edge id=":center_0" function="internal">
        <lane id=":center_0_0" index="0" speed="6.17" length="3.21" shape="143.09,-9.18 143.77,-8.53 144.34,-8.18 144.99,-8.03 145.93,-8.00"/>
    </edge>
    <edge id=":center_1" function="internal">
        <lane id=":center_1_0" index="0" speed="26.00" length="3.33" shape="142.60,-4.80 145.93,-4.80"/>
        <lane id=":center_1_1" index="1" speed="26.00" length="3.33" shape="142.60,-1.60 145.93,-1.60"/>
    </edge>
    <edge id=":merge_0" function="internal">
        <lane id=":merge_0_0" index="0" speed="26.00" length="8.27" shape="246.00,-8.00 248.46,-7.50 250.00,-6.40 251.54,-5.30 254.00,-4.80"/>
        <lane id=":merge_0_1" index="1" speed="26.00" length="8.27" shape="246.00,-4.80 254.00,-4.80"/>
        <lane id=":merge_0_2" index="2" speed="26.00" length="8.27" shape="246.00,-1.60 254.00,-1.60"/>
    </edge>

    <edge id="incoming" from="left" to="center" priority="-1">
        <lane id="incoming_0" index="0" speed="26.00" length="142.60" shape="0.00,-4.80 142.60,-4.80"/>
        <lane id="incoming_1" index="1" speed="26.00" length="142.60" shape="0.00,-1.60 142.60,-1.60"/>
    </edge>
    <edge id="merging" from="center" to="merge" priority="-1">
        <lane id="merging_0" index="0" speed="26.00" length="100.07" acceleration="1" shape="145.93,-8.00 246.00,-8.00"/>
        <lane id="merging_1" index="1" speed="26.00" length="100.07" shape="145.93,-4.80 246.00,-4.80"/>
        <lane id="merging_2" index="2" speed="26.00" length="100.07" shape="145.93,-1.60 246.00,-1.60"/>
    </edge>
    <edge id="on-ramp" from="merge_inflow" to="center" priority="-1" length="75.00">
        <lane id="on-ramp_0" index="0" speed="26.00" length="75.00" shape="80.43,-71.83 143.09,-9.18"/>
    </edge>
    <edge id="outgoing" from="merge" to="end" priority="-1">
        <lane id="outgoing_0" index="0" speed="26.00" length="146.00" shape="254.00,-4.80 400.00,-4.80"/>
        <lane id="outgoing_1" index="1" speed="26.00" length="146.00" shape="254.00,-1.60 400.00,-1.60"/>
    </edge>

    <junction id="center" type="priority" x="150.00" y="0.00" incLanes="on-ramp_0 incoming_0 incoming_1" intLanes=":center_0_0 :center_1_0 :center_1_1" shape="145.93,0.00 145.93,-9.60 145.29,-9.68 145.00,-9.78 144.72,-9.91 144.46,-10.09 144.22,-10.31 141.96,-8.04 142.76,-7.13 142.94,-6.81 142.97,-6.58 142.86,-6.45 142.60,-6.40 142.60,0.00" radius="1.00">
        <request index="0" response="000" foes="000" cont="0"/>
        <request index="1" response="000" foes="000" cont="0"/>
        <request index="2" response="000" foes="000" cont="0"/>
    </junction>
    <junction id="end" type="dead_end" x="400.00" y="0.00" incLanes="outgoing_0 outgoing_1" intLanes="" shape="400.00,-6.40 400.00,0.00"/>
    <junction id="left" type="dead_end" x="0.00" y="0.00" incLanes="" intLanes="" shape="0.00,0.00 0.00,-6.40"/>
    <junction id="merge" type="zipper" x="250.00" y="0.00" incLanes="merging_0 merging_1 merging_2" intLanes=":merge_0_0 :merge_0_1 :merge_0_2" shape="254.00,0.00 254.00,-6.40 250.97,-7.23 249.03,-8.77 247.79,-9.36 246.00,-9.60 246.00,0.00">
        <request index="0" response="010" foes="010" cont="0"/>
        <request index="1" response="001" foes="001" cont="0"/>
        <request index="2" response="000" foes="000" cont="0"/>
    </junction>
    <junction id="merge_inflow" type="dead_end" x="79.30" y="-70.70" incLanes="" intLanes="" shape="79.30,-70.70 81.56,-72.96"/>

    <connection from="incoming" to="merging" fromLane="0" toLane="1" via=":center_1_0" dir="s" state="M"/>
    <connection from="incoming" to="merging" fromLane="1" toLane="2" via=":center_1_1" dir="s" state="M"/>
    <connection from="merging" to="outgoing" fromLane="0" toLane="0" via=":merge_0_0" dir="s" state="Z"/>
    <connection from="merging" to="outgoing" fromLane="1" toLane="0" via=":merge_0_1" dir="s" state="Z"/>
    <connection from="merging" to="outgoing" fromLane="2" toLane="1" keepClear="0" via=":merge_0_2" dir="s" state="M"/>
    <connection from="on-ramp" to="merging" fromLane="0" toLane="0" via=":center_0_0" dir="r" state="M"/>

    <connection from=":center_0" to="merging" fromLane="0" toLane="0" dir="r" state="M"/>
    <connection from=":center_1" to="merging" fromLane="0" toLane="1" dir="s" state="M"/>
    <connection from=":center_1" to="merging" fromLane="1" toLane="2" dir="s" state="M"/>
    <connection from=":merge_0" to="outgoing" fromLane="0" toLane="0" dir="s" state="M"/>
    <connection from=":merge_0" to="outgoing" fromLane="1" toLane="0" dir="s" state="M"/>
    <connection from=":merge_0" to="outgoing" fromLane="2" toLane="1" dir="s" state="M"/>

</net>
<?xml version="1.0" encoding="UTF-8"?>

<!-- generated on 2023-01-18 22:16:09 by Eclipse SUMO netedit Version 1.15.0
-->

<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd";>
    <!-- VTypes -->
    <vType id="no_co-op" lcCooperative="-1" carFollowModel="IDM"/>
    <vType id="rl" color="red" accel="3" decel="3"/>
    <!-- Routes -->
    <route id="r_0" edges="on-ramp merging outgoing"/>
    <route id="r_1" edges="incoming merging outgoing"/>
    <!-- Vehicles, persons and containers (sorted by depart) -->
    <flow id="f_0" type="no_co-op" begin="0.00" departLane="1" departSpeed="22.00" route="r_1" end="3600.00" probability="0.10"/>
    <flow id="f_1" type="no_co-op" begin="0.00" departLane="0" departSpeed="22.00" route="r_1" end="3600.00" probability="0.15"/>
    <flow id="uncoop" type="no_co-op" begin="0.00" departLane="0" departSpeed="22.00" route="r_1" end="3600.00" probability="0.15">
        <param key="junctionModel.ignoreTypes" value="rl"/>
    </flow>
</routes>

Attachment: training_sim.sumocfg
Description: training_sim.sumocfg


Back to the top