PRE2015 3 Groep2 week2: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 71: Line 71:


== Communication with the costumer ==
== Communication with the costumer ==
The project will contain two connections in order to make drone delivery possible.
The first connection would be the drone with the backend server. The second one would be the user with the server. We do not recommend a direct connection between the user to the drone for security reasons. We will also ensure that the connection is secure and reliable.
=== Drone to server connection ===
An exchange of information between the drone and provider is crucial for a successful delivery. In order to do this a live connection is required. This connection would allow the drone to be operated in real time when autonomous flying becomes impossible. Also, it will notify the provider when certain important events happen such as landing on the planned location, the amount of energy left, current speed etc. With these thoughts in mind, we plan on creating a TCP network connection with our own protocol, secured by SSL, on top of it to exchange messages in a quick and reliable format such that the drone can understand and execute properly. We will also create a backend server that works as the drone control station with all the necessary information stored from the provider. For the backend server, we plan on using the Java programming language, since the Java programming language provides multiple convenient frameworks that can be used to realize such a server. More details will follow in the next section.
=== User to server connection ===
To communicate and authenticate an user, a smartphone with an internet connection will be required. This will be our interface between the server and the user. In this project, we will create an android application that will provide the user with information about his delivery. This connection will also be established over a TCP connection secured by SSL, exchanging messages defined by our proprietary protocol to provide real time data for the best delivering experience.
The application will also use NFC to authenticate with the user at the final delivery stage. We will also fall back on QR technology when NFC is not included on the phone or is simply inaccessible. QR verification is feasible on almost every smartphone since a standard camera is used to photograph the QR-code and the software will then decode it and ensure authentication. The drone itself will also contain NFC and a QR image for the authentication process. The user will authenticate by holding his phone next to the drone to verify that he is the valid customer. If this phone lacks NFC, the user will have to scan a QR code on top of the drone. Either one of the two verification methods can be taken, in such case the android application will notify the server that it has received the drone signal. The server will then make sure that the signal is valid and will notify the drone that it can drop the package.
=== Overview ===
All summarized, we will be working on the following communication and verification aspects for our project:
*Create a Java backend server that functions as control center.
*Create an android application for the user.
*Design a messaging system on top of SSL to exchange messages between:
**Android application and server
**Server and drone
If all of these challenges are met, we will be able to deliver a package from an arbitrary point to the customer.


== Legislation ==
== Legislation ==
Line 107: Line 126:


== References ==
== References ==
{{reflist}}
<references/>

Latest revision as of 10:48, 2 March 2016


Focus of the project

The focus of this project is into the last few meters. To deliver the package to the front door the process can be divided in three steps. The finding, the communication and the flying away. With each step, there are some questions that need to be solved. This project is about answering those questions as much as possible and implementing the findings into an working drone.

Finding and local navigation

  • Where is the drone?
    • GPS (not accurate enough?)
    • LPS
  • What is the right house?
    • Reading house number
    • QR-number
    • Wi-Fi network
  • What if you can’t reach the apartment? (in a flat for example)
    • Keep flying outside and wait the owner to come out
  • What to do with the weather, like hard wind or storm?
    • If the weather is bad, the drones are not used
  • What is the law of using drones for delivery?
  • What kind of equipment is needed to realize this?

Communicating (Verifying)

  • Who is the owner of the package? (overlap with what is the right house at finding)
    • Connecting with telephone
      • Phone number
      • NFC
    • Id-card
    • Delivery-id
  • How is the package delivered and accepted by the owner?
  • What to do if something goes wrong?
    • Central post for emergency calls
  • Does the drone need an interface and if so, how?
  • What to do with trees, children and dogs for example?
  • What to do with unexpected happenings?
  • What to do against safety and stealing/hijacking? (laws etc.)
  • What kind of equipment is needed to realize this?

Flying away

This is actually the reversed action of the Finding.

Testing

  • Finding/making controller for the drone
  • Making connection server?
  • Applying ideas into the autonomous drone

Improved Scenario

The scenario starts with the customer buying a package in 2025 from the best-selling company in the Eindhoven. The customer lives in the so called “Parklaan”. Within 20 minutes after payment, the drone with the package is in a radius of 100 meters of the destination.

When the drone is nearby it switches to a more accurate way of orientation, to find the exact location of the front door where it needs to be. The customer lives in a flat, so because of laws he still has to come out of the apartment to the front door of the building. That drones are flying arround with cargo is very special, this is because in the beginning of the drones they weren't allowed to do anything.

While the drone evades 2 birds and 10 rocks (that children threw) and 1 other drone it flies smooth and quick to the front door of the flat. The customer gets 2 minutes before the drone arrives a message on his phone that the drone arrived and he comes to the door. At this moment the company is still accountable for the package and this is staying this way until the customer accepted the package. The customer can identify himself by showing his member card from the company or by showing the QR-code of the order together with his id-card. After the drone verified this data with the data that is attached to the package, the package can be released. The customer has to tell if he wants the package on the ground or in his hands and the drone easily does so. If the customer has the package, the drone verifies that it is done and it can leave after exactly 26 minutes after payment.

While gaining altitude, a person tries to grab the drone. The drone can react fast and can just get away of this persons hands. If it would be grabbed, the drone makes pictures of the person and sends all the information to the headquarters. The headquarters would immediately call the police and the special drone squad will track the robber down. Luckily this time is not that time. This picture is only kept for several months for evidence. Now the drone is at a safe distance from bad people, it can return back to the base. It is still not allowed to go over gardens, which is a rule since the beginning of the drone-age. The drone just uses the air above the streets, just as it is told to do.

