I have been carefully reading the documentation for sysID mode operation with arducopter and this post is just for further understanding as i have limited knowledge in control theory.
I am flying with the following hardware setup: X500 V2 frame, with an FC Pixhawk 6X.
To test the mode i have set the following params:
SID_AXES = 10
SID_F_START = 0.05
SID_F_STOP = 15
SID_MAG = 0.7
SID_T_FADE_IN = 5
SID_T_FADE_OUT = 15
SID_T_REC = 130
I have also set all integrator gain to 0 and the feedforward to zero. Setting these values to zeros meaning the controller is only depending only on P and D which that the target of the commanded value takes much more time to be reached (response is slower). I want to ask, would it be safe to set D as well to zero so that the reaction of the injected chirp to mixer is not damped/affected at all?
The other question is that when i set the parameters above and activated the sysID mode from Altitude Hold mode, I was expecting to see the drone rolling right and left (some sort of oscillation motion) but this did not occur. In fact the drone simply drifted away to the right side non stop. I managed to let it stop by switching back to alt hold.
Can anyone guide me about what do i need to change in the params such that I achieve this oscillation motion (like pitching/rolling forward and backward up until the frequency range is finished)?
Here is the flight log that i did where i did not achieve what i was expecting.
SID_MAG = 0.7 is very large for pitch/roll input directly into the mixer. The copter was trying to use 70% of the roll authority to roll to the side while PID was trying to compensate. I would start with much smaller values like 0.15 from the documentation.
@DroneSys what is the purpose of gathering system ID mode data? Do you plan to develop a dynamics model of your aircraft or do you want to use it to tune your aircraft using the analytic tune tool?
You don’t need to use the SID_AXIS 10, 11, and 12 to do that. I use SID_AXIS 1, 2, and 3 for this. When using the other axis values (10, 11, and 12), the controller is fighting the inputs which can result in poor coherence for the relationship of input to output.
For multirotors, they are fairly uncoupled in their response, so using the values of 1, 2, and 3 does a good job. For helicopters, it becomes very difficult and requires no PID values in off axes so you can stay away from correlated responses between axes which causes problems when developing the model.
My recommendations for parameter values
SID_AXES = 1, 2, or 3
SID_F_START = 0.05 ->this is pretty low. You might be able to get away with 0.1 to capture the low frequency dynamics.