Smart RTL ArduCopter Demo Video

This afternoon, I decided to really test ArduCopter’s new Smart RTL mode. Smart RTL was added to master 3.6-dev as part of a Google Summer of Code project over the summer of 2017. It was added as a failsafe option in January 2018. Smart RTL tracks the copter’s course of flight, to include position and altitude. It will prune out unnecessary circles and loops, to continuously form a clean and efficient path home over a known course. So if your course of flight was around and over obstacles, Smart RTL will follow that path home, avoiding those same obstacles. But it will do so without flying in unnecessary circles and loops.

In the video, I hand fly the copter down the road between light poles at low altitude, then out into the field, up and over some trees, and back down into another field. I fly several random loops around the field to make a wacky course of circles that you wouldn’t want to follow home. Then I engage Smart RTL, which prunes that course to a nice clean path home through known points. It climbs up and over the trees, back down to the road, and right up the road between the light poles. It even nails the curve in the end if the road, landing right where it took off from.

Some portions of the video are sped up to 1.5x to 2x speed just to move things along. The RTL speed for this demo was set for about 11 mph. And my hand flying speed was probably 15-20mph.

Firmware: ArduCopter 3.6-Dev
Equipment: 3DR Solo with a Pixhawk 2.1 running Open Solo 3.0.0
Video: GoPro H4B, 2.7K, 60FPS, ND8 Filter (too dark…)

7 Likes

This is a really excellent video. That’s definitely going on the wiki!

2 Likes

Hey, that is really a cool feature! Can’t wait to have weather (Deutschland) to try this out and have fun with that :slight_smile:Thank you for sharing. And yes, it is worth to be added to the WIKI .
Big ‘thank you’ to the DEV’s :clap::clap::clap:

1 Like

COOL! makes me want to drag out my Solo and play!:grinning:

1 Like

I like that smile on your face at the end! Pretty amazing result with Smart RTL.

1 Like

LOL. I was really happy the end worked like that. I intentionally took off and did that little turn at the end of the road hoping it would replicate that, swooping in to a low approach and landing on the way back.

1 Like

Haven’t been able to get this to work. Upgraded to 3.6 on the board. Hand flying, automated flying, every time I hit the RTL switch it comes straight home in normal RTL mode. Read the wiki and configured FS_GCS/THR to 4 as described. Any idea which step I’m missing?

1 Like

You need to setup SRTL rather than RTL.
Both are available but they are different flight modes.

1 Like

Been out of this platform for years and happy to say I’m getting back into it now.

Setting SRTL as a flight mode: is this done rc-remote side? I don’t see SRTL option in the flight mode drop-downs in mission planner.

1 Like

Excellent video, great demonstration. Also really enjoyed the scenery, especially the wildlife.

1 Like

From APM Planner
29%20am
And can be setup on the other channels as well, which is how I generally do it.
So I use CH7 as RTL, but you can just as easily select SRTL.
Have you updated to the latest FW and GCS?

1 Like

Not present as a drop down option in flight modes on Mission planner. Jumped over to QGCS and got it working though!

1 Like

You are probably using a very old version of Mission Planner.

1 Like

Thank you Matt so so much for sharing,yes your smile said it all,just have to love arducopter will give this a go here if the weather ever improves,more fun to be had

I want to try it also.

I’m using Mission Planner version 1.3.63, build from a few weeks ago. The flight controller is the latest Navio2 that includes Arducopter 3.6.5.

I see two new parameters SRTL_ACCURACY and SRTL_POINTS in the parameters, however; I cannot find anything about SRTL in the flight modes pull down nor do the FS_GCS and FS_THR parameters mention anything about options 4 and 5.

Is it really there yet?

Thanks,

Paul

Yes, I’ve got a quad on 3.6.5 and SRTL is in MissionPlanner and works well in real life

Adding my latest experience with Smart RTL and interested to hear others experiences.

