uzh-rpg / rpg_dvs_evo_open

Implementation of EVO (RA-L 17)
158 stars 42 forks source link

Errors when building dvs_reconstruction #13

Closed xujingao13 closed 2 years ago

xujingao13 commented 2 years ago

Hi, thanks for your work! I meet an error when building dvs_mapping and dvs_reconstruction. The logs are: image and image How to address these problems? Are these two problems caused by the version mismatch of OpenCV (The opencv version I use is 4.2.0)?

zebrajiahao commented 2 years ago

I also have this problem, and solved it when I use opencv3.2.0.

hamdaan19 commented 2 years ago

@zebrajiahao How do I change my opencv version to 3.2.0?

rancheng commented 2 years ago

same question, how do you change to 3.2.0, the dependency of DAVIS requires libcaer-dev wihch is built on opencv4.2, also inviation ppa is also downloading opencv 4.2.0 and replaced the opencv which ros is built on.

rancheng commented 2 years ago

My working environment:

OS: Ubuntu 18.04 ROS: ros-melodic-desktop-full OpenCV: 3.2.0

In file install.sh I found the dependencies are using libcaer-dev and libopencv-dev from ppa:inivation-ppa/inivation-bionic:

# #!/bin/bash

echo "First, we install the required apt packages"
sudo add-apt-repository ppa:inivation-ppa/inivation-bionic
sudo apt-get update
sudo apt-get install            \
    python3-vcstool     \  <<<<<<<<<<<<<<<<<< Install python3-vcstool so that you can use vcs-import
    ros-$1-sophus               \
    ros-$1-pcl-ros              \
    ros-$1-eigen-conversions    \
    ros-$1-camera-info-manager  \
    ros-$1-image-view           \
    libcaer-dev                 \  <<<<<<<<<<<<<<<<<<< This package, you can delete this line
    libfftw3-dev libfftw3-doc   \
    libglew-dev                 \
    libopencv-dev               \ <<<<<<<<<<<<<<<<<< Delete this line also to avoid install 
    libyaml-cpp-dev             \
    python-catkin-tools         \
    ros-$1-camera-info-manager  \
    ros-$1-image-geometry

echo "Second, we clone the evo dependencies"
vcs-import < rpg_dvs_evo_open/dependencies.yaml

I reckon somehow the DV-Core team has upgraded their libopencv-dev to 4.2.0 instead of 3.2.0. So what I tried is to command out the install of libcaer-dev and libopencv-dev from the inivation library.

Instead, I tried to build the libcaer-dev from source with the official repo code:

https://gitlab.com/inivation/dv/libcaer

Simply use those commands to build it:

sudo apt install libusb-1.0-0-dev libserialport-dev
cd ~/catkin_ws
git clone https://gitlab.com/inivation/dv/libcaer.git
cd libcaer
mkdir build && cd build
cmake -DENABLE_SERIALDEV=1 -DENABLE_OPENCV=1 ..
sudo make install

After build and install the driver libcaer-dev, we can run the updated install.sh (attached below):

cd ~/catkin_ws/src/
./rpg_dvs_evo_open/install.sh melodic

Please change the content in install.sh with the following commands:

# #!/bin/bash

echo "First, we install the required apt packages"
sudo apt-get update
sudo apt-get install            \
    python3-vcstool     \
    ros-$1-sophus               \
    ros-$1-pcl-ros              \
    ros-$1-eigen-conversions    \
    ros-$1-camera-info-manager  \
    ros-$1-image-view           \
    libfftw3-dev libfftw3-doc   \
    libglew-dev                 \
    libyaml-cpp-dev             \
    python-catkin-tools         \
    ros-$1-camera-info-manager  \
    ros-$1-image-geometry

echo "Second, we clone the evo dependencies"
vcs-import < rpg_dvs_evo_open/dependencies.yaml

Then you can start the following catkin build pipelines following the tutorial.

image

Good luck!

hamdaan19 commented 2 years ago

Thank you @rancheng, will try what you've suggested

ChanWoo25 commented 1 year ago

@rancheng You save my time, X)