Drone Delivery
Goal
Build and develop a drone that can be used in the applications of last-mile delivery.
Subteams
Hardware: Build the physical drone, develop the controls algorithm for a flight controller.
Navigation: Develop a robust navigation software stack that can autonomously takeoff, fly to a given GPS waypoint(inputted by user on the app), and then precisely land at that waypoint.
Mobile App: Build a mobile app that enables users to interface with the drone.
Hardware
Navigation
The Navigation stack is split into two main parts: the PX4 side and the ROS side. PX4 is the software for the pxihawk flight controller and ROS is an open source robotics communication software. The Navigation stack runs through the following process. A gps waypoint is sent from the mobile app to the navigation backend. That GPS waypoint is converted into a point in the local space of the drone(a point in the drones internal map of the enviornment) through a ROS node. Then the PX4 software arms the drone, and changes it into takeoff mode. Then once the drone reaches its flying height, the PX4 software changes the mode of the drone to offboard mode, so it can now be controlled by the offboard computer(jetson orin nano). The drone now will autonomously navigate to the specified goal location using a behavior tree to control its decision making, and with theta* and navFn path planners, MPPI trajectory controllers to determine where to move for the shortest path to its goal(which is all implement through the ROS Nav2 package). Once it reaches its goal position(within some error margin), the PX4 software will switch the drone to landing mode, and it will execute a precision landing algorithm implemented through PX4 to precisely land the drone at its location.
Additionally, the global map of the environment is maintained as a 2D costmap, for efficiency and ease of use, with 3D spatio-temporal voxels making up the local map(~10m square around the current location of the drone) for more accurate obstacle avoidance. Additionally, localization is performed at two levels: globally, and locally as the global localization can create jumps in the location of drone but it is much more accurate, while the local localization is not as accurate but it is continous/there are no jumps in the location of the drone. The global localization is implemented through the LIO-SAM algorithm, which uses a velodyne lidar, and imu and gps. The local localization is performed by a Visual Inertial Odometry implemented through PX4 using an extended kahlman filter.
Mobile App Development
Technology
Drone hardware
Motors: T-Motor U7 V2.0
6 total
4.55kg Lift / Motor
Over 27kg of Thrust!
47.5A Draw at 100% Throttle
Props: Tarot 1855
18'' Diameter
5.5'' Pitch
Carbon fiber
Frame: Tarot T960
Hexacopter Configuration
960mm Diameter
Battery: Tattu Plus LiPo Battery Pack
22000mAh
25C Discharge Rate
6S
22.2V
Power Delivery (ESC): xRotor 40A
60A Max Current
Rated for 6S LiPo (22.2V)
Flight Controller: Custom controller.
Based on Raspberry PI Pico.
3 axis Gyro, and 3 axis acclereometer.
Camera: Intel RealSense D453
Stereoscopic Depth Sensing
< 2% Error Within 2m
Companion Computer: Jetson Nano
Quad-core AMD Cortex
4GB Onboard Memory
128 Cuda Cores
Infrared sensor: TBD
Used to find precise distance from ground to see if landing area is safe.
Camera rotator/gimbal
Will rotate camera from forward-facing to downwards to ensure safe landing area.
Stabilization of camera during flight to minimize noise in optical data
Parcel container
Structure
Minimize impact on aerodynamic performance
Safe to access for users
Food Preservation
Keep food hot, or cold, to ensure minimal loss in quality during delivery
Drone software
PX4: PX4 is the firmware that runs on the Pixhawk 6c. It controls and recieves data all of the motors and sensors attached.
QGroundControl: QGroundControl is the application used to connect to, configure, and program the drone to fly autonomously.
Robot Operating System (ROS): This is a standard middleware software that allows each sensor to robustly communicate with the flight controller(pixhawk) and the onboard computer(Jetson Orin Nano)
Last updated