Assignment 2 description

In Assignment 2, all problems are set in a Maze of the same type as Assignment 1. 

However, now there are a large set of cars/drones in the same environment, with different goal locations.

The unity project, that can be found here: Gits

You will solve two problems (P1 and P2). Each problem is setup in a different "Scene" of the project.

  • P1 Traffic Car
  • P2 Traffic Drone

The vehicles: Cars and Drones

The vehicles are basically the same as in Assignment 1, but to keep the focus on coordination, we limit the top speed of the car (making it less important to device super smooth trajectories to avoid skidding) and provide less cluttered maps. Furthermore, to make the drones visible from afar, we swap change their skins into capsules, see figure below. The yellow areas are goal positions and the gray areas are start positions.

Screen Shot 2024-02-15 at 12.40.52.png 

Details on the Problems

In these problems there is a set of agents (cars/drones), each having a separate goal position. The problem is to minimize the time until all agents have passed their respective goal positions (goals turn blue when completed).

The motivation for P1 and P2 is given by it's similarity to a wide range of scenarios involving robots or autonomous vehicle that share workspace with each other, and sometimes also humans. Reaching a goal without collisions with other agents is very important.

There is a variation of the problem that we call "bakery". In those maps the vehicles are divided into teams  (bakery companies) with each team having a set of goal positions (customers) that can be served by any vehicle in the team. The challenge of deciding who goes where is not added on top of the problem. Note that one bakery car can serve several customers.

Depending on the maps, the traffic problem can bring quite different challenges. We will now present a set of maps that your agent can encounter. All of these can be found in the Assets/StreamingAssets/Text/Maps folder, and loaded using the MapManager object, just as in Assignment 1.

  • terrain_open (possible collisions from all angles, no static obstacles)
  • terrain_open_blocks (possible collisions from all angles, including static obstacles)
  • terrain_intersection (all agents converge to a four way intersection, possible collisions from 90, 180, 270 degrees directions)
  • terrain_highway (all agents must squeeze through a bottle neck, forcing alignment with vehicles moving in roughly the same direction)
  • terrain_onramp (similar to highway, but with some agents coming in at 45 degree angle, like a highway onramp)
  • terrain_bakery (in this map, there are teams and goal-groups, as described above).
  • terrain_city_bakery (same as a above, with an intersection type map)

The illustrations below show the different terrains.

terrain_open

Screen Shot 2025-02-12 at 16.02.54.png

All agents are positioned in a ring, with their goal on the opposite side. Note that there is a "cheating" solution to this configuration that involves running all agents after each other in a circle. This is not allowed!

 

terrain_open_blocks

Screen Shot 2025-02-12 at 16.04.12.png

Same start and goal, but with some static obstacles.

terrain_intersection

Screen Shot 2025-02-12 at 16.01.04.png

The positions of the goal locations will force most vehicles to pass the four-way intersection in the middle.

terrain_highway

Screen Shot 2025-02-12 at 15.59.33.png

All vehicles need to pass the narrow gap. Aligning traffic through the gap as a highway might be reasonable.

terrain_onramp

Screen Shot 2025-02-12 at 16.01.42.png

Two streams of vehicles need to merge, in a way similar to a highway onramp.

terrain_bakery

Screen Shot 2025-02-12 at 15.58.50.png

Now the vehicles are divided into teams (one team illustrated with blue lines in the figure) and each team has a set of goals that can be completed by any vehicle in the team (illustrated by red lines in the figure). This captures the situation where a bakery has a number of delivery vehicles that must pass a number of customers.

terrain_city_bakery

 

Screen Shot 2025-02-13 at 10.05.13.png

This map contains four bakeries, all happening to have their customers in the other part of town.

 

The file "AIP1TrafficCar.cs" includes examples of how to access "targetObjects", "teamVehicles" and "m_OtherCars", including a set of booleans in the Inspector that can be used to draw the blue/red lines shown in the figures above.

As before, the overall completion time is shown in the GameManager, and this is the time you should strive to make as small as possible.

 

Progress report

The same routine as last assignment. Use this Google Sheet Links to an external site..

Links

Links/references to possibly (you decide) interesting material (see also the slides of Lecture 3)