DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

The compass, what Mavic uses it for?

No, I'm sorry but you're wrong about it being "absolutely essential" in the case of drones. A compass failure on a drone would be an inconvenience but would not lead to any lost capabilities if GPS is still operational. Even without a working compass a drone can determine which way it is pointing by flying forward a few yards and noting in which direction it has moved according to its GPS readings. That gives the drone its orientation. No compass required. Admittedly, it's not as quick or perhaps as accurate as an instant reading from a working compass, but it is a perfectly viable fallback option in case of a compass failure.

Finally, even a working compass is of little use in determining aircraft orientation if one is at or near the magnetic North or South Pole. The GPS procedure I just described, however, would work even near the magnetic poles. So, no, a well designed drone should not have to go haywire in its navigational capabilities even if it is flying near one of the magnetic poles.
Once again, GPS can compute a track, not a heading. Without knowing which way the nose of the aircraft is pointing, how do you determine when it is "flying forward". Which stick movement do you use to make the Mavic "fly forward". Forward has no meaning to a quadcopter since it can fly "forward" in any orientation. If I fly the Mavic backwards due North, the GPS will compute a track of 0 degrees. The front of the aircraft is pointing 180. That is the heading. You keep saying that GPS can tell which way the drone is pointing and gives aircraft orientation - sorry but my 20 years in Naval aviation and 5 years as an instructor of aircraft navigation tell me that you are the one that is wrong.

Every aircraft, including UAVs, needs a working compass to fly. The FAA requires it:
"Under VFR operation, part 91, § 91.205, requires a magnetic direction indicator (that is normally intended to be a compass) for heading information." A GPS does not fulfill this requirement.
 
Last edited:
Thats the point I tried to gey across to him by standing in a room and walking to a corner backwards but he doesnt get it. Once the drone is moving the GPS will provide a compass bearing its travling on but the GPS still doesnt know which is the front or side or back end of the craft.

No, I'm afraid that you're the one who missed the point here. If you have the drone move in a SPECIFIC DIRECTION with respect to its own orientation then you (or it) can determine its orientation using only GPS. Suppose you have a Mavic flying at a distance and its compass suddenly fails and you don't know its which way the Mavic is now pointing. Here's what you do: Command the Mavic to go forward (i.e, in the direction of its front rotors and camera) a few feet. You note that the GPS readings say that the Mavic has moved, say, southwest by a few feet. You now know the orientation of the Mavic, the direction it is pointing, even though its compass isn't working. (Quick quiz question: What is the orientation of the Mavic?)
 
Which stick movement do you use to make the Mavic "fly forward". Forward has no meaning to a quadcopter since it can fly "forward" in any orientation. If I fly the Mavic backwards due North, the GPS will compute a track of 0 degrees. The front of the aircraft is pointing 180. That is the heading. You keep saying that GPS can tell which way the drone is pointing and gives aircraft orientation - sorry but my 20 years in Naval aviation and 5 years as an instructor of aircraft navigation tell me that you are the one that is wrong.

To move the Mavic move "forward" with respect to itself (I.e., in the direction of its forward propellers or the direction its camera is normally pointing) you would push forward the right joystick of the Mavic controller.

BTW, now that we're "pulling ranks", I acknowledge your expertise in aviation. But that doesn't mean that you can't make a mistake. As for myself, I have no aviation experience aside from flying a Mavic. However, I do have a Ph.D. in physics (Ph.D., Cornell U., B.A., UC Berkeley) and so - if I do say so myself - I'm pretty good at logic and basic reasoning. And I think that you're wrong here because you overlooked the fact that even though a drone like a Mavic can fly in any direction with respect to its orientation (unlike a conventional airplane), one can command a Mavic to fly in a SPECIFIC direction with respect to its orientation (say, in its forward-facing direction).
 
Last edited:
  • Like
