An Approach to Semi-Autonomous Indoor Drone System: Software Architecture and Integration Testing