Requirements
Our team has broken down the requirements into 3 distinct sections: functional, performance, and environmental. Functional requirements are what our system is going to do. Each of these Performance requirements describe the minimum acceptable performance of our product. Environmental requirements are the constraints imposed on the team by the physical environment and the users of our product.
Functional Requirements
Overall, our navigation system must be capable of guiding an arbitrarily-sized drone through the understory without crashing. This means it must detect objects of very small sizes and maneuver around them if they will pose a threat to the drone. The drone should also create a point cloud map of the space and store it in memory for future use. In addition to these considerations, the system must be compatible with existing drone hardware and be able to interface with its movement system built on ROS. Since our system will not be used on a physical drone within the scope of this project, it will simply display a basic output of the direction that the drone should move.
Performance Requirements
Our sponsor has listed several exact specifications for our navigation system’s performance in order to minimize crash risk and increase mapping efficiency. The system must detect obstacles of 1cm or larger with a buffer distance of 1m, and scan a 20 degree field of view up and down. Additionally, the memory writing component must write fast enough to keep the system operational and not stall the drone.
Environmental Requirements
The environmental requirements are constraints imposed on the project by the drone’s physical environment, the available technology, or the client. For instance, the drone can only be operated when weather is not too harsh: no extreme winds, rain, or snowfall, and adequate lighting present. Also, if sunlight shines directly into the LiDAR sensor, it could cause damage. We also considered how the weight and energy consumption of our hardware could impact drone flight.