Design and implement an algorithm that will enable the drone to navigate independently between different rooms, without a pre-scanned map or an operator intervention, on Raspberry-Pie.
Objectives of the system:
(1) The drone will scan and map the room.
(2) After processing the data, the drone will use an algorithm to find the room's exits.
(3) The drone will then navigate to (one of) the exit point(s).
After we finished scanning the room using the drone, we got a map of 3D points. Now, we will activate our algorithm to find the room’s exit.
First of all, we want to find a rectangle that appropriates to the points and lies on the space walls. To do it, we clean outlies (noisy) points. We then use an iterative process that, in every iteration, finds a rectangle using apply bounding box algorithm on the points. At the end of the process, we choose the best rectangle due to our cost function.
Afterward, we use the rectangle to filter the points which are in the room or walls. We do that because the exit point should be outside of the room. We are now looking for clusters on the remaining points and choosing the cluster by our logic, and the exit point will be one of the points in this cluster.
Comments