PRE2016 1 Groep2

From Control Systems Technology Group
Revision as of 13:38, 18 September 2016 by S144784 (talk | contribs) (→‎Milestones)
Jump to navigation Jump to search

TITLE.png

Updating the Current Intersection System to be Compatible with Autonomous Vehicles.



Group members

Introduction

On day 1 our idea for a project was to build a small robot that could teach itself to walk by using self learning AI. This idea was quickly abandoned when it was brought to our attention that these already exist. We were also unable to combine lots of USE aspects with the idea.

The next idea was investigate algorithms of intersections with only autonomous vehicles and to build a simulation of it. We could compare different algorithms and decide in which was best in certain situations. The problem was that it didn't contribute to real world scenarios because lots of algorithms used unrealistic assumptions, including: all traffic must be autonomous and there is no packet-loss in communication between car and intersection,

After receiving feedback on our second idea, we had a long discussion with Mr. Borghuis. To address all the points in the criticism received: unrealistic assumptions, no contribution, little USE, why 100% autonomous cars. We came up with an idea to update current intersection systems to encorporate autonomous vehicles. The project idea allows a realistic intermediate solution in the process only allowing autonomous cars in traffic.

Focus

Our main focus area concerns: Automated traffic regulation (ATR).

Narrow that down is our specific focus: Updating the Current Intersection System to be Compatible with Autonomous Vehicles (Vehicle Intersection Control).

Restrictions on the focus area:

  • Crossing has 4 directions.
  • Traffic is randomly generated, the ratio between autonomous and normal cars will be changeable.

A multitude of traffic accidents happen at intersectionscitation needed. These are also the bottlenecks in terms of efficiency since human drivers have varying reaction times. Drivers can also get stressed behind the wheel and lose valuable time while commuting. Contemporary intersection could make traffic more efficient by utilizing data from sensors of autonomous cars and controlling autonomous cars passing the intersection. By making the intersections smarter, user comfort can be greatly increased. Also society will benefit from more efficient driving past intersections, since emissions can be greatly reduced, which benefits the environment. Enterprises will also be positively influenced, since people will be able to get to work quicker instead of being stuck at an intersection.

Objectives

Main objective:

  • Optimizing traffic flow at intersections by making them compatible with autonomous vehicles.

Objectives:

  • Using sensor data from autonomous cars to make traffic light algorithms more aware of current traffic
  • Choose a suitable communication protocol between autonomous cars and the intersection.
  • Find existing efficient algorithms for autonomous cars at intersection in a literary review.
  • Combine said algorithm with current traffic light algorithms to optimize traffic flow of both normal and autonomous cars.
  • Make sure the traffic flow is optimal, which results in less waiting time and less emission.
  • Create a transition solution that can combine the use of autonomous cars with human drivers by using the current intersection system.
  • Keep in mind the perception of safety and the actual safety of passengers inside the autonomous cars.
  • Decrease the number of traffic accidents involving cars on crossings.

Approach

The approach that is chosen is research and simulation oriented. Most information on existing solutions must come from literature and ongoing research. By identifying the state of the art, we will try to combine traffic light algorithms with algorithms that only work with 100% autonomous cars at the intersection. When such combination has been made, a simulation will be created and tested, after which an evaluation will follow.

Literature review

Intersection algorithms now

Alles 100% normaal verkeer Kruispunten nu

Sensor and communicationsystems of autonomous cars

Sensoren en communicatiemogelijkheden van autonome auto's van nu

Existing communication systems in traffic

Communcatie systemen (bussen/ambulances) nu met kruispunten


Simulation

From Main.java, other source files will be uploaded later.

Current frontend view
package use_trafficintersection.algorithm;
import java.awt.Color;
import use_trafficintersection.*;

/*
From here the algorithm and the Renderer interface
The renderer controls the program and calls three functions of Main
- The constructor, allowing the algorithm the setitself up.
- Loop, where the algorithm does its job.
- Draw, where the renderer gets told where the cars are and what else to draw.

BTW: The renderer loves uneven numbers. 
Almost everything gets displayed better if their size is uneven.
*/

public class Main {
    // Renderer
    public static Renderer renderer;
    
    // Debug value that get displayed by the renderer
    public int debugInt = Renderer.DEBUG_INT_NOSHOW;
    public String debug = "";
    
    // ------------------------------------
    
