Closed doudou closed 9 years ago
Hey @doudou, as far as I could understand, basically you want to use the thrusters commands (after saturation) to calculate the expectedEffort and then compare it the with the inputVector, right?
This expectedEffort can alway be calculated as:
expectedEffort = thrusterMatrix * cmdVector
This equation transforms the thrusters individual forces (cmdVector) into forces and torques in the vehicle frame (expectedEffort). Independently of the calculation we used to obtain the cmdVector (pseudo-inverse or using the thrusterMatrix tranpose), we can always use the above equation to obtain the expectedEffort.
I'm saying this because I couldn't understand why you calculated the expectedEffort in a different way in the line 140 (using the pseudo-inverse of the thrusterMatrix transpose).
Hey Sylvain, now I understand what you mean. Before I was thinking about real efforts and torques, but now I see that you basically want to "reconstruct" the inputVector after saturation to see how different it is from the original inputVector.
Everything seems correct for me.
It is a great way to check for the end effect of saturation(s), and I expect a good way to monitor the overall control scheme (e.g. verify that the expected effort is meaningful w.r.t. what the system wants to do or not)