indoor navigation gesture control of quadcopter andhome.iitk.ac.in/~kathag/cs300/6.pdf · gesture...

21
GESTURE CONTROL OF QUADCOPTER AND INDOOR NAVIGATION

Upload: others

Post on 19-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

GESTURE CONTROL OF QUADCOPTER AND INDOOR NAVIGATION

Page 2: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Introduction and MotivationQuadcopters are one of the most famous drones which has engulfed the global market. The applications of such drones are enormous; be it in rescue missions, spying, delivering, or studying unreachable landscapes. Most of the drones that are available in market are manually controlled using expensive controllers ranging from 45$ to 900$. Plus an intricate of knowledge of the dynamics is required to control such drones thus reducing a lot of buyers both from the corporate and general masses alike. We must also notice that while some people use autonomous technologies for navigation, these are also expensive.

We want to make quadcopter handling much easier and intuitive so that it can be learnt by anybody and also fun to control!

We also want an efficient navigation technique in closed spaces specifically in the context of rescue missions during natural disasters.

Page 3: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

GESTURE RECOGNITION

PROBLEM STATEMENT

Recognition of various hand gestures to control different motions of Quadcopter including translational and angular motion including directions and velocities.

Page 4: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

GESTURE RECOGNITION

SOLUTION

Use of OpenCV and Python to capture frames using webcam.

Extract the ROI(region of interest) i.e. background subtraction in each frame

-- Converting image to grayscale and and blurring it using Gaussian blur for smoothening and reducing the noise in the image.Next use thresholding for image segmentation. We will use Otsu’s binarization method which calculates threshold value so as to minimize inter class variance of foreground and background.using image histograms.

Finally we would get a binary image with our ROI in white and background in black

Page 5: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

GESTURE RECOGNITIONDraw contours for the ROI. Next we would find the convex points which are generally the tip of fingers and some other convexity defects like the point connecting between the fingers and thus we would get the number of fingers in each frame. For velocity of a particular point across frames and directions we will use optical flow generated trajectories.

Page 6: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

GESTURE RECOGNITION

SOFTWARE AND HARDWARE REQUIRED

- Webcam- OpenCV- Python

Page 7: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Crash-Proofing the QuadcopterWe do not want to look at the crash proofing from the perspective of a situation when one of the propeller driving motor is not working but to ensure that the quadcopter is at a safe distance from obstacles at all instances so that we can navigate it through small spaces and rubble(in case of a disaster).

The basic idea is to have sensors along all the translational axes which provides feedback to the controller in real time and if during its navigation, if the distance between the sensor position and the obstacle gets below a certain critical value, the drone is commanded to increase the distance.

GimBall- The crash-proof drone

Instead of the physical bubble of the GimBall, we want to create a

virtual bubble around our drone

Page 8: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Sensors and PrecisionUltrasonic Sensor HC-SR04

Specifications:

- FOV (full cone): horizontal ~21º, vertical ~4º

- Spatial resolution (full cone): ~0.6-1.4º

- Range: tested from 5 to 200 cm

- Accuracy: absolute error ~0.035 cm/cm.

- Precision: standard deviation ~0.1-0.5 cm

- Dimension: 45*20*15mm

We are also considering looking into optical flow sensors. By using an optic flow sensor facing downwards it is possible to help maintain position if you are flying over a suitable textured environment. These has to be decided using experimentation .

Page 9: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Placement of the SensorsFor perfect crash-proofing, we need to place sensors along all the axes= 6 sensors. But this can be reduced depending on the size of the drone. A minimum of 4 sensors will be required and other two will be added depending on experimental results.

Page 10: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Sources of ErrorSensor operation during flight on a quad‑copter is a challenging environment for an ultrasonic sensor to operate reliably. The most obvious issue is the amount of wind turbulence the ultrasonic wave must travel through. Adding to this acoustic noise is the noise the propellers generate. Additionally, some multi‑copters can have vibration on the frame. Taken together, these issues are substantial, and correcting only one issue, while ignoring the others may not provide reliable operation.

Best operation and results will be obtained by mounting the sensor as far away from the propellers as possible. If using the sensor to measure the distance to the ground, typically the best place for mounting the sensor is under the frame and near the center of the airframe. This can solve the problem of air turbulence.

Page 11: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Sources of ErrorPROPELLER ACOUSTIC NOISE: It can be avoided by mounting the sensor in places where the sensor has a direct path to any propeller. If you can see the sensor looking past the propellers, then the sensor will hear this sound. For best mounting foam rubber can be used to block this path, the user can mount the sensor under the flight electronics, or a combination of the two can be used.

CONDUCTED ELECTRICAL NOISE: Electrical noise is generated when the quadcopter motors are driven. Many amps of current are used to drive the motors and will spike/droop the voltage levels on the ground and power lines on a quadcopter at the motor switching speed. This noise on the power supplied to the ultrasonic sensor may cause the sensor to operate improperly. A simple power supply filter will alleviate most of these issues. The RC filter kit such as the ‘MB7961 Power Supply Filter’ has a 100uF capacitor, a 10 ohm, and 100 ohm resistor that when used will eliminate most conducted electrical noise from getting to our sensors.

