在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

时间:2021-07-18 10:13:44
小乌龟:大乌龟,你这两周干么呢?
大乌龟:在Ubuntu14.04 ROS_indigo上装Kinect2的驱动和bridge
小乌龟:就装个驱动有什么难的
大乌龟:你说的对小乌龟,这确实不是问题,但是,这个步骤错误的了,整个过程就进行不下去了。有时候装别人的东西,就像在使用一个黑盒子,一旦出现了问题,就没有太多的办法。而且自己也很痛苦,浪费了很多时间。下面我就把过程中出现的问题罗列一下,以便后面如果有人遇到的话,就知道是什么问题了。

首先需要说明我装的是什么驱动,还有装的是什么bridge(他的作用是将Kinect2输出的数据装换成ros中的可识别和使用的数据类型):

  1. Kinect2 开源驱动:libfreenect2
  2. kinect2--> ros的bridge:iai_kinect2

    关于这两个东东的具体说明在他们各自的github中都有详细的介绍, 我在这里主要想说的就是在按照他们各自github进行安装时都出现了什么问题,或者说当你看到terminal给你某种提示的时候你可以知道怎么去应对。

说明:下面的大标题表示我在安装那个包,在标题表示具体执行了什么命令出错了,或者说遇到了什么问题。关于出现的问题我都是用手机拍的照片^_^

1、安装libfreenect2

1.1、sudo apt-get install libgl1-mesa-dri-lts-vivid 出现如下错误:

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

而且我发现这两个依赖项都安装了,如下:

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

我尝试了很多方法,最终在执行这个命令的时候还是出现同样的问题。最后发现,作者说这个是可以忽略的((Ubuntu 14.04 only) sudo dpkg -i debs/libglfw3*deb; sudo apt-get install -f; sudo apt-get install libgl1-mesa-dri-lts-vivid (If the last command conflicts with other packages, don't do it.))。所以说如果你遇到了这个问题不用担心直接忽略的就可以了,而且这个对最后驱动的使用也没有影响。

1.2、 ./bin/Protonect 出现了如下情况:

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

不显示图像,在使用不同的参数时出现的问题一样 —— 不显示图像:

./bin/Protonect cpu

./bin/Protonect gl

./bin/Protonect cl

有时候偶尔又会出现的图像,但是最后这个好像影响不大,我的ros可以正常拿到数据。现在还不知道具体的原因是什么,但是感觉可以忽略。

2、安装iai_kinect2

2.1、rosdep install -r --from-paths . 出现如下问题:

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

这个问题作者说是可以忽略的。如果你没有rosdep update 在执行这个命令的时候它会提示你应该 sudo rosdep init, 然后terminal提示就会提示你应该rosdep update,但是如果在rosdep update时出现如下错误时就应该检查你的网络是否有问题。

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

3、在你的台式机上通过ssh访问你机器人上的电脑然后执行“roslaunch kinect2_bridge kinect2_bridge.launch”,可能会出现如下问题。我没有通过ssh,而是在我的机器人上的电脑直接执行这个命令就没有问题了。

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge

4、推荐一本书《ros by example》

ros by example 有很多版本,这是与ros的版本有关系。

ros by example indigo 版本 http://download.csdn.net/detail/a_cainiao_a/9477742

ros by example hydro 版本 http://download.csdn.net/detail/a_cainiao_a/9473183

这本书中给我们提供了很多有意思的代码,给大家秀一张用我的TurtleBot绘制的栅格地图:

在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge