Skip to content

Latest commit

 

History

History
107 lines (91 loc) · 3.98 KB

README.md

File metadata and controls

107 lines (91 loc) · 3.98 KB
  • original link: kalibr
  • my results with D435i & Pixhawk4 mini are uploaded as .yaml file

install & run for my desktop(Ubuntu 18.04, ROS Melodic)

install

sudo apt-get install -y python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev
sudo apt-get install -y ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules 
sudo apt-get install -y software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython 
sudo apt-get install -y libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
sudo pip install python-igraph --upgrade

cd ~/catkin_ws/src && git clone https://github.com/ethz-asl/Kalibr.git
cd .. && catkin build -DCMAKE_BUILDTYPE=Release -j3
source ~/catkin_ws/devel/setup.bash

Conda install

conda create -n $(ENV_NAME) python=2.7
conda activate $(ENV_NAME)
#conda update -n base -c defaults conda

conda install -y numpy scipy matplotlib pyyaml wxpython

pip install rospkg pycryptodomex gnupg opencv-python

run

  • step 1) camera calibraion pinhole-radtan for D435i
kalibr_calibrate_cameras --models pinhole-radtan pinhole-radtan --topics /camera/infra1/image_rect_raw /camera/infra2/image_rect_raw --bag [ROS bag file] --target aprilgrid_6x6.yaml
  • step 2) verify result (0.1~0.2 px for a good calibration)
kalibr_camera_validator --chain chain.yaml --target aprilgrid_6x6.yaml
  • step 3) camera-imu calibration
kalibr_calibrate_imu_camera --cam chain.yaml --target aprilgrid_6x6.yaml --imu imu0.yaml --bag [ROS bag file]

Trouble shooting

  • no module named 'igraph'
# i) if you use vanilla Python
sudo pip uninstall igraph
sudo apt update
sudo apt install -y python2.7-igraph

# ii) if you use Anaconda
conda install -c conda-forge python-igraph
  • no module named 'wx'
    • with conda
# takes long..
conda install -c conda-forge wxpython
  • ImportError: dynamic module does not define module export function (PyInit_libnumpy_eigen)
    • without conda
    • may be caused from using Anaconda.
    • The environment variable named Python may be disrupted. Because Kalibr uses Python2.7, you should assign the path explicitly.
export PYTHONPATH=/usr/local/lib/python2.7/
  • no module named 'rosbag'
    • without conda
pip install --extra-index-url https://rospypi.github.io/simple/ rospy rosbag
  • ImportError: /home/zinuok/anaconda3/envs/kalibr/bin/../lib/libgio-2.0.so.0: undefined symbol: g_unix_get_passwd_entry
    • with conda
conda install --force -c anaconda glib==2.56.1
  • ~ is protected within this context: from here
change line 466 protected into public in /usr/include/eigen3/Eigen/src/Core/MatrixBase.h 
  • ImportError: No module named Cryptodome.Cipher
pip install pycryptodomex
  • ImportError: libboost_python37.so.1.72.0: cannot open shared object file: No such file or directory
catkin clean -y 
catkin build -DCMAKE_BUILD_TYPE=Release -DBoost_NO_BOOST_CMAKE=ON