bmi055 标定_Kalibr tutorials

2023-05-16

Kalibr installation tutorial

I was confused about installing Kalibr, but there is no even one hint in README.md. I just put them in the catkin_ws, in which so many ROS packages are also there. Unsuccessfully, it can't be compiled one by one package by the command catkin_make -DCATKIN_WHITELIST_PACKAGE="PACKAGE_NAME". It means a good choice is to build another ROS workspace in case of rebuilding others in the same workspace.

Resiquite:

sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-kinetic-vision-opencv ros-kinetic-image-transport-plugins ros-kinetic-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

Warning: If having done catkin_make at first then must run the following command.

catkin clean -bdy

cd ~

mkdir -p kalibr_ws/src

cd ~/kalibr_ws

source /opt/ros/kinetic/setup.bash

catkin init

catkin config --extend /opt/ros/kinetic

catkin config --merge-devel # Necessary for catkin_tools >= 0.4. catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

cd ~/kalibr_ws/src

git clone https://github.com/ethz-asl/kalibr.git

cd ..

catkin build -DCMAKE_BUILD_TYPE=Release -j4

Output seems like this:

Finished <<< kalibr [ 16.1 seconds ]

[build] Summary: All 37 packages succeeded!

[build] Ignored: None.

[build] Warnings: 21 packages succeeded with warnings.

[build] Abandoned: None.

[build] Failed: None.

[build] Runtime: 14 minutes and 53.4 seconds total.

[build] Note: Workspace packages have changed, please re-source setup files to use them.

source ~/kalibr_ws/devel/setup.bash

Update:

Traceback (most recent call last):

File "../python/kalibr_calibrate_cameras", line 6, in

import sm

ImportError: No module named sm

**Solution: **

sudo pip install sm

then rebuild kalibr.

Multiple camera calibration

roslaunch realsense2_camera rs_camera.launch

rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color

rosbag record -O rs_cam_hz4 /color

Which distortiong model should be choose for Realsense D435i? From all I know, a factory calibration setup of D435i looks like: (You can /usr/local/bin/rs-sensor-control, type 0, 1, 2, 91 etc to see)

Principal Point : 322.424, 237.813

Focal Length : 617.521, 617.576

Distortion Model : Brown Conrady

Distortion Coefficients : [0,0,0,0,0]

And according to the dorodnic, of course a equidistant distortion model could be used. (But r1 & r2 are needed in realsense comfig in vins. So the best distortion model must be radial-tangential (radtan))

Yes, these are supposed to be zero for the D400. We consider adding coefficient estimation to the RGB calibration to reduce the distortion (by about 1 pixel at extremes), but at the moment projection without coefficients is the most accurate you can do (we are not calibrating and then ignoring the coefficients, we estimate fx, fy, ppx and ppy without them)

cd ~/kalibr_ws/src/kalibr/aslam_offline_calibration/kalibr/data

../python/kalibr_calibrate_cameras --target april_6x6_50x50cm.yaml --bag rs_cam_hz4.bag --models pinhole-equi --topics /color

Note that in the bag file there are up to 800 images, but it only 39. Maybe that's enough for calibration?

Output:

Calibration complete.

[ WARN] [1556719991.003758]: Removed 26 outlier corners.

Processed 826 images with 39 images used

Camera-system parameters:

cam0 (/color):

type:

distortion: [ 0.3044413 2.04741574 -11.06112629 18.6743852 ] +- [ 0.0320288 0.46759766 2.76374537 5.41971393]

projection: [ 604.9671891 602.10506316 325.8395051 238.35406753] +- [ 10.62286295 10.41921913 1.68531874 1.43868064]

reprojection error: [-0.000000, -0.000000] +- [0.153693, 0.138547]

Results written to file: camchain-rs_cam_hz4.yaml

Detailed results written to file: results-cam-rs_cam_hz4.txt

Result:

camchain-rs_cam_hz4.yaml

cam0:

cam_overlaps: []

camera_model: pinhole

distortion_coeffs: [0.3044413037380324, 2.0474157424478348, -11.061126286843251,

18.67438520203368]

distortion_model: equidistant

intrinsics: [604.9671890973748, 602.1050631617551, 325.83950509989114, 238.35406753467785]

