Pixhawk + APM 3.1.3 + RTL overshoot

I’m the proud owner of three Pixhawks (bcdebusk is my 3dr account name too).

  • Using 3.1.3
  • My other custom builds are nothing short of amazing.
  • Quad works perfect in Stabilize, Alt-Hold and Loiter.
  • Autotune made this thing work like magic.
  • RTL always RTLs within feet of home position.
  • Loiter works great too. It stays perfectly still in the air.

But when I flip the switch to RLT, I get unusually high descents or ascents. And it always overshoots its landing zone an the X-Y axis too, but makes a correction, and lands perfectly.

  1. I’ve done the prerequisite web searches, and it refers me to older version of navigation tuning that make references to parameters that 3.1.3 doesn’t even have.

  2. Could someone please tell me the adjustments I need to make using the latest Mission Planner and 3.1.3?

Thank you in advance. If you solve this problem 3DR, I’ll order a fourth pixhawk before the end of the week (and you know my username, so you can fact check me).

Thank you in advance,

Brian

[color=#00BF00]3.1.3 what? Copter, Plane Rover?
Please refer to the forum rules and the instructions on how to use the forums and add the missing information about your problem, your setup and a logfile!
Please also post your support requests to the appropriate subforums!
[/color]

[quote=“StefanG”][color=#00BF00]3.1.3 what? Copter, Plane Rover?
Please refer to the forum rules and the instructions on how to use the forums and add the missing information about your problem, your setup and a logfile!
Please also post your support requests to the appropriate subforums!
[/color][/quote]

It’s a multicopter. It uses a Pixhawk, and in the past my best responses have been from Pixhawk employees and/or other Pixhawk users.

It’s tuned just fine in terms of Stabilize, Alt-Hold and Loiter modes. It demonstrates no toilet-bowling behavior whatsoever and both the GPS and compass work perfectly. Loiter works exactly as it should as well.

My problem is this simple: It just overshoots any movements on RTL badly. If it needs to go up another 50 feet, it shoots up more to like 100 and then settles back down. If it needs to go 50 yards west to return home, it goes 75 yards west then wanders its way back. It overshoots every direction in every axis every single time. Upon landing, it lands within three to four feet of home every single time.

Here’s the tuning page: copter.ardupilot.com/wiki/tuning/

That hasn’t helped me as it doesn’t address my specific problem.

Here is the RTL page: code.google.com/p/arducopter/wiki/AC2_RTLMode

That hasn’t helped me as it doesn’t address my specific problem.

I’ve thought about trying the NAV_PI, NAV_P and NAV_I parameters, but I wanted to ask here first. If I screw this up, my copter goes straight into the lake as I have a very small back yard and fly over water.

Thank you in advance.

There’s no such thing as Pixhawk employees.
This forum has a certain structure and certain rules. Those rules are there for a reason.
What you have is a problem with the software, which belongs in the software forums (where I moved this thread now). The Pixhawk subforum is for hardware support, as the category description says.

[color=#00BF00]I ask you again to add the missing information about your setup according to the forum rules and the usage instructions and to add a log file. If you can’t or won’t do that, I will close this topic.[/color]

Forum Rules:

  1. I have been and remain respectful to the intentions of this forum.

  2. I do not know of any profanity, personal attacks, or discussion of topics outside this forum in which I have participated.

  3. You felt I had posted in the wrong forum, which you have fixed for me. Thank you.

  4. I know of no advertising or commercially-motivated posts I have made.

  5. I am well beyond the two post period.

  6. I posted originally in the 3DR Pixhawk subforum because I own exclusively 3DR flight systems and their related hardware (i.e. safety switches, compasses, magnetometers).

Usage Instructions:

  1. Describe the problem you are having. What is the expected verses the observed behavior?

A four-motor multicopter using the latest release of Mission Planner and APM:Copter is flying perfectly well in all modes (Stabilize, Alt-Hold, Loiter), yet overshoots the RTL zone badly – by hundreds of feet in every axis. It always lands appropriately and at the correct home location, but demonstrates massive overshoot in the process.

  1. Provide hardware information such as the brand and version of your autopilot, GPS, radio, and compass, as well as any other pertinent details about your setup.

I am using the 3DR Robotics Pixhawk along with all of the latest 3DR related hardware (GPS, radio and compass). I am using 25A Tiger SimonK-flashed ESCs and Tiger U3 Motors. Everything has been purchased within the last 45 days.

  1. What version of the APM:Copter firmware version are you running?

It was my understanding that I am running 3.1.3, which was an update brought to my attention by the latest version of the Mission Planner software. I downloaded and installed the latest version around 10 days ago.

  1. For flight issues, provide your dataflash log. Click here for instructions on retrieving a dataflash log.

Dataflash log is attached. I also have a screen shot of the GPS latitude ripple while it tries to find its way back to an RTL here: dropbox.com/s/s9cl0lr7yi1nq … Ripple.png

Mind you that it ripples in all three dimensions during RTL. During ordinary flight modes, I would describe its behavior as crisp and responsive with near-instantaneous control.

Thank you in advance.

First, you need to do something about the vibrations.
your Z axis vibrations are bad, and very influenced by Throut
try to map CTUL/ThrOut vs IMU/AccZ
it’s all over the place, and can easily cause extra climbing.
copter.ardupilot.com/wiki/vibration-damping/

At what speed do you have your Copter RTL? What’s the TOW/AUW of your setup?
Have you tried auto missions? If so, does it overshoot there also?

I will check all these items as soon as I get back in town – this is a travel day. I’ll pop downstairs and try to do some vibration measurements right now.

And no, I haven’t tried waypoints yet because I was afraid of the loss of control. I did verify something yesterday. If the copter is several meters from home, it won’t overshoot the RTL zone. The farther away from the RTL zone it is, the greater the overshoot.

Total Take-Off Weight: 1.97 KG

I’ll calculate the thrust when I return, but I’m using four T-motor U3’s and 12" props (lots of thrust – it can take-off like a rocket).

Here is the ThrOut vs. AccZ result from just flying around: dropbox.com/s/ut63kqdd288fx … cZ%20R.png

Here are my tuning parameters (including WP speeds): dropbox.com/s/gbhxuydxjndrv … Params.png

And here’s an interesting test. I just put in in loiter about 12-15 feet off the ground and made it spin (pure Yaw) in place. I just made it go in circles. It held altitude and position perfectly – it literally looked like it was spinning on a string from the sky: dropbox.com/s/56yps8gn89xxz … Loiter.png (the sinusoid above it is the magnetometer x reading, which varies as I think it should when rotating in circles on the Yaw axis).

I’ll do more later.

It’s same on my copter.

RTL overshoots the landing point in the air, but makes a correction in descent, and lands perfectly in landing point.

[quote=“fryefryefrye”][quote=“bcdebusk”]
it always overshoots its landing zone an the X-Y axis too, but makes a correction, and lands perfectly.
[/quote]

It’s same on my copter.

RTL overshoots the landing point in the air, but makes a correction in descent, and lands perfectly in landing point.[/quote]

It would be a non - issue for me, except the altitude overshoots as well.

Sorry to dribble-in information, but I’m in and out of town all week.

Take-off Weight: 1.97kg

Thrust at 50% throttle: 2.32kg

Thrust at 100% throttle: 6.4kg

I think for my next two tests, I’ll do the following:

  1. Put it in alt-hold mode and fly around slowly. Then I can plot the pressure-based altimeter versus the GPS altimeter.

  2. Next I’ll try the RTL function from increasing distances. My theory is the farther it is away from the RTL zone, the more it will overshoot.

  3. Then I’ll try some waypoints. I’ll try plotting the desired versus actual course.

Do these sound like reasonable next steps?

Ok – I’ve got some really interesting data.

I was going to do my RTL tests, where I was going to start the RTL process from close range first, then at increasingly far distances.

Instead, I had overshoot (in all three dimensions) on the closest-to-home RTL (which I didn’t expect). Then I did another close-to-home RTL and got a similar result. It overshot in all three dimensions and had a lot of trouble landing.

In all fairness, it was slightly windy because I believe a storm is coming in. While it certainly wasn’t sunny and clear, the conditions just weren’t that bad either – a light breeze at best.

Attached is the log – I’m convinced the answer is in this log, but I don’t know how to dig it out. Any help would be greatly appreciated.

Here’s my ThrOut versus AccZ during a variety of modes:

dropbox.com/s/g2xif501lxoa4 … cZ%202.png

Will adding some Z-axis dampening address this problem? Could this alone explain my unusual climbs and drops?

Would it explain these “lumpy” altitude RTL results?

dropbox.com/s/ws3p136ztr3k3 … %20RTL.png

Thanks in advance,

Brian

[quote=“Andre-K”]First, you need to do something about the vibrations.
your Z axis vibrations are bad, and very influenced by Throut
try to map CTUL/ThrOut vs IMU/AccZ
it’s all over the place, and can easily cause extra climbing.
copter.ardupilot.com/wiki/vibration-damping/[/quote]

You nailed it. I still have a little bit of latitude and longitudinal ripple, but swapping-out the Pixhawk-standard foam for the foam I normally use solved the altitude variability problems 100%.

Thank you.

P.S. I had no idea the foam I was normally using was so effective. I’ve done several custom builds with it and didn’t realize other people even had problems with vibrations. I simply took a dual-layer adhesive-backed foam we use for medical products a work and as it turns-out, it’s the ultimate vibration-killer.

Thank you again.