3D Robotics

ArduCopter 2.3 released

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            4
  2        5
    8    1
      3 7
Motors 1 through 4 spin clockwise, and 5 through 8 spin counterclockwise.
Support for roll/tilt camera control on APM 2 should be coming in the next version. Traditional Heli will also be updating to this latest code as well once we track down a memory issue. 
As always, you can see a complete list of changes in the changelogs.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Hi guys,

    just got a chance to try out 2.3 on my APM 1 today and was well impressed. Only tried Alt hold but as you can see from the video it is rock solid and these are default settings, just some trimming and that was it. Sorry for the dark video in parts very dull here today. Hope to try Loiter and RTL soon.

  • Can someone please clarify.  According to above 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."

    Is this still the case.  I see people talking about getting their Hex's in the air.  Is anyone doing this with APM2 right now?  Will the above update be updated when it is ready for Hex's on APM2?

    Thank you.

  • Bug in Loiter in 2.3

    Have reported it as an issue, but has anybody else seen this behaviour?

    I have been posting about how inconsistent Loiter is, and sensitive to wind changes etc. but I think that a lot of my comments were caused by this bug. On many occasions, I have invoked Loiter having got the copter as static as possible (and for more than 2 seconds), only to see it blown downwind with it making no attempt to achieve a Loiter. Now I thought that it might have been due to changing winds, or my changing a parameter, but this afternoon I happened to look at the Mission Planner HUD as the copter was drifting away and it showed Loiter 0>0, and it stayed like that, so it looked to me as if the "target" was either not registering or staying the same as the copter's location. On the next flight I changed nothing, and it happened 6 times in a row. On the final 2 loiters it did "take" and I achieved reasonable loiters but that could have been caused by my shivering hands twitching the sticks as I invoked Loiter. Whatever, it does look to me as if there is a problem with Loiter. Reported as Issue 342, plus supporting info.

  • 1.1.35 mission planner is out, is the firmware updated for arducopter in this one or is it still the same v2.3 firmware as last week?

  • Seems like I need some advice on Nav tuning.

    Main problem right now being when performing an AUTO mission, copter more or less stops at each waypoint, many times abruptly yawing to hit the waypoint (a bit stupid behaviour for a multicopter, since it can fly in any direction without yawing). This happens even if waypoints are in line, not constituting a bearing change.

    I want the helicopter to keep a smooth flowing flight, just touching the waypoints (5m radius) without dramatic changes in speed or yaw. So its more important to have a smooth flow flight than hitting every waypoint exactly.

    How should I obtain that??

    I have been reading NAV tuning wiki but it does not take me all the way there.

    Besides, tuning is more tricky now since both Nav and Loiter are now again collectively controlled by Nav PID params.

    Fore some time they were separated, why not keep it that way?

  • There're my logs is 2.3.1 from GIT......Now , I still tuning Loiter mode but Stabilize is very Stable.

    2555-02-11 03-51 1.log

    2555-02-11 03-54 2.log

    2555-02-11 03-54 2.kmz

  • Hi there.

    Today I flew a little with 2.3 and I noticed that there was a big "memory effect" Marco told us about few weeks ago : when you keep pitch forward for a while and go back to neutral,  then the copter kind of brake hard.

    And also if I keep forward longer, the copter goes back to horizontale and even go backward.

    It is probably due to my change of PID settings, but do we have some explaination/documentation about this phenomenon?

    Since I divided the Stable Roll&Pitch I term by 10. I was assuming the memmory was due to I term and thoug I expected the opposite =>less memmory effect. 

  • Today only managed one flight because one of the motors ceased while in flight. 

    First of I basically used the default 2.3 settings, except I set Stab Roll and Stab Pitch to 4.00, I first tried to use some settings Marco recommended to try, but it kept wanting to flip over, so reverted to the this default I mentioned.

    There was no wind when I got to the field but by the time I set up it had picked up to about 15kmh,, by the look of it the wind higher up was about 20kmh or more  

    Take off was ok and got up to about 35 meters and click into loiter, . Its did fix the position but it still kept climbing until about 45 meters where it settled there in about a 4 meter box. 

    After about 1/2 min I switched to RTL and then after a bit of a reorientation it headed towards the home point at the same 45 meter altitude and on the way one of the motors stopped turning (ceased bearing ).  The quad (X8) hardly changed in its path and maintained stability even though one motor was out of action.

    About the time the one motor had stopped it was nearly over the home position and I let it go for about 15 seconds more and it made to home and was obvious it held there ok,. But i was a bit worried it might  stall and drop out of the sky so I switched back to stable simple mode and brought it down.

    I have to say although a bit disappointing to only get one flight in less than 2 min after it takes me an hour to drive to the field., I was amazed how well it flew and especially after one of the motors ceased that is still maintained stability as if it was still running on all 8 motors.

    Very impressed with the software that for sure and a testament to the dev team so well done. As well I was happy to finally get the rig the most stable its been yet.  Cant wait to get it back into the air again

    https://www.youtube.com/watch?v=RPbx543JY4c

  • So for hexa's and octos, is the update above still correct?  ie. For APM 2.0, we need to wait until the next version?  What exactly does that mean?  2.4? 

  • I feel so bad in having to ask a question since I should be able to resolve this myself but maybe I missed something.

    I have a APM1.4 w/2560 board that has worked well through many beta upgrades.  But when I moved to 2.3 from 2.1 things are a little screwy.  Loaded by M.P.  My compass is 90 degrees off and drifts, the altitude is off by thousands of feet on the MP.  It flies OK in Stable but just barely.  Loaded 2.3 many times, clear, erased, reset, etc.

    Do I need to load by Arduino 1.0 instead?  Anything I need to do to the files before compiling (Quad X)?

    Sorry to ask, I have spent hours reading the 2.3 post and the wiki.

    Mat

This reply was deleted.

Activity