乌班图安装 Kalibr

2023-05-16

安装ROS Melodic

1 Installation

1.1 Configure your Ubuntu repositories

http://www.360doc.com/content/18/0417/15/54525756_746389833.shtml

2.2 Setup your sources.list

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.3 Set up your keys

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

如果出现“您希望继续执行吗? [Y/n] y 中止。”
再次执行,需要输入 [Y/n]时,输入 yes| 回车即可。

2.4 Installation

首先

sudo apt update

这里遇到了问题:

命中:1 http://archive.ubuntu.com/ubuntu bionic InRelease
命中:2 http://cn.archive.ubuntu.com/ubuntu bionic InRelease
命中:3 http://security.ubuntu.com/ubuntu bionic-security InRelease
命中:5 http://archive.canonical.com/ubuntu bionic InRelease
命中:6 http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease
获取:4 http://packages.ros.org/ros/ubuntu bionic InRelease [4,680 B]
命中:7 http://cn.archive.ubuntu.com/ubuntu bionic-backports InRelease
错误:4 http://packages.ros.org/ros/ubuntu bionic InRelease
下列签名无效: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
命中:8 https://download.sublimetext.com apt/stable/ InRelease
已下载 4,680 B,耗时 22秒 (208 B/s)
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
有 531 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://packages.ros.org/ros/ubuntu bionic InRelease: 下列签名无效: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
W: 无法下载 http://packages.ros.org/ros/ubuntu/dists/bionic/InRelease 下列签名无效: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation.org
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

解决办法:

xxxx@xxx:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
Executing: /tmp/apt-key-gpghome.bc8KU2TwXU/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
gpg: 密钥 F42ED6FBAB17C654:“Open Robotics info@osrfoundation.org”1 个新的签名
gpg: 合计被处理的数量:1
gpg: 新的签名:1
Desktop-Full Install: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators and 2D/3D perception

然后运行:

sudo apt install ros-melodic-desktop-full

1.5 Environment setup

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

1.6 Dependencies for building packages

到目前为止,我们已经安装了运行核心 ROS 包所需的东西。有许多工具和库,能够帮助我们创建和管理ROS工作区。如:rosinstall,一个可以帮助我们下载ROS包的源代码的命令行工具

安装这些工具和依赖:

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

Before you can use many ROS tools, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS. If you have not yet installed rosdep, do so as follows.

sudo apt install python-rosdep

With the following, you can initialize rosdep.

sudo rosdep init

这里遇到了问题:

pkg_resources.DistributionNotFound: The 'rospkg>=1.3.0' distribution was not found and is required by rosdep

解决办法:

sudo pip install rosdep

然后运行

rosdep update

第二次安装时,这里遇到问题,解决办法

虽然这个办法能成功,但是我还是试了几次才成功

1.7 测试ros安装成功

测试小乌龟

安装kalibr

1. Install the build and run dependencies:

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

这里遇到了问题:

没有可用的软件包 python-software-properties,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
software-properties-common
E: 软件包 python-software-properties 没有可安装候选

解决办法:

E: 软件包 python-software-properties 没有可安装候选

然后把python-software-properties删除后再运行:

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

再安装igraph

sudo pip install python-igraph --upgrade

这里遇到问题:

Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-POF3SC/python-igraph/

解决办法:

我首先到pypi去下载适配的轮子。根据我的python版本以及系统,我选择了python_igraph-0.9.6-cp36-cp36m-manylinux2010_x86_64.whl
然后在利用pip install python_igraph-0.9.6-cp36-cp36m-manylinux2010_x86_64.whl进行安装时,仍然报错。原因在于manylinux2010_x86_64manylinux1_x86_64区别是manylinux2010 要求 pip >= 19.0。然后升级以下pip就可以顺利安装了。

manylinux tagClient-side pip version required
manylinux2014pip >= 19.3
manylinux2010pip >= 19.0
manylinux1pip >= 8.1.0

这样就完成了依赖的安装。

2. Create a catkin workspace

mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/melodic/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

3.Clone the source repo into your catkin workspace src folder

cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git

4. 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 -j4

5.Once the build is finished you have to source the catkin workspace setup to use Kalibr

