As a newbie to multirotor flight, I decided that the use of an Ardustation and Xbee link would be the easiest way to set up the PID's.
Thanks to excellent after sales guidance by Martin ( BYOD ) the system is up and running on 0022.
During my practice attempts at tuning, I noticed the following on the Ardustation display:-
1. There was no access to the 'D' term in the PID's
2. Only 33 of 36 parameters downloaded.
3. The 'BR' reading in 'Flight Data' sits at a random number, and does not move. I take it this is the Bearing indication from the magnetometer?
Has anyone else got similar results to this, if so, are they normal?. If not, would an upgrade to the latest Ardustation download do the job.
Thanks
Tags:
Permalink Reply by George Brindle on April 4, 2012 at 10:54am Heino,
Thanks for the prompt that the upgrade is available. I have (I think) managed to carry out the setup to add the files to Martins folder. On connecting up the ardustation, and going through the procedure using ardu 1.0, I get a few seconds of a green bar showing 'compiling sketch'. Then comes the 'error compiling' with a short list of the problems.
I suspect the real error is that I have not carried out the initial download/unzip etc correctly.
So I will root through the forum again to see if I can find any other ways of approaching this.
Thanks for your help so far, the original 0022 is still running, so all is not lost.
Regards
George
Permalink Reply by Heino R. Pull on April 4, 2012 at 11:10am One thought - when you unzip the Ardustation2 and libraries folders you want to make sure the new ones don't get copied to older folders that are already there. If the new library folder gets copied over the old one, you will get compilation errors. I would try deleting the existing Ardustation2 and library folder and then extract the zip again and see if that helps. Also you need to exit Arduino 1.0 each time you make a change to the library folder.
Heino
Permalink Reply by George Brindle on April 4, 2012 at 1:27pm Heino
Thanks for the reply, that was very helpful. I deleted the Ardu2 and the library from Martin s folder, then downloaded ardustation2, unzipped and put the 2 files in, went through the setup, sketchbook, checked board and comm port correct, and uploaded.
Sadly, despite my hopes, this time I got 'Liquid Crystal' does not name a type. This is a new one. After several more tries, I found it would sometimes just give ' error compiling'.
I get the same results if I select 0022 or 0023 or arduino 1.0. However, I only seem to get the' Liquid Crystal' one with Adu 1.0.
I must be making some error in the procedure, that is of course assuming I am downloading correctly.
That's enough for today, I think I have square eyes.
Thanks a lot
George
Permalink Reply by George Brindle on April 17, 2012 at 1:07pm Heino,
After much head scratching, and a chat with Martin at BYOD uk, I managed to put it together, and all 42 parameters now load, and can be changed over the xbee link ok.
However, there still seem to be no D terms, although you mentioned that all PID's would be present.
Have I missed something?
Permalink Reply by Heino R. Pull on April 17, 2012 at 4:13pm George,
I missed the stabilize_d and stabilize_d_schedule terms - i think these are the ones you're referring to. I'll release a 2.0.13 with these terms added for Arducopter.
Hopefully that will fix you up. I'll have the new version out in an hour or so.
Heino
`
Permalink Reply by Heino R. Pull on April 17, 2012 at 4:50pm Version 2.0.13 is now available. It now has 47 parameters including stab_d and stab_d_s.
http://code.google.com/p/ardustation-ii/
Heino
Permalink Reply by George Brindle on April 18, 2012 at 7:02am Heino, Thanks for the very prompt response to my query.
Just got back home and downloaded the release 13. I was able to go through the whole business with no problem and use it. A huge step forward at this end.
However ( there usually is a' however' unfortunately) I have no idea what the stab_d_S is. It appears to load to the quad ok, as it returns when I 'get parameters' again. Checking the changes using the config pages in Mission Planner, I can find no trace of this term, none of the existing D terms have moved, other than the rate_d. During this the Ardustation box was switched off of course.
Looking at the config presentation, via the MPlanner, there are 7 D terms listed. These are
1. rate roll D
2. rate pitch D
3. stab pitch D This you have done and it works great.
4. rate yaw D
5. loiter D
6. nav WPoint D
7. Throttle rate D
Is it possible for the others to be done? Or maybe only the primary ones if space is short.
Thanks again for the work, the light is at last a little brighter at the end of the very long tunnel.
Regards
George
Permalink Reply by Heino R. Pull on April 18, 2012 at 7:36am George,
I think I now understand - those are Arduplane tuning parameters - those below are what would show up as parameters if the Ardustation detects an Arduplane (2.3.0) sending Mavlink data.
case 0: { strcpy_P(buffer, PSTR("RLL2SRV_P")); break; }
case 1: { strcpy_P(buffer, PSTR("RLL2SRV_I")); break; }
case 2: { strcpy_P(buffer, PSTR("RLL2SRV_D")); break; }
case 3: { strcpy_P(buffer, PSTR("RLL2SRV_IMAX")); break; }
//SRV_PIT
case 4: { strcpy_P(buffer, PSTR("PTCH2SRV_P")); break; }
case 5: { strcpy_P(buffer, PSTR("PTCH2SRV_I")); break; }
case 6: { strcpy_P(buffer, PSTR("PTCH2SRV_D")); break; }
case 7: { strcpy_P(buffer, PSTR("PTCH2SRV_IMAX")); break; }
//SRV_YAW
case 8: { strcpy_P(buffer, PSTR("YW2SRV_P")); break; }
case 9: { strcpy_P(buffer, PSTR("YW2SRV_I")); break; }
case 10: { strcpy_P(buffer, PSTR("YW2SRV_D")); break; }
case 11: { strcpy_P(buffer, PSTR("YW2SRV_IMAX")); break; }
//NAV_RLL
case 12: { strcpy_P(buffer, PSTR("HDNG2RLL_P")); break; }
case 13: { strcpy_P(buffer, PSTR("HDNG2RLL_I")); break; }
case 14: { strcpy_P(buffer, PSTR("HDNG2RLL_D")); break; }
case 15: { strcpy_P(buffer, PSTR("HDNG2RLL_IMAX")); break; }
//NAV_PIT_Alt
case 16: { strcpy_P(buffer, PSTR("ARSP2PTCH_P")); break; }
case 17: { strcpy_P(buffer, PSTR("ARSP2PTCH_I")); break; }
case 18: { strcpy_P(buffer, PSTR("ARSP2PTCH_D")); break; }
case 19: { strcpy_P(buffer, PSTR("ARSP2PTCH_IMAX")); break; }
//NAV_PIT_Alt
case 20: { strcpy_P(buffer, PSTR("ALT2PTCH_P")); break; }
case 21: { strcpy_P(buffer, PSTR("ALT2PTCH_I")); break; }
case 22: { strcpy_P(buffer, PSTR("ALT2PTCH_D")); break; }
case 23: { strcpy_P(buffer, PSTR("ALT2PTCH_IMAX")); break; }
//Engery/Alt
case 24: { strcpy_P(buffer, PSTR("ENRGY2THR_P")); break; }
case 25: { strcpy_P(buffer, PSTR("ENRGY2THR_I")); break; }
case 26: { strcpy_P(buffer, PSTR("ENRGY2THR_D")); break; }
case 27: { strcpy_P(buffer, PSTR("ENRGY2THR_IMAX")); break; }
//Other Mix
case 28: { strcpy_P(buffer, PSTR("KFF_PTCH2THR")); break; }
case 29: { strcpy_P(buffer, PSTR("KFF_PTCHCOMP")); break; }
case 30: { strcpy_P(buffer, PSTR("KFF_RDDRMIX")); break; }
case 31: { strcpy_P(buffer, PSTR("KFF_THR2PTCH")); break; }
case 32: { strcpy_P(buffer, PSTR("XTRK_GAIN_SC")); break; }
case 33: { strcpy_P(buffer, PSTR("XTRK_ANGLE_CD")); break; }
case 34: { strcpy_P(buffer, PSTR("SONAR_ENABLE")); break; }
case 35: { strcpy_P(buffer, PSTR("MAG_ENABLE")); break; }
case 36: { strcpy_P(buffer, PSTR("ARSPD_ENABLE")); break; }
For Arducopter, these are the parameters:
case 0: { strcpy_P(buffer, PSTR("RATE_RLL_P")); break; }
case 1: { strcpy_P(buffer, PSTR("RATE_RLL_I")); break; }
case 2: { strcpy_P(buffer, PSTR("RATE_RLL_IMAX")); break; }
case 3: { strcpy_P(buffer, PSTR("RATE_PIT_P")); break; }
case 4: { strcpy_P(buffer, PSTR("RATE_PIT_I")); break; }
case 5: { strcpy_P(buffer, PSTR("RATE_PIT_IMAX")); break; }
case 6: { strcpy_P(buffer, PSTR("RATE_YAW_P")); break; }
case 7: { strcpy_P(buffer, PSTR("RATE_YAW_I")); break; }
case 8: { strcpy_P(buffer, PSTR("RATE_YAW_IMAX")); break; }
case 9: { strcpy_P(buffer, PSTR("STB_RLL_P")); break; }
case 10: { strcpy_P(buffer, PSTR("STB_RLL_I")); break; }
case 11: { strcpy_P(buffer, PSTR("STB_RLL_IMAX")); break; }
case 12: { strcpy_P(buffer, PSTR("STB_PIT_P")); break; }
case 13: { strcpy_P(buffer, PSTR("STB_PIT_I")); break; }
case 14: { strcpy_P(buffer, PSTR("STB_PIT_IMAX")); break; }
case 15: { strcpy_P(buffer, PSTR("STB_YAW_P")); break; }
case 16: { strcpy_P(buffer, PSTR("STB_YAW_I")); break; }
case 17: { strcpy_P(buffer, PSTR("STB_YAW_IMAX")); break; }
case 18: { strcpy_P(buffer, PSTR("CAM_P_G")); break; }
case 19: { strcpy_P(buffer, PSTR("CAM_R_G")); break; }
case 20: { strcpy_P(buffer, PSTR("WP_SPEED_MAX")); break; }
case 21: { strcpy_P(buffer, PSTR("NAV_LAT_P")); break; }
case 22: { strcpy_P(buffer, PSTR("NAV_LAT_I")); break; }
case 23: { strcpy_P(buffer, PSTR("NAV_LAT_IMAX")); break; }
case 24: { strcpy_P(buffer, PSTR("NAV_LON_P")); break; }
case 25: { strcpy_P(buffer, PSTR("NAV_LON_I")); break; }
case 26: { strcpy_P(buffer, PSTR("NAV_LON_IMAX_")); break; }
case 27: { strcpy_P(buffer, PSTR("THR_RATE_P")); break; }
case 28: { strcpy_P(buffer, PSTR("THR_RATE_I")); break; }
case 29: { strcpy_P(buffer, PSTR("THR_RATE_IMAX")); break; }
case 30: { strcpy_P(buffer, PSTR("HLD_LAT_P")); break; }
case 31: { strcpy_P(buffer, PSTR("HLD_LAT_I")); break; }
case 32: { strcpy_P(buffer, PSTR("HLD_LAT_IMAX")); break; }
case 33: { strcpy_P(buffer, PSTR("HLD_LON_P")); break; }
case 34: { strcpy_P(buffer, PSTR("HLD_LON_I")); break; }
case 35: { strcpy_P(buffer, PSTR("HLD_LON_IMAX")); break; }
case 36: { strcpy_P(buffer, PSTR("LOITER_LAT_P")); break; }
case 37: { strcpy_P(buffer, PSTR("LOITER_LAT_I")); break; }
case 38: { strcpy_P(buffer, PSTR("LOITER_LAT_IMAX")); break; }
case 39: { strcpy_P(buffer, PSTR("LOITER_LON_P")); break; }
case 40: { strcpy_P(buffer, PSTR("LOITER_LON_I")); break; }
case 41: { strcpy_P(buffer, PSTR("LOITER_LON_IMAX")); break; }
case 42: { strcpy_P(buffer, PSTR("STAB_D")); break; }
case 43: { strcpy_P(buffer, PSTR("STAB_D_S")); break; }
case 44: { strcpy_P(buffer, PSTR("ACRO_P")); break; }
case 45: { strcpy_P(buffer, PSTR("AXIS_P"));break; }
case 46: { strcpy_P(buffer, PSTR("AXIS_ENABLE"));break; }
I think you have the Mission Planner set to Arduplane mode instead of Arducopter. In Arducopter mode the parameters should map correctly.
Heino
Permalink Reply by George Brindle on April 18, 2012 at 2:25pm Heino,
Thanks for that reply. It leaves me a bit confused.
I have looked in to the arduplane for the first time this evening, and under the setup bits I can see the similarity to the above, so what you have sent looks to me like the plane version.
There is no doubt in my mind that I am using the arducopter2 mission planner, V1.1.69, and the firmware is Arducopter V 2.5.3 quad, set up for X form. Everything is done through the mission planner, as you probably realise I have not yet got my head around basic programming. The Ardustation is the first attempt.
The config page in the Mission Planner is as I would expect for a heli, and the ardustation, as far as I can tell, also shows the same names for the various config settings as the those viewed on the PC via the MP and the USB cable. There are one or two I am not certain about yet, not got there yet.
The quad has been flying pretty well, but I have had some vibration problems, and have been spending time sorting those out before seriously trying to fine tune the parameters. Never the less, it is pretty stable and handles pretty much like my large Gasser used to do before I got rid of it, nice and smooth, although yaw is, of course, not so precise.
I have been doing the setup on the usb cable on the pc, but outside ( largely in the garden ) I have been using the lap top over the Xbee link. The problem of course, is that in bright light it is hard to see the screen with my tired old eyes.
This is one of the reasons I went for the Ardustation, but found the lack of the D term a bit of a handicap, hence the request to have the D terms, as listed in the previous post, added to the ardustation.
I am getting the 47 parameters ok, presumably they would list 0 to 46. The D term (42) shows STAB_D. This term sets up from the ardustation box, over the Xbee, and show the change when I 'get parameters' again. Turning off the ardustation, and hooking the quad to the pc via the usb cable shows that this parameter has been changed
The next term 'STAB_D_S also appears to load ok, ( what is this one ?) and shows the change when I ask for 'get parameters' again. However, when I hook up the Quad to the PC with the USB cable, and with the ardustation switched off, there is no sign that any change to the 7 D parameters has occured. Very puzzling, as it seems to be going somewhere.
The battery voltage seems to work fine, at the moment it shows about 0.4 volt under read, but I have not finally set up the resistor on the main board.
I hope I have not made any mistakes in this ramble, I have been checking as I go along to confirm the findings, but at this time of night it easy to miss something.
By the way, it just occured to me, are you saying that the D terms I am after are actually in the latest revision? If so, despite all my assurances to the contrary, maybe I am in error. Could I have downloaded the wrong revision? I did click on the ardustation ii reference you gave a couple of posts back and took the .13. ( this afternoon in fact) and also deleted the ArduStation2 and libraries from the folder before I opened the new one. The fact that I have 47 parameters ( I counted them ) seems to confirm this.
So, at the moment I am still hoping to get ( or find ) the remaining D parameters
Regards
George
Permalink Reply by Heino R. Pull on April 18, 2012 at 3:15pm George,
Sorry about that but you are right - I'm trying to add the remaining D terms. Since I've used a standard frame I've only had to tune Loiter/Nav parameters, but as I looked at the Arducopter code to update the parameters, I just missed the D terms. I'm adding the missing terms now and I think there is enough room to add them.
Heino
Permalink Reply by George Brindle on April 19, 2012 at 1:14am Heino,
Great news, I was quite worried for a while. Look forward to the revision
Thanks again
George
Permalink Reply by Heino R. Pull on May 20, 2012 at 10:04pm George,
It took a while but I finally have a 2.0.14 for Mavlink 0.9 release that I will upload tomorrow. I found a nasty parameter update bug that took me several weeks to figure out and I'm also working on releasing the first Mavlink 1.0 version. I have all the missing parameters working now (51 parameters total) and hopefully this will fix you up. Sorry it took so long.
Heino
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.676 members
1283 members
4 members
8 members
184 members
© 2013 Created by Chris Anderson.
Powered by
