The end of APM?

With the latest release, 3.01 where lot of new features not supported by APM, looks like our APM life has come to the end very soon.
I think there are still a huge numbers of APM are running and some may not want to upgrade to Pixhawk due to various reason. I wonder if the some developer can keep refine / bug fix the APM 2.78 and make it as robust as possible. We can also consider this is a low cost or entry level alternative to the autopilot world, so no new fancy features is required. Just a solid platform.

I agree. I bought the Pixhawk, looking for a radically new experience but I found, for a plane, the 2.5.X APM is more than sufficient. I’m not knocking the Pixhawk at all, just saying for a fixed wing platform, in fact, anything besides multi-rotors, the APM works just fine.
Steven

I’ agree too with the idea; two versions, one simpler for entusiasts like me and another for professional people; that’s admits more and more people using arduplane, and then some of these, can migrate to the professional vers, if not, few people have conditions to use it well. :wink: Thank’s

I totally agree. I do not understand that the quad can fly very steady with apm 2.5 and not the plane. Maybe the code is much complicate without good reason.

A pixhawk with short range telemetry ( 3DR Radio ) cost USD 400 plus. This is quite a big sum more lot of hobbyist out there. As 3D Robotic move forward to Pixhawk, it should be totally viable for them to re brand the APM as low cost entry level autopilot. If they are not willing, some company like HobbyKing has been offered similar product.
The important things is firmware development. I feel that the 2.78 has been very stable, just some bugs, sometime may be specific to one particular airframe or set up to be iron out.
I also feel that since 3D Robotic has become such a successful company in a short time frame, mainly because of APM, It may be morally right to support those whose has bought their product. It should not be too difficult for them to have a small team of engineers for this task.

Guys, not wanting to bash anyone, and not wanting to start a cult of person, but you DO know who the lead dev of Plane is right?

Andrew Tridgell…?

[ul][li]Degree in applied mathematics and physics[/li]
[li]PhD in Computer Sciences[/li]
[li]They guy who “hacked” Microsoft’s SMB protocol, wrote the Samba implementation and with that made a major contribution to the success of Linux[/li]
[li]They guy who wrote rsync - the most efficient and brilliant file-synchronisation system available[/li]
[li]Just “in between” he wrote a reinforced-learning based chess engine[/li]
[li]Thanks to him the TiVo TV box now works also in Australia[/li]
[li]And - besides other things - he is teaching drones to understand what they see - machine vision for search and rescue applications (Link1, Link2)[/li][/ul]

Bottom line, this guy doesn’t write inefficient code which is “more complicated without good reason”. The thing is, technology advances. People expect more than just “stable flight” nowadays. And many bugs which might appear simple, require more complex mathematical solutions than you might think, such as GPS glitch protection and similar. Besides, the comparison to Copter is as wrong as it can be because Copter is even more complicated and hit harder by the shortcomings of the ATMEGA platform. A ton of features in Copter are already only available on Pixhawk and Copter runs significantly smoother on PH than on APM.

And by the way… Try installing e.g. Windows 7 or 8 on a 30 years old computer… :slight_smile: I know, the APM isn’t 30 years old but the comparison fits. The ATMEGA2560 is an 8-Bit processor running on 16MHz! That’s right - Commodore 64 level - for those of you old enough to know the bread box… And it has only 256kB flash (for the software) and 8kB RAM.
The Pixhawk runs a 32-Bit CPU at 168MHz. It has 2MB Flash and 256kB RAM.

My personal opinion: Stop whining and be happy that you can get such a cool box with software developed by some of the brightest minds on this planet! If the Pixhawk was made by e.g. Boeing or Lockheed and Tridge would work there, it

[ol][li]Would cost $279000 instead of $279[/li]
[li]Would only be available to military users[/li][/ol]

Really guys, some perspective here, please!

