Assignment 3 description
In Assignment 3, all problems are set in a Maze of the same type as Assignment 1.
The unity project, that can be found here:
- Assignment_3.zip
Download Assignment_3.zip
- Updated 2022-04-08, 15:16. Fixed: Friends list, typo in Scripts folder
- Updated 2022-04-09, 10:58. Fixed: Reset momentum when ball leaves stadium
You will solve two problems (P1, P2). Each problem is setup in a different "Scene" of the project. For each problem, you need to solve it using both Cars and Drones (drones have the same motion model as Assignment 1, but shaped as pill to improve visibility and collision detection).
Problem P1: Multi agent collision avoidance
This problem is relevant for autonomous driving as well as robotics and computer AI.
A large number of agents start in a given environment and are to reach their individual goal point as fast as possible. There are two terrains
- terrainAA (an intersection)
- terrainBB (an open square)
You are allowed to assume that the area is either "open" or an "intersection", but not rely on any particular positioning of start/goal locations. Thus just moving all cars in a big circle is not ok for the open area.
Problem P2: Multi agent car/drone-soccer
This problem is relevant for sports AI.
In the soccer problem you are supposed to push or kick the ball into the goal of your opponents. There is a "kick" action that adds a velocity of choice to the ball, if it is close enough to the agent, to enable a good passing game. To prevent agents from kicking the ball out of the arena, the allowed velocities are only in the xz-plane, and cars are not allowed to kick towards themselves (deliberatively trying to get rid of the ball in some other way is not allowed). For debug purposes the default AI draws lines to the ball, goals, opponents, friends etc with different colors. There you can see how to access different objects.
The default strategies are to cluster at the own goal for red, and chase the ball for blue. These are obviously stupid, but serve as examples.
The score keeping and match clock are handled by the GameManagerSoccer.
Progress report
The same routine as last assignment. Use this Google Sheet. Links to an external site.
Sources of inspiration
- Tan, R., & Kumar, M. (2013). Proportional navigation (PN) based tracking of ground targets by quadrotor UAVs. In ASME 2013 Dynamic Systems and Control Conference. American Society of Mechanical Engineers Digital Collection.
- Reynolds, C. W. (1987, August). Flocks, herds and schools: A distributed behavioral model. In Proceedings of the 14th annual conference on Computer graphics and interactive techniques(pp. 25-34).
- Van den Berg, J., Lin, M., & Manocha, D. (2008, May). Reciprocal velocity obstacles for real-time multi-agent navigation. In 2008 IEEE International Conference on Robotics and Automation (pp. 1928-1935). IEEE.
- Snape, J., Van Den Berg, J., Guy, S. J., & Manocha, D. (2011). The hybrid reciprocal velocity obstacle. IEEE Transactions on Robotics, 27(4), 696-706.
- Xu, Xiao, Cassandras (2022) Feasibility Guaranteed Traffic Merging Control Using Control Barrier Functions Links to an external site.
- Behavior Tree stuff
- Using Panda BT in Unity (YouTube video Links to an external site.)
- Backchainging BTs (YouTube video Links to an external site.)
- ... and whatever sources you might find...