source ~/kalibr_workspace/devel/setup.bash

注意:
在每次打开新的终端时,都需要上述source以下。
将上述source命令,通过

gedit ~/.bashrc

打开文件,然后在.bashrc中将上述source命令添加进去,保存。然后

source ~/.bashrc

测试Kalibr

首先在官方github上下载测试数据。

下载Sample datasets中的Multiple camera calibration和IMU-camera calibration都可以。

Multiple camera calibration

文件下载后解压后,文件包含:

april_6x6.yaml
README
static.bag

在README文件中有:

kalibr_calibrate_cameras --target april_6x6.yaml --bag static.bag --models pinhole-equi pinhole-equi omni-radtan omni-radtan --topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw

打开终端,移动到上述数据所在的文件夹内。
上面我们已经在.bashrc文件中添加了脚本路径,因此可以直接运行上述README中的命令行即可。
运行后的结果:

这些图片保存在report-cam-static.pdf文件中
这些图片保存在report-cam-static.pdf文件中。
标定的结果文件还包括:

report-cam-static.pdf
report-cam-static.txt
camchain-static.yaml

IMU-camera calibration

同上,在终端中运行:

kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag dynamic.bag --bag-from-to 5 45

在这里插入图片描述

其他问题

首次运行的时候,报错ImportError: No module named igraph
但是上述明明已经安装了igraph。根据报错定位找到了相应的代码,发现在ObsDp.py代码是python2.0代码。
因此,需要安装对应的igraph,即

sudo apt-get install python2.7-igraph

最后

参考链接

kalibr官方安装方法
ROS官方安装方法

以上记录了首次安装kalibr的流程,由于环境的差异,在安装的过程中遇到的问题也不一样。
首先根据官方的教程进行安装,以上流程也主要从官方教程中搬运过来的,遇到问题再搜索就行了。

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

乌班图安装 Kalibr 的相关文章

  • 使用Kalibr标定相机和IMU(ZED+px4)外参

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 使用Kalibr标定相机和IMU xff08 ZED 43 px4 xff09 外参 前言一 Kalibr介绍二 CAM IMU外参标定1
  • 使用kalibr标定imu

    这种方法需要在ubuntu中安装matlab 本人只标定的imu 没有和摄像头联合标定 xff0c 方法和imu utils类似 xff0c 先用ros记录imu数据 xff0c 在通过kalibr来计算随机游走误差和高斯白噪声误差 1 首
  • 联合标定双目相机和imu,使用工具Kalibr

    文章目录 imu标定 xff0c 产生数据写入imu yaml中 xff0c 见下文 xff0c imu yaml文件要用于联合标定 双目相机标定 xff0c 产生数据文件用于联合标定 xff0c 文件名类似camchain homeubu
  • 基于Ubuntu 20.04 安装 Kalibr 踩坑记录

    小师妹要做相机视觉标定 xff0c 需要制作棋盘格 xff0c 无奈其电脑有些卡 xff0c 对此毫无经验的博主从头开始安装 xff08 此前博主已经安装了ROS环境 xff09 xff0c 如果没有安装ROS环境 xff0c 请参照以下链
  • kalibr使用笔记

    官网 GitHub ethz asl kalibr The Kalibr visual inertial calibration toolbox The Kalibr visual inertial calibration toolbox
  • Ubuntu安装kalibr

    Ubuntu安装kalibr错误集锦 一 安装过程 ros参考 xff1a https blog csdn net Mua111 article details 107513509 kalibr安装参考 xff1a https blog c
  • kalibr标定IMU

    kalibr标定IMU 必须明确的是 1 如何标定 2 标定的结果 3 如何验证标定结果的正确性 如何标定 标定所需文件 XX bag 包含有图片信息和IMU数据的ROS包 camchain yaml 包含相机的内参和畸变参数的文件 IMU
  • ubuntu18在docker下运行kalibr

    一些命令 docker images sudo docker run it kalibr latest sudo docker run it v local path docker path respository bin bash sud
  • Kalibr使用

    1 imu标定 xff08 这个没有具体做 xff09 xff08 我的理解是 将imu utils code utils和Kalibr放在一个kalibr ws下 xff09 imu utils下载地址为 xff1a https gith
  • kalibr源码阅读参考

    Kalibr简介 xff1a Kalibr是一个用于标定多相机系统和IMU xff08 惯性测量单元 xff09 的开源工具包 xff0c 旨在提供一套完整的 易于使用的标定工具 它是ETH Zurich自主飞行系统实验室的一个项目 xff
  • Kalibr标定时卡在Extracting calibration target corners的问题

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

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

    这里介绍用kalibr工具对相机进行单目和双目的标定 xff1b 在kalibr中不仅提供了IMU与camera的联合标定工具 xff0c 也包含了camera的标定工具箱 xff1b 准备 安装好kalibr之后 xff0c 开始准备标定
  • Kalibr标定d435i

    figure it out 最近准备使用realsense d435i xff0c 先对其进行标定 整体环境是基于ROS的 xff0c 因为Kalibr是在ROS环境下 大致过程如下 xff1a imu标定 gt 双目标定 gt 双目 43
  • 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
  • 联合标定单目相机和imu,使用工具Kalibr

    使用Kalibr工具标定单目相机和IMU的外参 xff0c 操作过程和联合标定双目相机和IMU类似 xff0c 以下介绍不同部分 最后标定时所需要的相机参数由双目变成了单目 xff0c 以下是配置文件的格式 xff1a cam0 camer
  • 乌班图安装 Kalibr

    安装ROS Melodic 1 Installation 1 1 Configure your Ubuntu repositories http www 360doc com content 18 0417 15 54525756 7463
  • Kalibr源码学习(一): 重投影误差

    Kalibr源码学习 一 重投影误差 给自己挖一个大坑 从标定结果来学习Kalibr的标定源码 这里基本以KB模型为例 也就是标定时 kalibr的模型设定为 model pinhole equi 这里以重投影误差开始 希望能坚持 重投影误
  • 标定工具Kalibr安装、使用及标定结果评估方法

    单目相机标定 安装和配置 cd kalibr workspace source devel setup bash 如果使用april tag标定板 xff0c 设置aprilgrid yaml配置文件 标定数据bag采集 采集单目标定数据时
  • 使用Kalibr工具线对相机+IMU离线标定

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

