[
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: Mon, 13 Feb 2023 16:28:14 +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=z5cxB0FKG/f9hF2xF4ORJHhvHLBAZbUX+e4Htj8DKCg=; b=lHmfYnfXeb3TJ0hPS0RZUfRcFdlIlaPa9H1uoLqtzsTW8sUVqg1RCPU5VOLy2JbNMeVkaOm6nk1msPCpFnhUwkCIkDxzr3W9Ao9zjRnyrAI/rH6D6iCzFVcSPd+UdiQYPD/zvc6x7Lo/ZTDqbp7q65DeA+qOYPWf09FSUjMVUdvGFYnth4yIzzAvAAw+9nJUxEfYwS8vS06D3SeWM2Ha7ak11DjKcRBDhqT7UuNm0cj3NiKOFao8t/IYUFAEstXRSiy5LESNPd0O6UvkfknqCEeCsKA0nV+Vqe2GZKU0O18ZSqkSP9YL52bAZykCyjyIvrkgGpCjll5qnNZAHk5W+w==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bc3MzKdHKO+3MCeMYkq3knR2/epXKU1RivkjEgDay914YuskZF+GDV01lKcjmD9gKIGbOWCxqbx4pke8t9c5DrgUbLGRBVvz7zjpiL77nG7oqrgXqJd51wdKHo8CjeCjfj8k/Tvgfw/5XOeXuVUtkqEBMATVyTOGfTlgX70/9b3jUiVWTiRKCg5m5Vse/TSV8Ft5atocxl528QHJ8pY1fzlmHS1FryqzX9JzRtuqAujxUuQqN55kjXEiukpYTHz9x/W+M/jflY/BsFtZfwQ7f6Vv2ofmhAGbdMmritt4z/dUyNlXk83TUVWDwR1Uw9AoRC8J7HP28d6RFtyHs/d/AA==
- 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: AQHZM3yvr1F7vpWX10yviscV7uqsxK62zkWAgAjKoteAAl0wAIALMl1W
- Thread-topic: [sumo-user] Lane hopping and emergency braking at zipper
Hi Jakob,
I have produced a simlified example which reproduces the lane hopping. In this example there is a continuous lane change with no sublane model but as far as I can tell this problem presents in the sublane model, basic continuous lane changes and instantaneous
changes. This problem arises with both the laneChange and laneChangeRelative commands.
The log file for collisions not being detected is more difficult as this is a lot more random but I will try and generate an example for it.
Kind regards,
Jordan
From: sumo-user <sumo-user-bounces@xxxxxxxxxxx> on behalf of Jakob Erdmann <namdre.sumo@xxxxxxxxx>
Sent: 06 February 2023 13:25
To: Sumo project User discussions <sumo-user@xxxxxxxxxxx>
Subject: Re: [sumo-user] Lane hopping and emergency braking at zipper
Without a traceFile I cannot replicate the problem. Simply provide a trace that is long enough to cover the problematic situation (it will contain all traci calls that were sent from your code and thus also replicate your randomness on my end).
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
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.
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.
- 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.
- 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
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
|
traci.start(['C:\\Program Files (x86)\\Eclipse\\Sumo\\bin\\sumo-gui.exe', '-c', 'C:\\Users\\AdminL\\Desktop\\TraCI\\error\\eval_sim.sumocfg', '--step-length', '0.1', '--collision.check-junctions', '--lanechange.duration', '2', '--collision.mingap-factor', '0', '--random'], port=None, label='default')
traci.simulationStep()
traci.vehicle.add(vehID='rl_1', routeID='r_0', departPos=0, departLane='free', departSpeed=13, typeID='rl')
traci.simulationStep()
traci.vehicle.setLaneChangeMode('rl_1', 0)
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.vehicle.changeLaneRelative('rl_1', 1, 10)
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.vehicle.getRoadID('rl_1')
traci.simulationStep()
traci.simulation.getTime()
traci.vehicle.getPosition('rl_1')
traci.start(['C:\\Program Files (x86)\\Eclipse\\Sumo\\bin\\sumo-gui.exe', '-c', 'C:\\Users\\AdminL\\Desktop\\TraCI\\error\\eval_sim.sumocfg', '--step-length', '0.1', '--collision.check-junctions', '--lanechange.duration', '2', '--collision.mingap-factor', '0', '--random'], port=None, label='default')
traci.simulationStep()
traci.vehicle.add(vehID='rl_1', routeID='r_0', departPos=0, departLane='free', departSpeed=13, typeID='rl')
traci.simulationStep()
traci.vehicle.setLaneChangeMode('rl_1', 0)
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.vehicle.changeLaneRelative('rl_1', 1, 10)
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
traci.simulationStep()
<?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) -->
</routes>
Attachment:
eval_sim.sumocfg
Description: eval_sim.sumocfg
<?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>