resolution: [640, 480]

rostopic: /color

Compared to the default settings, assumes our result is accurate. The reprojection error seems like good too.

IMU calibration

imu_utils from HKUST

Protecting from error:

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):

Could not find a package configuration file provided by "code_utils" with

any of the following names:

code_utilsConfig.cmake

code_utils-config.cmake

Add the installation prefix of "code_utils" to CMAKE_PREFIX_PATH or set

"code_utils_DIR" to a directory containing one of the above files. If

"code_utils" provides a separate development package or SDK, be sure it has

been installed.

Put code_utils in the workspace, catkin_make first.

Then do the same for imu_utils.

Result (BMI055 is the IMU D435i is using):

BMI055_imu_param.yaml

%YAML:1.0

---

type: IMU

name: BMI055

Gyr:

unit: " rad/s"

avg-axis:

gyr_n: 6.0673370376614875e-03

gyr_w: 3.6211951458325785e-05

x-axis:

gyr_n: 5.4501442406047970e-03

gyr_w: 4.0723401163659986e-05

y-axis:

gyr_n: 5.9380128602687073e-03

gyr_w: 2.9388325769986972e-05

z-axis:

gyr_n: 6.8138540121109601e-03

gyr_w: 3.8524127441330383e-05

Acc:

unit: " m/s^2"

avg-axis:

acc_n: 3.3621979208052800e-02

acc_w: 9.8256589971851467e-04

x-axis:

acc_n: 3.6095477320173631e-02

acc_w: 9.6831827726998488e-04

y-axis:

acc_n: 3.4696437020780901e-02

acc_w: 1.3092042863834673e-03

z-axis:

acc_n: 3.0074023283203882e-02

acc_w: 6.7017513550209160e-04

camera/IMU calibration

roscd realsense2_camera/

roslaunch realsense2_camera rs_camera.launch

rostopic hz /camera/imu

rostopic hz /camera/color/image_raw

rosrun topic_tools throttle messages /camera/color/image_raw 20.0 /color

rosrun topic_tools throttle messages /camera/imu 200.0 /imu

Some problem:

In the rs_camera.launch, but when I check the frequency: IMU is 150 Hz and the camera is 15FPS. It can't be slow down to the frequency needed.

The best frequency is 200 Hz and 30 Hz. Of course, others are still good.

rosbag record -O rs_cam15hz_imu150hz.bag /color /imu

camchain-rs_cam_hz4.yaml

cam0:

cam_overlaps: []

camera_model: pinhole

distortion_coeffs: [0.3044413037380324, 2.0474157424478348, -11.061126286843251,

18.67438520203368]

distortion_model: equidistant

intrinsics: [604.9671890973748, 602.1050631617551, 325.83950509989114, 238.35406753467785]

resolution: [640, 480]

rostopic: /color

imu.yaml

rostopic: /imu

update_rate: 150.0 #Hz

accelerometer_noise_density: 3.3621979208052800e-02 #continous

accelerometer_random_walk: 9.8256589971851467e-04

gyroscope_noise_density: 6.0673370376614875e-03 #continous

gyroscope_random_walk: 3.6211951458325785e-05

roscd kalibr

cd data

cp ~/catkin_ws/src/realsense/realsense2_camera/rs_cam15hz_imu150hz.bag .

../python/kalibr_calibrate_imu_camera --target april_6x6_50x50cm.yaml --cam camchain-rs_cam_hz4.yaml --imu imu-BMI055.yaml --bag rs_cam15hz_imu150hz.bag

Note that when something is wrong with the input data in bagfile, just record another one bagfile.

Initializing

Optimization problem initialized with 101968 design variables and 1079428 error terms

The Jacobian matrix is 2310198 x 458841

[0.0]: J: 1.35165e+06

Exception in thread block: [aslam::Exception] /home/william/kalibr_ws/src/kalibr/aslam_nonparametric_estimation/aslam_splines/src/BSplineExpressions.cpp:447: toTransformationMatrixImplementation() assert(_bufferTmin <= _time.toScalar() < _bufferTmax) failed [1.55677e+09 <= 1.55677e+09 < 1.55677e+09]: Spline Coefficient Buffer Exceeded. Set larger buffer margins!

