original link: kalibr
my results with D435i & Pixhawk4 mini are uploaded as .yaml file
install & run for my desktop(Ubuntu 18.04, ROS Melodic)
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 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
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]
# 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
# 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/
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
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