Arducopter 50 is our first fully Software in the Loop tested version. Special thanks to Tridge for developing the test suite!
Here is a quick video of the testing in action:
You can see the copter takes off, flies a simple square in manual and records the square with CH7 toggles at each corner. It then loiters and switches to AUTO to fly the recored WPs.
Once that's done it lands and loads a mission via mavlink. The mission is intended to test all commands including conditional commands and the jump command. The last two commands are RTL and land.
What else else is new:
More aggressive Alt hold control - You can now achieve rapid ascents & descents in alt hold. The throttle acts like a large dead zone with the upper and lower 20% being a proportional control. Adjusting the throttle resets the new target altitude.
Added the ability to log arbitrary data for better debugging.
Recording WP in normal flight with Channel 7. This is a great way to get WPs recorded in the field. Just toggle ch7 High for 1 sec and it will save the WP to memory building a WP list on the fly. Switching to AUTO mode will fly the WPs. Rebooting will allow you to start over on a new mission.
Added separate Acro PIs for people to tune Acro mode.
Z dampening - Alt hold now has an optional Z accelerometer dampening system. You need to compile it yourself to test. I'm eager to hear user's feedback on this so we can make it on by default. You can enable it in APM_Config.h by changing the '0' to a '1' like this "#define ACCEL_ALT_HOLD 1"
Y6 now has top and bottom missing ratio enabled. It's 1.0 for the top by default, but many users set it to 0.9.
Crosstrack correction is now enabled for WP navigation. Thanks to the SIL, we could test this properly. This makes the copter hold a very tight line to the next WP. The default gain is 4.0.
RTL now defaults to return at the current altitude.
Improved Circle mode performance.
Changed the Mission scripting execution order to be more intuitive. Conditional commands now execute after navigation commands are complete, not just loaded.
Various mission scripting bug fixes.
Removed some tests in the CLI for memory savings to fit the 1280.
Added precautionary safety preventing the user from entering flight modes that require GPS lock. If home has not been set you will get a stabilize mode instead of Loiter, or Auto, etc.
There were also many small bug fixes and code cleanups performed - too many to list.
If no one has any major issues, I'm going to call this the final stable release!
What's next in version 2.1 (target release early January):
- complete Mavlink 1.0 upgrade, ensure better Mission planner support.
- exploration of learning algorithms for auto-tuning.
- sensor/register level software simulation for testing more code.
- expanded test suite with more scripted scenarios
- secret cool stuff regarding the DCM
If you run into any issues, please post them to the issues list.
So strange! I've never come across this. Are you running .54?
If I send you a patched pde file can you add it to the folder and re-upload? Let me look into it tonight and I'll make something for you.
Do you have solid red GPS light on the IMU board?
if not then there is a problem between your GPS and the APM/IMU board
Hi Jason, I finally got some good weather to test this some more and it's doing exactly the same thing.
I'm still on .50. I was thinking to install .54 but have been reading here about the problems if you reset the board. Has that problem been resolved?
I did two flights today with the same results. The mode changes just do not happen if I'm in the air but they work fine if I'm on the ground. I have a solid blue on gps and solid red on front of board. I can open the mode window in MP while I'm flying and when I change modes on my radio it doesn't register the change in MP.
Other than that .50 is flying very good but I don't venture out far because I can't use any of the modes. No matter what I do to my flap switch (combined with my gear to get 6 modes) I can't get it to change when I'm flying. I can simulate flying by holding it with or without props spinning and it all works fine.
I can send my logs again but I really don't think you will find anything that you didn't find in the last one.
Is there anything in the software that could cause this? I can't think of what else to check to track down the problem.
I did some stability test (in stabilize mode for now) with 2.0.52 and it looks good but after 30 seconds to a minute the copter starts leaning to one side more and more (typically left). I did the level routine multiple times but when I take off it is leveled. Also if I land and take off immediately it is still leaning to that side.
Did something changed in the way of handling stabilize mode?
Also I don't have my filtering pads soldered on the IMU. With previous versions of Arudcopter this didn't give me issues but should I solder them?
Absolutely solder them. What you are seeing is vibration causing a bad reading from the accelerometers.
The accells are used to slowly correct the Gryos, but high vibrations can make them read the wrong angle.
This manifests itself in the lean you are seeing. The solder pads are actually low pass filters that get rid of a lot of the noise.
A small bump or a prop change can induce a new vibration making the problem appear.
What version did you use before?
Why is the log not visible in 2.0.53 from log cli, is this a failure in the program or have I to switch something?
The logs have to now be formatted. The logs are a mini file system and they can now write indefinitely rather than fill up and fail. The problem was in the formatting routine which was running before the init process.
If you load 54, you should erase the logs to get everything running smoothly again.
Thanks Jason, I shall soon test your release 54 and give you my feedback ASAP. Today, I focus on the ALT_HOLD mode and try to find the good PID setup. STABLE and SIMPLE mode works very well.
Keep up your good work,
Thank you, I will try. I see from 0.53 not a Beta anymore.
Thank you Jason, I'll proceed and solder them.
I was using 2.0.49... may be with a little mode pitch and roll RATE_P.
Also I had a small crash when switched to .50 (it was my fault) and some props might have incresed vibrations...