This is the overview of our Cyber-physical Architecture.
The Cyber-physical architecture maps the functionalities of our system with the hardware and software level components.
With the same inputs shown in the functional architecture, we can obtain the general coordinates of the package from the deliverer, and the general coordinates of the platform from matching the apartment number and the map of the apartment building stored in the server. With multiple delivery requests, and each request containing the package location and the platform location, the server will also handle the scheduling of all the deliveries, performing pickup-drop-off of one package to the designated destination at a time.
Then the planners generates the path to the “general vicinity” of the package/platform. The drone will follow trajectory given by the planning subsystem and fly close and above the package, and our visual servo algorithm will take charge of the package pickup. A camera that is pointing straight down on the drone will process the image of the package and calculate the transformation matrix between the drone and the box. Using this, the drone can be controlled to stay leveled and maintain suitable attitude and altitude from the package, and actuate the electro-magnet gripper to grasp the package.
Whether the drone is in the “trajectory following phase” or “visual servo phase”, the drone will have to localize itself at all times, and we will fuse the ultrasonic beacons and IMU information for this. The fused coordinates generated from the state estimation node will be fed back to the tracking controller in the navigation stack. The controllers in the navigation stack will take in all the info to control and actuate the propeller motors.
A proximity sensor will be on the gripper mechanism on the drone, used to detect whether the package has been successfully picked up or not. If the gripping procedure has been performed and the proximity does not detect the package, it means that the pickup task has failed, and will initiate a retry.
Once the package has been picked up, the drone will transport the package to the designated balcony platform. After the drone arrives at the general vicinity of the platform, a similar visual servoing procedure as the package pickup will be performed to pinpoint the exact location of the drop-off zone, and the drone will drop the package on the platform, completing a delivery.