Version 2.4 of the ArduCopter code is now available in the AP Mission Planner and in the downloads area. Although not as big a change as the 2.3 release, it still includes a respectable number of enhancements and bug fixes.
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 in 25% steps.
Thanks go to the numerous contributors including users and their detailed bug reports, developers and testers. Hopefully all together this will add up to a nice smooth release!
As per usual, please post your comments, issues in this discussion. For enhancement requests for future versions, feel free to add them to the issues list. Note: you can "star" an issue to receive emails when someone comments on the item. On the dev side it helps us because we can get an idea as to which feature requests are the most popular by sorting by the number of people how have starred each issue.
I can't get it to compile either, sorry.
I get the error
'AP_Int16' does not name a type,
Highlighting the line 'AP_Int16 format_version;' in the parameters.h file
here is the error on a new installation of 022 arduino relax:
ArduCopter242xp2.cpp: In member function 'void ::GCS_MAVLINK queued_param_send ()':
GCS_Mavlink: 1678: error: no matching function for call to 'AP_Param :: copy_name (char , unsigned int, int)'
C: \ Users \ user \ Documents \ arduino-0022-relaxpatch \ libraries \ FastSerial /.. / AP_Common / AP_Param.h: 101: note:Candidates are: void AP_Param :: copy_name (char *, size_t)
ArduCopter242xp2.cpp: In function 'voidLog_Write_Performance ()':
Log: 650: error: 'class AP_DCM' has no member named'renorm_range_count'
ArduCopter242xp2.cpp: In function 'void calc_loiter (int, int)':
navigation: 150: error: 'class AC_PID' has no member named'set_integrator'
navigation: 151: error: 'class AC_PID' has no member named'set_integrator'
ArduCopter242xp2.cpp: In function 'void calc_nav_rate (int)':
navigation: 220: error: 'class AC_PID' has no member named'set_integrator'
navigation: 221: error: 'class AC_PID' has no member named'set_integrator'
the compilation of version 2.4.1 is ok
the compilation of your file is ok ArduCopter_224xp2.zip is ok
No i can't get 242xp2 to compile and different errors. I'm sure its something I'm missing, but no idea what. Back in a hour to investigate.
I have got it to compile, after a lot of fiddling.
I quite simply solved my problem by using arduino v.22 relaxpatch, instead of v1.0 relaxpatch.
Hope that help - now to upload it- yee haa! :)
Am using arduino v22 relaxpatch, removed the reference to APM1, same errors, all to do with the AP_Var.cpp, weird and frustrating...
I got a reasonable loiter performance in lightish winds on 2.4.1 today, but see little point in spending more time on it if things are changing in 2.4.2, so will wait until somebody diagnoses the problem (suspect that somehow the AP_Common library in JLN's zip file has somehow gone out of sync.).
Uploaded but no LED's, not possible to connect. It gets as far as initialising the gyros then falls over.
Put 2.4.1 on for a consolling hover in the garden.
I think I'm just going to have to wait aren't I. Shame work kicks off again this week.
4.2.1 just loaded fine with arduino 1 relax.
Did a test flight with default PID's and very stable in no wind situation.
AH could be a little more reactive but thats PID tuning an loiter was quite good 3X3m.
Looking forward to the next version ;-)
Many thanks JL, i can only second the thanks and praise that's coming your way.
To the field, I'll let you all know how the APM1 fails the APM2 focussed params
And JL, sorry for repeating my question, but does you quad behave well in stab mode with such a low rate_P? Do you use the params attached just for loiter testing?
The info you put on your vids are just the best JLN.. very useful and comprehensive . thanks for the time you take to do this to help us all. . Just one question. I see you are using the APM2 , so how different will those settings be for APM1?
The sensors of the APM2 are a bit more sensitive and accurate, most particularly the baro, this give a better accurate alt_hold with the baro only. But I think that the PID setups can be the same for a similar model (power/weight ratio) and Kv.
Hey, I am not so good with C programming, but look at this nested commenting, doesn´t it appear a bit ambigous?
Commenting out a comment??
navigation.pde, line 57 (from 2.4.1 on GIT now)
x_actual_speed = x_speed_old + (float)(g_gps->longitude - last_longitude) * scaleLongDown * tmp;
y_actual_speed = y_speed_old + (float)(g_gps->latitude - last_latitude) * tmp;
x_actual_speed = x_actual_speed >> 1;
y_actual_speed = y_actual_speed >> 1;
x_speed_old = x_actual_speed;
y_speed_old = y_actual_speed;
If you look closely that makes sense in context with the next dozen lines. There are two means of calculating the same thing. Commenting out the comment mark (/*) at the start of one block of code easily enables or disables the desired calculation method keeping both of them intact for future use or code tests.