Exception in thread block: [aslam::Exception] /home/william/kalibr_ws/src/kalibr/aslam_nonparametric_estimation/aslam_splines/src/BSplineExpressions.cpp:447: toTransformationMatrixImplementation() assert(_bufferTmin <= _time.toScalar() < _bufferTmax) failed [1.55677e+09 <= 1.55677e+09 < 1.55677e+09]: Spline Coefficient Buffer Exceeded. Set larger buffer margins!

Exception in thread block: [aslam::Exception] /home/william/kalibr_ws/src/kalibr/aslam_nonparametric_estimation/aslam_splines/src/BSplineExpressions.cpp:447: toTransformationMatrixImplementation() assert(_bufferTmin <= _time.toScalar() < _bufferTmax) failed [1.55677e+09 <= 1.55677e+09 < 1.55677e+09]: Spline Coefficient Buffer Exceeded. Set larger buffer margins!

[ERROR] [1556773048.921808]: Optimization failed!

Traceback (most recent call last):

File "../python/kalibr_calibrate_imu_camera", line 236, in

main()

File "../python/kalibr_calibrate_imu_camera", line 206, in main

iCal.optimize(maxIterations=parsed.max_iter, recoverCov=parsed.recover_cov)

File "/home/william/kalibr_ws/src/kalibr/aslam_offline_calibration/kalibr/python/kalibr_imu_camera_calibration/IccCalibrator.py", line 179, in optimize

raise RuntimeError("Optimization failed!")

RuntimeError: Optimization failed!

Result looks like this:

After Optimization (Results)

==================

Normalized Residuals

----------------------------

Reprojection error (cam0): mean 0.169417479013, median 0.154212672023, std: 0.0973946838993

Gyroscope error (imu0): mean 0.18574054756, median 0.159830346682, std: 0.115913332564

Accelerometer error (imu0): mean 0.169497068217, median 0.145829709726, std: 0.10939033445

Residuals

----------------------------

Reprojection error (cam0) [px]: mean 0.169417479013, median 0.154212672023, std: 0.0973946838993

Gyroscope error (imu0) [rad/s]: mean 0.013802268496, median 0.0118768970357, std: 0.00861345010194

Accelerometer error (imu0) [m/s^2]: mean 0.0697960902289, median 0.0600502633182, std: 0.0450451310679

Transformation T_cam0_imu0 (imu0 to cam0, T_ci):

[[ 0.01542341 -0.99976267 0.01538561 0.00713584]

[ 0.03147917 -0.01489429 -0.99939343 -0.03487332]

[ 0.9993854 0.01589838 0.03124198 -0.05266484]

[ 0. 0. 0. 1. ]]

cam0 to imu0 time: [s] (t_imu = t_cam + shift)

0.0334634768386

IMU0:

----------------------------

Model: calibrated

Update rate: 150.0

Accelerometer:

Noise density: 0.0336219792081

Noise density (discrete): 0.411783466011

Random walk: 0.000982565899719

Gyroscope:

Noise density: 0.00606733703766

Noise density (discrete): 0.0743093991988

Random walk: 3.62119514583e-05

T_i_b

[[ 1. 0. 0. 0.]

[ 0. 1. 0. 0.]

[ 0. 0. 1. 0.]

[ 0. 0. 0. 1.]]

time offset with respect to IMU0: 0.0 [s]

Saving camera chain calibration to file: camchain-imucam-rs_cam15hz_imu150hz.yaml

Saving imu calibration to file: imu-rs_cam15hz_imu150hz.yaml

Detailed results written to file: results-imucam-rs_cam15hz_imu150hz.txt

Generating result report...

/home/william/kalibr_ws/src/kalibr/Schweizer-Messer/sm_python/python/sm/PlotCollection.py:57: wxPyDeprecationWarning: Using deprecated class PySimpleApp.

app = wx.PySimpleApp()

