-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Installation
The following two sources for the toolbox are available:
-
building from source
Depends on a working installation of ROS indigo and a catkin workspace. Binaries will run faster than with the CDE package and all tools are available. -
CDE package
This package is the easiest and fastest way to get the toolbox running. All dependencies are packed within this package and no external dependencies are required. The Camera focus and Calibration validator tools aren't available with the CDE-package as they require a native ROS installation.
NOTE: It is recommended to build the toolbox from source using a native ROS installation to make all tools available.
To remove the necessity of installing ROS and building the toolbox from source, a CDE package is provided that packs the toolbox and all its dependencies in a chroot-like environment. To install this package follow these steps:
-
Download the most recent package from the Downloads page.
-
Extract the archive using:
tar xfvz kalibr.tar.gz
-
Either you can run the tools directly from the cde-package folder or/and add the package folder to the system path using:
export PATH="/cde/package/path:$PATH"
to use the tools more conveniently.
To build the toolbox from source follow these steps (tested on Ubuntu 14.04 with ROS indigo):
-
Install ROS indigo
see ros.org for more informationExample installation on Ubuntu 14.04 and ROS indigo:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install ros-indigo-desktop python-rosinstall python-rosdep -y
rosdep init
rosdep update
-
Install the build and run dependencies:
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-indigo-vision-opencv ros-indigo-image-transport-plugins ros-indigo-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
sudo pip install python-igraph --upgrade -
Create a catkin workspace
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/indigo/setup.bash
catkin init
catkin config --extend /opt/ros/indigo
catkin config --merge-devel # Necessary for catkin_tools >= 0.4.
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -
Clone the source repo into your catkin workspace src folder
cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git -
Build the code using the Release configuration. depending on the available memory, you might need to reduce the build threads (e.g. add -j2 to catkin_make)
cd ~/kalibr_workspace
catkin build -DCMAKE_BUILD_TYPE=Release -j4Grab a coffee, this will take a while...
-
Once the build is finished you have to source the catkin workspace setup to use Kalibr
source ~/kalibr_workspace/devel/setup.bash
More information on building with catkin and ROS can be found here.
Kalibr can be run using the Docker image provided by Stereo Labs.
To use the image, start by installing Docker.
- Create a shell script
run_kalibr.sh
with the contents:
#!/bin/sh
data_dir=$1
if [ ! -d "$data_dir" ]; then
echo "data directory does not exist: $data_dir"
exit 1
fi
xhost +local:root;
docker run -it -e DISPLAY -e QT_X11_NO_MITSHM=1 -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v $data_dir:/root/data stereolabs/kalibr:kinetic /bin/bash -c "cd /root/data; /bin/bash"
xhost -local:root;
-
Give the script execution permissions by running
chmod +x run_kalibr.sh
. -
Run using
./run_kalibr.sh <path-to-data-dir>
, where<path-to-data-dir>
is the path to the directory on your computer which contains your calibration bag file.
This will open an interactive shell session inside the docker container. The data directory will be mounted inside the container at the path /root/data
. The shell has the Kalibr workspace loaded. This means you can run your favorite Kalibr commands such as kalibr_calibrate_cameras --bag bag.bag --topics /cam_node/left_raw /cam_node/right_raw --models pinhole-radtan pinhole-radtan --target target.yaml
.
Please cite the appropriate papers when using this library or parts of it in an academic publication.
- Philip J. Guo. (2011). CDE: Run Any Linux Application On-Demand Without Installation. USENIX Large Installation System Administration Conference (LISA). homepage
Multiple camera calibration
Camera-IMU calibration
Multi-IMU and IMU intrinsic calibration
Rolling Shutter camera calibration
(only ROS):
Camera focus
Calibration validator
ROS2 support
Supported camera models
Calibration targets
Bag format
YAML formats
IMU Noise Model
Example: Calibrating a VI-Sensor
Example: Calibrating RealSense Cameras