-
The problem is divided into two tasks:
- Move the ambulance to the patient locations (pink tiles) inorder to reveal the Covid status of the patients, i.e., the patient is having covid symptoms or not having covid symptoms, which are hidden underneath that location.
- Deliver the patients to their respective hospital following the rules described below.
-
The arena has different traffic in different places represented by red, yellow, green, white tiles showing
heavy, intermediate, low, no traffic respectively.
- As red tiles are heavy traffic areas so in order to cross one red tile the bot (ambulance) takes 4 units of time.
- The yellow tiles have slightly less traffic than red one hence the ambulance takes 3 units of time to cross each tile.
- The green tiles have low traffic hence the ambulance moves fast and it takes 2 units of time to cross each tile.
- As white tiles have no traffic at all hence the ambulance takes only 1 unit of time to cross each tile.
- As it is a matter of life and death for the patient, the bot (ambulance) needs to take as minimum time as possible so it needs to take a path with the lowest value of overall time taken.
- There are also one-ways (blue triangle shapes on red/yellow/green/white tiles) in the arena. The bot can only move in one direction on these tiles represented by the head of the triangular shapes.
- The bot(ambulance) has to start from lowest right corner (green tile)
-
The bot first needs to move to the patient location (pink tile) following the above rule. The Covid status of
that patient is hidden underneath it. This step will reveal the covid status of the patient which was earlier
concealed.
- The status symbol of the patient matches with the symbol of the respective hospital (blue square and blue circle on light blue tile).
- After knowing the status of the patient, the bot needs to deliver the patient to the respective hospital following the rule to take ‘minimum overall time taken path’.
- The bot needs to stop one node before the patient location in order to reveal the covid status. The path to the hospital should start from the patient location (pink tile) i.e. it should move through the pink tile.
- The bot should also stop one node before the hospital. The path to the next patient’s location should also start from the hospital itself.
- The rule to take ‘minimum overall time taken path’ has to be applied for every motion with keeping track ofone-ways.
- We used Computer Vision for image segmentation i.e. extracting shapes of different colors from the arena. Used Dijkstra's algorithm (on a customly designed directed weighted graph) to trace path from the current position of the bot to the destination position Dijkstra's algorithm returned the shortest desired path. Aruco Marker was used to determine the current position of the bot at any instant.
- First, a directed weighted graph is created, in which edges are added with their respective weights in accordance with their colour.
- Shape and Color in each grid of the arena is detected using several techniques such as masking, and contour approximation.
- Four steps are to be executed, viz., reaching the first patient, delivering the first patient to corresponding hospital, reaching the second patient and delivering the second patient to the corresponding hospital.
- Destination location is determined in all four steps, thereafter, destination location and current location are send to dijsktra class to find the optimal path.
- A list is created providing the path to be taken by the bot to reach destination. Various custom-made functions, such as
travel()
,align()
,move()
,left()
andright()
, are employed in order to facilitate the movement of the bot. - Video of our run can be found here
Piyush Dubey |
Harshit Garg |
Vecha Sumanth |