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.
The zipped version of the v2.4 on the official ArduCopter repository doesn't use the latest library (today) version (I hope this will be soon updated). So, you need to use, the library provided in the zipped version and also the GCS.h and GCS_Mavlink.pde provided in the zipped version...
If you have some troubles again and want to use my ready to use package with the good library, setup and param that I am currently use in flight and in HIl simulation, you may download it HERE
Ps: if you use an APM v1 or an APM v2, please check that the setup is OK for you in the config file... As far as I am concerned, I am using an APM v1 for the HIL simulation and an APM v2 for the true flight...
I hope this will help you
Thank you, Jean Louis
I've been away the meal, the family blames me a little of myaddiction to arducopter! I use APM V1J, I will first try the new zip in simulation mode, and if the weather improves I will on the ground,good afternoon to you
is there any available description for the variables that are being logged?
Trying to investigate a small issue with my copter, Randy shows me that the variable named rc_servo3_out is not the output to the motor 3 as I thought (just look at the name) but something else.
It would be also nice to have the same for the variables that appear in the status area of the mission planner and the name of the corresponding ones in the program.
That's a good suggestion. As with most enhancement requests, it's good to put them in the issues list so they're not forgotten. I've added one for you here. Please feel free to add any specific details you have like any particular fields that you're sure seem to be inconsistently labelled between the dataflash and the APMission Planner's status screen.
Pablo, here's the list of variables logged in CTUN line....
i thought rc_servo3_out is the throttle... isn't it ?
| DataFlash.WriteInt(g.rc_3.control_in); // 1
| DataFlash.WriteInt(sonar_alt); // 2
| DataFlash.WriteInt(baro_alt); // 3
| DataFlash.WriteInt(next_WP.alt); // 4
| DataFlash.WriteInt(nav_throttle); // 5
| DataFlash.WriteInt(angle_boost); // 6
| DataFlash.WriteInt(manual_boost); // 7
| DataFlash.WriteInt(climb_rate); // 8
| DataFlash.WriteInt(g.rc_3.servo_out); // 9
| DataFlash.WriteInt(g.pi_alt_hold.get_integrator()); // 10
this hasnt got much todo with this thread but it will get the most attention for people struggling to get there copters flying correctly . the images in the Wiki page under"setting the correct prop direction " is wong , this is the page and if you scroll down where it tells you how to connect the three wires to get the correct direction , is worng it gives you the opisite direction of what is shown , and just swapping props then wont work it needs to be the correct way for the orintation of the APM other wize you get the copter yawing to the left or right .
thought Id mention it , im buzy resoldering all my V8 wires .......;(
Went for a small test since wind is stronger again today, and tested RTL. Worked fine, however, the auto land feature makes some bumps and motors do not loose as much power after touch down as they did in 2.2b2xp1 JLN (I believe it was the best auto land so far)
In the 2.2b2xp1 JLN that you have previously tested, my auto-landing algorithm based on MLA technique was used and the Auto-Landing test during real tests flights has demonstrated that the auto-landing was very neat and cool (see the auto-land video: http://vimeo.com/35205929 ). But in the current version v2.4 auto-landing MLA algorithm previously implemented in the 2.2b2xp1 JLN is not used here... This is the explanation...
If you need, I can re-implement, my previous auto-landing algorithm is a 2.4xp1 version....
Hi JL, I would appreciate that, since in my oppinion it really was the first time I had confidence on letting the quad land by itself. I thought in 2.4 your autolanding was used, but when I tryied it today, and it went jumping and jumping a little less everytime, it didn't felt like yours, and the quad almost touched with the props on the ground. Let me know if you implement it. Thanks.
I watched the video, and that was almost what I had in your xp1 version, except that in mine, motors did not disarm and shut down as soon as it landed, I had to go into stabilize and lower the throttle, however, the throttle reained at an acceptable rpm, letting the quad stay put in the ground after touching it, and not jumping a little less each time.
Ok Rui, I shall soon build a 2.4xp1 with my AutoLanding MLA feature again as in the 2.2b2xp1. As soon as I shall do successful auto landing without bouncing and with a full cut off (with a real test flight video... of course), I shall sent you the link for download.