Jason is travelling this week, so I'll take the helm for the next software release post.
UPDATE: the motor remapping thing was confusing everyone, so we took that out and returned to the regular motor mapping. That means that APM 2 users with Hexas and Octos should wait for the next version. APM 1 users should be fine with any frame.
NOTE: Hexa and Octo users: there have been motor mapping changes that may affect you. Please don't upgrade until we can update the documentation to reflect the changes. This should happen by the end of the day today (Feb 1).
ArduCopter 2.3 is now available in the Mission Planner. This is the next revision of the ArduCopter 2.2B6 code, which is perhaps the most tested code we've ever released (1288 comments in the thread!) and certainly in my experience the best code, too.
The default PIDs are optimized for a 3DR/Jdrones quad with 850 motors and 10" props. If you're using more powerful motors/props, start by turning down Rate Roll P (default is 0.14, so start by turning it down to 0.1. In general tune PIDs in 25% steps).
Now that we've got solid code out there, we can turn to collecting suggested gains for standard frames, and a better guide to how to tune PIDs for your unique setups.
Here are Jason's note on the latest changes (mostly from 2.2B6)
A dampening term called STAB_D has been refined. A D term for all of the Rate based control loops has been added based on Igor's work. Landing for Baro and Sonar has been refined based on JLN's work. A slightly new approach to Loiter and Navigation is being used to try and linearize the pitch and roll for rate control. It tends to use lower gains, yet has a more assertive response in the air.
STAB_D : This is the gyro accretion dampener. This can remove small wobbles during sharp changes in angle commands. Making this too high can have a negative effect in performance and add a memory effect that can cause temporary loss in control. The in flight tuning is ranged so you are just below that effect.
If you haven't noticed before the control loops are in two stages. The first is a PI stage that converts some sort of position or angle error into a desired rate. These generally do not need to be tuned. They are more of a user preference on how fast you want the copter to perform a motion.
The second stage is the actual PID loop that needs to be tuned for the copter. This converts the desired rate into a motor command of some sort. I added a D term based on Igor's recommendation to the PI's for each rate controller. These should show up soon in the mission planner for the release. I cannot give you a concrete answer for how to tune the D terms, because they each depend on their function such as alt hold or loiter, etc.
Still, the absolute most important term is always the Rate_P term for each loop. Start tuning here.
The default PIDs are in the what flies great for a stock jDrones/3DR Quad with the purple motors in X mode.
Note the Mission Planner does not yet highlight these D terms on the main tuning page (it will soon), but you can find them and modify them on in the Parameters list.
Autolanding should now work well (see video above) and the Tri servo issue is now resolved.
The code should now compile with Arduino 1.0 (thank, Randy!), but remember that you need to use the "relaxpatch" version of Arduino in our downloads section.
[Update: we've reverted the below. See update at the top of the post]
Important for Octo users:
We've changed some of the motor orders for some more exotic airframes. We'll be updating the docs on the Wiki in a day or two to reflect this. Pat Hickey explains:
As before, the hexa plus APM2 motor setup has changed from the ordering [1, 2, 3, 4, 5, 6] to [ 5, 6, 1, 2, 3, 4 ].
The Octa V layout for APM2 is:6 42 58 13 7Motors 1 through 4 spin clockwise, and 5 through 8 spin counterclockwise.
I just checked 2.1 and all the Input signals are logged properly... so it's only 2.3 that's doing this ;-( Any ideas? Thanks....
Yes, I know about this. It was a bug in the CTUN logging and I'm pretty sure that I've fixed it in trunk. The issue was that in the Log_Read_Altitude it was printing the Pitch in as an unsigned integer and the yaw as a signed integer. It should have been the other way around.
Should be fixed in 2.3.1 which is just a minor patch to fix this and a few other small bugs. Hopefully it'll be out next week in the mission planner.
I tried to run the 2.3 firmware in HIL mode using the tutorial in http://code.google.com/p/ardupilotdev/wiki/HILTestAeroSIM. However I was not successful. Any comments?
1- I downloaded arducopter 2.3 firmware.
You something wrong... :-)
1) Remove from the config the define about "X_PLANE
2) With AeroSim V3.81 use the planner V1.1.28 and not the others, the plugin inside 1.1.34 is for AeroSim V3.83 (unreleased because is beta)
3) In the planner flag the "hely" square option, not the quad
Hello I have just tested again the AeroSIM-RC v3.83 with the latest version of the mission planner v1.1.34.
It works very well with the ArduCopter v2.3 (official GIT version), see below the tested setup:
#define X_PLANE ENABLED
In attached all the required files and the tested model,
I hope this will help you,
In attached the tested AMHill plugin.
For those has some trouble again, you will find my fully tested setup in REAL FLIGHT and in HIL mode with all the PIDs (HIL and real model), params files and the detailled setup which works well with the ArduCopter v2.3 (official release) and AeroSIM-RC HERE
For those doesn't have the AeroSIM 3.83 update for the 3.81, you may download it at:
@Marco and JLN
Thank you very much for your helps.
We succesfully tested HIL mode using the firmware, PID parameters, AeroSim plugin and GCS->Simulation window settings JLN provided on APM1 with AeroSim Rc 3.83 and GCS 1.1.34.
Auto Land, RTL, Loiter, SimpleTestNav2 mission of JLN and the mission attached worked very well.
One issue is that with the current roll and pitch gains in simulation window, we could not obtain a full scale response in AeroSim RC. When we move the roll/pitch stick we observed very small changes in AeroSim RC making the control of the copter very hard. When we decrease the gains the scale is increased but there were some delays and oscillations in the commands passed to Aerosim. This is also making the control of the quad very hard.
Is the source of APMHil plugin open? We could not understand the affect of gains by just changing them. Maybe we can help on this issue if we have the codes.
We also tried "scriptRTL_Land_Test" in http://ardupilotdev.googlecode.com/files/ArduCopter_HIL_setups.zip, but it didn't work and also it prevented arming of motors after the trial, until reopening the GCS.
For full scale response you must tuning the range of all the stick excursion in the "Simulation" section inside the planner.
MP 1.1.34. Modes not working
Modes are correctly shown in setup page (as usual), but not shown well in "flight page" or "Simulation page" (always shown "stabilize").
Where can I get the MP 1.1.33? (not in download page, only the 34). UPDATE: got it (you need to click on search "all downloads")
Could you check that?
I just hooked up my AC 2.3 (GIT) to MP 1.1.34.
First it apperared just as you said, mode changes indicated on setup page but not on Flight Data "HUD".
But then, after a short time it worked in the Flight Data HUD too! A so called "intermittant" bug?
I had this happening in 1.1.33 as well