Title: IMU Speed Tracking Through Known Path
Tags: kalman-filters;optimization;tracking
Question: I am new to signal processing and Kalman Filtering here. Thanks for your help.
I working with an IMU for a tracking project where the IMU moves throw a known path but at an unknown speed (within limits), the objective being tracking the speed at which the IMU moved through the path. To my surprise, I couldn't find anything online on IMU tracking through a predetermined path.
The idea of using the known, 'predetermined trajectory', of the IMU as a constrain makes sense to me, using the path that we know that the IMU is going to travel through as a form of container. But I don't know if there is a flaw in my reasoning or if I'm missing something.
I thought a Kalman filter could be used to merge the accelerometer and gyroscope data and have it constrained to the trajectory as a way to limit sensor noise, but I rly can't get my head around how to do this! Maybe this is an optimization problem where the measured 3D trajectory is optimized into the 'predetermined trajectory' instead?
Ideally this could be applied to any kind of movement to which the trajectory is known, so I'm imagining this 'predetermined trajectory' as a 3D curve.
Comment: Try googling “Constrained Kalman Filter”

Comment: Could you please review my answer? If something missing let me know. Else, could you please mark it?


Here is another answer: You should parameterize the path as a parameter of time.
You can do that off line with accurate measurements of the path.
Then use Non Linear Least Squares to find the best match between the reads of the IMU to the model.
From there you'd be able to match the speed.

{'source': 'StackExchangeDataset', 'subset': 'dsp.stackexchange.com', 'metadata': {'AnswerCount': 1, 'CommentCount': 2, 'ContentLicense': 'CC BY-SA 4.0', 'CreationDate': '2018:00:05/30/18', 'FavoriteCount': None, 'PostTypeId': 1, 'Tags': '<kalman-filters><optimization><tracking>', 'Title': 'IMU Speed Tracking Through Known Path', 'ViewCount': 155, 'id': 49546, 'user_AboutMe': None, 'user_AccountId': 13679061.0, 'user_DisplayName': 'JJMalvik', 'user_Reputation': 51.0, 'user_Views': 0.0, 'user_id': 36030.0}}