We are intending to use the Ricoh Theta X for teleoperating our robot ( as well as full autonomous operations ).
We noticed that when we rotated our robot on the spot with the Ricoh Theta X attached to the top of it, the camera seems to “lag behind” the actual movement of the robot.
Is there any option in the API to turn this off and remove the lag? On further investigation, we postulate it has something to do with the on board gyro compensating for the motion. We do not get this gyro lag when we use the Live Preview ( WiFi Motion JPEG streaming ). However, we will like to use the USB streaming instead since it gives us much better resolution. Hence, is there anyway for us to Turn OFF the gyro ( or at least prevent it from causing this lag ).
I didn’t think the gyroscope sensor would affect the live stream. If you change the orientation of the camera in livestream, does the stream automatically adjust? For example, if you hold the camera sideways, does the stream look upright?
If you hold a stopwatch up to the camera, is the latency around 350ms?
I don’t think there is a way to change how the gyroscope sensor is interacting with the USB cable live stream. As far as I know, the live stream does not use the gyroscope data, so I’m not sure how it would impact the stream.
Notice the camera lags behind the actual orientation of where we are pointing. It then attempts to almost catch up/rotate into the final actual orientation after a short while. This is done using standard USB streaming. You should be able to easily replicate this issue with your OBS example on Windows.
We will like to get rid or turn off this lag for USB streaming.
Thank you for trying it out and posting the video. We are on a short break this weekend but will get back to you next week on this ( and probably try to post another diagnostic video if we can ).
To add more information while we are on our short break:
"Here are some results from our testing this week.
When we pick up the Ricoh X from a different orientation, ( as in turn ON the device while it is lying flat on a table, then flip it physically to a vertical pose ), the lag when rotated on the y-axis ( assuming y is UP ) is gone. But the lag is there if we rotate it along the x-axis ( assuming x is HORIZONTAL ).
It seems that on starting the Ricoh, the gyro captures the gravity axis and only rotation about the gravity axis is throttled."
This lag is not a latency issue ( the latency is fine ), it’s an issue with the Gyro ( or something similar ) making the virtual orientation of the camera lag behind and rotate in/catch up with the physical pose/orientation in which the Ricoh is pointing at. The actual frames ( latency ) are updated fine.
and, for what it’s worth, I didn’t notice gyro lag issue while testing with firmware 1.30, but I can’t verify if it’s a regression in 1.40 since I can’t downgrade the firmware
@craig Hello, thank you for your video, it served as a great visual diagnostic of the current problem. Is there any chance of us downgrading the firmware to 1.30 to see if this problem still exists?