-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High Frequency data is buffered at 100Hz #3
Comments
Hi, Also considering direct serial connection for high data rate and real time performance, for example direct UART connection to the UART pins of a RaspberryPi/Jetson devices. Also notice that there might be some bug in the If you only use USB connection, consider use:
|
Hi @xsenssupport , Thanks for the quick response. I have already tried most of what you said but in the end, I found that there is a hardcoded read buffer here: Line 365 in f21f1ba
changed to const int maxSz = XS_DEFAULT_READ_BUFFER_SIZE; Then I had to significantly reduce the buffer size. Line 48 in 7e2a47d
Here is what it looks like with a buffer size 50bytes: |
As I understand, the large buffer size in the xsense driver is not an issue if the Linux serial port timer interrupt or timeout force triggers a data parsing in time. Seems like, the default is set at 10ms, hence the clustering behavior around 100hz. Line 92 in 7e2a47d
However,
this seems to only set this Linux mysterious timeout to be ~2ms. |
As mentioned, it is not a problem of Xsens ROS Driver or Xspublic library, it is a problem of ros2 topic hz, you could simply google |
Yes and No.
It is not an issue related to ROS2 topic hz. Solutions That I have tested so far (without having to patch the Linux kernel):
|
Hello,
Could you please confirm if you checked the actual timing of the individual messages? |
The high-frequency topics are being buffered/clustered at 100hz.
here is an example with an unmodified driver with the provided launch file:
/imu/acceleration
is about 55hz/imu/time_ref
was fluctuating around 500~650hz on topic monitor but being clustered(buffered) instead of being evenly spreadPlatform:
Bash dump
The text was updated successfully, but these errors were encountered: