def testVectorObservationMethods(): for method in getImplementations(vector_observation, vector_observation.VectorObservation): for eulerAngles in itertools.combinations(angles * 3, 3): for inclination in (0, 45, 80): yield checkVectorObservation, method, eulerAngles, \ inclination
def testIntegrators(): for method in getImplementations(integrators, integrators.Integrator): for function, integral, doubleIntegral in zip(functions, integrals, doubleIntegrals): yield checkIntegral, method, function, integral yield (checkDoubleIntegral, method, function, integral, doubleIntegral)
def testVectorObservationMethods(): for method in getImplementations(vector_observation, vector_observation.VectorObservation): for eulerAngles in itertools.combinations(angles*3,3): for inclination in (0,45,80): yield checkVectorObservation, method, eulerAngles, \ inclination
def testStaticConvergence(): for filterClass in getImplementations(orientation, orientation.OrientationFilter): if filterClass not in [ orientation.GyroIntegrator, orientation.DistLinAccelCF ]: yield checkStaticConvergence, filterClass
def testDynamicConvergence(): for i in range(3): t = np.arange(0, 10, dt) trajectory = RandomRotationTrajectory(t) for imp in getImplementations(orientation, orientation.OrientationFilter): params = filterParameters.get(imp, {}) filter = imp(initialRotation=Quaternion(), initialTime=trajectory.startTime, initialRotationalVelocity=trajectory.rotation(trajectory.startTime) .rotateFrame(trajectory.rotationalVelocity(trajectory.startTime)), **params) if imp not in [orientation.GyroIntegrator, orientation.DistLinAccelCF]: yield checkDynamicConvergence, filter, trajectory
def testOrientationFilters(): for i in range(3): t = np.arange(0, 10, dt) trajectory = RandomRotationTrajectory(t) for imp in getImplementations(orientation, orientation.OrientationFilter): params = filterParameters.get(imp, {}) filter = imp( initialTime=trajectory.startTime, initialRotation=trajectory.rotation(trajectory.startTime), initialRotationalVelocity=trajectory.rotation(trajectory.startTime) .rotateFrame(trajectory.rotationalVelocity(trajectory.startTime)), **params) yield checkOrientationFilter, filter, trajectory
def testOrientationFilters(): for i in range(3): t = np.arange(0, 10, dt) trajectory = RandomRotationTrajectory(t) for imp in getImplementations(orientation, orientation.OrientationFilter): params = filterParameters.get(imp, {}) filter = imp( initialTime=trajectory.startTime, initialRotation=trajectory.rotation(trajectory.startTime), initialRotationalVelocity=trajectory.rotation( trajectory.startTime).rotateFrame( trajectory.rotationalVelocity(trajectory.startTime)), **params) yield checkOrientationFilter, filter, trajectory
def testDynamicConvergence(): for i in range(3): t = np.arange(0, 10, dt) trajectory = RandomRotationTrajectory(t) for imp in getImplementations(orientation, orientation.OrientationFilter): params = filterParameters.get(imp, {}) filter = imp(initialRotation=Quaternion(), initialTime=trajectory.startTime, initialRotationalVelocity=trajectory.rotation( trajectory.startTime).rotateFrame( trajectory.rotationalVelocity( trajectory.startTime)), **params) if imp not in [ orientation.GyroIntegrator, orientation.DistLinAccelCF ]: yield checkDynamicConvergence, filter, trajectory
def testStaticConvergence(): for filterClass in getImplementations(orientation, orientation.OrientationFilter): if filterClass not in [orientation.GyroIntegrator, orientation.DistLinAccelCF]: yield checkStaticConvergence, filterClass
def testSystemSimulation(): for filterClass in getImplementations(orientation, OrientationFilter): if filterClass is not orientation.DistLinAccelCF: yield checkSystemSimulation, filterClass
def testPositionAlgorithms(): for algorithm in getImplementations(position, position.PositionEstimator): yield checkAlgorithm, algorithm