Stefan: for me, Tridge capabilities are not in discussion, his develop is brillant and I love progress, the only thing is that we couldn’t tune the last vers (TECS) with APM and, perhaps we can’t buy a new hardware for some time because, from this year we have severe restrictions to buy something outside our country (Argentine), so, if the solution is to migrate to Pixhawk, perhaps we have to wait a long time to change our corrupt goverment to change the APM; unfortunatly I have a new one in a box yet :frowning: and two flying; so I’ thing that is not a bad idea to have a stable vers for APM, only fixing bugs that developers report, but not said that this guys write inefficient code, is a great code in develop so with things to improve; or perhaps, this isn’t a good idea but; my respect and admiration to Tridge :smiley:
Sorry my terrible english, I can’t write my problems correctly.

Looking at the pace of the development, in the not too far future, we will see APM can no longer use the new code because of not enough memory and processing power.
To me, APM had brought us thus far and no major issue, except the regulator which I think should able to solve easily. The important issue now is if anyone will continue with the development or refinement of the code for APM.
I read somewhere that 3D robotic produce 2000 APM board per month. Over the years there are huge number of board working out there, certainly there is market for a stable code.

[quote=“StefanG”]Guys, not wanting to bash anyone, and not wanting to start a cult of person, but you DO know who the lead dev of Plane is right?

Andrew Tridgell…?

[ul][li]Degree in applied mathematics and physics[/li]
[li]PhD in Computer Sciences[/li]
[li]They guy who “hacked” Microsoft’s SMB protocol, wrote the Samba implementation and with that made a major contribution to the success of Linux[/li]
[li]They guy who wrote rsync - the most efficient and brilliant file-synchronisation system available[/li]
[li]Just “in between” he wrote a reinforced-learning based chess engine[/li]
[li]Thanks to him the TiVo TV box now works also in Australia[/li]
[li]And - besides other things - he is teaching drones to understand what they see - machine vision for search and rescue applications (Link1, Link2)[/li][/ul]

Bottom line, this guy doesn’t write inefficient code which is “more complicated without good reason”. The thing is, technology advances. People expect more than just “stable flight” nowadays. And many bugs which might appear simple, require more complex mathematical solutions than you might think, such as GPS glitch protection and similar. Besides, the comparison to Copter is as wrong as it can be because Copter is even more complicated and hit harder by the shortcomings of the ATMEGA platform. A ton of features in Copter are already only available on Pixhawk and Copter runs significantly smoother on PH than on APM.

And by the way… Try installing e.g. Windows 7 or 8 on a 30 years old computer… :slight_smile: I know, the APM isn’t 30 years old but the comparison fits. The ATMEGA2560 is an 8-Bit processor running on 16MHz! That’s right - Commodore 64 level - for those of you old enough to know the bread box… And it has only 256kB flash (for the software) and 8kB RAM.
The Pixhawk runs a 32-Bit CPU at 168MHz. It has 2MB Flash and 256kB RAM.

My personal opinion: Stop whining and be happy that you can get such a cool box with software developed by some of the brightest minds on this planet! If the Pixhawk was made by e.g. Boeing or Lockheed and Tridge would work there, it

[ol][li]Would cost $279000 instead of $279[/li]
[li]Would only be available to military users[/li][/ol]

Really guys, some perspective here, please![/quote]

I really enjoyed this quick little bio on Tridge’s background and accomplishments. I just picture him sitting on his couch with his dog like in his avatar.
I would really like to see something similar done for the other developers as well. Maybe periodically we could have a “Meet Your Developer” post to highlight who these guys are and further our appreciation for their participation. Who is Paul, Randy, Robert, etc…
Just an idea.

Cala2

I’m the developer that wrote the TECS controller. I don’t frequent the forums normally as I have limited time (I don’t get paid for my contributions) so need to spend my available time on development. However we have started looking at auto-tune for TECS parameters, hence the interest in any reported TECS tuning issues.

Can you send me a link to the posts where you raised your TECS problem. TECS relies on a foundation of having:

a) good roll and pitch estimates,
b) a properly tuned set of roll and pitch loops with PTCH2SRV_RLL set so that it doesn’t lose height in turns when flown in FBW-A.
c) harmonised pitch limits, airspeed limits, climb and sink rate limits and throttle limits

However I do appreciate that users can find it be difficult to achieve all of this due to the number of tuning parameters.

Regards,

Paul

you are right, except there only thing you got wrong; C64’s 6510 runs at 1Mhz , and have 64kB RAM - and no extra flash for software. :slight_smile: - so a 2560 is so much more :slight_smile:

[quote=“StefanG”]The ATMEGA2560 is an 8-Bit processor running on 16MHz! That’s right - Commodore 64 level - for those of you old enough to know the bread box… And it has only 256kB flash (for the software) and 8kB RAM.
[/quote]

I appreciate the sentiments in this discussions, but I thought I could perhaps correct a few things.
First off, I’m fairly new to autopilot and embedded development. I’ve done about 4 years of it now. I really enjoy the challenge, but I don’t want anyone to get the impression that I am an industry veteran. Luckily we do have people on the dev team who can gently point me in the right direction in their areas of expertise and truly are industry veterans (both in embedded development and in autopilot design). That is really what makes it so much fun to work on the project!
Secondly, we have in fact been putting a lot of effort into making the code more compact to fit more on the APM2. That isn’t a new effort either. We nearly had to abandon the AVR microcontroller on the APM2 a long time ago (before PX4 was even ready) as we were running out of ram. We found some new ways to save ram and managed to keep things going.
That process of making the code more efficient is a continuous effort. If you look at the level of memory usage in APM:Plane 3.0.1 versus 2.78b you’ll see that 3.0.1 actually uses less memory on the APM2. That is largely due to the GPS driver rewrite, which saved us about 200 bytes of ram. If you look through the commit history of APM then you’ll see a lot of efforts like this going back several years. If we used the coding approaches we used 3 years ago with the current feature set then we would be using several times the available memory on an APM2.
Despite these efforts we are getting close to running out of all 3 key resources:
[ul]we are at 241k out of an available 248k of flash space
we are using 7.2k out of an available 8k of ram
we are using about 50% of the CPU in APM:Plane, and 95% in APM:Copter
[/ul]
The strategy we are using at the moment is to try to to improve existing features on APM2, but putting most cool new features only on the higher end boards (PX4, Pixhawk, Flymaple and VRBrain). We use conditional compilation to allow those features to be not built on the APM1 and APM2. That keeps us (just!) below the limits of flash.
This process can’t last forever though. One problem is testing. As we get more and more code that is different on APM2 and the higher end boards it means that we need to do more testing on both types of boards. Not many people in the APM:Plane community send me logs from the ‘latest’ code (really only 2 or 3 people do that). Most wait for a stable release. That means that most of the testing is done by 2 or 3 people, and those people fly PX4 or Pixhawk. So the APM2 doesn’t get as much testing as it should.
What I think is going to happen is the same as what happened with the APM1-1280. I will try to keep the APM2 going for as long as I can, but eventually the amount of time we need to spend on code optimizations to keep the APM2 flying will be too high and we’ll have to stop. That happened with the APM1-1280 about 6 months ago, which was a long time after the APM1-1280 stopped being sold (2 years?).
At that point people who have an APM2 can still use the old releases, but they won’t get updates. I don’t yet know when that point will be.
I should also mention that the APM2 will get some of the cool new features if we can fit them in. For example, the new AUTOTUNE code we are working on now does work on APM2. That is small enough and low enough CPU usage that we can make it available. Join the drones-discuss list if you want to get involved in the development or testing of that feature.
Cheers, Tridge

If you want beta testers I’m sure you can find many volunteers if you solicit for them. There are a lot of experienced hobbyists who are just looking for an excuse to fly. Just grant them a badge like “Test Pilot” and you will have a bunch of logs from pilots eager to contribute.
Gabor and Miguel over at MinimOSD-Extra actively solicit beta testers in the form of videos and they get a good response. I think the feeling is that the APM project is more of a members only club. I think most people would be as surprised as me to learn that you don’t have enough beta flight testers.

