Livox-SDK / LIO-Livox

A Robust LiDAR-Inertial Odometry for Livox LiDAR
BSD 3-Clause "New" or "Revised" License
644 stars 166 forks source link

[ScanRegistration-1] process has died [pid 15243 #9

Closed arjunskumar closed 3 years ago

arjunskumar commented 3 years ago

Converted lvx to bag file

roslaunch livox_ros_driver lvx_to_rosbag.launch lvx_file_path:=/home/arjun/Downloads/Horizon_.lvx xfer_format:=1 imu_bag:=true

Then I launch

roslaunch lio_livox horizon.launch
rosbag play Horizon_.bag

But I'm unable to run the package, it is giving an error as mentioned in the subject.

arjunskumar commented 3 years ago

Installed Eigen 3.3.9 and PCL 1.9.1 and rebuild the package and now I'm getting below error

[PoseEstimation-3] process has died 
congphase commented 3 years ago

Hello @arjunskumar, Have you managed to solve this? I'm facing the same issue just like you.

arjunskumar commented 3 years ago

@congphase No, It can be library mismatch issues.

congphase commented 3 years ago

@arjunskumar Thanks for the reply. I'm trying to figure out too.

I use Eigen 3.3.9 and PCL 1.11.1.

arjunskumar commented 3 years ago

@congphase are you able to solve it?

congphase commented 3 years ago

@arjunskumar Hello. Solved, my friend.

What version of ROS are you using? I was using Kinetic.

Here'e what was going on:

The repo requires Eigen >= 3.3. Eigen is the dependency of PCL, and Ceres. The problem was mainly because 2 different versions of Eigen are existing in my system:

I tried to remove libpcl-devand libeigen3-dev. But believe me, this will mess things up.

Now 2 options are viable:

  1. Modify this line of CMakeLists.txt to tell LIO-Livox to use Eigen >= 3.3
  2. Switch to Melodic (docker, fresh install, ...), to take advantage of the pre-built binaries that already meet the requirement: Eigen 3.3.4 and PCL

Just pick one.

arjunskumar commented 3 years ago

@congphase Yes it worked for me. Thanks

Fellowflyingsky commented 2 years ago

@arjunskumar Hello. Solved, my friend.

What version of ROS are you using? I was using Kinetic.

Here'e what was going on:

The repo requires Eigen >= 3.3. Eigen is the dependency of PCL, and Ceres. The problem was mainly because 2 different versions of Eigen are existing in my system:

  • The Eigen >= 3.3 that I tried to build from source to meet the requirement.
  • The pre-built binary of Eigen (libeigen3-dev), which is 3.2.9 for Kinetic, as it is the dependency of pre-built PCL, which is 1.7.2 by sudo apt install libpcl-dev.

I tried to remove libpcl-devand libeigen3-dev. But believe me, this will mess things up.

Now 2 options are viable:

  1. Modify this line of CMakeLists.txt to tell LIO-Livox to use Eigen >= 3.3
  2. Switch to Melodic (docker, fresh install, ...), to take advantage of the pre-built binaries that already meet the requirement: Eigen 3.3.4 and PCL

Just pick one.

我想问下,你们lio-livox的 环境配置是多少? opencv3.3 pcl1.8.1 ceres1.14 eigen3.3.9 ,但是我一直crash了,我已经修改了segment的头文件里面的返回函数类型整型,我改成了void。但是后面的posesitimation 节点部分就卡住了,我怀疑是ceres优化的问题,我也进行了debug,但是还是有问题,很着急,希望你们看到给我个解答,谢谢啦

satyajit-ink commented 11 months ago

I have Eigen 3.3.7

-- Found Eigen3: /usr/include/eigen3 (Required is at least version "3.3")
-- Checking for module 'eigen3'
-- Found eigen3, version 3.3.7