Page 12: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Indoor Navigation/Indoor Positioning SystemIndoor navigation deals with navigation within buildings. Because GPS reception is normally non-existent inside buildings, other positioning technologies, such as WiFI or beacons(Bluetooth Low Energy, BLE) are used here when automatic positioning is desired.

Contrary to GPS, however, they also enable you to determine the actual floor level. Most applications require an "indoor routing" functionality that guides people precisely through a building using an indoor navigation app and in this way, automatically determines their position - very similar to the navigation

Page 13: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Indoor navigation using WiFi as a positioning technology

Inside buildings WiFi is a good alternative to GPS, which is not available indoors. In most cases it is easy to install a WiFi positioning system (WPS).

The accuracy of WiFi used for indoor positioning varies from 5 to 15 meters – depending on the precondition.

The problem of Wifi based indoor localization of a device consists in determining the position of client devices with respect to access points.

Page 14: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

RSSI (Received signal strength indication)Techniques are classified into four main types: received signal strength indication (RSSI), fingerprinting, angle of arrival (AoA) and time of flight (ToF) based techniques. (We will use RSSI technique in our project)RSSI localization techniques are based on measuring signal strength from a client device to several different access points, and then combining this information with a propagation model to determine the distance between the client device and the access points.Trilateration (sometimes called multilateration) techniques can be used to calculate the estimated client device position relative to the known position of access points

Page 15: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Trilateration

Trilateration is the process of determining absolute or relative locations of points by measurement of distances, using the geometry of circles, spheres or triangles.

In two-dimensional geometry, it is known that if a point lies on two circles, then the circle centers and the two radii provide sufficient information to narrow the possible locations down to two. Additional information may narrow the possibilities down to one unique location.

In three-dimensional geometry, when it is known that a point lies on the surfaces of three spheres, then the centers of the three spheres along with their radii provide sufficient information to narrow the possible locations down to no more than two (unless the centers lie on a straight line).

The intersections of the surfaces of three spheres is found by formulating the equations for the three sphere surfaces and then solving the three equations for the three unknowns, x, y, and z.

Page 16: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

DerivationTo simplify the calculations, the equations are formulated so that the centers of the spheres are on the z = 0 plane. Also, the formulation is such that one center is at the origin, and one other is on the x-axis.

Then r12=x2+y2+z2 r2

2=(x-d)2+y2+z2 r32=(x-i)2+(y-j)2+z2 .

We need to find a point located at (x, y, z) that satisfies all three equations. On solving these equations , we will find values of x,y and z.

In three-dimensional geometry, when it is known that a point lies on the surfaces of three spheres, then the centers of the three spheres along with their radii provide sufficient information to narrow the possible locations down to no more than two (unless the centers lie on a straight line).

In three-dimensional geometry, when it is known that a point lies on the surfaces of three spheres, then the centers of the three spheres along with their radii provide sufficient information to narrow the possible locations down to no more than two (unless the centers lie on a straight line).

Page 17: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Preliminary and final computations

The Derivation section pointed out that the coordinate system in which the sphere centers are designated must be such that

1.all three centers are in the plane z = 0,2.the sphere center, P1, is at the origin, and3.the sphere center, P2, is on the x-axis.

In general ,To overcome this problem we can described the points, P1, P2, and P3 are treated as vectors from the origin where indicated. P1, P2, and P3 are of course expressed in the original coordinate system.By using this method we can find unique location of object.

This is cheapest and easiest methods to implement, its disadvantage is that it does not provide very good accuracy (median of 2-4m), because the RSSI measurements tend to fluctuate according to changes in the environment or multipath fading.

Page 18: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

PROS AND CONS OF INDOOR POSITIONING USING WIFI

Pros: Cons:

● Indoor positioning works without GPS

● Existing WiFi infrastructure can be used

● There is a back channel to the client

● large range (up to 150m)

● detects floor level

● relatively inaccurate (5-15m) compared to

BLE/RFID

● WiFi client based positioning is not

possible with iOS devices – but BLE can

be used as an alternative

● application required

Page 19: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Indoor navigation using WiFi

Page 20: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

Implementation and Expected OutcomeWe will at first design and simulate the three proposed modules independently. The designs will be implemented on the provided quadcopter and experimented indoors. After all the desired requirements are met, the modules would be implemented together for the final presentation.

The final presentation would be done inside the classroom environment and the implemented navigation system will be demonstrated with the drone.

In the future we would like to study the behavior of the quadcopter in outdoor scenarios with different environmental factors- air turbulence, tree cover, additional noises, etc. while undergoing the implemented navigation and try to counter the effects.

Page 21: INDOOR NAVIGATION GESTURE CONTROL OF QUADCOPTER ANDhome.iitk.ac.in/~kathag/cs300/6.pdf · GESTURE RECOGNITION SOLUTION Use of OpenCV and Python to capture frames using webcam. Extract

QUESTIONS?

SUGGESTIONS?

CRITICISM?