Created
July 31, 2016 22:11
-
-
Save xaedes/d46fe87aee7c690f0f8cad121674c4d3 to your computer and use it in GitHub Desktop.
ins stabilization.pxd with flow chart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
cimport numpy as np | |
from ins_stabilization.algorithms.indirect_filter cimport * | |
# """ | |
# +----------------+ estimated velocity | |
# | | | |
# acceleration +---------------> Indirect +----------------------------+ | |
# | Wiener Process | | | |
# velocity +---------------> Filter | | | |
# | | | | |
# +----------------+ | | |
# | | |
# | | |
# +----------------+ estimated orientation | | |
# | | | | |
# angular velocity +-----------> Indirect +-------------------------+ | | |
# | Wiener Process | | | | |
# magnetometer orientation +-^-> Filter | | | | |
# | | | | | | |
# | +----------------+ | | | |
# additional orientation aid + | | | |
# +------------+ | | | |
# | <----+ | | |
# +-----------------------------+ resolution | | | |
# | carthesian | <-------+ | |
# | velocity +------------+ | |
# | | |
# | | |
# | +----------------+ estimated position | |
# | | | | |
# +----> Indirect +---------------------> | |
# | Wiener Process | | |
# position aid +--------------> Filter | | |
# | | | |
# +----------------+ | |
# """ | |
cdef struct InsInput: | |
double time | |
double sensor_acceleration | |
double sensor_velocity | |
double sensor_angular_velocity | |
double sensor_orientation | |
cdef struct InsCorrectionInput: | |
double time | |
Vector2 sensor_position | |
cdef struct InsState: | |
IndirectWienerFilterState velocity | |
IndirectWienerFilterState orientation | |
IndirectWienerFilterState2 position | |
cdef struct InsParams: | |
IndirectWienerFilterParams velocity | |
IndirectWienerFilterParams orientation | |
IndirectWienerFilterParams2 position | |
cdef initial_state(InsState* out) | |
cdef default_params(InsParams* out) | |
cdef update_ins( | |
InsParams* params, | |
InsInput* input, | |
InsState* state, | |
InsState* out) | |
cdef correct_ins( | |
InsParams* params, | |
InsCorrectionInput* input, | |
InsState* state, | |
InsState* out) | |
cdef double get_orientation(InsState* state) | |
cdef double get_x(InsState* state) | |
cdef double get_y(InsState* state) | |
cdef double get_velocity(InsState* state) | |
cdef void copy_state(InsState* state, InsState* out) | |
cdef calibrate_ins(np.ndarray[double,ndim=2] ins_inputs, | |
np.ndarray[double,ndim=2] reference, | |
InsParams* out) | |
cpdef calibrate_ins_dict(np.ndarray[double,ndim=2] ins_inputs, | |
np.ndarray[double,ndim=2] reference) | |
cdef calibrate_ins_from_dict(object params_dict, InsParams* out) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment