目录
前言
一、安装ROS
1.设置镜像源
2. 更新软件包索引
3. 安装ROS
4.测试ROS是否安装成功
二、安装kalibr-melodic
1.kalibr简介
2.安装kalibr
3.测试kalibr
参考文献:
安装编译要我老命啊!经历了与kalibr的漫长而曲折的战斗。终于搞定。先来张成功的结果图打打鸡血!兄弟们,搞起!
ROS有多个版本,不同版本的ubuntu系统需要安装对应的ROS,对照如下表:
ROS版本 | ubuntu版本 |
indigo | ubuntu14.04 |
kinetic | ubuntu16.04 |
melodic | ubuntu18.04 |
noetic | ubuntu20.4 |
本文以ubuntu18.04+ROS-melodic为例进行安装编译。(该版本使用较多,网上资源多)
注意:如读者安装版本与本文不同,请注意相关命令种将melodic更换成对应版本(kinetic或noetic)。安装步骤大同小异。
如果可以可以科学上网的话,读者可以按照 国外源进行安装:
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
。可以到官网查询最新的密钥是什么。
sudo apt-get update
现给出官网 的安装步骤做参照:
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
为了测试一下我们的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是一个由瑞士ETH开源的、使用比较广泛的相机校正工具包,主要进行包括以下三方面的校正(翻译自GitHub项目主页,部分修改):
关于它的一系列理论,可以参考GitHub主页中列出的5篇文章。本篇博客只从安装和使用的角度对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即可。
本文测试相机与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
的基础上增加了所有相机相对于标定后的结果如下图所示。
到此,安装顺利结束,又可以搬砖去了。
https://blog.csdn.net/panjie_/article/details/113616630
https://blog.csdn.net/KIK9973/article/details/118755045
ROS官网:cn/ROS/Tutorials/UnderstandingTopics - ROS Wiki
kalibr官网:https://github.com/ethz-asl/kalibr/wiki/installation
https://zhaoxuhui.top/blog/2020/09/09/kalibr-installation-and-use.html