Report written to report-imucam-rs_cam15hz_imu150hz.pdf

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bmi055 标定_Kalibr tutorials 的相关文章

  • 联合标定双目相机和imu,使用工具Kalibr

    文章目录 imu标定 xff0c 产生数据写入imu yaml中 xff0c 见下文 xff0c imu yaml文件要用于联合标定 双目相机标定 xff0c 产生数据文件用于联合标定 xff0c 文件名类似camchain homeubu
  • kalibr使用笔记

    官网 GitHub ethz asl kalibr The Kalibr visual inertial calibration toolbox The Kalibr visual inertial calibration toolbox
  • 乌班图安装 Kalibr

    安装ROS Melodic 1 Installation 1 1 Configure your Ubuntu repositories http www 360doc com content 18 0417 15 54525756 7463
  • BMI055编程

    BMI055与其他imu不同的地方是他的加速度硬件单元和陀螺仪硬件单元是分开独立的 xff08 两个不同的CHIPID xff09 xff0c 他们使用两个不同的片选 xff0c 地址空间重叠 一般的imu如 mpu6050 mpu6500
  • kalibr标定IMU

    kalibr标定IMU 必须明确的是 1 如何标定 2 标定的结果 3 如何验证标定结果的正确性 如何标定 标定所需文件 XX bag 包含有图片信息和IMU数据的ROS包 camchain yaml 包含相机的内参和畸变参数的文件 IMU
  • 传感器标定系列——Kalibr工具

    文章目录 Kalibr介绍安装资源 Kalibr介绍 Kalibr is a toolbox that solves the following calibration problems 多相机标定 Multi Camera Calibra
  • Kalibr标定Intel D435i相机

    Kalibr标定Intel D435i相机 文章目录 Kalibr标定Intel D435i相机1 相机标定2 IMU标定3 相机 43 IMU联合标定4 标定结果评价 系统环境 xff1a ubuntu16 04 43 roskineti
  • Camera-IMU标定工具Kalibr的编译

    关于catkin make过程中下载suitesparse过久甚至失败的问题 xff1a 在安装kalibr时的suitesprse库时 xff0c 对应的cmakelists中会通过wget 下载压缩包 xff0c 若无法下载则整个kal
  • Kalibr标定时卡在Extracting calibration target corners的问题

    问题 使用Kalibr标定单目相机与单目imu联合标定 xff0c 都出现卡在Extracting calibration target corners的问题 xff0c 因此做一个记录 运行标定命令后一直卡在下面 Initializing
  • Kalibr 之 Camera-IMU 标定 (总结)

    Overview 欢迎访问 持续更新 xff1a https cgabc xyz posts db22c2e6 ethz asl kalibr is a toolbox that solves the following calibrati
  • Kalibr标定工具箱使用详细过程

    KaliZr由ETHZ视觉组开源 xff0c 链接如下 xff1a https github com ethz asl kalibr Kalibr可以解决以下校准问题 xff1a 1 多摄像机校准 xff1a 具有非全局共享的重叠视场的摄像
  • bmi055 标定_Ubuntu16.04+RealsenseT265跑通VINS-Fusion

    1 提早条件 系统版本 xff1a ubuntu16 04 43 ROS kinetic 默认已经掌握了ubuntu系统下的基本命令以及ROS的基本操做node 2 realsenseT265的SDK测试 3 realsenseT265的标
  • 利用Kalibr标定双目相机与IMU

    本文介绍如何利用Kalibr标定工具进行双目相机与IMU的联合标定 主要过程包括以下四步 xff1a 生成标定板标定双目相机标定IMU联合标定 1 生成标定板 使用AprilTag rosrun kalibr kalibr create t
  • Kalibr标定d435i

    figure it out 最近准备使用realsense d435i xff0c 先对其进行标定 整体环境是基于ROS的 xff0c 因为Kalibr是在ROS环境下 大致过程如下 xff1a imu标定 gt 双目标定 gt 双目 43
  • Ubuntu18.04+ROS+kalibr标定工具箱安装编译

    目录 前言 一 安装ROS 1 设置镜像源 2 更新软件包索引 3 安装ROS 4 测试ROS是否安装成功 二 安装kalibr melodic 1 kalibr简介 2 安装kalibr 3 测试kalibr 参考文献 xff1a 前言
  • Kalibr源码学习(一): 重投影误差

    Kalibr源码学习 一 重投影误差 给自己挖一个大坑 从标定结果来学习Kalibr的标定源码 这里基本以KB模型为例 也就是标定时 kalibr的模型设定为 model pinhole equi 这里以重投影误差开始 希望能坚持 重投影误
  • Kalibr进行相机-IMU联合标定踩坑记录RuntimeError: Optimization failed!

    1 具体标定步骤 xff0c 跟网上别的一模一样 xff0c 此处就不列举 2 记录踩坑过程 xff1a RuntimeError Optimization failed 当执行到开始联合标定时 xff0c 也就是如下指令 xff1a ka
  • 标定工具Kalibr安装、使用及标定结果评估方法

    单目相机标定 安装和配置 cd kalibr workspace source devel setup bash 如果使用april tag标定板 xff0c 设置aprilgrid yaml配置文件 标定数据bag采集 采集单目标定数据时
  • 讲讲如何写论文和发论文(通信类)

    发信人 AWESOME Slavery in Town 信区 GoAbroad 标 题 讲讲如何写论文和发论文 发信站 北邮人论坛 Sun Feb 15 21 22 15 2009 站内 有几个同学发站内信问我如何在本科和硕士期间写论文 发
  • 使用Kalibr工具线对相机+IMU离线标定

    传感器标定的准确后面做算法才会更准确 所以对Kalibr进行学习 一 Kalibr编译 1 下载kalibr包 GitHub下载地址 2 解压后放到 catkin ws src文件夹下 重新命令文件夹为kalibr 3 安装依赖库 sudo