随机推荐

  • 【C/C++】标准库, STL, Boost等的联系

    Backto C C 43 43 Index 标准库 最最开始 只有 C 语言 使用着使用着 一些常用的功能被写成了库 各种组织都是自己私有的库 后来为了方便统一使用和交流 就制定了标准 标准里的库 就是 C 标准库 后来 C 43 43
  • 数组与链表的优缺点和区别

    1 数组 xff1a 数组是将元素在内存中连续存放 xff0c 由于每个元素占用内存相同 xff0c 可以通过下标迅速访问数组中任何元素 但是如果要 在数组中增加一个元素 xff0c 需要移动大量元素 xff0c 在内存中空出一 个元素的空
  • 堆空间与栈空间的区别

    1 栈区 xff08 stack xff09 xff1a 又编译器自动分配释放 xff0c 存放函数的参数值 xff0c 局部变量的值等 xff0c 其操作方式类似于数据结构的 栈 2 堆区 xff08 heap xff09 xff1a 一
  • strtok函数及其实现

    头文件 xff1a include lt string h gt 定义函数 xff1a char strtok char s const char delim 函数说明 xff1a strtok 用来将字符串分割成一个个片段 参数s 指向欲
  • 服务器和客户机的信息函数以及读写函数

    1 服务器和客户机的信息函数 xff08 1 xff09 字节转换函数 在网络上面有着许多类型的机器 xff0c 这些机器在表示数据的字节顺序是不同的 xff0c 比如i386芯片是低字节在内存地址的低 端 xff0c 高字节在高端 xff
  • TCP协议的拥塞控制机制

    最初的TCP协议只有基于窗口的流控制 xff08 flow control xff09 机制而没有拥塞控制机制 流控制作为接受方管理发送方发送 数据的方式 xff0c 用来防止接受方可用的数据缓存空间的溢出 流控制是一种局部控制机制 xff
  • 构造函数为什么不能是虚函数

    1 从存储空间角度 xff0c 虚函数对应一个指向vtable虚函数表的指针 xff0c 这大家都知道 xff0c 可是这个指向vtable的指针其实是存储在对象的内存空间的 问题出来了 xff0c 如果构造函数是虚的 xff0c 就需要通
  • openmv学习五:OLED

    首先需要将SSD1306x py这个文件放到OPENMV中 代码 from machine import I2C Pin 从 machine 模块导入 I2C Pin 子模块 from ssd1306x import SSD1306 I2C
  • 自旋锁的实现及优化

    自旋锁也是一种互斥锁 xff0c 和mutex锁相比 xff0c 它的特点是不会阻塞 xff0c 如果申请不到锁 xff0c 就会不断地循环检测锁变量的状态 xff0c 也就是自旋 自旋锁的实现算法大多使用TAS算法或者CAS算法 TAS算
  • C语言----详解字符串相关的库函数(建议收藏)

    文章目录 系列文章目录前言一 C语言相关字符串库函数一览表 二 strlen函数 三 strcpy函数四 strcat函数 五 strcmp函数 六 strncpy函数 七 strncat函数 八 strncmp函数 九 strstr函数
  • C/C++头文件与变量的声明和定义

    C C 43 43 头文件与变量的声明和定义 最近遇到了变量重复包含的问题 xff0c 才发现自己有好多知识已经模糊了 xff0c 真惭愧 首先说下头文件 xff0c 其实头文件对计算机而言没什么作用 xff0c 她只是在预编译时在 inc
  • C语言寄存器变量register

    用register声明的变量是寄存器变量 xff0c 是存放在CPU的寄存器里的 而我们平时声明的变量是存放在内存中的 虽说内存的速度已经很快了 xff0c 不过跟寄存器比起来还是差得远 寄存器变量和普通变量比起来速度上的差异很大 xff0
  • Curl(C++)使用教程

    1 Curl简介 2 Easy interface 3 Multi interface 1 Curl简介 libcurl作为是一个多协议的便于客户端使用的URL传输库 xff0c 基于C语言 xff0c 提供C语言的API接口 xff0c
  • GPS原始RMC数据解析之DDMM.MMMM

    环境 GPS BD 定位模块 1 模块输出数据如下 GNRMC 100756 000 V 4000 0005 N 11559 9745 E 6 21 223 00 050313 N 68 2 了解换算规则 ddmm mmmm规则和dd dd
  • VINS-Mono代码阅读笔记(三):vins_estimator中main函数分析

    在VINS Mono代码阅读笔记 xff08 一 xff09 xff1a 从Euroc数据集的运行开始 中我们已经初步知道了vins estimator中订阅和发布的topic xff0c 那么 xff0c 在研究vins estimato
  • VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化

    本篇笔记紧接着VINS Mono代码阅读笔记 xff08 十二 xff09 xff1a 将关键帧加入位姿图当中 xff0c 来学习pose graph当中的紧耦合优化部分 在重定位完成之后 xff0c 进行位姿图优化是为了将已经产生的所有位
  • VINS-Mono代码阅读笔记(十四):posegraph的存储和加载

    本篇笔记紧接着VINS Mono代码阅读笔记 xff08 十三 xff09 xff1a posegraph中四自由度位姿优化 xff0c 来分析位姿图的存储和加载 完整 xff08 也是理想的 xff09 的SLAM的使用应该是这样的 xf
  • Visual Studio中设置opencv环境

    图像处理的项目中 xff0c 每建立一个新的项目 xff0c 需要对环境重新设置 xff0c 本文记录一下自己在VS中设置环境的步骤 xff0c 也分享给相同的入门小白 本文侧重说明VS中调用opencv的环境设置步骤 xff0c open
  • STM32学习笔记(1)---工程创建

    文章目录 前言一 新建工程步骤1 点击Project gt New uVision Project2 选择芯片3 创建文件夹4 放入必要文件4 头文件关联 总结问题 前言 这是我第一次写博客 xff0c 而且对于STM32也只是初学 xff
  • 乌班图安装 Kalibr

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