Coordinate transform of accelerometer on rigid body

I have a question about something that seems like it would be pretty basic, but so fair I haven't been able to find a whole lot of discussion on the issue. It's possible I'm not not familiar enough with the terminology.

I have a rigid body with an accelerometer/gyro IC dev board nailed to it. I would like to know what the accelerometer would measure at another point on this board, in this case, the sensor of a camera that is also nailed to it.

My thinking is that I can use the accelerator, gyroscope and differentiated gyroscope data and the equation $a_t = a_m + \omega' \times r + \omega \times (\omega \times r)$, where

$a_t$ = transformed acceleration

$a_m$ = measure acceleration

$\omega$ = measured gyroscope reading

$\omega'$ = first derivative of the gyroscope reading

$r$ = the vector between the accelerometer/gyro and the point I want transformed to.

My plan is to get $\omega'$ with a Savitzky-Golay filter, though this makes implementation a lot less convenient, because I have to buffer my data, and try to figure out how the filter effects the noise variance of the sensor.

Does this plan make sense? Is there a better accepted way that I don't know about? I'm surprised that ROS or tf2 doesn't have a built in function for this. Is there something I am missing? Thanks!

• Curious, Why are you interested in knowing the acceleration at the camera position? Are you working on a gimbal solution? Or a position for the camera? It's not that useful to know local accelerations. Jul 7 '17 at 22:57
• I'm trying to get the scale of some monocular SLAM telemetry. I took the double derivative of the SLAM telemetry and with some vector math, I can get the scale and the direction of gravity. It's not great, but if averaged for a bit, it gives a pretty good estimate. The virtual IMU calculation actually worked very well once I threw a short FIR filter on the accelerometer and gryo signals. Jul 28 '17 at 18:35