Hi All,
I just posted a new experimental version of Arducopter with new PIDs and control laws for Yaw. It's download only for now and I wouldn't recommend trying it unless you can rigorously test it. Please be careful. I've flown this in Stable, Simple, Acro, Loiter, and Alt Hold with no known issues. But you never know! This version is not yet compatible with the mission planner.
What's new:
New PIDs - I rewrote the control laws from scratch to add a PI Rate function. The end result should fly nearly identically to the current version. The nice detail is that we can use NG PID values for easy transition!
Before: -> After
Stabilize P –> Stabilize P (Use NG values, or 8.3 x the older AC2 value)
Stabilize I –> Stabilize I (Stays same value)
Stabilize D –> Rate P (Stays same value)
–> Rate I (new)
I added a new value – an I term for rate. The old stabilization routines did not use this term. Please refer to the config.h file to read more about the new PIDs.
I added the framework for using DCM corrected Accelerometer rates. Code is commented out for now.
Added set home at Arming.
Crosstrack is now a full PID loop, rather than just a P gain for more control.
Throttle now slews when switching out of Alt hold or Auto modes for less jarring transitions
Sonar and Baro PIDs are now combined into a throttle PID Yaw control is completely re-written.
Jason
Replies
Stabilize peformance is great... really smooth with default PIDs. I had to increase yaw dead_zone because yesterday I see my turnigy radio producing values of 5-10 even with the yaw stick quiet.... I'm now at 800 and it looks ok.
First attempt with alt_hold produced a fast fall that it was near to end in a crash.... by luck I was able to recover it...... really strange... the next 3 attempts worked flawessly... I will review the log.... I have not protected the baro with foam.... maybe some extra wind from motors disturbed the baro...
Loiter performance is by far the best in all ACM2 versions I have tested....the quad was in a box of 1 or 2 meters... I only see some altitude oscillations... maybe because of the baro... I'm interested in reviewing the source code to see how the altitude is controlled in loiter... is only baro used or is it mixed with gps alt?
RTL still scares me..... I think that the quad reached the home point and was still at full speed but I cannot assure it....I don't have much room in the test field, so I will try to test this functionality in a bigger space. I will try to understand the gps logs to learn more about this mode.
Fantastic job Jason!
Keep pushing!
The video is the 3rd 1min vid (one after the other) all in stable mode. I did disarm (throttle lower left) after each but just to be safe as I was inspecting any lose cables or whatever. I dont know if that is calibration, as i remember you have to do like disarm 15sec then arm 20sec or something then you have to keep stable for 45sec that the only inflight calibration i remembered but i didnt do that.
- Install 2.0.34 via Ardiuno ide
- use APM first time setup
- go back to CLI change the Magnetic declination as it shows negative instead of positive value (taken from here)
- calibrate ESC
- fly
OT:
that place is where I lost my gaui 330x-s (first one i got lost it 3rd day after i bought it) as one motor seem to fail looked for 2days cant find it must be up in the trees. Only thing I found was a green snake lol.
Glad I made the change on the CLI for declination. Here is a short vid of the 2.0.34 default PID nothing changed. Attempting to hover. Some roll/pitch PID tuning might still be needed but the yaw is pretty good then again I havent flew it aggressively (I cant). apologies for the plastic bag handle.
For a new guy like me it feels good and needs lesser input control on my part. Been flying only for more than a week. Just making an excuse for my unstable hovering. flying skills still need to improve but Jason's 2.0.34 is pretty good compared to .32 and slightly better than .33 IMHO
Jason, how come when you use the APM first time setup to configure declination it doesnt seems to take the +/- . I set mine as a positive but after checking in CLI its a negative declination? I changed it manual on the CLI but should the be the case or calibration/setup should all be done on CLI mode and not APM at the moment?
Jason,
About this:
g.rc_camera_pitch.set_reverse(true);
g.rc_camera_roll.set_reverse(true);
..............
How to make code editing in ''Camera'' tab Arduino without uploading everything again? i will need to do ''first setup'' in APM again? because uploading again 2.0.34 with camera changes in Arduino022 it will reset settings in apm such X direction, gps on and other settings...?...what is the way of editing source without ''First time setup' in APM?..hope u understand... THanks ... Sorry so much questions.. but i start to understand many things now, and maybe soon will start donate lol :))
some one have try on tricopter?
i have 3 copter :
spesification:
50cm each arm
motor 850KV/2830
prop 10x4.5
can use default PID? or maybe some one have better PID to share
https://www.youtube.com/watch?v=iYto4x1Yh1U
OK here's the video of 2.0.34 want to take Of but yax is already crazy - i know it will be yaw'ing even 50cm or more from ground its not turbulance...
What i dit is ...
1.Opened 2.034 firmware in arduino for compiling and uploading
2.Changed to: #define FRAME_CONFIG HEXA_FRAME
3.Uploaded
4.in APM planner and pushed 'first time setup''
5. Calibrated everythings that comes in popup after 'first time setup''pushed
Do u think i need recalibrare ESC ? i did it already several times in other firmwares...
prop direction correct, motor turn direction correct, esc wires in right ardu pins...
Hmm...
Thanks u4eake! Do u know anything about camera stab settings gain, reverse compensation etc?...
Also my question:
Do i need to go in this process everytime new firmware is out? I mean STEP 3 AND STEP 4 (and 4 and 5 step for Arduino upload) is neccesary always doing new firmware update?
1. Updating firmware in APM planner.
2. Pushing the 'First time setup'' button
3. Calibrating everythings that comes in popup after 'first time setup''pushed
4. Configuring 'Modes'' in CLI and making STAB, ALT_HOLD switches
------------
Uploading firmware in Arduion022 if doesnt available in APM
1.Opening new firmware in arduino for compiling and uploading
2.Chaning in arduino022 arducopter tab config to Hexa setup
3.Uploading
4.Going to APM planner and pushing 'first time setup''
5. Calibrating everythings that comes in popup after 'first time setup''pushed
6. setup 'Modes'' in CLI for STAB, ALT_HOLD switches
im doing this ROUTINE everytime new firmware comes out... Am i doing a long routine?
When uploading tru Arduino 2.0.34 , how to define that i will used hexa, because now ouputs 7,8 are off by default?
#define FRAME_CONFIG QUAD_FRAME
/*
options:
QUAD_FRAME
TRI_FRAME
HEXA_FRAME
Y6_FRAME
OCTA_FRAME
HELI_FRAME
*/
Do i need make it like this?:
#define FRAME_CONFIG QUAD_FRAME
/*
options:
HEXA_FRAME
*/
Also my camera stabilization ROLL is reversed by default how i can fix it in ''camera' tab on arduino? and is there any more option how to make faster roll or pitch on camera stab or sensivitiy, gain ?.... Thank you
Do you have implemented in this version, the slow down when reaching a waypoint (or home)?
Because last time a test RTL I was scared seeing the copter reach the home a full speed and continuing 5 or 10 meters more... I don't have much space in my test field so I had to return to stabilize..
Keep pushing!