Servers by jDrones

Is There a Max # of Waypoint/Commands Pixhawk Will Accept?


(jacques_eloff) #1

I seem to have hit an issue when setting up flight plans for large (fixed wing) survey areas. There seems to be a limit of around 725 waypoints/commands that the flight controller (Pixhawk 2.1) will accept. If I try any more than this I get an error as shown in the image. This may seem like more than enough, however with large survey areas and all the camera firing positions, it is very easy to exceed this number.

I have also uploaded an example flight plan for anyone else to try upload: https://www.dropbox.com/s/kezmka1ibqgac31/Flight%20Plan%20A%20(could%20not%20load).waypoints?dl=0


Any help appreciated, thanks,
Jacques


(Chris Olson) #2

There is no limit to the waypoints, but you’re likely out of memory to store more. Upgrading to a STM32F7 FMU v5 unit with double the memory will probably resolve the issue.


(Luís Vale Gonçalves) #3

Sorry @ChrisOlson, but there’s a hard coded limit defined on the flight stack. I had a PR for that that never went in https://github.com/ArduPilot/ardupilot/pull/4082 and https://github.com/ArduPilot/ardupilot/pull/4172 that, at least in the Linux based boards, would dramatically increase that to 200 rally points, 1000 fence points, 7000 waypoints.

The current number is 724 waypoints, 50 rally points and 84 fence points


(Chris Olson) #4

Ah ok, I always thought the number was unlimited. I didn’t know there was a hard-code limit, and thought the only limitation was memory.


(***) #5

I see there were a few PR’s for this but it looks like nothing ever came about, will this still be the case if running chibios, or does that not have anything to do with this? As people begin to push the limits and airframes become more capable I could see this being an issue for some folks.


(Luís Vale Gonçalves) #6

The limits are the same on Chibios. Best option was to raise the limits on the Linux based boards, or having the missions on the sdcard…

The next best thing (and why I gave up extending the wp limit) is to use Lua scripts (coming soon to a ArduPilot near you) :wink:


(Luís Vale Gonçalves) #7

Sorry, but for copter is a little less


(Chris Olson) #8

Yeah, it does sort of look like the ultimate deciding factor in the hard code limits is memory constraints.


(Mike Boland) #9

Just a question about why so many waypoints.

Why do you need a Digicam_control for every photo?

We do large survey areas with 500 to 700 photos per flight not including waypoints.
The only command necessary for us is the Set cam trigging distance.
The focus and other camera specific functions we set in the camera.


(jacques_eloff) #10

Hi Mike, if I recall correctly, CAM_TRIGG_DIST takes photos regardless of flight mode so I will be left with a messy set of imagery, eg. when flying in loiter modes between missions etc. Bear in mind I am mostly flying fixed wing and flights can be in excess of an hour. How do you get around the issue of all the unwanted images?


(Nathan E) #11

Use CAM_AUTO_ONLY, and CAM_MAX_ROLL

Then just use a DO_SET_CAM_TRIG_DIST when you enter and exit your area of interest. That way you’ll only use up 2 additional waypoints, and your mission won’t be filled with bad pictures. If you just enlarge your polygon to extend your flight lines, there will be no need for overshoot waypoints either. Focus on tuning your turns. I always map perpendicular to the wind so that I turn into the wind. At 19m/s, and 60-degrees of bank, my turn DIAMETERS are about 35m when there’s a little wind. If you’re going slower, then that diameter should be smaller.

Here’s a grid of 32.5m flight lines from a few days ago:


(Evan Williams) #12

As an additional note, the starting and stopping of CAM_TRIG_DIST may be done automatically with the auto waypoint survey tool - just use the “Break up starts” option under “Camera config”.

Also, don’t forget that you can use lane skipping to help cope with large turning radii for heavy craft, at the cost of less efficient travel times.


(Nathan E) #13

Yeah I was implying that you should NOT use Break up starts in order to save waypoints. Coordinate your flight lines and waypoint radius so that you’re turning just outside the AOI of your project. When you’re turning, it won’t trigger anyway if you set CAM_MAX_ROLL.


(Evan Williams) #14

Ah, clever!

My apologies.