随机推荐

  • 依据imu姿态角计算z轴倾角_树莓派小车-07-IMU姿态解算 imu_complementray_filter

    上一篇文章介绍了互补滤波器与ROS的接口定义 xff0c 这篇文章将结合论文分析代码 complementary filter cpp 首先从成员变量开始看 xff0c 毕竟这些变量在后面用到的时候需要了解他所代表的意思 xff0c 同时也
  • android 动画 三色流动,Android 三色状态指示进度条 - ThreeColorIndicator

    ThreeColorIndicator 这是一个 Android 三色状态指示进度条 xff0c 常用于指示 xff1a 信号强度 温度等 xff0c 可通过文字 颜色表示一个值的好 一般 差 xff0c 也可以自定义为其它状态 预览图 使
  • stm32串口接收不定长数据_串口发送数据的验证 不定长度多字节的处理4

    最后遗留的一个问题 xff0c 在Modbus RTU的读取功能中就完美解决了 灵光一闪 发送帧的第5字节数据就要要读取的长度 xff0c 响应帧的第3字节数据就是返回数据的长度 xff0c 后面的字节就是返回数据 因为1个寄存器数据是2个
  • m3u直播源_M3U播放列表生成工具

    来源 xff1a 黑鸟博客 快速制作支持 VLC 和 Potplayer 等播放器的 XSPF DPL M3U 等播放列表格式的工具 xff0c 并且可以查重复 xff0c 自定义设置多种选项 所有的播放列表都可以使用普通的文本编辑器 xf
  • js字符串包含另一个字符串_C语言中,在一个字符串中插入另一个字符串(字符)...

    本题可以看做一个字符串拼接问题 需要一个载体数组 includevoid insert array char s1 char s2 int n 思路 1 得到主串s1和子串s22 找到插入位置 3 进行插入 void main char s
  • 华为手机一键解锁工具箱下载 | 华为手机解BL锁软件: 支持解锁bootloader,刷写recovery功能

    文章目录 1 软件介绍2 特色功能3 资源站点4 下载地址5 软件截图6 安装教程7 使用教程7 1 解锁BL 1 软件介绍 通过这款华为手机实用工具箱可以对你的华为手机系列进行刷机 解锁等操作 xff0c 网上这种华为刷机解锁工具比较少
  • python subprocess 实时输出_Python标准库初探之subprocess

    一 subprocess简介 人生苦短 xff0c 我用Python 今天给大家带来一个在Python脚本中启动进程的利器 subprocess 人们都说Python是一个胶水语言 xff0c 可以方便地在多平台上调用其他指令 xff0c
  • 进程内存中堆和栈的区别

    1 概述 在整理数据结构时 xff0c 整理过栈 队列和堆 xff0c 但是在学习进程分布的时候又碰到了 栈和堆 xff0c 初学时很容易把这几个概念给弄混 xff0c 今天有空就给整理一下 2 程序在内存中的分布 程序在内存中的分布如下图
  • C++ Mutable

    1 mutable 含义及常规使用 mutable 英文中表示 xff0c 易变的 xff0c 不定的 xff1b 性情不定的 xff0c 而在代码中表示 可变数据成员 由前面整理的 const详解 知道 xff0c 由const修饰的成员
  • 牛吃草问题

    1 概述 最近碰到一个面试题 xff0c 讲的是牛吃草的问题 xff0c 当时时间短 xff0c 脑袋出现了短路 xff0c 没有给出答案 回来特意查了一下答案 xff0c 发现了一篇比较好的文章 xff0c 现在重新抄写一份 xff0c
  • 开始记录学习中的点滴

    随着年龄的增长 xff0c 除了去了很多地方之外 xff0c 感觉个人没有特别明显的成长 xff0c 对于未来充满了更多的迷茫与困惑 对于程序员的我来说更是感觉到了自己的瓶颈 xff0c 知识储备没有增加多少 xff0c 随着时间的流逝 x
  • C++中Struct与Class的区别与比较

    概述 之前只知道在C 43 43 中类和结构体的区别只有默认的防控属性 xff08 访问控制 xff09 不同 xff0c struct是public的 xff0c 而class是private的 但经过上网查资料才发现 xff0c 除了这
  • 函数调用约定的详解

    概述 在工作的过程中 xff0c 我们总是需要调用底层函数或者使用第三方的库 xff0c 在使用的过程中我就发现了有一些函数前面总有一些 stdcall xff0c 之初我只知道那是调用约定 xff0c 但别人问我什么是调用约定 xff0c
  • #pragma的常用方法讲解

    概述 我们在写代码时 xff0c 总会遇到头文件多次包含的情况 xff0c 刚开始时我们使用宏定义进行控制 xff0c 之后发现有 pragma once这样简单的东西 xff0c 当时是很兴奋 xff0c 以为 pragma就这一种用法
  • C++数组的详细解析

    概述 数组在写程序时经常用到 xff0c 但是对于它和指针的关系 xff0c 自己经常搞混 xff0c 所有抽点时间对数组进行整理 1 数组的概念和使用 数组是用来存储相同类型的变量的顺序集合 所有的数组都是由连续的内存位置组成 最低的地址
  • 华为荣耀9升降级系统 | 华为荣耀9变砖后如何救砖 | 华为荣耀9获取BL解锁码以及如何解BL锁 | 华为荣耀9如何通过写ramdisk.img来获取root

    文章目录 1 按2 通过官方华为手机助手升降级以及修复系统和安装驱动3 使用百分之五模式刷高维禁用包355来安装指定的系统版本8 0 0 3554 故意 xff08 或意外 xff09 刷错包把手机变砖5 使用救砖模式刷高维禁用包355来安
  • C++指针详解

    概述 C C 43 43 语言之所以强大 xff0c 以及其自由性 xff0c 很大部分体现在其灵活的指针运用上 因此 xff0c 说指针是C C 43 43 语言的灵魂一点都不为过 有好的一面 xff0c 必然会有坏的一面 xff0c 指
  • C++ lambda表达式及其原理

    概述 C 43 43 11中引入了新的lamdba表达式 xff0c 使用也很简单 xff0c 我最喜欢的是不用给函数取名称 xff0c 每次给函数取名称都感觉自己读书太少 1 lambda表达式 lambda表达式可以理解为一个匿名的内联
  • GIT 修改用户名和密码

    1 概述 如果你使用GIT的SSH 方式连接远端 xff0c 并且设置了一个没有口令的秘钥 xff0c 这样就可以砸不输入用户名和密码的情况下安全地传输数据 然而 xff0c 这对 HTTP 协议来说是不可能的 每一个连接都是需要用户名和密
  • bmi055 标定_Kalibr tutorials

    Kalibr installation tutorial I was confused about installing Kalibr but there is no even one hint in README md I just pu