Ubuntu18.04+ROS+kalibr标定工具箱安装编译
目录
前言
一、安装ROS
1.设置镜像源
2. 更新软件包索引
3. 安装ROS
4.测试ROS是否安装成功
二、安装kalibr-melodic
1.kalibr简介
2.安装kalibr
3.测试kalibr
参考文献:
前言
安装编译要我老命啊!经历了与kalibr的漫长而曲折的战斗。终于搞定。先来张成功的结果图打打鸡血!兄弟们,搞起!
一、安装ROS
ROS有多个版本,不同版本的ubuntu系统需要安装对应的ROS,对照如下表:
ROS版本 | ubuntu版本 |
indigo | ubuntu14.04 |
kinetic | ubuntu16.04 |
melodic | ubuntu18.04 |
noetic | ubuntu20.4 |
本文以ubuntu18.04+ROS-melodic为例进行安装编译。(该版本使用较多,网上资源多)
注意:如读者安装版本与本文不同,请注意相关命令种将melodic更换成对应版本(kinetic或noetic)。安装步骤大同小异。
1.设置镜像源
如果可以可以科学上网的话,读者可以按照 国外源进行安装:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
设置公钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
否则使用国内源进行安装:
中科大源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
设置公钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
上面源不可以的话:可以试试下面的
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
或者
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
设置公钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
如果连接到密钥服务器时遇到问题,可以尝试用上一个命令替换hkp://pgp.mit.edu:80
或hkp://keyserver.ubuntu.com:80
。可以到官网查询最新的密钥是什么。
2. 更新软件包索引
sudo apt-get update
3. 安装ROS
现给出官网 的安装步骤做参照:
export ROS1_DISTRO=noetic # kinetic=16.04, melodic=18.04, noetic=20.04
sudo apt-get install ros-$ROS1_DISTRO-desktop-full
sudo apt-get install python-catkin-tools # ubuntu 16.04, 18.04
sudo apt-get install python3-catkin-tools python3-osrf-pycommon # ubuntu 20.04
ubuntu18.04安装步骤:
sudo apt install ros-melodic-desktop-full
sudo apt-get install python-catkin-tools
构建包依赖关系:
rosinstall是一个常用的命令行工具,使您可以通过一个命令轻松下载ROS软件包的许多源代码树。
安装rosinstall:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
(注意:ubuntu20.04要将python改为python3)
其实这一步也会把rosdep安装好。
rosdep能够轻松地为要编译的源安装系统依赖性,并且是运行ROS中某些核心组件所必需的。
安装rosdep:
sudo apt install python-rosdep
初始化并更新rosdep:
sudo rosdep init
rosdep update
如果安装rosdep失败的话,可改为安装rosdepc:
sudo apt-get install python-rosdepc
sudo rosdepc init
rosdepc update
设置环境:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
4.测试ROS是否安装成功
为了测试一下我们的ROS是否安装成功,这里我们来测试一个例程——小海龟仿真器。
1.打开一个新的终端(ctrl+alt+T),启动ROS Master。
roscore
2.再打开一个新的终端(ctrl+alt+T),启动小海龟仿真器。
rosrun turtlesim turtlesim_node
此时,运行完出现小海龟窗口。
3. 再打开一个新的终端(ctrl+alt+T),启动小海龟控制节点。
rosrun turtlesim turtle_teleop_key
最后,光标选中最后开启这个终端,按下方向键就可以控制小海龟移动啦!
4.检查rviz等高级功能的运行
打开第一个终端输入roscore
打开第二个终端输入rosrun rviz rviz
看到下图画面则rviz等其他组件安装成功。
5.使用rqt_graph
打开一个新终端:
rosrun rqt_graph rqt_graph
成功运行出现以下窗口:
如果报错:ModuleNotFoundError: No module named 'rospkg'
请参照链接https://www.freesion.com/article/7153962566/ 进行解决。
二、安装kalibr-melodic
1.kalibr简介
Kalibr是一个由瑞士ETH开源的、使用比较广泛的相机校正工具包,主要进行包括以下三方面的校正(翻译自GitHub项目主页,部分修改):
- 多相机标定:具有非全局共享重叠视场的相机系统的内参、外参标定
- 相机-IMU校正:IMU和相机的内参、外参标定
- 卷帘相机校正:对卷帘快门的相机进行标定
关于它的一系列理论,可以参考GitHub主页中列出的5篇文章。本篇博客只从安装和使用的角度对Kalibr进行介绍。
2.安装kalibr
Kalibr有两种方式可供使用,一种是预编译好的可执行文件包(CDE Package),直接打开就可以使用;另一种是源码,需要自己编译。
两种方式各有优势。CDE包运行最简单、快捷,不需要配置依赖环境,但同时会缺少Camera focus和Calibration validator这两个功能。而源码编译好处就是全功能,而且相比于CDE包运行效率会更快。当然坏处就是要配置一堆环境,还有可能面对各种奇奇怪怪的编译错误。
不过本人并未找到这传说中的CDE包,如果读者找到并会安装,欢迎在评论区留言,感谢!
本文以ubuntu18.04+kalibr为例进行安装。
1.安装依赖项
所有 Ubuntu 版本的通用要求如下:
sudo apt-get install -y \git wget autoconf automake nano \libeigen3-dev libboost-all-dev libsuitesparse-dev \doxygen libopencv-dev \libpoco-dev libtbb-dev libblas-dev liblapack-dev libv4l-dev
然后由于不同的Python版本,您将需要安装以下内容:
# Ubuntu 16.04
sudo apt-get install -y python2.7-dev python-pip python-scipy \python-matplotlib ipython python-wxgtk3.0 python-tk python-igraph
# Ubuntu 18.04
sudo apt-get install -y python3-dev python-pip python-scipy \python-matplotlib ipython python-wxgtk4.0 python-tk python-igraph
# Ubuntu 20.04
sudo apt-get install -y python3-dev python3-pip python3-scipy \python3-matplotlib ipython3 python3-wxgtk4.0 python3-tk python3-igraph
本文为ubuntu18.04系统,安装命令如下:
sudo apt-get install -y python3-dev python-pip python-scipy \python-matplotlib ipython python-wxgtk4.0 python-tk python-igraph
2.创建工作空间
首先我们可以创建一个工作区。将其配置为在发布模式下构建很重要,否则优化会很慢。
本文先给出官网安装示例:
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
export ROS1_DISTRO=noetic # kinetic=16.04, melodic=18.04, noetic=20.04
source /opt/ros/$ROS1_DISTRO/setup.bash
catkin init
catkin config --extend /opt/ros/$ROS1_DISTRO
catkin config --merge-devel # Necessary for catkin_tools >= 0.4.
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
ubuntu18.04安装命令如下:
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/melodic/setup.bash
catkin init
catkin config --extend /opt/ros/melodic
catkin config --merge-devel
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
3.源码下载
官网教程是从网站克隆,但克隆版本并不符合安装系统,总是出错,显示kalibr_calibrate_imu_camera命令未找到,多次重新编译也未成功。
所以本文选用kalibr与ubuntu18.04对应的版本(其他ubuntu系统同理):
下载后将kalibr-fix-18.04.zip解压到 ~/kalibr_workspace/src文件夹下:
此外,克隆
git clone https://github.com/ethz-asl/kalibr.git
这个版本kalibr-master做备用。
4.源码编译:
cd ~/kalibr_workspace/
catkin build -DCMAKE_BUILD_TYPE=Release -j4
编译过程会出现如下问题:
下载suiteaparse过久甚至失败,参考以下链接解决
https://blog.csdn.net/u010003609/article/details/104715475
其他错误可参照:https://blog.csdn.net/u010003609/article/details/104715475
不过一般的,如果编译错误,将报错所指路径文件全部替换为kalibr-master对应的文件,简单粗暴,亲测有效。
编译成功会如下图所示
如果直接按官网教程采用克隆编译,会缺少suiteasparse文件,最终显示为36 package.
5.刷新工作空间。
source ~/kalibr_workspace/devel/setup.bash
当然,上面的这行命令只对当前终端有效,这样每次使用前都需要source一下。如果想更加方便,可以直接输入gedit ~/.bashrc打开文件,将上面内容写入并保存。
最后输入source ~/.bashrc即可。
3.测试kalibr
本文测试相机与imu联合标定,其他标定过程可参考kalibr官网。
从https://pan.baidu.com/s/1bWQT7g提取码2g2t下载数据包,解压放在工作空间里
在终端输入标定命令:
kalibr_calibrate_imu_camera --target april_6x6.yaml --cam camchain.yaml --imu imu_adis16448.yaml --bag dynamic.bag --bag-from-to 5 45
程序会输出三个文件:
report-imucam-dynamic.pdf
:PDF版本的结果报告,包含绘制的图片和标定的参数。results-imucam-dynamic.txt
:以文本文件储存的标定结果。camchain-imucam-dynamic.yaml
:以YAML格式储存的标定结果。它是在camchain.yaml
的基础上增加了所有相机相对于
标定后的结果如下图所示。
到此,安装顺利结束,又可以搬砖去了。
Ubuntu18.04+ROS+kalibr标定工具箱安装编译相关推荐
- 【Linux配置五】 Ubuntu18.04+kalibr标定工具箱安装编译
一.安装kalibr 1.安装依赖项 所有 Ubuntu 版本的通用要求如下: sudo apt-get install -y \git wget autoconf automake nano \li ...
- Ubuntu18.04+Ros Melodic安装Moveit
Ubuntu18.04+Ros Melodic安装Moveit框架 感谢Robot_Tiger_原文https://blog.csdn.net/CH_monsy/article/details/108 ...
- Ubuntu18.04+ROS Melodic+RealsenseD435i+Robotiq-2F-85+UR5真实机械臂手眼标定(眼在手外)
一.配置环境 操作系统:Ubuntu 18.04 机械臂型号:UR5 :polyscope 3.14 夹爪型号:Robotiq 2F-85 深度相机:Intel RealSense - D435i 二 ...
- 【ROS】Ubuntu18.04 + ROS操作系统安装
[ROS]Ubuntu18.04 + ROS操作系统安装,亲测可用! 最近需要用到ROS系统,所以来安装一下. 一.更换镜像源 更换阿里云.清华源都可以. 二.添加ROS软件源 1. 添加ROS软件源 ...
- ubunt20.04/ubuntu18.04+ros+uuv_simulator
Ubuntu20.04/Ubuntu18.04+ros+uuv_simulator 一.问题导入 1. 问题阐述 2. 本文内容 二.Ubuntu20.04+ros+uuv_simulator 1. ...
- 3、速腾16线激光雷达RS-16 ----- 3D建图算法LeGO-LOAM的使用(Ubuntu18.04 + ROS Melodic)
Ubuntu18.04使用速腾16线激光雷达RS-16测试3D建图算法 LeGO-LOAM 的使用 1. 安装gtsam因子图库 2. 新建ROS工程目录文件夹,下载源码进行编译 3. 下载相关数据集 ...
- Ubuntu18.04系统中python3.7安装MultiNEAT库
Ubuntu18.04系统中python3.7安装MultiNEAT库 前言 MultiNEAT介绍 安装问题 boost安装 MultiNEAT安装 安装过程遇到问题及解决方法 前言 MultiNE ...
- Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)
Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案) 安装cmake-qt-gui 下载apt包 下载OpenCV并修改一些文件 第一坑:改文件 第二个坑:还是改文 ...
- Ubuntu18.04之有道词典安装(五十九)
Ubuntu18.04之有道词典安装 1.下载有道词典 <1>.amd64版本 http://cidian.youdao.com/multi.html选择:Ubuntu(amd64)< ...
最新文章
- 高频交易都有哪些著名的算法
- spark重要端口号
- UIScrollView 的代理方法简单注解
- numpy.negative详解
- BZOJ 1565 Luogu P2805 [NOI2009]植物大战僵尸 (Tarjan判环、最小割)
- 【初印象】Android手机屏幕适配API:nodpi,xhdpi,hdpi,mdpi,ldpi
- 【XML】XML实例模板
- SQLite集成与用法
- wndows make images
- proe把零件转化为stl在unity中使用注意事项
- linux中终端进入目录太多时造成终端路径显示太长的路径影响观看的解决方法
- java函数的返回值类型_JAVA函数的返回值类型详解以及生成随机数的例题
- 普通路由器改4g路由器_4G工业路由器在安防领域中的应用
- linux注销系统有几种方法,怎么注销Linux子系统
- (Math)矩阵求导
- 视觉导航定位系统工作原理及过程
- 暗通道去雾(何恺明的成名作):简洁与效果并存的传统图像处理算法
- 基于Javaweb的小项目(类似于qqzone) 2 ——服务端连接数据库并实现CRUD的通用操作
- 全排列的算法(八)——序数法
- Java Solr:(二)Solr 搜索原理
热门文章
- I Hate It(线段树点更新)
- English Learning - Day2 作业打卡 2022.12.8 周四
- gta5oracle原文件,GTA5.exe GTAVLauncher.exe 1.0.323.1 侠盗猎车5原版执行文件
- 超强进阶:PLONK VS Groth16(下)
- 人工智能、深度学习、机器学习常见面试题241~260
- 华为云会议录制能力再升级,会议成果全收录
- ios图标生成器网址 插件禁用后,可以选择这个
- 全国首批5G试点城市公布,你所在城市是否入选?
- Java设计模式—访问者模式
- 服务器系统无备份崩溃,如果备份服务器崩溃了