    public Main(Renderer r){
	// Place a reference to renderer into main class.
	// We are going to need this to draw things on screen.
	renderer = r;
	/*
	    Setup algorithm function
	    Do not use renderer or anything graphical inside this function
	*/
	
	debug = "WORLD AND CAR RENDERING TEST";
	debugInt = 0;
    }
    
    public void loop(){
	/*
	    Have the algorithm calculate and simulate the next step
	*/
	debugInt++;
	if(debugInt > Renderer.WORLD_SIZE/2 + 50)
	    debugInt = - Renderer.WORLD_SIZE/2 - 50;
    }
    
    public void draw(){
	/*
	    Draw the vehicles
	    - Drawing the world already has been done
	    - Drawing the top bar will be done after this
	*/
	
	renderer.drawCar(-Renderer.LANE_OFFSET,0+debugInt,Renderer.CAR_MAX_WIDTH,30,Color.RED,0);
	renderer.drawCar(Renderer.LANE_OFFSET,0+debugInt,Renderer.CAR_MAX_WIDTH,30,Color.BLUE,0);
	
	renderer.drawCar(5*Renderer.LANE_OFFSET,0,Renderer.CAR_MAX_WIDTH,30,Color.GREEN,debugInt/27.0f);
	renderer.drawCar(10*Renderer.LANE_OFFSET,0,Renderer.CAR_MAX_WIDTH,30,Color.WHITE,debugInt/9.0f);
    }
}

Sources and References

Sources

  • A Multiagent Approach to Autonomous Intersection Management.[1]
  • Decoupled Cooperative Trajectory Optimization for Connected Highly Automated Vehicles at Urban Intersections.[2]
  • A review on agent-based technology for traffic and transportation.[3]
  • Microsimulation analysis of automated vehicles on multiple merge junction highways[4]
  • A Review of the Applications of Agent Technology in Traffic and Transportation Systems[5]

References

  1. Journal of Artificial Intelligence Research 31 (2008) 591-656. Submitted 11/07; published 3/08. A Multiagent Approach to. Autonomous Intersection Management.
  2. Krajewski, R., Themann, P., & Eckstein, L. (2016). Decoupled Cooperative Trajectory Optimization for Connected Highly Automated Vehicles at Urban Intersections. IEEE Intelligent Vehicles Symposium, (IV).
  3. Bazzan, A. L. ., & Klügl, F. (2013). A review on agent-based technology for traffic and transportation. The Knowledge Engineering Review, 29:3(May 2013), 375–403. http://doi.org/10.1017/S0269888913000118
  4. M. Antoniotti, A. Deshpande and A. Girault, "Microsimulation analysis of automated vehicles on multiple merge junction highways," Systems, Man, and Cybernetics, 1997. Computational Cybernetics and Simulation., 1997 IEEE International Conference on, Orlando, FL, 1997, pp. 839-844 vol.1.
  5. B. Chen and H. H. Cheng, "A Review of the Applications of Agent Technology in Traffic and Transportation Systems," in IEEE Transactions on Intelligent Transportation Systems, vol. 11, no. 2, pp. 485-497, June 2010. doi: 10.1109/TITS.2010.2048313

Collaboration

Milestones

  • Literature review
    • Current intersection systems;
    • Sensor and communication abilities of current autonomous vehicles;
    • Communication systems that are already present in current intersections (busses and ambulances have the ability to control the traffic lights to a limited extent)
  • Coupling between intersection and the autonomous car
  • Simulation
    • Algorithm (backend)
    • Visualisation (frontend)
    • Test
  • USE aspects (to be considered with every decision that will be made). The considerations of the USE will be discussed throughout the report and delivered in an evaluation chapter at the end of the report.
  • Evaluation of Simulation
    • Wiki
    • Presentation
    • Final simulation


Planning2016.PNG

Planning

Week 2

  • Give presentation
  • Dividing tasks
  • Start frontend simulation
  • Start literary review

Week 3

  • Give presentation
  • Literary review done
  • Start creating algorithm

Week 4

  • Think about link between autonomous cars and intersection
  • Start backend simulation

Week 5

  • End creating algorithm

Week 6

  • Finalize simulation

Week 7

  • Evaluate simulation results

Task division

The tasks divided per week are an indication of the work that needs to be done by all the group members. The reserved hours for each task are mentioned in the schedule below.

Sjoerd

  • Week 2:
    • Brainstorming on subject an milestones. (5 hours)
    • Frontend of simulation in Java Swift. (10 hours)
    • Researching: sensors and communicationsystems of autonomous cars. (5 hours).
  • Week 3:
    • Brainstorming on subject an milestones. (5 hours)
    • Continue startup work on the simulation. (6 hours)
    • Start on algorithm (the whole group is involved in this weeks decisions on the algorithm). (10 hours)
  • Week 4:
    • Finalize frontend of simulation. (6 hours)
    • Start working on backend of simulation. (6 hours)
    • Finalize report on sensors and communication systems. (4 hours)
  • Week 5:
    • Work on backend of simulation (15 hours)
  • Week 6:
    • Finalize backend of simulation (15 hours)
    • Visualize results of simulation. (3 hours)
  • Week 7:
    • Tweaking and evaluation backend algorithm. (10 hours)

Johan

  • Week 2:
    • Brainstorming on subject an milestones. (5 hours)
    • Frontend simulation in Java Swift. (6 hours)
    • Researching: Existing communication systems in traffic.(9 hours)
  • Week 3:
    • Final literature review (if still necessary after the work in week 2). (5 hours)
    • Start on algorithm (the whole group is involved in this weeks decisions on the algorithm). (7 hours)
    • Reporting on Existing communication systems in trafic. (6 hours)
  • Week 4:
    • Finalize frontend of simulation (12 hours)
  • Week 5:
    • Work on backend of simulation (15 hours)
  • Week 6:
    • Use literary review to adjust backend if neccesary. (10 hours)
  • Week 7:
    • Tweaking and evaluation backend algorithm. (10 hours)

Jeroen

  • Week 2:
    • Brainstorming on subject an milestones. (5 hours)
    • Managing wiki. (2 hours)
    • Work on planning. (4 hours)
    • Evaluation of Simulation. (9 hours)
  • Week 3:
    • Finalize literature review (if still necessary after the work in week 2). (6 hours)
    • Start on algorithm (the whole group is involved in this weeks decisions on the algorithm). (4 hours)
    • Keep Wiki page updated. (4 hours)
  • Week 4:
    • Keep Wiki page updated. (4 hours)
    • Combine all the literary review results in a comprehending summary. (12 hours)
  • Week 5:
    • Keep Wiki page updated. (4 hours)
    • Help tweaking simulation. (8 hours)
  • Week 6:
    • Keep Wiki page updated. (4 hours)
    • Evaluate USE aspects of the algorithm and simulation. (4 hours)
  • Week 7:
    • Final editing on Wiki page. (15 hours)
    • Evaluate results simulation (3 hours)

Rodger

  • Week 2:
    • Brainstorming on subject an milestones. (5 hours)
    • Researching: Intersection algorithms now. (10 hours)
  • Week 3:
    • Final literature review (if still necessary after the work in week 2) (4 hours)
    • Start on algorithm (the whole group is involved in this weeks decisions on the algorithm). (4 hours)
    • Evaluate USE aspects of the algorithm. (4 hours)
  • Week 4:
    • Report on Intersection algorithms now. (8 hours)
  • Week 5:
    • Evaluate frontend of simulation, adjust GUI. (8 hours)
  • Week 6:
    • Evaluate USE aspects of the algorithm and simulation. (4 hours)
  • Week 7:
    • Review the results of simulation and write report on it. (10 hours)

Lisanne

  • Week 2:
    • Brainstorming on subject an milestones. (5 hours)
    • Work on presentation and planning. (8 hours)
  • Week 3:
    • Giving presentation. (1 hour)
    • Final literature review (if still necessary after the work in week 2) (4 hours)
    • Start on algorithm (the whole group is involved in this weeks decisions on the algorithm). (4 hours)
    • Evaluate USE aspects of the algorithm. (4 hours)
  • Week 4:
    • Combine all the literary review results in a comprehending summary. (12 hours)
  • Week 5:
    • Evaluate frontend of simulation, adjust GUI. (8 hours)
    • Help with managing wiki. (3 hours)
  • Week 6:
    • Preview the results of simulation and write report on it. (10 hours)
    • Help with managing wiki. (3 hours)
  • Week 7:
    • Evaluate USE aspects of the algorithm and simulation. (4 hours)
    • Help with final editing of Wiki page. (8 hours)

Meetings and weekly planning

A record of all held meetings can be found here.