ElettraSciComp / witmotion_IMU_ros

ROS wrapper for the family of IMU sensor devices manufactured by Witmotion Ltd.
MIT License
27 stars 31 forks source link

Test reports for ROS1 version on different sensors #16

Open twdragon opened 1 year ago

twdragon commented 1 year ago

This issue is dedicated to placing the test reports of the ROS1 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:

Tested sensor

<sensor model, case type, connection type> <machine, architecture, CPU, kernel>

List of tested modes

  • list or table of tested baudrates,
  • frequencies,
  • polling rates,

    Maximal duration of stable working (approx.)

    Encountered issues and crashes

ROS2 issue: #15

twdragon commented 1 year ago

WT31N, open-circuit, TTL FTDI FT232 USB converter by Digilent

photo_2022-11-15_17-59-29

Intel Core i5-6200U CPU @ 2.30GHz, Mint Linux 22, Ubuntu kernel version 5.4.0, Qt 5.16.5

List of tested modes

(For ordinary test the typical duration is around 5 minutes) Success Baudrate Frequency, Hz Polling period, ms Description
:heavy_check_mark: 115200 100 10 Covariance measured on ~15000 acquisitions sensor.log test.bag
:negative_squared_cross_mark: 115200 10 10 Crash, timer fault
:heavy_check_mark: 115200 10 30 Stable, covariation measured on 1500 acquisitions sensor.log
:heavy_check_mark: 9600 100 10 Actual acquisition rate around 20 Hz
:negative_squared_cross_mark: 9600 10 10 Crash, port read failed
:heavy_check_mark: 9600 10 30 Qt memory leak detected ~14 MB, for unknown reason, non-reproducible
:heavy_check_mark: 9600 10 50 Most stable mode

Maximal duration of stable working (approx.)

Around 2 hours

Encountered issues and crashes

Crash due to unstable USB converter connection with polling period less than 15 ms.

witmotionctl-wt31n -b 115200 -i 10 --covariance --log
Opening device /dev/ttyUSB0 at 115200 baud
Creating multithreaded interface for Witmotion WT31N IMU sensor connected to ttyUSB0 at 115200 baud
Running reader thread
Waiting for the first packet acquired...
Opening device "ttyUSB0" at 115200 baud
Instantiating timer at 10 ms
Internal error occurred. Suspending the reader thread. Please check the sensor!
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
Suspending TTL connection, please emit RunPoll() again to proceed!
ERROR: No data acquired during last 3 iterations, please check the baudrate!
Average sensor return rate -nan s

Calculating noise covariance matrices...

Accelerations (total for 0 measurements): 
[   0   0.00000 0.00000
    0.00000 0   0.00000
    0.00000 0.00000 0   ]

Angles (total for 0 measurements): 
[   0   0.00000 0.00000
    0.00000 0   0.00000
    0.00000 0.00000 0.00000 ]
elpimous commented 1 year ago

HWT905 TTL, with original usb adapter

https://www.wit-motion.com/digital-inclinometer/witmotion-hwt905-ttl.html 5fe2a46cb4b26


TEST PROTOCOLE : visualization under ros/rviz with imu_tool plugin Saving X,Y and Z position, and looking again later, to see presence or drift, moves in angles, or latency.

rviz_screenshot_2023_01_02-22_49_47


LIST OF TESTS MODE

1/ success : b = 115200, freq = 10hz, pp = 20ms, test duration : 10mn 2/ fail : b = 115200, freq = 10hz, pp = <20ms 3/ success : b = 115200, freq = 200hz, pp = 12ms, test duration : 08 Hours 4/ fail : b = 115200, freq = 200hz, pp = <12ms

joewong00 commented 1 year ago

WTGAHRS1 GPS IMU

Manual: https://m.media-amazon.com/images/I/81dW2zuBOeL.pdf Software: https://www.wit-motion.cn/#/witmotion/literature/download?id=1526108478018232321

55907B54-702A-48cf-9C06-3CE7074F0BEB_1080x

Machine: Nvidia Jetson Xavier NX, Jetpack 4.6, ARM64 architecture, Ubuntu 18.04 & ROS Melodic

Test Report

Status Baud Rate Frequency, Hz Polling Interval, ms Description
Success 4800 10 100 Stable
Success 9600 10 100 Stable
Success 57600 50 20 Stable
Success 115200 100 10 Stable
Success 230400 200 5 Stable

Important note:

According to the datasheet, this IMU supports the baudrate of range (4800 to 230400), and a frequency of (0.2Hz to 200Hz), but they need to be set in the windows software, then using the same configurations in the config.yaml file. For example, if set to baudrate 230400 and frequency 200hz in the software, then the same baudrate must be used in the config file. Otherwise, the launch is success but there is no message output.