Engineering domain: Robotics

## Task Description
Your task is to navigate two robots around static obstacles and walking pedestrians. 
The map is a 30 by 30 grid. The origin, i.e. (x,y) = (0,0), is at the bottom left of the grid.
x-axis grows to the right and y-axis grows upwards.

There are three static obstacles formatted in ((x1, y1), (x2, y2)) that describe the
bottom left and top right corners of the rectangular obstacles:

THe four corners that define the static obstacles are:
[
    ((5, 0), (7, 15)),
    ((10,20), (20,30)),
    ((15, 5), (30, 10))
]

There are pedestrians walking around and their trajectory is 
stored as a list of tuples (t, x, y), where t is number of seconds from 0 to 19, 
and x and y are the coordinates of the bottom left corner in the grid.
The pedestrians and robots are both 2 by 2 in size.
Their paths are as follows:
'ped1': [   (0,1,1),
            (1,1,2),
            (2,1,4),
            (3,1,6),
            (4,1,7),
            (5,1,9),
            (6,1,11),
            (7,2,13),
            (8,2,14),
            (9,3,16),
            (10,6,16),
            (11,7,15),
            (12,8,13),
            (13,9,12),
            (14,10,11),
            (15,11,10),
            (16,12,9),
            (17,12,8),
            (18,12,7),
            (19,12,6)
        ],  
'ped2': [   (0,25,28),
            (1,25,28),
            (2,25,26),
            (3,25,24),
            (4,25,22),
            (5,25,20),
            (6,25,18),
            (7,25,16),
            (8,25,14),
            (9,24,12),
            (10,22,12),
            (11,20,12),
            (12,19,12),
            (13,17,12),
            (14,16,12),
            (15,16,12),
            (16,15,13),
            (17,14,15),
            (18,12,16),
            (19,10,16)
        ], 
'ped3': [   (0, 25, 2),
            (1, 24, 2),
            (2, 23, 2),
            (3, 22, 2),
            (4, 21, 2),
            (5, 20, 2),
            (6, 19, 2),
            (7, 18, 2),
            (8, 17, 2),
            (9, 16, 2),
            (10,15,2),
            (11,14,2),
            (12,13,2),
            (13,12,2),
            (14,11,2),
            (15,10,2),
            (16,9,3),
            (17,8,4),
            (18,8,6),
            (19,8,8)
        ]

The start and end positions for the first robot are (17, 2) and (5, 24).
The start and end positions for the second robot are (5, 25) and (25, 25).

You must provide two lists of tuples in (t,x,y) format that is free of collisions from
both pedestrians and static rectangular obstacles. 

The speed limit of robot in either x and y direction is 2 between each time step.
This means that the robot can move in the x direction 2 steps and y direction 2 steps and be ok.

Make sure you navigate around both the walking pedestrians and static obstacles.

You will be evaluated on the following for each of the two robots:
- Starting position at t=0 is correct
- Ending position at t=19 is correct
- No collision between robot and static obstacles
- No collision between robot and walking pedestrians
- Does not exceed top speed