Landing Inside a Giant Truck, Compass Problem

Hi everyone

We have build an Hexa with a thickness sensor on the bottom to measure the thickness of the loading bay of a mining truck.

My setup is
-FW 4.0.5
-TFMini sensor, front and down
-7KG total weight

I knew that the magnetic field could be a problem on this project, but I think we went too far.

Let me explain a little what we have made.

A day before this test, we have try the system over a 2cm metal sheet, no truck, trying to replicate what we had over the truck.

Here is a video of day 1

After the landing on the metal sheet, I have try to arm, then the Check Mag Field prearm check pop up, something that was very probable to get. As I knew the problem was the metal sheet and not the compass itself, we have disable the compass prearm to do the flight. We did this test 10 times, all went very good, good landing, good precision, was a great test.

Next day, we went to the real deal, a 10 mt high truck. First I did a recognition flight, the place is the maintainance shop for this trucks, so I want to be sure I can flight with no compass problem.

So everything ready to the real flight, a little windy but not too much. Here is the video of the complete test.

The first landing was a kind ok, I have landed almost in the middle of the loading bay. Then when I try to take off, the prearm compass pop up as expected, so turnoff the compass prearm check and then took off pretty stable. After that, I have to land again over another point of the landing bay, to measure the thikness again. This time need to land near to one of the sides of the truck. I have notice a little of inestability, but I have a liitle of wind and I knew the compass must be suffer, so I have landed, and was ok.

Now I got a new error, EKF Compass Variance, so no prearm I could disable to take off again. At this point I have a bricked drone alone on the back of a 10mt high truck. So I have rebooted the drone (here is where the second telemetry file start) using MissionPLanner, waited to get the GPS and took off. The drone was very unestable, you can see on the video how near was the drone to hit the front of tha loading bay. I knew I need to go up very fast to avoid to hit the truck, and I have done, but then the drone was very crazy, it took some seconds far away from the truck to comeback to nomality and have a safe landing.

So, the question here, is how can I avoid the magnetic field that this kind of trucks can produce on his 99% metal structure and prevent an uncontroled drone to takeoff and land over them. Literaly, we have to land on a 50 tons metal box.

I was thinking:
-More Compasses?
-Protect the compass from this unmanaged mangetic field?
-Demagnetize the truck?

Here are the Logs
-File 1 has the Recognition flight and 2 landing over the truck
-File 2 has The last takeoff after the reboot.
-There is the last parameter file too.

Hope you can help me to figure it out this problem.


2 RTK GNSS devices and heading from GPS (Arducopter 4.1)?

Of course there a multipath issues. Probably not much better.

Can you put the sensor on a rope and avoid landing? Or use a rover on a rope for the measurements? Mars Rover style?

I would say never turn off any pre-arm check. It warns you for reason. It is always better to solve the warning than disabling it.

I understand, but i cant “solve the landingbay truck magnetic field”

What options do I have to avoid the magnetic field generated by the landing bay truck?


If the magnetic field is so strong that can’t be offset, maybe gps for yaw is an option.

Ok, I have check, seems to be a solution. Here 2 or 3 are compatible with this option? on the wiki only talck about this ones



I have seen the link, now I understand, thanks, I will look on to.

May be a rope with a magnet could work, we need some preasure over the thikness sensor, we need to try.


Go for an electro magnet.

I would recommend a GNSS module with a helical antenna. These patch antennas are not so great for RTK on board of drones from my personal experience. That is why EMLID moved from patch to helix.

There might be an issue with cycle slips if you fly into the bay. Then the whole gps-heading does not work. So its probably a good and cheaper idea to try the rope version first.

Don’t buy from C_UA_V, they copy from companies which are supporting Ardupilot.

1 Like

Here 2 and 3 are not compatible with gps for yaw. You will need HerePro.

1 Like

When will be the Here pro available ? And @Alvin I also need another help, that is I want to know what is RTK for Here GPS and which is the best GPS for my drone ? Here 1, Here 2, Here 3, Here Plus or Here Pro to get most stability and reliability in case of failsafe ?

HerePro will be available very soon.
Here+, Here3 and HerePro are RTK GPS.
Here3 and HerePro are relatively latest hardware so they are better.
There are no such best product because they have their strength and trade off. You should compare their specification to find out which one is most suitable for your requirement.

1 Like

Hi eveyone!

using RTK could help me fo avoid this problem?


I don’t think RTK is related. Your problem is about the vehicle’s heading while RTK helps to improve positioning.

What about duel GPS units for yaw?
There’s plenty of discussion going on over at Ardupilot.
The feature is still in Beta but should be available soon.

Thanks, I thougt may be help to improve the heading.

Hi @xfacta , you mean dual GPS? that will be different of this right?



im trying to be creativeto solve this and avoid to spend more money on that drone, and I was wonder if the loiter mode can fly with a disabled compass?’


According to the list, no. Loiter mode requires GPS lock.

Edit: I think I may have misread compass as GPS. System won’t let you arm if there is no compasses. But you may have a look at this compassless operation.
I have not try this new feature but seems like it is acceptable. It uses IMU and GPS to estimate the yaw.

1 Like

Hi Alvin!

I have just did this and works great.

I have Some questions about this CompassLess method:

-It say: Before arming, but after GPS lock has been obtained and EKF origin has been set and is “using GPS”, pick up the vehicle and walk around in a circle a few meters in diameter
I did that but the error still there (Requires Position) until I did an AltHold flight for a few seconds, and then I could usue the Loiter Mode. So, Im not clear what method do I have to use to get the yaw, wich one is it, or a short flight or a wlak arround.


You may want to ask this on Ardupilot forum as this is a software feature.
From what I understand from the wiki page, I think the Requires Position comes from GPS not getting fixed yet.
I think the idea is getting the vehicle moving around so the GSF can fuse the imu and GPS to get the yaw. Walking around is safer as you have disable some essential hardware (compass), but walking and flying should be doing the same thing.