How to Program AR.Drone Parrots on Fly Straight

I am using node.js and node-ar-drone to program my AR.Drone 2.0 to do some basic indoor flight maneuvers. From what I can tell, the drone never seems to fly straight. It will always move left and right, hang for a few seconds, or crash into a wall, no matter where I set the takeoff point from. In other words, if I run the same program to go down the hall 10 times, it will do something different each time.

If it happens in the hallway, it will be somewhere different every time. I would have counters built in to accommodate random wiggle, for example if it rolls to the right, I would tell it to slide to the left, but that is never enough. It seems that the amount of oncoming traffic prevents him from flying straight. I am using the latest firmware on gud.

I was told that there is nothing on board the drone to correct errors during flight, such as a feedback loop. In addition to this, I was also told that these drones were mainly made for outdoor use or in very wide open spaces so that they would not crash.

I wanted to see if this agrees with someone else, or if anyone has any suggestions to get it to fly straight. Any input or comment would be helpful

+3


source to share


1 answer


AR.Drone uses feedback from its combination of sensors to improve its flight, as seen in this diagram (from AR.Drone Micro UAV Navigation and Control Technology ):

enter image description here

For your situation, perhaps the most important thing is how well attitude and velocity estimation works in which accelerometers, gyrometers, and cameras are used. There are several things you can do to help these systems work:

  • Make sure you shoot from a completely flat surface.
  • Call ftrim

    to set the flat cut level before removing.
  • The vision algorithms are meant to try and do a good job even if the surface below the downward facing camera doesn't have very much texture, but they can still get confused if the floor / ground is too featureless. Try flying over something with more texture and contrast.

For # 3, flying over something like an evenly colored carpet or concrete floor can make it harder for a drone to do - much like the problem of using an optical mouse on a smooth, featureless surface. When you see the Parrot showcase the AR.Drone's abilities, you will notice that they often fly over surfaces that are obviously chosen for ease of navigation. For example,

From https://www.youtube.com/watch?v=IcxBf-kegKo : enter image description here



From https://www.youtube.com/watch?v=pEMD6P_j5uQ#t=8m25s : enter image description here

However, with my drone, I sometimes ran into situations where immediately on takeoff, the drone turned to the side until it triggered, although I called ftrim

and thought I shot from a flat surface. You may need trial and error to find a good takeoff point.

The drone is designed for indoor flight (for example, a styrofoam shell with a propeller is recommended for indoor flying, but not recommended for outdoor flying, and the FreeFlight app has indoor and outdoor flying), but in my experience the drone still wanders a bit and so you will get better results in a larger room.

Here's a demo of my drone flying very steadily indoors, in a large room with well-textured carpeting, from a very flat spot: <a3>

enter image description here

Even then, you can see the drone doing a small, quick correction at 0:23 .

+2


source







All Articles