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

  • Is 2.4 zip available somewhere to test? Or do I have to download on GIT? If so, whats the git url?

  • Now , I'm download last code from GIT. This is version 2.4. I want know detail new function about it.

    What's can someone answer? I want know.

  • NO ONE?

    Hi,

          can any of the SW gurus help me to identify the targetalt variable in the CGS with the corresponding one in the APM SW?

    As I can not get sonar to work as fine as in 2.1 I would like to have for testing one fix target altitud value.

     

    I tried already on my desk with some modification of APM SW, but in CGS targetalt continuos to vary following actual altitude in all modes. is targetalt in CGS comming from APM or calculated internally from other values?

     

    Some of my test included fixing values for:

     

    next_WP.alt = XXX; in Arducopter pde.

    _target_ altitude = XXX; in Navigation pde.

    among others.

     

    Any advice is welcome.

     

    Pablo

  • Hi guys,

    Can anybody tell me exactly where I can modify the dead-band for roll and pitch with effect (only) on STABILIZE.

    I have found some instances of 

    g.rc_1.set_dead_zone(60)

    ...

    but it appears in more than one file and I just want the change to affect stabilize mode.

    Thanks / Tomas

  • Moderator

    Finally got some onboard video of my quad flying v2.3 in the Kalahari, Sorry it's not GoPro quality and there's no sound. I have some FPV videos too which I'll put up as soon as I can. Looking forward to v2.3.1 for more stability

    rhnb7q.jpg?width=634http://diydrones.com/profiles/blogs/arducopter-in-the-kalahari

  • Developer

    ArduCopter V2.3.1 - The final test before release

    PS: do not emulated my "extreme RTL -> LAND" if you're not sure what you do!
    I'm sorry for the drunk filmer.

    Marco

  • Had another test flight with a new GoPro gimbal yesterday, which does the pitch around GoPros CG. Short Video:

  • Hi,

          can any of the SW gurus help me to identify the targetalt variable in the CGS with the corresponding one in the APM SW?

    As I can not get sonar to work as fine as in 2.1 I would like to have for testing one fix target altitud value.

     

    I tried already on my desk with some modification of APM SW, but in CGS targetalt continuos to vary following actual altitude in all modes. is targetalt in CGS comming from APM or calculated internally from other values?

     

    Some of my test included fixing values for:

     

    next_WP.alt = XXX; in Arducopter pde.

    _target_ altitude = XXX; in Navigation pde.

    among others.

     

    Any advice is welcome.

     

    Pablo

     

     

  • Hi All,

    is anyone _at_all_ having any success using version 2.3 or 2.3.1 on their tri-copter?
    If so, what are your settings for the yaw (P,I,D for rate and stab)? 

    For me, any Yaw_Rate_D (even 0.001) makes the servo twitch, causing escalating oscillations.
    I can't bring up Yaw_Rate_P to a value high enough to hold direction (with yaw_rate_d at 0) without it causing twitching/oscillations as well... seems that i'm out of parameters to tune on this one ;-(
     

    The props and motors are balanced (separately and together). I've tried zeal tape as well as multiple layers of foam tape (works perfectly for all my helicopter gyros and v-bar) to mount the APM 1 board - doesn't seem to improve yaw issues ;-(

    I've been trying to make it work for a few months now, starting with 2.1 and till 2.3.1... all seem to have some kind of issues making it unflyable on my tricopter ;-(

    Should i just give up on arducopter and buy something else for my tri?


    Thanks in advance for your thoughts/help on this...
     

    ;-(  

  • I tried to lower stabilize D to 0.06 from 0.12 and it seemed to have noticeable less twitches. (3dr frame everything stock)

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer https://t.co/giVvuE4hP7
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing https://github.com/pncsoares/self-driving-car
Jul 4
DIY Robocars via Twitter
RT @donkey_car: Human-scale Donkey Car! Hope this makes it to a @diyrobocars race https://www.youtube.com/watch?v=ZMaf031U8jg
Jun 25
DIY Robocars via Twitter
Jun 25
DIY Robocars via Twitter
Jun 16
DIY Robocars via Twitter
RT @GrantEMoe: I won my first @diyrobocars @donkey_car virtual race! Many thanks to @chr1sa @EllerbachMaxime @tawnkramer and everyone who m…
Jun 13
DIY Robocars via Twitter
RT @gclue_akira: JetRacerで自動走行したコースを、InstantNeRFで再構築。データセットは別々に収集 #jetracer #instantNeRT https://t.co/T8zjg3MFyO
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: SPC 3.0 Now the motor also works. This car is doable. I just need to design a deck to mount my compute and sensors. http…
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: My new car SPC 3.0. https://t.co/CKtkZOxeNQ
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: High speed at @diyrobocars thanks @EdwardM26321707 for sharing the video https://t.co/o4317Y2U1S
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: Today at @RAMS_RC_Club for @diyrobocars. Used @emlid RTK GPS and @adafruit @BoschGlobal IMU. Lap time 28s https://t.co/R…
May 28
DIY Robocars via Twitter
May 15
DIY Robocars via Twitter
May 14
DIY Robocars via Twitter
May 13
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
May 13
DIY Robocars via Twitter
May 11
More…