$200 "creates" an autonomous flight that can be voice-controlled and face-capable for face recognition.

Following "How to make a robot that can 'see' things with $100 and TensorFlow", Lukas is the latest masterpiece.

Combine deep learning with cheaper hardware and more exploration.

After "making" a robot that can perform object recognition, the next step is very clear. I want to "make" something that can fly! I decided to build a drone that can fly autonomously and ask it to recognize faces and respond to voice commands.

Choose a finished drone

The hardest part of starting a "black entry" into a drone is how to get started. My initial choice was to assemble a drone with parts. But like most of the DIY projects I have done, it usually takes too much time from scratch, so it is better to buy a finished product directly. To be honest, the drones I assembled myself never flowed normally. Buying a finished machine saves both money and money.

Most drone manufacturers claim to provide API interfaces, but there is no clear best choice for amateur players. Most drones that offer a seemingly usable API interface cost more than $1,000. This is too expensive for entry-level players.

But after searching, I found that the Parrot AR drone version 2.0 (see Figure 1) is an excellent choice for low-end "black" drones. The new price is $200, but many people don't play much after they buy it, so you can buy a good second-hand item for $130 or less on eBay.



Figure 1: The drone collection in my garage. On the far left is the Parrot AR drone. Image courtesy of Lukas Biewald

On the flight stability, the Parrot AR is not as expensive as the more expensive Parrot Bebop 2 ($550). But the node.js client library called node-ar-drone brought by the Parrot AR is very easy to use.

Another advantage of the Parrot AR is that it is very skinny and resistant to falling. When testing the autonomous flight code, my drone crashed into walls, furniture, plants and even our guests and fell. But it still can fly normally.

The most unfortunate thing about "making" a drone is that its battery life is too short compared to "making" a robot that can run on the ground. Basically it is charging for a few hours and flying for ten minutes. So I recommend buying two more batteries and charging them for recycling.

Give my drone development program

I have found through practice that the inherent event-driven nature of Javascript makes it a very good language for controlling drones. Believe me, when the drone is flying, there are a lot of asynchronous events happening. I didn't write Node.JS for a long time, but I was very impressed with it during this project. The last time I was writing a program for a robot, I used C language. Handling C threads and exceptions is a real headache, so I try to avoid using it again. I hope someone can develop a Javascript interface for other robotics platforms, because it will make it easier and more fun to develop programs for the robot (which is completely unpredictable).

Architecture design


I decided to run the control logic on my laptop while running the machine learning part in the cloud. This architectural design has a lower latency than running a neural network directly on a Raspberry pie board. I think this architecture is suitable for amateur drone projects.

Microsoft, Google, IBM, and Amazon all offer fast and inexpensive machine learning APIs. In the end, I chose Microsoft's Cognitive Services API to complete the project because it is the only API that provides customized face recognition.

Figure 2 shows the system architecture for the entire UAV project.



Figure 2: System architecture of an intelligent drone. Image courtesy of Lukas Biewald

Start working

By default, Parrot AR drone 2.0 can provide a wireless network for client access, but this feature is extremely annoying. Every time you want to experiment, you need to disconnect from the local network and connect to the wireless network of the drone. The good news is that there is a project called ardrone-wpa2, which is very useful. With it you can "black" into the drone and let the drone connect to your own wireless network.

It is interesting to Telnet to the drone operating system and wander around. The Parrot drone uses a simplified version of the Linux operating system. What was the last time you Telnet to a system? The following command example demonstrates how to open a terminal and log in directly to the operating system of the drone.

% s cript/co nnect "The Optics Lab" -p "particleorwave" -a 192.168.0.1 -d 192.168.7.43

% telnet 192.168.7.43

Control flight through the command line

After installing the node library, the next step is to generate a command-line runtime environment for node.js, and then you can start controlling your drone:

Var arDrone = require('ar-drone');

Var client = arDrone.createClient({ip: '192.168.7.43'});

client.createRepl();

Drone> takeoff()

True

Drone> client.animate('yawDance, 1.0)

If you experiment here step by step as I said above, your drone must have fallen – at least several times. I have glued the protective casing of my drone back to the fuselage many times until it completely disintegrated, and then I had to buy a new one. I have to say that the Parrot AR is actually flying better without a protective casing. But this way makes the drone very dangerous. Because there is no protective casing, once the drone hits something, its propeller will hit the object directly and leave a scratch.

Sterilization Card Bags

Sterilization Card Bags

Guangzhou Ehang Electronic Co., Ltd. , https://www.ehangmobile.com