SmartRTL testing and some problems

Hello, i have been extensively testing SmartRTL lately. I mainly noticed 2 problems:

1 - I can’t override commands during SmartRTL, with standard RTL can be done and is very handy when adjusting landing spot on last meters of landing procedure.

2 - Very often the landing stage of SmartRTL doesn’t slow down speed when approaching earth in the last meters before touching ground.

1 Like

For #2, you should lower WPNAV_ACCEL. It’s the cm/s/s the copter will accelerate and decelerate. In the final leg of waypoint navigation, it will begin decelerating at this rate, at a distance calculated to result in coming to a stop at the end. So the lower this value, the more gradual it will decelerate to a stop at the end.

However, I think there is a bit of a catch in how this would take place in Smart RTL. It’s currently written such that the deceleration begins in when approaching the last waypoint (https://github.com/ArduPilot/ardupilot/blob/master/ArduCopter/mode_smart_rtl.cpp#L92). This strategy works fine in auto missions since the distance between waypoints is usually much larger. But in Smart RTL, the distance between waypoints can be as small as 2 meters. Which leaves very little time to decelerate to a stop. So the copter may end up coming in pretty hot and slamming on the brakes at the last few meters.

@rmackay9 perhaps we need to make the logic behind setting fast_waypoint = false a little more flexible, rather than just final waypoint?

What you are saying is true but i meant another thing. I mean when it lands in SmartRTL it doesn’t decelerate as it does in normal landing or rtl, it slams on earth pretty hard. My RTL is setup as authomatically land when it arrives to rtl, so i guess SmartRTL does the same but unlike regular rtl, smart doesn’t land appropriately but it looks like falls to earth. Looks like it doesn’t apply the lower speed that is supposed to be used on final stage of landing.

Corrado

I have not experienced that. It’s always landed normally.

My last point was at 4 meters maybe that is why?

I did several tests with SmartRTL, and I observed what was explained by Corrado_Steri.

In 10 flights made, I could notice what is described in the line No. 2, “Very often the landing stage of SmartRTL does not slow down speed when approaching earth in the last meters before touching ground.”

In my case I have a 210mm Quad. I do not know if this affects small vehicles.

@Pedals2Paddles I’ve been testing Smart RTL and the vehicle is landing toooooooo fast! I’ve lost some landing gears… For all landings, it looks like the vehicle doesn’t know the ground is approaching. Regular RTL is perfect, the landing is quite gentle. Any idea if this problem is fixed? I’m using Copter 3.6.12 on 960mm Hexa with Cube Black + Here2 and a Laser Rangefinder. It would be great if it could be fixed on C3.6 because C4.0 is quite new.

On another note, Precision Landing seems to be affected. On Smart RTL mode, it just ignores the beacon. Maybe because of the descent rate. IMHO, Smart RTL should land the same way RTL does.

In these circumstances, how high above ground is it when arriving over the home location where it transitions to descending straight down to land. And also, is it approaching that point descending along the waypoint course quickly? Or coming in fairly level?

I have a theory that if you final part of the waypoint course is cruising in on a fairly quick descent to a low altitude (maybe 2ish meters), the land controller is not able to account for such a short distance between the copter and ground. The landing controller begins with the current descent rate. If that’s already fast and already low, I can see it not working out from what I see in the code.