HKUST-Aerial-Robotics / VINS-Mono

A Robust and Versatile Monocular Visual-Inertial State Estimator
GNU General Public License v3.0
5.06k stars 2.1k forks source link

No trajectory display on rviz gui. #20

Open djw8899 opened 7 years ago

djw8899 commented 7 years ago

I follow the build steps of VINS-Mono on ROS. When I play MH_05_difficult.bag, there is no trajectory displaying on rviz gui, just like this:

https://screenshot.net/zh/jqg5puq

There is Global Status:Error. Fixed Frame [world] does not exist.

The result remains the same on MH_x_xxx.bag & VX_X_XXX.bag. And I found that many people met the same problem, for example https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/11

Would you mind giving some advice?

qintonguav commented 7 years ago

What's the output in the "euroc.launch" terminal?

djw8899 commented 7 years ago

roslaunch vins_estimator euroc.launch roslaunch vins_estimator vins_rviz.launch rosbag play YOUR_PATH_TO_DATASET/MH_05_difficult.bag

After I input the 3rd command, "euroc.launch" terminal print these content: vins_estimator: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:78: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 270; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " READ THIS WEB PAGE !!! "' failed. [vins_estimator-3] process has died [pid 2664, exit code -6, cmd /home/worker/catkin_ws/devel/lib/vins_estimator/vins_estimator __name:=vins_estimator __log:=/home/worker/.ros/log/3c1b515a-4dee-11e7-b907-000c293b7ede/vins_estimator-3.log]. log file: /home/worker/.ros/log/3c1b515a-4dee-11e7-b907-000c293b7ede/vins_estimator-3*.log

Sorry for my carelessness, should notice this earlier.. Let me track the log file and feedback later.

djw8899 commented 7 years ago

Besides upstairs content, there is no more useful information in log files. According to http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html, maybe should use gdb to locate crash code which use Eigen.

qintonguav commented 7 years ago

Your problem is same with #15, not the RVIZ issue. The possible reason is Eigen version. I have asked #15 to check the Eigen, it seems doesn't help. I am not sure. If you figure it out, please tell me. Thanks!

djw8899 commented 7 years ago

I switch the Eigen version from 3.3.x to 3.2.0-8 The result is the same as https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/15

djw8899 commented 7 years ago

Could you provide your Eigen .deb file on your platform for us ?

qintonguav commented 7 years ago

I install Eigen with apt-get . My workspace is very clean with only one version of Eigen 3.2.0 . I haven't installed Eigen 3.3 or build something based on Eigen 3.3.

djw8899 commented 7 years ago

When you install Eigen with ap-get, it will store the .deb file in path: /var/cache/apt/archives/ there you input "ls -l | grep eigen", it should has some eigen related .deb file.

qintonguav commented 7 years ago

screenshot from 2017-06-12 10 47 34 no deb file related with Eigen..

I have tried with Eigen 3.3.3. The VINS_mono can run successfully with Eigen 3.3.3 ...

Make sure the same Eigen used in catkin_ws and ceres.

Then try rm -r caktin_ws/devel catkin_ws/build. catkin_make again.

mlyarthur commented 7 years ago

do you konw how to locate the ceres while using findpackage(ceres required) in cmakelists.I doubt that i uses the wrong ceres built by eigen 3.3.3

qintonguav commented 7 years ago

set(EIGEN_INCLUDE_DIR "/usr/include/eigen3") or "/usr/local/include/eigen3", depends on your version include_directories( ${EIGEN3_INCLUDE_DIR} )

@mlyarthur

mlyarthur commented 7 years ago

have you solve the problem? @djw8899

djw8899 commented 7 years ago

@mlyarthur According to qintony's feedback, maybe it is not the version of Eigen causes the issue. My friend setup the environment on Ubuntu 16.04 64bit, and everything works fine... So I decided to work on 16.04 too...

mlyarthur commented 7 years ago

I work on the Ubuntu 14.04 32bit ,what is yours? @djw8899

djw8899 commented 7 years ago

@mlyarthur the same to you ...

wangquan102 commented 7 years ago

@the output in the "euroc.launch" terminal webwxgetmsgimg

Where the problem may lie?

qintonguav commented 7 years ago

@wangquan102 Eigen version or Ceres version?

wangquan102 commented 7 years ago

@qintony Ubuntu 16.04 ros kinetic
Eigen :3.2.92 ceres: 1.12.0

qintonguav commented 7 years ago

@wangquan102 which bag are you trying? or this issue appears on all the bag?.

wangquan102 commented 7 years ago

@qintony i run it with my camera and imu not bag files

Dorothy-2016 commented 7 years ago

@wangquan102 I have the same question when I run this linux code with my own camera and imu,Have you solved it?

caoxudong0513 commented 7 years ago

@wangquan102 @Dorothy-2016 I have the same question when I run this linux code with my own camera and @imu,too,Have you solved it?

MasterIzumi commented 6 years ago

Well... I met with this problem and solved it by chance. The reason was about the versions of Eigen and Ceres in my system. So I solved it by following steps:

  1. re-install Eigen.
  2. re-install Ceres-solver.
  3. re-compile VINS package.

Trajectories can be shown in RVIZ after I finish these steps. However, I'm not sure that my solution can solve all these problems...

P.S. My system is Ubuntu 14.04 64bit + indigo

suraj-maniyar commented 6 years ago

Hi, I could run the code on dataset MH01_Easy.

I am facing issues while running VINS-Mono on real time data from unsynced IMU (Bosch bno055)and rolling shutter camera (raspicam) published from raspberry pi. I changed the topic names in the euroc_config_no_extrinsic.yaml file according to my published topic. I am able to obtain a very sparse point cloud along with tracked key-points(Blue) and rare occurrences of matched points(Red).

I am getting the following message on VINS Mono terminal : no_euroc

The following is the screen-shot of the vins-estimator in rviz: git

I am unable to obtain the localization as well as the IMU data on RVIZ due to above error. I am referring the following code for publishing IMU data: https://github.com/adafruit/Adafruit_Python_BNO055.

I am not sure of the exact error.

I am using Ubuntu 16.04 with ROS Kinetic.

Yannnnnnnnnnnn commented 6 years ago

Thx, I also met this problem.
I found out the reason is that there were two eigen3 in my system. So I delete one of the them and rebuild the ceres and vins-mono, everything is okay NOW! 111

witignite commented 5 years ago

@Yannnnnnnnnnnn Could you please let me know what version of your Eigen is? Did you build the library by yourself or install with sudo apt install libeigen3-dev?

QiruiGu commented 4 years ago

Thx, I also met this problem. I found out the reason is that there were two eigen3 in my system. So I delete one of the them and rebuild the ceres and vins-mono, everything is okay NOW! 111

How you rebuild your ceres? Please...

zhaoworking commented 4 years ago

Hi, I could run the code on dataset MH01_Easy.

I am facing issues while running VINS-Mono on real time data from unsynced IMU (Bosch bno055)and rolling shutter camera (raspicam) published from raspberry pi. I changed the topic names in the euroc_config_no_extrinsic.yaml file according to my published topic. I am able to obtain a very sparse point cloud along with tracked key-points(Blue) and rare occurrences of matched points(Red).

I am getting the following message on VINS Mono terminal : no_euroc

The following is the screen-shot of the vins-estimator in rviz: git

I am unable to obtain the localization as well as the IMU data on RVIZ due to above error. I am referring the following code for publishing IMU data: https://github.com/adafruit/Adafruit_Python_BNO055.

I am not sure of the exact error.

I am using Ubuntu 16.04 with ROS Kinetic.

Same problem , but with my own dataset derived from drone fly.