I record the data using svo2 file. When i run it live i have a varying imu frequency between 150-200 hz, but when i run it with the svo2 file with svo_real_time_mode = true then most of the imu measurements gives CAMERA MOTION SENSORS NOT DETECTED, and my frequency is only around 30 hz. Should i read the measurements differently when reading from a svo2 file? i use ZED SDK 5.1.2
Hi @Jacob
Please share the SVO for testing.
Please also try to install the latest ZED SDK v5.2 to confirm that the problem is still present in the new version of the SDK.
I cant upload it to here because of the file size, how would you prefer i send it to you?
You can use the file sharing service that you prefer.
Here is a weTransfer link, let me know if you cant download it.
Hi @Jacob
Is it an SVO recorded with a virtual stereo camera?
If that’s the case, please share the calibration file too.
Please do not omit this kind of useful information when reporting a problem
SN119057786.conf (1.4 KB)
Sorry about that. It is a virtual stereo camera with two zed x one GS. Here is the calibration file
Hi @Jacob
I tested the SVO with the ZED ROS2 Wrapper and I can retrieve IMU information at an average rate of 300 Hz.
I tested enabling and disabling svo_real_time_mode and the behavior is the same.
I cannot see this error.
Please try to upgrade to ZED SDK v5.2 and eventually share the code that you are using to retrieve the IMU samples.
I modified your virtual stereo tutorial to print out imu frequency. When i run this i have a varying frequency with the minimum around 145 hz up to 200 hz. I get this live on a virtual stereo camera from two zed x one gs with the calibration file i sent earlier. Can you check if you get a stable 200 hz imu read from it? I cant figure out if im doing something wrong or there is a defect in my cameras. I have also tried varying the sleep timer and removing it entirely, but the frequency i get from the imu is the same. I also get the same if i swap camera ID’s so it uses the imu from the other camera.
I have tried both on a Auvedia JNX42 with a zed link DUO, and i tried two different connect tech hadron gmsl, and i get the same results on all.
I can achieve the same with the svo2 file, so i think i resolved the stuff with motion sensors not detected, but i still have a very unstable imu frequency which is a lot higher than the 11 hz variation i have seen you mention in the release notes.
I have driver version 1.3 and unfortunately cant test with 1.4 currently, but even with 1.3 it doesn’t seem like its supposed to be this unstable right?
CMakeLists.txt (1.0 KB)
main.cpp (6.7 KB)
Unfortunately, improvements to IMU data retrieval stability has been released with v1.4.0.
I recommend you try to update it because the differences with the new version are important.
But is it expected with v1.3 to have between 145hz to 200hz?
Mostly depends on how you recorded the SVO.
If your system was overloaded during the recording, or the disk write speed is not quick enough, then the recording frequency could be lower than expected and unstable.
I get the same frequency issue when running it live where the frequency varies between 145hz and 200hz, where the only thing i run on the system is the example program i send you
I recommend you check how the Sensor data thread is handled in the ZED ROS2 Wrapper to get a stable data retrieval frequency:
This function is important for you:
But thats to get a stable publishing rate to ROS2 right? How can i publish with 200 hz if my IMU only gives samples at 145 hz?
Because the most of the times, it’s a multithreading tuning issue.
This is a minimal replication with only a single thread, and all it does is read the IMU, and i get the same frequency variance. The calibration file and CMakeLists is the same as i send earlier. The board runs nothing else than the base operating system and this program, so i dont understand how that could be either a loading or multithreading issue. Is a variance of 55 hz expected in this case?
main.cpp (4.2 KB)
Hi @Jacob
I’ve reported the issue to the ZED SDK team.
They will try to replicate the behavior thanks to your useful code example.
An eventual fix will be released with one of the next versions of the ZED SDK.