-
Notifications
You must be signed in to change notification settings - Fork 41
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
[ROS2] Test reports for ROS2 version on different sensors #15
Comments
Tested sensorWT901C-TTL, with WitMotion TTL-USB adapter cable List of tested modesBaud: 9600, 57600, 115200 Encountered issues and crashesDevice works fine with WitMotion.exe app under Windows. Can set different baud rates and polling frequencies without problem. Can not get it to work under Ubuntu 22.04 with ROS2 Humble. Regardless of configuration (baud rate, polling frequency), it always reports the following.
Launch.log output is:
User is member of dialout group and has permission to the device.
Correct port is selected. Other serial devices are working fine. Not sure what else to try. |
Managed to get it working, more or less. One issue was a combination of the device not being configured to output quarterions, and the parameter "use_native_orientation" being set to true. But other big issue was choice of polling interval and output rate. I did not expect that the device would fail depending on these settings, until I read through "Test reports for ROS1 version on different sensors" #16 and saw how common this problem was. My test results (only checking whether the ROS node would launch successfully and run for a minute or two; not testing whether it would remain working for hours).
It appears that the node will fail if the output rate is a multiple of the polling interval (eg 20 Hz and 50 ms, or 20 Hz and 100 ms). Is this an issue with the driver code, or the device itself? It does not provide much confidence to use the devices in moving equipment.... |
@gsokoll in this case it seemed to be a serial port kernel driver issue because the node crashes only in one of the following cases:
In your case it seemed the kernel driver periodically hangs up filling the buffer and it may pass some poller firing moments. I can suggest to experiment with lower baudrates (primarily setting the proper baudrate on the device using official control application or one of the example control applications included in the driver library) |
I doubt very much this is a kernel driver issue, but will do some more testing. |
I have tested further with various baud rates. The behaviour is very consistent - when the polling interval matches the output rate interval, the node fails immediately when starting with "Sensor error: Timed out waiting for data, please check device connection and baudrate!"
Even when the choosing a "good" set of output rate and polling intervals, the node would not reliabkly run for an extended period of time. For example, with baud rate of 115200, output rate of 20 Hz, and polling interval of 40 ms, the node would start successfully but testing repeatedly it ran for the following periods of time before failing with the same timeout error as before: Fix for Timeout Errors
|
From my test for Yahboom 10-axis IMU. I got these topics to be published:
And these were the combinations that worked: (output rate presumably 200 Hz from the source's claim: https://category.yahboom.net/products/imu) I didn't change any settings for that.
Apparently, only 9600 baud seem to work in my test (with the best of my testing ability and knowledge). |
This issue is dedicated to place the test reports of ROS2 version of this driver. All contributors are encouraged to place the test reports they have for this driver on the different Witmotion sensors here. Please link here also the other issues containing test results and experience feedback under the following template:
ROS1 issue: #16
The text was updated successfully, but these errors were encountered: