Skip to content

Instantly share code, notes, and snippets.

@jejuro
Last active March 6, 2018 10:45
Show Gist options
  • Save jejuro/6e50a596f72ec5d824bd61fa6590b2c0 to your computer and use it in GitHub Desktop.
Save jejuro/6e50a596f72ec5d824bd61fa6590b2c0 to your computer and use it in GitHub Desktop.

Part IV - Global Autonomous Aviation Logistics Architecture

The content below uses Convolutional Neural Network to enable a drone to see around it. Refer to Stanford CS231n - English or CNN Lecture by Jupeter - Korean.

We also provide youtube lectures on this subject.

Table of Contents

  1. Drone Aviation
  2. Airplane Aviation
    • 2.1 Aviation Schedules
    • 2.2 Radars At the opening ceremony of the PyeongChang Olympics, Intel embarked on the sky with about 1,000 drones. Suppose 10,000 drones across the country are gathered to prepare for such an airshow. Each drone will fly a pre-programmed path.

But, what happens if the jammer drones are included? You do not know who is a cracker just by looking. If there is a single blaster, collisions among drones will quickly become a mess, and lead to significant personal and material damage. One of the ways to prevent this is the blockchain technology.

Let’s assume that;

  • 10,000 drones have gathered in Pyeongchang.
  • Each drone is equipped with a smartphone with a front and a back camera.
  • There is a number of crackers among them.
  • The number of the crackers is unknown.
  • These crackers may or may not know each other.

1. Drones

We start with drone aviation to understand how the Openhash platform applies to autonomous aviation architecture.

1.1 Three dimensional coordinate system

Prepare a stereoscopic space of a certain size and constructs a coordinate system inside the space.

Obtain the point coordinates of the shape to be implemented in the sky such as a swimming Nishikigoi or a jumping rabbit. Image: stackoverflow

Insert code here

1.2 Motion

Several motion tracking techniques is widely used to obtain the timestamps and the corresponding spatial coordinates of a number of Tracking Points(= TP) attached to a moving object. For example, if you are flying a drone for 10 seconds, you can record the spatial coordinates of each drone at 1 second intervals. In other words, 10,000 mutually independent paths are derived from 10,000 drones shaping a jumping rabbit, and each drone will fly for a fixed time along its own predetermined path. Image: la.wish.org

More precisely, you can place three reflectors at three points on the ground, and measure the time of signal traveling from a point in the air to one of the reflectors on the ground. Thereby, coordinates (x, y, z) of an object flying in the sky can be specified. Image: MDPI

What if someone hacked the system and changed some of the drones' paths? Or, if a cracker manipulates his/her drones? How can we be sure that no drones have been tampered with on the day of the event?

Remember there must be a few crackers in the drones gathered at Pyeongchang.

Insert code here

1.3 Openhash

Every second, we can collect the spatial coordinate data for each of the drones, and generate a hash from them. It’s a block of 10 hashes(= 10 seconds) drawn by each drone. Now, interweave 10,000 blocks to get an Openhash blockchain. Therefore, any path of any drone can not be forged or falsified without breaking all the hashes these drones share. Then, let all of these generated 100,000 space coordinates be shared by all drones. So, each drone knows not only his own path, but also the paths of all drones involved in the performance, and, during the airshow, all drones can determine whether their neighbor drones follow their scheduled paths or not if each drone reports its coordinate to the drone public every second.

But, what if one or more drones lies? What if they publicize false coordinates? We assumed there must be a few crackers.

Insert code here

1.4 Abnormal Detection

Every drone can see neighbor drones flying at its front and back, determines whether or not their respective positions are on the predetermined route, and then publishes the results.

If drone A knows drone B should be behind of A, but find it flying ahead it, it is abnormal detection. Drone B is out of the way. So, drone A can report a cracker, B, to the public.

By the way, is it right? What if drones A lies? Drone B may have kept its scheduled path. How to know which drone lies, A or B?

1.5 The Voting Mechanism of Blockchain

The Blockchain is a majority rule.

  • A reports that B is a cracker.
  • B reports A as a cracker.
  • C reports A as a cracker.
  • D reports A as a cracker.

So, we can say that B is a cracker. Is it right? Not at all.

All the A, C and D may be crackers.

In previous blockchain, 50%+ drone's claim is regarded as true. In other words, if more than 50% are collocated, the falsehood can not be discerned. But, the drones that A can talk about are the drones around the drone A only. Because of the spatial restriction, the number of votes can not exceed 50%. Therefore, it is impossible to solve the problem using previous blockchain technologies. Even, the number of the crackers among the 10,000 drones was presumed to be unknown. How can we judge which is a cracker or which are crackers?

Rather than its own position, and using the two cameras of smartphone and CNN algorithm, let each drone report its neighbors’ positions, front, back, left, right, top and down. For example, drone A reports the positions of drones surrounding it. These surrounding drones also reports their neighbor drones. By assembling the report of each drone, we can easily draw a map the positions of all the drones in the sky, and compare it with the scheduled aviation map. So, no drone can lie about its position.

Insert code here

2. Airplanes

Now let’s fuse the two algorithms we already know: Autonomous Traffic Infrastructure and Drone Aviation.

2.1 Aviation Schedules

Like traffic schedules described in Part II, we can determine aviation schedules for airlines all the same way as we did for road traffic using machine learning algorithm. The only difference is now we use 3D spaces of flight routes rather than 2D surfaces where roads reside. Remember how we have trained neural networks for road traffics.

2.2 Radars

We used sensors to detect the motion of cars running on roads, and to report it to servers. Now we can substitute sensors with radars to detect airplanes in the sky. The roles of both are same.

To be continued...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment