问题
Currently I am implementing a head tracking solution that takes yaw and pitch from 2 difference sources; a gyro and a magnetic field sensor.
I have both the values passed into my program and now I am attempting to determine the best way to keep the precision of the gyro with the lossless nature of a fixed emitter mf sensor. Currently I am using newYaw = currentGyroYaw + 0.05*(difference between) to slowly drag the gyro to anchor to the mf, but it has some fairly constant movement.
It has been suggested that I try and use a Kalman filter but I've been looking up resources all day about it but can't seem to figure out how to apply it to my scenario; and what all the values would be in my case.
If anyone could help psuedo the steps and calculations I would need to take 2 yaw/pitch values and produce a new more accurate set it would be greatly appreciated. Thanks.
回答1:
Basically, this technique is called sensor fusion. Yes, you can use Kalman filter based sensor fusion. Please read this https://home.wlu.edu/~levys/kalman_tutorial/kalman_14.html where it explains without knowing any information about motion model how to perform sensor fusion with an example.
If I explain a little bit more about your problem, you have two sensors which give yaw and pitch. If I follow the same notation which I referred above, C matrix should like, . where I assume that those two reading which comes from two sensors has the same influence. You have to change the dimensionality other matrics. Here (https://github.com/GPrathap/RobotTrajectoryEstimation) you can find some example which I have done. Hope this will help you to resolve your problem.
来源:https://stackoverflow.com/questions/47386426/2-sensor-readings-fusion-yaw-pitch