I am reaching out to the DIYDrones community to validate a tradeoff in the code.
At the moment, you can define more than 100 waypoints and store them in EEPROM.
Unfortunately, because of lack of space we store more "simplified" information on each waypoint.
We have the suggestion to change that, by adding more detail to each waypoint (for example, allowing a Waypoint Radius to be set independently for each waypoint), at the expense of reduced # of waypoints.
So the question is:
Are 50 waypoints enough?
If "No", please provide a real world example where 50 waypoints are not enough.
More broadly, would you prefer fewer waypoints with more information, or more waypoints with less information and control per-waypoint.
Replies
Do you mean 50 waypoints or 50 commands, because I use either the DO_SET_SERVO and DO_SET_RELAY command to trigger the camera at each waypoint, so combining waypoints for navigation, trigger commands, and some for take off and land commands then 50 is of limited use. (I know that there are other methods available now)
Even using the 140 or so commands that are currently available (BTW nowhere near the 500 waypoint capacity that was originally advertised for APM) only covers an area of some 4.4 hectares so a limit of 50 is too little, personally I'd like to see the original 500 waypoints as the target.
50 is enough for me.
50 is not nearly enough. If you use the auto waypoint feature in the mission planner and try to set up a mapping route for as little as 20 acres, your waypoints and shutter triggers will eat hundreds of waypoints in a hurry!
50 is enough for me.
50 waypoints is enough for me at this time, but if I can be able of get more flight time with my UAV, then... I will run out of waypoints.
The better solution for me is a new kind of waypoint intended for aerial photography or just another use of the existing ones.
What I mind is this. When I make a flight plan Usually draw waypoints in a dristribution like this.
![3692469307?profile=original](https://storage.ning.com/topology/rest/1.0/file/get/3692469307?profile=original)
When I do that I get a flight path like..
I´m sure that with a little of PID tunning you can get better results. but, i you plan the flight path lique this.
Then you need a the half + 2 waypoints than the other method. and then you get better flight paths, because you allways start the leg with the right heading.
To do that i need that APM points to the tangent of a loiter waypoint. maybe I can tell APM do 0.5 loiter in that waypoint....
I dont know if you understand me because of my bad english.
This is probably a n00b suggestion that's already been discarded for whatever reason, but could you store the waypoints in a file on the SD card and just keep a buffer of 5 or so in the working memory? That would also let people save separate courses on different SD cards and swap them in the field (for those without a laptop).
The waypoint sizes, count not be variables.
If for each waypoint you use a more detail, the number of waypoints will be reduced, if you use less details the number will raise and you could have any combination of waypoint with full and less details.
I haven't used 50 yet, but I have come close.
28 is the most I have used for an aerial mapping test, but this was only a test and in the future I could see myself using far more than 50.
How about instead of adding it to every waypoint, add a waypoint that changes the waypoint radius from that point on.
ie
WP1
WP2
WP3
WP4 = Change radius to 100m
WP5
WP6
WP7 = Change radius back to 50m
WP8
WP9
etc
I don't think 50 is enough. Arial mapping uses quite a lot and until there's a curve route method all curves need to be worked out through multiple waypoints.
Since some people want a waypoint radius why not just let them specify the default radius, which would take no more space. I'd also think that if you could set the default radius then you'd probably only need a couple of special waypoints with a custom radius.
So even if the custom radius takes a whole extra waypoint you still shouldn't need to limit us to 50. Some users could set the default radius then have 80 custom default waypoints and 10 (2x the space) custom radius waypoints.
Wouldn't that be a lot better than limiting people to 50 and just squandering the vast majority of the freed space?
I'm sure you can find a better solution than limiting the waypoints to 50. You only need 8 bits (1 byte) to represent 256 values, and you could implement this as a difference to the default radius. Even 4 bits (1/2 byte) can represent 16 values, which would probably be enough if referenced to the default radius.
So we're really only talking about 50-100 bytes here. I'm sure this is just only a couple waypoints worth of data.
It might be helpful to figure out what people are wanting custom radii for and how much resolution they need? Do they really need a custom radius for EVERY waypoint or would a choice of 2-4 custom values be enough?
If they can live with 4 custom values you'd only need 3 bytes (4 bytes - existing default) for the radius values. And 2 bits for each waypoint. 2 bits x 100 = 200 bits = 25 bytes. That's only 28 extra bytes! I'm sure you can find that without taking away waypoints!