System Architecture

The what and how of our entire system

How do we plan to achieve this impossible task?

The hunter-killer vessel is located approximately 2.5 km off the coast. We use a Hex configured mother drone to deliver our daughter drone close to the ship.
As the mother drone reaches close to the vessel, it hovers in a stable position while the daughter drone takes off from above the mother drone.
The daughter drone moves towards the communication module while the mother drone returns to it’s home position.  The mission is hence completed well within the time limits by sacrificing the Daughter drone. 

Controls Subsystem

Controls Subsystem deals with preparing the simulation environment, autonomous navigation of multiple UAVs using PX4-SITL, mid-aid drone deployment, joint controllers for replacement mechanism, and tuning of flight controller parameters and PID gains.
GzWeb, Gazebo's WebGL client provides front-end graphical interface to the gzserver and interactive visualisation of the simulation in your web browser. ngrok is used for tunneling the simulation from local host to the public internet. A real time Firebase database is used to update the slider values.  

Mobirise

Gazebo Simulation Environment

We have used Gazebo 9 as our primary 3D simulator backed by ROS Melodic. Gazebo utilizes the high-performance physics engine ODE (Open Dynamics Engine). It provides a realistic rendering of environments, including high-quality lighting, shadows, and textures.

Mobirise

PX4 SITL Flight Stack

The PX4 Software in the loop (SITL) package formed our drone control's backbone and was used to execute the mission trajectories and other complicated manoeuvres. This package mimics the performance of the flight controller in simulation, hence giving close to real results.
Custom trajectories are defined and passed to PX4 using position and velocity setpoints. The trajectories were optimized and smoothed out by our flight controller for minimum jerk along the path. 

Mobirise

Module Replacement using Joint Transmissions

Joint Controllers using ROS

We utilised joint-transmission controllers in ROS to control the actuators of the module replacement mechanism with high precision.
The quad mimics the mast motion with varying sea states using the ML feed to align the gripper mechanism with the module.
Further, the end-effector's fine alignment is done using PID tuning of the alignment mechanism to capture the mast's motion accurately.  The team did the tuning based on the ML detection and the actuator specifications.
Once aligned to the required proximity, a sequence of actions performed by the end-effector mechanism replaces the communication module.

Mobirise

GZWeb WebGL Client

GZWeb is used as a WebGL client for gazebo. Like gzclient, it's a front-end graphical interface to gzserver and provides visualization of the simulation. Mission parameters like wind speed and direction, sea states, endurance and maximum flight speed can be changed in real-time from the interface at any point during the whole mission.

Localisation Subsystem

Localisation is the method of localising oneself in an environment with respect to the initial position. One of the most popular methods of Localisation is SLAM (Simultaneous Localisation and Mapping).
Visual SLAM extracts features from the environment to create a map and uses them to obtain the relative position. We have implemented ORB-SLAM2 for the localisation of the Daughter drone and RTK-GPS for the Mothership. 

Mobirise

ORB SLAM-2

ORB-SLAM2 provides significantly more accurate results over Visual Odometry by eliminating errors of drift. The key feature of ORB-SLAM2 is that it uses the same features/image for localisation, mapping, and detecting loop closure. Loop closure enables us to create a local map as well as apply global bundle adjustment.
Camera used: R200 RGB-D camera.
RGB-D camera provides more accurate results than Monocular as the scaling factor is obtained directly from a depth sensor.  It also performs faster than stereo camera configuration.
The FPS of the camera is 60. It maintains accuracy for a maximum drone speed of 1.5 m/s.

Mobirise

Schematic representation of RTK

GPS-RTK

Real Time Kinematic is a technique used to increase the accuracy of GNSS positions using a fixed base station that wirelessly sends out correctional data to a moving receiver.The technique involves the measurement of the carrier phase of the satellite signal, which is then subject to some sophisticated statistical methods to align the phase of these signals to eliminate the majority of normal GPS type errors.
The key to achieving centimetre-level positioning accuracy with RTK is the use of the GPS carrier phase signals. Carrier phase measurements are like precise tape measures from the base and rover antennas to the satellites. In the receiver, carrier phase measurements are made with millimetre-precision.
RTK provides accuracy enhancements up to about 6-7 km from the base station

Machine Learning & Perception

Modern machine learning techniques were used to detect the target (communication module) using the camera data. Using the depth data, we also computed the 3D coordinates of the module wrt to the ground frame.

Mast Detection

We used YOLOv4, which is a state-of-the-art object detection model to detect a target with high IOU(intersection over union). YOLOv4 uses new features like WRC, CSP, CmBN, SAT, Mish activation, Mosaic data augmentation, DropBlock regularization, and CIoU loss. It combines some of them to achieve state-of-the-art results: 43.5% AP (65.7% AP50) for the MS COCO dataset. These models are used to find the centre of the mast.

1

Board Detection:

This model is used when the drone is sufficiently far away from the mast such that the module model cannot detect the module, i.e.,>50cm. We achieved a MAP of greater than 94% working at 30fps on our system.
2

Module Detection:

This model is used when the drone is near to detect the module in the video feed, i.e., <50cm from the module. We achieved a MAP of greater than 96% working at 30fps on our system.
Mobirise

Communication Module Detection

Mobirise

Board Detection

Mobirise
LED Light Detection

We implemented Opencv based detection techniques and applied color thresholding and contour filters for this task. The algorithm detects the color and the on/off state of navigation lights from a considerable distance accurately.

@2021 Copyright UMIC

mobirise.com easy web maker