ArduPilot 2.3 Release Candidate 1

Whats new:-Upgrade the navigation algorithms for the REAL ones.-Fixed the airspeed (yeah the problem was the groundstation not the ardupilot itself).If you have an ardustation download the version >= 1.2 please.-I added the RSP (Roll Set Point) variable to know if the NAV is doing the right job.-I added the TEST_SENSORS in line 5-8. This will inject the orientation data comingfrom the IR’s sensors to the servos, so you can test fast and easily if you setup is correct.If the rudder/ailerons and elevators moves contrary to the aircraft orientation means you’re are OK.-I added the CALIBRATE_SERVOS in line 5-7. Will let you see the range of your servos(+-45 degrees). For example in my Hitec HS-81 the full range of +-90 degrees is 600ms and 2400ms,this values must be set in SERVOS MAX and MIN located in lines 3-1 to 3-4 (now are in depended forailerons and elevator), you should see you servo moving perfectly 45 degrees (IF NOT, ADJUST IT!).-Walk Around mod. Line 5-6, If is set to 0 will let you test visually the navigation.Actually will disable the stabilization and will pulse the rudder/ailerons servo directly.You can also use it as ArduPilot V10 (is what actually does to navigate).Ardupilot V10 can be killed now.-FIxed the Header comments (Chris actually did it).Tricky, Tricky!I have found some Tricks:-If you don’t connect the receiver to the ardupilot it will get stuck when the GPS is not fix and during the start up.This thanks to the PulseIn function (not my fault).-Note in this version the PI gains are not calibrated i need to tune them again.-I've change the default servo polarity (plug and play in my setup (= ) Nothing personal
E-mail me when people leave their comments –

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

Join diydrones


  • 3D Robotics
    Thanks for the update, Rusty. That makes sense. Glad you were able to get to the bottom of it!
  • Hi Jordi,

    Believe it or not, one of the main reasons I jumped into the ArduPilot project was to learn some programming. We didn't have C or anything like it back when I went to school. I've actually had lots of fun with the Arduino boards, and have even made some useful devices out of them. I don't think I'll be writing any PID loops anytime soon though.

    The good news is that I've found the problem. I'm cursed by those FMA sensors. I originally bought two copilot units in the 1.0 days, but didn't do too much with it before hearing that stabilization would be included in later versions. At that time, I bought two more sensors, so I could keep the copilot units ready to use. When I initially tested my current two setup last week, I used the new sensors, since they were in the bag with the rest of the stuff, and they worked fine. When I was ready to put them in the plane, and mockup, I figured it made better sense to go ahead and use the two older sensors that already had velcro on them. You guessed it, both of the old sensors have X axis problems!!!

    I put them in a box so they wouldn't see any temp variations, and looked at the readings. The two new sensors read 510-515 for both X and Y. Both old sensors read around 510 for Y, but one reads 50 for X, and the other starts up at 150, and climbs eventually to about 400 for X. Groan...

    The new sensors are working exactly as you'd expect. If I power up inside, maybe the elevator goes down some. I then turn it 180 degrees, and now it goes up by the same amount. Hurray!

    The config program still give errors when writing, but it really does write. I can write waypoints, then read them back just fine. I also tried the HappyK version, which is just awesome! I had also read that there were problems writing with the Sparkfun FTDI, which is what I have, so to help with development I ordered a DIY FTDI cable to try. For additional penance, I also ordered an ArduStation :-)

    Keep your fingers crossed for me next weekend, and thanks for all the comments.

  • Developer

    I will honest the main requisite of this project is have some basic knowledge in programing.
    Could be many, many things, including the servo range configuration in the header file and the trim values located in the confiq tool... Play with that values to adjust it. This is a very normal behavior when using new or different setups. Also of course tune the PID gains as normal autopilot. Is not plug and play..
  • Hi Chris,

    The config tool I'm trying to use is Jordi's, and I've tried the April "beta 3" version, as well as the more recent (July I think) version. I'm not familiar with "HappyK" or anything he's written. Which one should I be using?

    I'm not a software kinda guy, so I resist changes as much as possible. I REALLY like the way the new software uses airframe files, so you don't really have to hack the main code.

    The Twinstar has opposite throws for both elevator and rudder, compared to the Easystar, so I reverse the throws in the airframe file, and rename it to TwinStar_v23.h. Of course I comment out the EasyStar line in the main code, and add a line to call for the TwinStar file instead. I do see changes that I make in the TwinStar file, so it's clearly compiling with the intended info. Other than that, there's no change. I have the EM406, and FMA sensors on both setups, with the shield.

    For some reason, I think the key is going to be in the config tool now. It really does seem like it thinks I've got the sensor mounted unlevel, which would be set by the elevator trim in the config tool. Surely I'm not the only one who's tried to fly the thing without successfully running the config tool, but it's the best theory I have right now.

  • 3D Robotics

    That's bizarre. Nobody else is reporting that error with the current setup and I can't reproduce it--everything's working fine with the current code and hardware.

    Is there anything else unusual about your setup? Any special changes to the .h file? (I'm assuming you've told it that your XY cable is facing forward).

    When you say you're having trouble with the config utility, are you referring to Jordi's original or HappyK's revision?
  • Yes, per the manual field procedure:
    - calibration switch closed
    - power up
    - yellow, then rapid blue blinking
    - calibration switch open
    - solid blue lock, with movement of rudder and elevator
    - reset

    Since I know there's some sort of issue writing to the board with the config tool, that's pretty much what I'm concentrating on now. In searches, I've seen a number of people with the same problem at one time or another, but I didn't run across any fixes for it.

  • Admin

    You stated above that you "...hit the reset after getting a lock,...". I assume that you mean that you have removed the calibration jumper after the sensor calibration/GP RTL capture (blue led solid), but prior to resetting the Ardupilot and verifying that the blue led goes solid again and the status led is flashing?

  • I've got two completely separate setups, so 2 sets of sensors. The sensor check was run on both sets when I set them up a few day sago, and they both react appropriately when you move your hand up to them. In other words, if I move my hand in front of the XY sensor, it reacts with up elevator. Moving my hand on the right or left, reacts with opposite rudder. The only problem seems to be some unknown down elevator when it should be neutral, and now the fact that I can't write with the config tool.

    I do wonder if (hope that) writing with the config tool to initialize the EEPROM will be the fix to the elevator issue. Not sure what else to try there, but I'm so close I can tasted it :-)

  • 3D Robotics
    Maybe you've got a bum sensor? Can you try the sensor check utility that's mentioned in the manual?
  • I tried the config tool, but no joy. The manuals says to "write" before anything else, but I get the dreaded "something is wrong". I can read OK, but anything I try to do with writing errors out. I tried 4 AP boards, 2 FTDI boards, 2 computers. Just not my day it seems :-)

This reply was deleted.