Dear Tridge, I own a 2560 apm1 in a skywalker 1900, and a APM2 in a flying wing 2.7mts with DLE30 . It would be an honor for me to test the new version and report to you the results.
I remain at your disposal.
Martin Lere
martinlere@hotmail.com

yes, I would like some testers!
It would be especially useful for APM1 and APM2, but PX4/Pixhawk testers would be good too.
The ideal would be that testers fly the ‘latest’ firmware and join the drones-discuss mailing list, where I usually put out announcements about major code changes.
I always fly the latest firmware myself (usually 3 or 4 flights a week), and I don’t push changes into the master branch that latest is built off unless I’m pretty confident of them.
An ideal tester would be:
[ul]someone who is confident they can recover their plane in manual mode if need be
someone who does full ground tests before takeoff
someone who looks carefully for anything behaving unusually
someone who is happy to try a wide range of flight parameters (different modes etc)
[/ul]
Do you think we should have an official group for it? On diydrones or on this forum? Or just work on the drones-discuss list? I’d like to be able to tell the testers about particular changes to look out for when they happen.
Development of APM:Plane is pretty much continuous, with an average of several changes per day, so what we really need is frequent testing.
I’d really appreciate some testers right now for the new AUTOTUNE code that has just gone into master. See this discussion, which includes instructions. So far I’m the only one to have flown the AUTOTUNE code - I’d really like dataflash logs from several planes to make sure its OK.
Cheers, Tridge

Tridge, could send me the. Hex to apm1 with autotune to try in my skywalker?

Thank’s priseborough and Tridge for your answers, I communicate with Martin Lere to test new vers this weekend beginning from standard params again; Martin Lere is my friend, my teacher, one of the most reference in APM here in Argentine, he’s an electronics specialist, an experienced RC pilot and he was following your proyect from the begining, he has all APM collection :smiley: ; (but worse than me writing in english) the other guys flying APM at the club (I’m included) is for him, he help us to install, to configure, to fly for nothing in change (except a barbacoe :mrgreen: ); but, with the latest vers he try a lot but he coldn’t configure well, so, worse me, that I don’t have his ability to recover in manual mode and crash two times; but is not easy for me now end with this because it’s give me more than the possibility of take some photos to my farm (my first objetive), it’s give me many good friends like Martin, this forum to discuss, to wait for changes, to test new things during weekends with friends, if I buy a close system I’m bored on the second day :unamused:; when some weeks ago my friends begans to abandom this and no news for a new vers, I begin to ask for help here with my terrific english :blush:. Now Martin is entusiasm again with the tester idea and have your help with logs so we have hard work this week end :smiley: :smiley: (and a barbacoe perhaps :mrgreen: )
[color=#FF00BF][size=150]THAAAAAANNNNNKKKKK GUUUUUYYYYYSSSSSS !!![/size][/color] :smiley: :smiley: :smiley: :smiley: :smiley:
Do you need a special configuration logs or only standard (NTUN, CTUN, GPS, MODES, etc)?

Hi Martin,
The ‘latest’ firmware on firmware.diydrones.com is what you want. Here is the full link:
firmware.diydrones.com/Plane/latest/apm1/
That firmware is updated automatically on each change.
Thanks for testing!
Cheers, Tridge
PS: Note that we need dataflash logs to analyse how autotune did.

thanks Tridge, is this the version with the autotune? Do I have to configure something for dataflash logs?

I’ll try tomorrow, Thursday. At night public logs.

Thank you!

[quote=“martinlere”]gracias Tridge, ¿esa es la version con el autotune? ¿yo tengo que configurar algo para el dataflash logs?

I’ll try tomorrow, Thursday. At night public logs.

Thank you![/quote]
¿This the autotune vers? ¿We have to configure special items for Logs or the standard ones is enough?