After a long wait we are delighted to finally release our second official firmware for ArduCopter. This code is our intermediate code (code name NG) that is a step towards reconciling with the full ArduPilot Mega framework. The next version (codename ArduCopter Mega, ACM) will be fully compatible. As always, be careful when testing fully new software.
Our development group has been flying this software on many ArduCopters without any problems but still it does not mean that is won't have any bugs, there might be one just behind the corner. Tho we have been trying to nail them all down.
Thank you for whole ArduCopter/ArduPilot Mega teams for this great release.
Always check our latest release notes and test instructions from ArduCopter Wiki pages.
Main new features:
- New architecture. This puts us on the path of integrating fully with the main ArduPilot Mega code, which brings compatibility with all the UAS tools (ground stations, mission planners, datalog analysis, and a full two-way flight command language) that are already in place with the fixed-wing UAVs. As a result of this back-end code migration, you should see full UAV features come to ArduCopter more quickly going forward and rotary-wing development keep pace with the fixed wing versions.
- CLI (Command Line Interface) for easy and quick configuration: The ArduCopter Configurator still works fine but some of tests have been moved only to CLI. The CLI allows people with Macs and Linux to set up ArduCopter without having to run the Windows-only Configurator.
- GPS position hold: This has been tested with MediaTEK GPS that comes along with ArduCopter kits. Expected hold will be around 3-5 meters from activation location. ArduCopter can still be manually flown with position hold on, but it will return to the hold position when you release the sticks.
- Magnetometer support: The DIY Drones magnetometer is now in stock and fully supported.
- Altitude hold: This barometer assisted altitude hold works while user has activated GPS position hold. It is possible to alter altitude even when position hold is on with throttle.
- Easy X and + configuration: You can choose between either X or + flight modes by simply moving a DIP switch. (Note that the APM/IMU must be mounted in the + position, regardless of which mode you're flying in. This may change in future versions of the code, but for now it simplifies installation for most users.)
- Helicopter code: preliminary and flyable code for more traditional helicopters. Code has been tested around world with some Trex450 style copters.
- ESC calibrations for official ArduCopter ESC's
Here's a video of GPS position and altitude hold working:
Quick install notes:
--Download the code and unzip the ArduCopter RC2 folder to your desktop. It will include two folders: "ArduCopterNG" and "libraries"
- Move the libraries folder into your regular Arduino sketchfile folder, replacing the libraries that are already there. Delete all the old libraries folder and copy this one in instead.
- Open the ArduCopterNG.pde file in Arduino and check that the #defines in that file and ArduUser.h meet your requirements. Typically the only one you will need to check are magnetometer orientation (if you're using a magnetometer):
#define MAGORIENTATION AP_COMPASS_COMPONENTS_UP_PINS_FORWARD // This is default solution for ArduCopter
//#define MAGORIENTATION AP_COMPASS_COMPONENTS_UP_PINS_BACK // Alternative orientation for ArduCopter
//#define MAGORIENTATION AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD // If you have soldered Magneto to IMU shield as shown on the wiki
- Upload software to your ArduCopter electronics
- Run the CLI by changing position of SW2 switch and reboot your APM--towards the servo rails is CLI mode; towards the GPS connector is flight mode. Open the Arduino serial monitor, setting baud rate to 115200 baud and ensuring that "Carriage Returns" are enabled. You should see a command line on the monitor. CLI instructions are here.
- Run and all necessary settings like factory reset and IMU level calibrations along others your might need.
- Make normal flight preparation tests before connecting your propellers
- Fly safe....
Installation and latest information, please do check our ArduCopter and ArduPilot Mega wiki sites for more information.
ArduCopter NG, NG specific details and test procedures
ArduCopter Wiki, for all quad and heli based information and updates
ArduCopter Heli, especially for ArduCopter heli modifications. It is flyable and needs more beta testers.
ArduPilot Mega Wiki, for general electronics related information and also fixedwings
Last but not least, the release code: ArduCopter RC2
Comments
Hi, can someone tell me the easiest way to determine what version of code is running on my AP. I have an ArduCopter that I received 3 weeks ago with code already loaded. I am trying to get the GPS fix and GPS hold leds working on the AP. The blue led on the GPS is solid after 20 seconds but the AP is not seeing it. Is this a matter of not having the latest code. Thanks
you need to rotate your quad on every possible directions as long as none of those values arent changing anymore. I usually calibrate mine in way that first i yaw it 720° then I take from one arm and roll quad 90° eg. one arm points to roof, another toward ground. Then yaw it -+360 at least, grab another arm and do same thing yawing -+400 or so. Then going upside down and again yawing it -+400. And maybe adding some random yaw/pitch/rolls to make sure that no changes on offsets.
@Matt - a few degrees jitter is normal. 20 degrees in yaw without any input from you seems like a bit too much...maybe you're flying where there's a lot of stray magnetic fields.
I guess you could determine for sure whether it's the mag's fault by disabling it in the configurator and flying again to see if it's much smoother. Of course with mag disabled you can't use GPS hold. For regularly flying it doesn't really make much difference 'cuz the yaw gyros have little drift.
My guess is that you the offsets you captured using the CLI weren't done correctly. When you were doing this did you point each arm at magnetic north (which might be almost straight down)? What were the final offsets you recorded (I think the 's' option in the CLI menu will tell you this).
-Randy
Has anyone else had trouble with jitter on the mag? I found http://code.google.com/p/arducopter/issues/detail?id=66, which seems to describe what I'm running into very well, but that issue has already been fixed.
Basically I'm doing all the offset cal steps via the CLI, and then with the quad sitting on the table without any movement the heading reported in the configurator is jumping around, with the range between max and min as much as 10 degrees. When I flew the quad for the first time last night I was getting some unexpected yaw changes (as much as 20 degrees or more) without my input... I'm using the diydrones mag mounted directly to the oilpan, and am using the corresponding config in ArducopterNG.pde.
Code posted in http://diydrones.com/forum/topics/code-proposal-fix-for-arming.
@Kari,
I would also like the appropriate files that you changed and hopefully this will resolve my arming problems and motorsrunning without arming.
What version of Arduino are you using? Wire.h is an Arduino library, not an APM one.
If you're not using Arduino 21, download it and that should solve your problem.
ramboky, tried that too and still getting the error. Redownloaded the APM Beta libraries and the ArduCopterNG libraries and started fresh. Still no luck.
I cannot get the code to compile. Getting a library error (wire.h file). I literally deleted the old libraries folder and drug the new one over as the instructions stated above. Not new to Arduino but this has stumped me. Have the correct board selected and everything. The wire.h file is missing in the new ArducopterNG libraries I think? Anybody any ideas?
Yes, please do post the code as a file here, or even better post it as a requested enhancement in the issue tracker.