-
Notifications
You must be signed in to change notification settings - Fork 126
Description
EDIT: SOLUTION IN THIS LATER POST:
#54 (comment)
FORK WITH FIXED STREAMS
https://github.com/TokyoWarfare/livox_ros2_driver_Decoupled_Imu_Stream
///////////////////////////////////////////////////////////
Hello.
I'm having issue with the rate of the IMU.
(ROS2-Docker) root@PabloPCFast:/$ ros2 topic hz /livox/imu
average rate: 51.991
min: 0.000s max: 0.100s std dev: 0.03919s window: 52
average rate: 52.374
min: 0.000s max: 0.100s std dev: 0.03912s window: 110
average rate: 54.187
min: 0.000s max: 0.100s std dev: 0.03859s window: 168
average rate: 53.896
min: 0.000s max: 0.100s std dev: 0.03868s window: 221
average rate: 53.132
min: 0.000s max: 0.100s std dev: 0.03889s window: 271
average rate: 52.946
min: 0.000s max: 0.100s std dev: 0.03894s window: 323
average rate: 52.672
min: 0.000s max: 0.100s std dev: 0.03902s window: 374
average rate: 51.951
min: 0.000s max: 0.100s std dev: 0.03923s window: 426
average rate: 51.847
min: 0.000s max: 0.100s std dev: 0.03926s window: 477
average rate: 51.862
min: 0.000s max: 0.100s std dev: 0.03926s window: 529
average rate: 51.696
min: 0.000s max: 0.100s std dev: 0.03930s window: 579
average rate: 51.393
min: 0.000s max: 0.100s std dev: 0.03939s window: 627
average rate: 51.363
min: 0.000s max: 0.100s std dev: 0.03940s window: 678
average rate: 51.337
min: 0.000s max: 0.100s std dev: 0.03941s window: 729
average rate: 51.249
min: 0.000s max: 0.100s std dev: 0.03943s window: 779
average rate: 51.233
min: 0.000s max: 0.100s std dev: 0.03944s window: 830
average rate: 51.335
min: 0.000s max: 0.100s std dev: 0.03941s window: 883
average rate: 51.427
min: 0.000s max: 0.100s std dev: 0.03938s window: 936
average rate: 51.346
min: 0.000s max: 0.100s std dev: 0.03940s window: 991
average rate: 51.428
min: 0.000s max: 0.100s std dev: 0.03938s window: 1044
average rate: 51.455
min: 0.000s max: 0.100s std dev: 0.03937s window: 1096
average rate: 51.300
min: 0.000s max: 0.100s std dev: 0.03942s window: 1144
average rate: 51.287
min: 0.000s max: 0.100s std dev: 0.03942s window: 1195
average rate: 51.275
min: 0.000s max: 0.100s std dev: 0.03942s window: 1246
average rate: 51.264
min: 0.000s max: 0.100s std dev: 0.03942s window: 1297
average rate: 51.215
min: 0.000s max: 0.100s std dev: 0.03944s window: 1347
average rate: 51.244
min: 0.000s max: 0.100s std dev: 0.03943s window: 1399
average rate: 51.127
min: 0.000s max: 0.100s std dev: 0.03946s window: 1452
average rate: 51.156
min: 0.000s max: 0.100s std dev: 0.03946s window: 1504
average rate: 51.217
min: 0.000s max: 0.100s std dev: 0.03944s window: 1557
average rate: 51.241
min: 0.000s max: 0.100s std dev: 0.03944s window: 1609
average rate: 51.230
min: 0.000s max: 0.100s std dev: 0.03944s window: 1665
average rate: 51.223
min: 0.000s max: 0.100s std dev: 0.03944s window: 1716
average rate: 51.185
min: 0.000s max: 0.100s std dev: 0.03945s window: 1771
average rate: 51.207
min: 0.000s max: 0.100s std dev: 0.03945s window: 1823
average rate: 51.174
min: 0.000s max: 0.100s std dev: 0.03946s window: 1873
average rate: 51.169
min: 0.000s max: 0.100s std dev: 0.03946s window: 1924
average rate: 51.137
min: 0.000s max: 0.100s std dev: 0.03946s window: 1979
average rate: 51.107
min: 0.000s max: 0.100s std dev: 0.03947s window: 2029
average rate: 51.129
min: 0.000s max: 0.100s std dev: 0.03946s window: 2081
average rate: 51.174
min: 0.000s max: 0.100s std dev: 0.03945s window: 2134
average rate: 51.051
As you can see it is around 50hz
Point rate is as specked:
(ROS2-Docker) root@PabloPCFast:/$ ros2 topic hz /livox/lidar
average rate: 10.004
min: 0.100s max: 0.100s std dev: 0.00012s window: 12
average rate: 10.001
min: 0.100s max: 0.100s std dev: 0.00013s window: 22
average rate: 10.001
min: 0.100s max: 0.100s std dev: 0.00013s window: 32
average rate: 10.001
min: 0.100s max: 0.100s std dev: 0.00012s window: 42
average rate: 10.000
min: 0.100s max: 0.100s std dev: 0.00014s window: 52
average rate: 10.000
min: 0.100s max: 0.100s std dev: 0.00014s window: 62
average rate: 10.000
min: 0.100s max: 0.100s std dev: 0.00014s window: 72
average rate: 10.000
min: 0.100s max: 0.100s std dev: 0.00013s window: 83
average rate: 10.000
min: 0.099s max: 0.101s std dev: 0.00017s window: 93
average rate: 10.000
min: 0.099s max: 0.101s std dev: 0.00016s window: 103
average rate: 10.000
min: 0.099s max: 0.101s std dev: 0.00016s window: 113
average rate: 10.000
min: 0.099s max: 0.101s std dev: 0.00016s window: 124
average rate: 10.000
min: 0.099s max: 0.101s std dev: 0.00016s window: 134
My config looks like this:
{
"lidar_config": [
{
"broadcast_code": "3WEDJ540010115",
"enable_connect": true,
"enable_fan": true,
"return_mode": 0,
"coordinate": 0,
"imu_rate": 1,
"extrinsic_parameter_source": 0
},
Checking again the docs it says
Push frequency of IMU sensor data
0 -- stop push
1 -- 200 Hz
Others -- undefined, it will cause unpredictable behavior
Currently only Horizon supports this, MID serials do not support it
Not sure if I've to input "Others" or set a push rate, I'll try to put 200 as value...
I know it is reading the config because when I had the default with enable in false without broadcast code etc... it did run 20hz or so and GLIM would launch err of too big gaps in between IMU registers
I'm running the driver from DOCKER, I wonder if there is overhead that could cause this.
I'm starting with SLAM & ROS so I went to use Docker so I could mess things up without trashing the whole OS . I had run GLIM from other doker and it ran nicely so my plan was to have siolated the ROS2 driver in a docker to capture in there, and run the ros2 bags from a shared volume.
Some details
ROS_DISTRO: humble
DockerOS Description: Ubuntu 22.04.5 LTS
Similar:
#10
Aparently in 2021 it was suggested to mote hte imu data to a separate thread. Has this been implemented into the driver already?
What firmware is needed for Horizon? Where can firmware be downloaded?