Reactions: Ed_2020
No, I'm afraid that you're the one who missed the point here. If you have the drone move in a SPECIFIC DIRECTION with respect to its own orientation then you (or it) can determine its orientation using only GPS. Suppose you have a Mavic flying at a distance and its compass suddenly fails and you don't know its which way the Mavic is now pointing. Here's what you do: Command the Mavic to go forward (i.e, in the direction of its front rotors and camera) a few feet. You note that the GPS readings say that the Mavic has moved, say, southwest by a few feet. You now know the orientation of the Mavic, the direction it is pointing, even though its compass isn't working. (Quick quiz question: What is the orientation of the Mavic?)
But, there are two problems with this. A crosswind will introduce an error. And, getting the Mavic to move precisely along it's X axis is difficult. It's not as simple as adjusting the pitch and roll through motor speeds. There are always some unknown propulsion differences among the four motor/props.
 
But, there are two problems with this. A crosswind will introduce an error. And, getting the Mavic to move precisely along it's X axis is difficult. It's not as simple as adjusting the pitch and roll through motor speeds. There are always some unknown propulsion differences among the four motor/props.

Those are good points and may be better arguments in favor of the importance of having a working compass on a Mavic or other drone.

As you can see, though, we are still stuck arguing over the feasibility of determining the drone orientation if the compass fails without even considering wind.
 
Not to mention the latency in retrieving the GPS course. For what is essentially a real-time system, latency in the course variable would be quite unacceptable for the FC. Wombat seems to think this is a trivial exercise in programming, when in fact it would take a significant amount of code to fly in this manner. The PID controller to manage this scenario would be ugly and subject to extreme oscillation that would be quite difficult to dampen.
 
Not to mention the latency in retrieving the GPS course. For what is essentially a real-time system, latency in the course variable would be quite unacceptable for the FC. Wombat seems to think this is a trivial exercise in programming, when in fact it would take a significant amount of code to fly in this manner. The PID controller to manage this scenario would be ugly and subject to extreme oscillation that would be quite difficult to dampen.

Don't try to put words in my mouth. I said that the basic idea of determining orientation is simple in principle - and that's the point where the discussion has been stuck on. I said nothing about implementing it in practice. That's a whole other discussion. Save your talk about latency and PID controllers for that.
 
Some of the participants in this thread might be interested in looking at the MagData Player that will be in the next CsvView/DatCon release. It's described here. I don't know if it'll be useful for incident analysis. But, it's pretty good eye candy for geeks. PM me if you wanna try it.
 
It uses the GPS for its position, or IMU if GPS isn't available, but whats the purpose of the compass and what would happen if its badly miss-calibrated or faulty?

The only thing i can think of is knowing the heading while standstill, but even if this heading is wrong, and it starts to move in a wrong direction on, lets say, RTH - it could always detect and self-correct by GPS, hence, this would be no reason for flyaways.

Anyone dares to put some magnets on and test what it does? ;-)

The compass is the basic heading reference that it uses. If the DJI engineers would clever up a little they could use the IMUs for heading reference with GPS for initial reference once moving.

Avoid using magnets - I've done that to an iPhone and it was screwy for a long time. Possibly magnetized something.
 
The compass is the basic heading reference that it uses. If the DJI engineers would clever up a little they could use the IMUs for heading reference with GPS for initial reference once moving.

Avoid using magnets - I've done that to an iPhone and it was screwy for a long time. Possibly magnetized something.
Actually, it's mostly the IMU that is used to determine heading. Right after batteryOn the compass is used to initialize what the FC thinks is the heading. But, after that the compass is used by the FC at a low frequency for heading corrections.
 
No, I'm afraid that you're the one who missed the point here. If you have the drone move in a SPECIFIC DIRECTION with respect to its own orientation then you (or it) can determine its orientation using only GPS. Suppose you have a Mavic flying at a distance and its compass suddenly fails and you don't know its which way the Mavic is now pointing. Here's what you do: Command the Mavic to go forward (i.e, in the direction of its front rotors and camera) a few feet. You note that the GPS readings say that the Mavic has moved, say, southwest by a few feet. You now know the orientation of the Mavic, the direction it is pointing, even though its compass isn't working. (Quick quiz question: What is the orientation of the Mavic?)
This thread was started to discuss what the Mavic uses the compass for, and it devolved into whether the compass is necessary for flight. You state, with logic and reasoning, that the GPS should be able to take over and provide what the compass provides, which is heading. You say to fly the Mavic forward, then take some GPS readings, and that this will determine the heading (or orientation). The flaw in your logic is that, to fly the drone forward, you must already know the orientation, and getting the GPS computed track only tells you where you've been, not necessarily where you're going. And if you add any wind into the equation, your drone will fly "forward", but it will actually track based on the wind direction. If you are hovering your drone and the nose is pointing due north, and there is a 10 knot wind from the west, the drone will move east and the GPS will compute a track of due east after two position readings. A working compass will still tell you the heading is north.

That is why you cannot use a GPS-computed track as input to the IMU to fly the aircraft. Any orientation determined in this manner will be wrong. Only a compass can do that, that is its purpose, and that is why it is essential to the Mavic, and an FAA requirement to have a working one on an aircraft. This is not a question of logic or reasoning - it is a matter of aircraft navigation, of which I know a thing or two. Unlike a fixed wing aircraft, which can only fly where its nose is pointing, the IMU on a drone requires a heading to be able to fly. If your compass suddenly failed, your drone will drift off course at best, fly in circles, or crash at worst. No amount of taking GPS readings will allow your drone to keep flying.

Now, I've done my best to try and convince you, and I'm not having much luck. So I will sign off for now.
 
  • Like
Reactions: tracer bullet
The flaw in your logic is that, to fly the drone forward, you must already know the orientation, and getting the GPS computed track only tells you where you've been, not necessarily where you're going.

*sigh*. No, there is no flaw in my logic. And you don't have to know the orientation of the Mavic beforehand. As I said it my previous post (which apparently you didn't read or understand), one can move the Mavic in its forward direction by simply pushing the right joystick on the controller forward. The Mavic "knows" which way it is pointing and which way its own "forward" is even if you don't. Suppose you push the right joystick forward and you see by the Mavic's GPS readings that the Mavic has moved a few yards to the southwest. What is the orientation of the Mavic? Come on, this is not a difficult question. Even a guy with 20 years of navigation experience should be able to answer it.

As for wind, as I already mentioned to BudWalker above, that's a good point. However, there are ways to minimize wind error. One could, for example, switch the Mavic to sport mode so that it's speed is increased to 40 mph in order to minimize the effects of wind-induced errors. There are other methods of correcting for wind as well, but I don't see any need to discuss them here when you're still having difficulty with grasping the idea of determining the orientation of a Mavic using GPS even under no-wind conditions.
 
Unlike a fixed wing aircraft, which can only fly where its nose is pointing, the IMU on a drone requires a heading to be able to fly. If your compass suddenly failed, your drone will drift off course at best, fly in circles, or crash at worst. No amount of taking GPS readings will allow your drone to keep flying.

That's not true. And I can explain by a simple "thought experiment" argument: Suppose for hypothesis that you are seated in a "man-sized" quadcopter and piloting it. There are no windows. All you have is a compass and a GPS readout with the GPS information presented in the form of a marker indicating your position on a map display. Now all of a sudden your compass breaks (Oops!). You only have GPS information to fly by. You don't even know the orientation of your aircraft because you have no windows and no working compass. Let's assume no-wind conditions for simplicity. Would you now be hopelessly lost from ever returning to your home point and have to just "fly in circles"? Don't think so. No you would tentatively push your movement control stick so that your quadcopter moves "forward", and carefully watch the GPS map display to see how your GPS position has changed. After doing a few slight yaws and followed each time by another tentative "forward" movement, you would eventually have the nose of your quadcopter (i.e., its "forward-facing" direction) lined up with your Home destination point. At that time you could then push the "forward" joystick more confidently and watch the GPS display as it shows you getting closer and closer to your Home point until you finally reach it (with perhaps some mid-course yaw movements along the way to make slight corrections to your quadcopter's orientation). There! You will have navigated home with no compass.

Admittedly, this is a more time-consuming procedure than if one had a working compass and it's fortunate for navigation that our planet does have a significant magnetic field which can be used by birds, bees, and Mavics for orientation. But even if we were not blessed by happening to live on a planet with a magnetic field, quadcopter navigation is entirely feasible by GPS alone. Not as easy or as simple, but perfectly feasible.
 
  • Like
Reactions: borislip
That's not true. And I can explain by a simple "thought experiment" argument: Suppose for hypothesis that you are seated in a "man-sized" quadcopter and piloting it. There are no windows. All you have is a compass and a GPS readout with the GPS information presented in the form of a marker indicating your position on a map display. Now all of a sudden your compass breaks (Oops!). You only have GPS information to fly by. You don't even know the orientation of your aircraft because you have no windows and no working compass. Let's assume no-wind conditions for simplicity. Would you now be hopelessly lost from ever returning to your home point and have to just "fly in circles"? Don't think so. No you would tentatively push your movement control stick so that your quadcopter moves "forward", and carefully watch the GPS map display to see how your GPS position has changed. After doing a few slight yaws and followed each time by another tentative "forward" movement, you would eventually have the nose of your quadcopter (i.e., its "forward-facing" direction) lined up with your Home destination point. At that time you could then push the "forward" joystick more confidently and watch the GPS display as it shows you getting closer and closer to your Home point until you finally reach it (with perhaps some mid-course yaw movements along the way to make slight corrections to your quadcopter's orientation). There! You will have navigated home with no compass.

Admittedly, this is a more time-consuming procedure than if one had a working compass and it's fortunate for navigation that our planet does have a significant magnetic field which can be used by birds, bees, and Mavics for orientation. But even if we were not blessed by happening to live on a planet with a magnetic field, quadcopter navigation is entirely feasible by GPS alone. Not as easy or as simple, but perfectly feasible.
Interesting and accurate analogy, I was hoping you would get a cesium atom and a cat in there somehow but it is what it is, I was try to come up with a submarine analogy but you got everything right.
Regards,
-d.
 
Interesting to read. I don't know if it's true that the Mavic can't fly with out a compass like Will stated. Maybe it can, but probably not very well, very accurately or very safely, given that you would have to first fly then react as opposed to already knowing. Wombat's thinking has logic, but I'm not sure I'd flat out say that a naval aviator and instructor doesn't know what's going on, no matter how many Ph.d's I have. Experience trumps theory also. Everything Wombat has said seems reasonable and possible (based on logic and no experience by me), and everything Will has said as well. If we apply their conclusions to the OP's thread title, Will seems to have answered it better. If their conclusions are applied to the OP's question regarding GPS taking over, Wombat makes a good argument. Neither address the OP's suggestion that the compass should not cause "fly-aways". If BudWalker doesn't know the reason, then it is likely an unknown entity. But the way DJI has implemented navigation and flight parameters using the compass, IMU, GPS and VPS, the answer and solution are not so simple!
 
  • Like
Reactions: Logger
To move the Mavic move "forward" with respect to itself (I.e., in the direction of its forward propellers or the direction its camera is normally pointing) you would push forward the right joystick of the Mavic controller.

BTW, now that we're "pulling ranks", I acknowledge your expertise in aviation. But that doesn't mean that you can't make a mistake. As for myself, I have no aviation experience aside from flying a Mavic. However, I do have a Ph.D. in physics (Ph.D., Cornell U., B.A., UC Berkeley) and so - if I do say so myself - I'm pretty good at logic and basic reasoning. And I think that you're wrong here because you overlooked the fact that even though a drone like a Mavic can fly in any direction with respect to its orientation (unlike a conventional airplane), one can command a Mavic to fly in a SPECIFIC direction with respect to its orientation (say, in its forward-facing direction).


People seem to confuse the front (or head) of the drone with 'heading'.

The front is related to the physical object, 'heading' is related to magnetic North. And, as you mentioned, a forward control input is associated to some command to the motors that will make it move along the longitudinal axis (no wind or even the planet considered).

You can fly a real plane without ever knowing where North is, without ever checking the compass (visual, local flight, as DJI drones are meant to be flown).

One only needs to know where North is if there is the desire to fly following some Earth map, otherwise you can use landmarks (again, visual, local flight).

If you want the 'forward' input to not only move along the drone longitudinal axis, but also along some route (map), then probably the solution will require to know where North is (as well as the GPS to compute wind, etc).

But even then, a compass onboard wouldn't be mandatory. You could know beforehand that from your position, North points towards some landmark, then point the Mavic towards it and 'set' North (somewhat like Course Lock mode).

Anyway, I find it unacceptable that a malfunctioning compass could bring down a flying object (or fly aways).
 
It's amazing to see a few people clearly explain why GPS can not be a substitute for an electronic compass, and so many more STILL insist GPS has precision that is pure fantasy.

The strongest evidence for how inadequate GPS is for providing the necessary heading precision is the existence of VPS... if GPS alone were used to hold position, the bird will drift all over the place.

Similarly, GPS calculated speed and course (heading can not be determined by GPS) are imprecise enough -- particularly on a high-DOP TOD or flight location -- that, as someone else described it, the MP would fly a course like a drunken sailor.

Can you fly without a compass? Sure. But you won't be able to do Course Lock, Acitve Track, heck, most "Intelligent Flight Modes". In fact, anything that requires a different heading than course is out. You have no way to sense a heading different than the flight course, and when hovering, you're completely blind to your heading. Which can be a problem if you aren't close enough LOS to see orientation, want to point NW and fly in that direction.

I could go on and on, but GPS-derived speed and course are far too course-grained to function adequately for a control input that needs to update on the order of 100-300ms or so.
 
People seem to confuse the front (or head) of the drone with 'heading'.

The front is related to the physical object, 'heading' is related to magnetic North. And, as you mentioned, a forward control input is associated to some command to the motors that will make it move along the longitudinal axis (no wind or even the planet considered).
You simply have this wrong w.r.t. rotary-wing aircraft, my friend.

"Heading" is defined as the compass direction the longitudinal axis of the aircraft is pointing, which invariably is the direction the "nose" is pointing.

"Course" is the compass direction of the aircraft's velocity vector, or put more simply the compass direction the aircraft is moving over the ground.

In fixed-wing aircraft, course and heading are the same, so are sometimes lazily used interchangeably. However, the definitions above have always been in place.

With rotary-wing aircraft like helicopters and multirotors, this relationship is broken, and aircraft are free to point in a different direction than they are flying -- i.e. have a different heading than their course.
 
I would like to see compass free drones that fly like the Mavic or better. Compass issues were one of the reasons for so many flyaways during the Phantom 3 era (early days). It was also the reason I completely skipped that generation of drone. I was sold on the Mavic after reading about the redundant features to increase safe flight: dual compasses, dual IMU, and a separate processor to error check the numbers. So far I have had error free operation of my drone.
 
  • Like
Reactions: newguy
Ouch, clarifications

Heading is simply, always, and ONLY where the aircraft is pointed. Whether relative to true or mag north depends on what you're using for navigation reference. (Most aviation is magnetic reference except in polar regions). If you're flying sideways or backwards, Heading is STILL where the aircraft is pointed.

Track (or track made good for nautical types) is where the aircraft is moving towards. So if flying perfectly sideways, right, in no wind, then TRACK = HEADING + 90°.

Course is the desired track. You measure the Course on your map, apply wind correction and subtract the MAG VAR to get MAG Heading (Bearing in mind that west variation is negative). . This heading should result in following the desired course. (Assumes the wind forecast is correct ...).

Wind of course means that heading will need to be adjusted (using winds aloft forecast) to maintain track (and therefore the course). Course correction is computed after some time of accumulating a Cross track error (by doubling the error in the opposite direction for the same amount of time that the error accumulated. In "school" practice, usually 10 or 15 minutes after taking an initial heading).

GPS can determine TRACK very accurately as long as the vehicle is moving. The faster the movement, the more accurate the track.

DJI do not to my observation integrate GPS and heading, at all. Pity. With some smarts, esp. a Kalman filter, they could greatly improve the dynamics and navigation of their products.
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
131,269
Messages
1,561,452
Members
160,217
Latest member
lucent6408d