Development of an Algorithm for Autonomous landing of a UAV on a Moving Platform
Lokesh Bansal MTech. Robotics and Autonomous Systems Robert Bosch Center for Cyber Physical Systems Indian Institute of Science, Bangalore |
Overview of Objective
Objective- Intelligent Detection of Landing site and Autonomous Navigation and Landing of a Drone on a Moving Platform
Feature Extraction-
Trajectory Generation and Landing- Reinforcement Learning and PID Controller
Intelligent Detection and Tracking-
Preliminary Image Processing for Land-filed Detection and Tracking
| BW = edge(rgb, 'canny',0.2); [H, T, R]= hough(BW, 'theta', -50:50); P = houghpeaks(H,5,'threshold',ceil(0.7*max(H(:)))); x = T(P(:,2)); y = R(P(:,1)); plot(x,y,'s','color','white'); lines = houghlines(BW,T,R,P,'FillGap',600,'MinLength',10);
|
| BW = edge(rgb, 'canny',0.2); [H, T, R]= hough(BW, 'theta', -50:50); P = houghpeaks(H,3,'threshold',ceil(0.4*max(H(:)))); x = T(P(:,2)); y = R(P(:,1)); plot(x,y,'s','color','white'); lines = houghlines(BW,T,R,P,'FillGap',10,'MinLength',80);
|
Preliminary Image Processing for Horizon Detection
Horizon Detection view | Specifications in Matlab Code |
| R = imresize(A, [115 300]); I = rgb2gray(R); BW = edge(I, 'canny', 0.1); %hough transform to find the lines [H, T, R] = hough(BW); P = houghpeaks(H, 10, 'threshold', ceil(0.75*max(H(:)))); |
| R = imresize(A, [115 300]); I = rgb2gray(R); BW = edge(I, 'canny', 0.145); %hough transform to find the lines [H, T, R] = hough(BW); P = houghpeaks(H, 10, 'threshold', ceil(0.75*max(H(:))));
|
Preliminary Image Processing for Horizon Detection
| R = imresize(A, [115 300]); I = rgb2gray(R); BW = edge(I, 'canny', 0.145); %hough transform to find the lines [H, T, R] = hough(BW); P = houghpeaks(H, 10, 'threshold', ceil(0.75*max(H(:))));
|
| R = imresize(A, [115 300]); I = rgb2gray(R); BW = edge(I, 'canny', 0.145); %hough transform to find the lines [H, T, R] = hough(BW); P = houghpeaks(H, 10, 'threshold', ceil(0.75*max(H(:))));
|
| R = imresize(A, [115 300]); I = rgb2gray(R); BW = edge(I, 'canny', 0.3); %hough transform to find the lines [H, T, R] = hough(BW); P = houghpeaks(H, 10, 'threshold', ceil(0.75*max(H(:))));
|
Detection of Landing Field and Horizon
Preliminary Image Processing for Land-filed detection and tracking
| | I = rgb2gray(A); I=imcrop(I,[300 325 700 500]); BW = edge(I,'canny',0.1);
[centers, radii] = imfindcircles(I,[50 65],'ObjectPolarity','bright','Sensitivity',0.98,'EdgeThreshold',0.1); |
| | I = rgb2gray(A); I=imcrop(I,[400 225 750 400]); BW = edge(I,'canny',0.1);
[centers, radii] = imfindcircles(I,[50 65],'ObjectPolarity','bright','Sensitivity',0.98,'EdgeThreshold',0.12); |
Preliminary Image Processing for Land-filed detection and tracking
Detection View | Specifications of Matlab Code | |
| | I = rgb2gray(A); I=imcrop(I,[430 275 435 280]); BW = edge(I,'canny',0.1);
[centers, radii] = imfindcircles(I,[100 125],'ObjectPolarity','bright','Sensitivity',0.98,'EdgeThreshold',0.1); |
| | I = rgb2gray(A); I=imcrop(I,[300 150 700 500]); BW = edge(I,'canny',0.1);
[centers, radii] = imfindcircles(I,[50 60],'ObjectPolarity','bright','Sensitivity',0.98,'EdgeThreshold',0.1); |
| | I = rgb2gray(A); I=imcrop(I,[300 150 700 500]); BW = edge(I,'canny',0.1);
[centers, radii] = imfindcircles(I,[100 130],'ObjectPolarity','bright','Sensitivity',0.98,'EdgeThreshold',0.1); |
Circular Ellipsoid Detection and Tracking
Detection of Heli-Deck on a Ship
Preliminary Video processing for Landfiled detection and tracking
Frame-1
Frame- n
Frame- 167
Frame- l
Frame-k
Frame- p
The frames are from video of moving landing platform
Preliminary Intelligent Object detection using Tensorflow
Fig. – Ship detection in marine environment
Future Works
References