0
$\begingroup$

I'm new here, my name is Mark, I'm 24 years old and I'm a Linux lover, by 2020 I intend to build up a wildlife guardian drone based on the Raspberry pi which will be connected to the internet but that will operate by its own using artificial intelligence.

Talking about this to a technician at my school in Italy, I have been told that the Raspberry is not suitable for an important project but just for little experiments.

The way he said that seemed to me just a bit too dismissive but he made me become doubtful about the Raspberry's quality so I hope you guys can help me understand if the Raspberry can suite my ambitious plan to build a guardian drone to protect the wildlife of a very little Papua New Guinea island or if it will break the first time it encounters trouble.

Is the Raspberry pi 3 only for little experiments or will it also work for very important stable projects like building robots?

$\endgroup$
0
$\begingroup$

If you want your drone to operate by itself, it must have some degree of intelligence, which means powerful computation resources are needed.

Assuming you intend to use computer vision for the drone to navigate, then it needs to process video stream real time, which is far beyond what Raspberry can do. However, if you construct an super "elegant" AI, a Raspberry would suffice. But this takes a lot of effort. MIT has built a system that can make an aircraft navigate in the forest, which is very impressive. Since details of the project is not shown in the question, I don't know what kind of intelligence it requires.

By the way, Raspberry alone is not capable of controlling a drone. You are going to need ESC(electronic speed control) to control the motors.

Another solution is that the drone transmits all data to the server, where AI algorithms process the data then give the drone commands. But the method involves other problems. First, it's hard for the drone to transmit the data for long distance. If you want to make the wireless communication reliable and keep the cost down, 2Km might be the limit on complicated terrain. In your case, 2Km may be able to cover the island. You also need to make sure the transmitter won't overheat during operation. Second, real-time processing cannot be guaranteed. If the velocity of your drone surpass 20m/s, the command delay would be a disaster.

In conclusion. Raspberry is not well-suited for your project, but it's still possible. I found that innovation often comes from those outsiders. So try it, even others tell you it's not possible. Some axiom may be true, but they are only applicable to most people in most conditions, not all.

$\endgroup$
1
  • 3
    $\begingroup$ Since your answer is selected and others will be using it, it would be great if you could improve the accuracy of it. 1) As you said, it's the challenge of running vision algorithms on the pi that is the barrier to using it. Realtime is not a problem and the pi would not be directly controlling the motor commutation. ESC's do that. 2) Wireless communications are extremely variable depending on the situation. If you put a distance limit (2km) then you also need to include your assumptions on environment, frequency, traffic, etc. I hope that's interesting to you. Thanks for contributing! $\endgroup$ – hauptmech Dec 27 '16 at 21:13
0
$\begingroup$

From what I've seen other people using RaspberryPi, they sometimes had reliability issues with it when used in bad conditions (Thrown around in boxes, lots of interference, dubious power supplies and cables -- This was when they were used for driving displays at a competition, not in robotics though), so there might be a point to what people at your school tell you.

But while building a robot, you will likely be doing a lot of little experimenting anyway :). You can start with a RaspberryPi if you have it available and then move to something else if you find out it's not good enough for you. Buying some expensive hardware only to find out a month later that you actually needed the other one is not so much fun :-)

$\endgroup$
0
$\begingroup$

By all means start with a raspberry pi and see where that leads you. If you write your AI, control and other algorithms nice and modular, moving to another platform would be quite simple, and shouldn't be a problem since this is a long-term project. Afterall, you would still be using Linux, gcc, glibc and all sorts of libraries that are portable across Linux distributions and the architecture is running on.

One thing I often experience is that version 1 of anything is very flawed. It's hard to predict all the requirements and challenges of a problem beforehand, so version 1 ends up being patched over patched and ugly. Learning everything from that, version 2 becomes a much better design, more efficient and overall much better. So start with a raspberry pi, knowing that you might even decide to redo the whole thing after initial experimentation, at which point you would be glad you didn't waste a long time trying to find the best platform to do something you weren't entirely sure what it was!

$\endgroup$
0
$\begingroup$

There is no definite answer to your question. In any case you should define specific requirements for you system, including:

  • processing power needed
  • maximum power consumption
  • operating temperature range
  • should the system be dust/water proof

What's more, for a drone you will probably need additional board for running motors control loop. Raspberry isn't a good choice here because of real time requirements, but can be good choice for higher level control unit (image processing, navigation etc.) Even if it fails, the motor control could be programmed to safely get a drone to the ground by slowly lowering altitude.

As Shahbaz said, at prototype stage it is a good choice. You will probably want to change it at some point, but first gather more experience on the project.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.