Finding and local navigation

Location of the drone

An important factor of delivering a package is that it gets to its place of destination. There are several systems to provide this information. The most used and best know is the Global Positioning System (GPS).

A GPS-receiver uses a least four different satellites, in a direct line of sight, to determine its location. There are two different kinds of GPS: civilian GPS (SPS) and military GPS (PPS)[1]. The online difference between these two types is the frequency it uses to send out the signal. The GPS-signal can be received on the whole earth and an internet connection isn’t needed. The accuracy of the location determined with GPS depends on some factors. The most important factor it the quality of the receiver.

Since GPS uses time to calculate the position of the receiver and the receiver isn’t connect all the time to an atomic clock, the less a clock tends to drift the higher the accuracy will be of the calculated position. Most of the time it’s safe to say that, on solely using GPS, the position determined has an accuracy of 15 meters.

A newer system, and used alongside the GPS-system, is the Global Differential GPS System (GDGPS)[2], Which is developed by the Jet Propulsion Laboratory. This system uses ground based sending station to send out the error of the position of the satellites of the GPS-system. This improves the position determined with GPS from 15 meter to 10 centimeters.

Finding the costumer (and the correct house)

Delivering to a front door which can't be reached

It may be possible that the drone can’t reach the front door of the customer. This can happen when, for example, the costumer lives in an apartment complex where the front is covered or the front door is at the inside of the building. Since the drone needs to land and can’t enter the residence of the costumer, the delivery can’t be done through the window.

At the moment deliveries in apartment buildings, done with real humans, have different solutions for this problem. Some companies expect the costumer coming down to the front door of the building, other companies let the mailman go to the front door of the apartment. The first may be a solution for the drone delivery problem, the later isn’t.

Communication with the costumer

The project will contain two connections in order to make drone delivery possible. The first connection would be the drone with the backend server. The second one would be the user with the server. We do not recommend a direct connection between the user to the drone for security reasons. We will also ensure that the connection is secure and reliable.

Drone to server connection

An exchange of information between the drone and provider is crucial for a successful delivery. In order to do this a live connection is required. This connection would allow the drone to be operated in real time when autonomous flying becomes impossible. Also, it will notify the provider when certain important events happen such as landing on the planned location, the amount of energy left, current speed etc. With these thoughts in mind, we plan on creating a TCP network connection with our own protocol, secured by SSL, on top of it to exchange messages in a quick and reliable format such that the drone can understand and execute properly. We will also create a backend server that works as the drone control station with all the necessary information stored from the provider. For the backend server, we plan on using the Java programming language, since the Java programming language provides multiple convenient frameworks that can be used to realize such a server. More details will follow in the next section.

User to server connection

To communicate and authenticate an user, a smartphone with an internet connection will be required. This will be our interface between the server and the user. In this project, we will create an android application that will provide the user with information about his delivery. This connection will also be established over a TCP connection secured by SSL, exchanging messages defined by our proprietary protocol to provide real time data for the best delivering experience.

The application will also use NFC to authenticate with the user at the final delivery stage. We will also fall back on QR technology when NFC is not included on the phone or is simply inaccessible. QR verification is feasible on almost every smartphone since a standard camera is used to photograph the QR-code and the software will then decode it and ensure authentication. The drone itself will also contain NFC and a QR image for the authentication process. The user will authenticate by holding his phone next to the drone to verify that he is the valid customer. If this phone lacks NFC, the user will have to scan a QR code on top of the drone. Either one of the two verification methods can be taken, in such case the android application will notify the server that it has received the drone signal. The server will then make sure that the signal is valid and will notify the drone that it can drop the package.

Overview

All summarized, we will be working on the following communication and verification aspects for our project:

  • Create a Java backend server that functions as control center.
  • Create an android application for the user.
  • Design a messaging system on top of SSL to exchange messages between:
    • Android application and server
    • Server and drone

If all of these challenges are met, we will be able to deliver a package from an arbitrary point to the customer.

Legislation

Rules concerning drones from the Netherlands, category light (4-150 kg).

Private

  • Stay under 120 meters
  • Keep direct sight on your drone during the whole flight
  • You can only fly during daylight, with an environment that allows for clear sight
  • Avoid people and animals
  • It is not allowed to fly above cities, towns (150 m), railways, roads and docks (50 m)
  • Stay away from airfields
  • No flying within no fly zones

Commercial

As a company it is obligatory to have a ROC (RPAS operator certificate) for flying drones. (Since 2015 1st of July)[3]. This means the following:

  • The drone pilot has a certificate for flying drones
  • The drone has a BvL (bewijs van luchtvaardigheid, ‘prove of airworthiness’)
  • You are in the possession of an approved operations manual

Also:

  • Keep direct sight on your drone during the whole flight
  • You can only fly during daylight, with an environment that allows for clear sight
  • Other airspace users will have precedence at all times

Concerning privacy

Besides the normal privacy rules[4]:

  • Not allowed to (systematically) gather data about people, including public
  • Not allowed to use advanced camera like infrared, night-vision, heat-camera, camera with built-in analytic techniques or cameras which do nothing but monitor
  • Not allowed to gather information that is publicly published

Filming through windows or looking in buildings is direct infringement of privacy.

References

  1. GPS.gov “GPS Accuracy”
  2. Jet Propulsion Laboratory. “The Global Differential GPS System”
  3. Rijksoverheid. "Mag ik een drone inzetten voor zakelijk gebruik?"
  4. Ministerie van Veiligheid en Justitie (2015). "Drones en privacy"