This was in Copter 4.5 and I’ve just been testing in 4.6 Beta too, Cube Orange.
Two different copters.

  1. When SRTL was initiated the copter just sits there for a couple of seconds and on multiple occasions I’d just cancelled SRTL by choosing a different mode - assuming SRTL was not working.
  2. If we wait long enough the copter moves off and starts SRTL but it’s moving at about 1m/s (or similar) and is so slow the copter would definitely run out of battery.
  3. Changing WPNAV_SPEED to something other than a neat 100 has made SRTL a bit more usable. I set it to 1111m/s and SRTL works a bit better now, doing a believable speed between intersections.
  4. The processing is slow, as if the processing of the collected points is not even trimmed until SRTL is activated, causing the copter to wait sometime before any intial movement. It seems the path is not calculated in advance, since the copter moves along one leg, stops and waits, then moves along another leg, and so on like this until it reaches the take-off point.
  5. We did normal flight with plenty of variety for 90 seconds then engaged SRTL. The copter sits for a couple seconds or so before moving then SLOWLY retraces the (correct) path but pauses for about a second at each intersection or leg. It took about 123 seconds to complete the SRTL.

I had an idea SRTL would be trimming the SRTL points during normal flight, rather than waiting for the return journey. Even so it was slower than I expected and much more stop/start - definitely not continuous.

There seems to be an old WPNAV_SPEED bug or similar, were values like 1000 , 1200 and similar severely affect SRTL.

My related parameters are all default or close to it:

SRTL_ACCURACY,3      // up from 2m
SRTL_OPTIONS,4       // ignore pilot yaw
SRTL_POINTS,400      // up from 300
WPNAV_SPEED,1111     // was not effective at all when using 1200

Happy to be corrected, informed or otherwise on any aspect.
I’ll look at the code in my meager capacity and see if I can spot anything and raise an Issue.

This SRTL weirdness appears to be related to WPNAV settings, which are all defaults in my case except the WPNAV_SPEED.
According to code and descriptions, SRTL does trim the path as it goes. I can see in the log the number of points goes up and down as more are added then the path is trimmed.
When invoked SRTL feeds waypoints into WPNAV like guided mode.

The problem appears to be the copter is not getting up to any reasonable speed, then stops again at the next waypoint before moving to the next waypoint. So sure I can alter the behaviour with WPNAV settings, such as the jerk, accel and radius, but I would have expected SRTL to work with defaults and provide a smooth continuous flight path.

EDIT:
I had Object Avoidance OA_TYPE,2 for some reason. The default is 0 disabled.
I’ll test SRTL with that when the rain stops.

Other WPNAV settings can only help and probably should be checked and adjusted anyway.
Probably SRTL is a good way to test your WPNAV settings since it’s feeding in waypoints like Guided mode would.

EDIT due to maximum consecutive posts

Just tested: SRTL works as expected, I think the issue was with OA_TYPE,2 - set it to 0.
SRTL reacted almost immediately and followed the trimmed return path smoothly and perfectly without pausing at any waypoints.

I did adjust a couple of PSC and WPNAV parameters slightly for some improvements that are part of normal tuning, but none of that should drastically affect SRTL much.

WPNAV Speed on a tuning knob (Ch6) did not affect the speed of SRTL, it operated at the set WPNAV_SPEED, given the navigation parameters and distance between waypoints.

The only thing to look out for would be your takeoff and the SRTL landing. If you had messed around with the takeoff, then SRTL will do exactly that in reverse. As the copter gets very close to landing in SRTL it may be best to switch to Loiter mode and take over, or hit your Land or RTL mode switch. That will allow the copter to land more definitively and disarm sooner.

You can see the outbound path going all over the place then out to a point. SRTL goes basically straight down the middle in this case - the SRTL path appears more red.

WPNAV_RADIUS,200 cm
SRTL_ACCURACY,3 m

Max SRTL points used for that flight was 50, which trimmed down to 46 at the time of engaging SRTL.
A much longer flight peaked at 119 points, so the SRTL defaults are probably good for nearly all cases but the longest most complex flights.