I have 2 (sn300473976 and sn309573082) x1 gs cameras (stereo configuration) both have the same problem on all 3 topics:
Accelerometer
Gyroscope
Orientation
The data comes at a lower frequency than reported in the webshop and is not stable at that lower value. Its important to mention that I have first encountered this issue in my ros2 setup and discovered that it is also present in ZED_Sensor_viewer, so I don’t know how to proceed on my own. Any ideas how to debug this issue?
I have the recorded .csv file at hand, however I cannot upload as new accounts cannot upload documents on this forum :(.
Thank you for your reply. 400Hz/200Hz as reported in the datasheet of this product: https://www.stereolabs.com/en-nl/store/products/zed-x-one-gs . For my purposes all I need is a stable value of at least 200Hz, however 400Hz would be much appreciated!
Well that is quite unexpected! I am using NVIDIA Jetson orin nx 16gb with your ZED mini carrierboard. Those 190Hz (Instead of promised 200Hz) are too unstable (175-195, most commonly ~191 Hz), happening on both of my cameras. If I could provide you with more useful information about my setup or run any tests on my side, let me know!
Did you figure out the issue? I also use two ZED x one gs and have the same issue on my orin nx 16 GB. I have a unstable IMU frequency all the way between 148 hz to 203 hz. I use the newest SDK version 5.1.0
Okay, sounds good, thank you. Is there a way i can lower the frequency with the current version and then get it more stable maybe? And do you have a approximate planned timeline of the release of the SDK version that will fix it?
And here is the result i get 204.123 198.373 198.452 198.452 147.929 147.973 147.929 200.723 200.763 200.763 150.602 150.602 150.648 197.161 197.161 197.161 200.803 200.763 200.844 148.192 148.192 148.214 200.642 200.682
I recommend you add a minimal sleep at the end of the loop to give time to the other threads to perform, otherwise one thread can take all the CPU time.
The expected frequency is 200 Hz, so you should wait for 5 milliseconds (or a little less).
In the ZED ROS2 Wrapper we use a “trick” to guarantee a stable data frequency:
I tried adding a small sleep, but the issue became worse. The example i sent you i disabled everything else so there wasnt really any other threads running. I also tried doing it with depth mode set to none and without retrieving images to isolate the issue, but the result is the same
@Jacob Python is not good for this type of multi-thread processing.
An adaptive sleeping time, like we did in ROS 2, could help, but I’m not sure you can get very precise frequencies in any case.
The example i sent you is C++. Do you know if the instability comes from your SDK or from the IMU own sampling rate? My concern with the adaptive sleep timing is that i would get more steady publishing rate, but i guess the actual period between when the measurements is taking will still vary as before