rock-control / control-orogen-auv_control

Component-based structure for 6DOF AUV control
12 stars 8 forks source link

export the effort that AccelerationController expects to be actually applied on the system #9

Closed doudou closed 9 years ago

doudou commented 9 years ago

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)

rafaelsaback commented 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).

rafaelsaback commented 9 years ago

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.