Dear Apollo designers,
I am confused with matrix_ad obtained by following:
matrix_ad_ = (matrix_i + ts_ * 0.5 * matrix_a_) * (matrix_i - ts_ * 0.5 * matrix_a_).inverse();
Why can this equation make matrix_a discrete? Thanks for your replying.
I would like to know the answer. As far as I know, matrix_ad_ = (matrix_i + matrix_a_ *ts_).
Correct me if I'm wrong. I think that's two different discretization methods.
matrix_ad_ = (matrix_i + matrix_a_ *ts_) -> this is based on Euler method.
matrix_ad_ = (matrix_i + ts_ * 0.5 * matrix_a_) * (matrix_i - ts_ * 0.5 * matrix_a_).inverse(); -> this is based on Tustin's method .
Reference:
http://www-verimag.imag.fr/~tdang/DocumentsCours/2013Discretization.pdf
Most helpful comment
Correct me if I'm wrong. I think that's two different discretization methods.
matrix_ad_ = (matrix_i + matrix_a_ *ts_) -> this is based on Euler method.
matrix_ad_ = (matrix_i + ts_ * 0.5 * matrix_a_) * (matrix_i - ts_ * 0.5 * matrix_a_).inverse(); -> this is based on Tustin's method .
Reference:
http://www-verimag.imag.fr/~tdang/DocumentsCours/2013Discretization.pdf