ubuntu16.04+ROS+Inter D415安装
本文主要参考kkruaruarua博文结合自己的实际操作写成
ROS部分安装
鉴于我在安装ros和D415驱动的过程中遇到的许多问题,在此和大家分享,希望可以帮助到大家
- 安装ubuntu16.04,我用的是64bit的系统,安装步骤大家可以参考百度,很多
- 更改软件源,我用的是清华的软件源,但是在我刚装好系统的时候出现了这个问题
解决办法如下:先sudo gedit /etc/apt/sources.list,删除文件里面的所有内容,再输入下列代码
接着修改软件源就可以了
- 安装最新版本的cmake,我是参考的这篇博客
简化一下:
sudo apt-get autoremove cmake wget http://www.cmake.org/files/v3.11/cmake-3.11.3.tar.gz tar xf cmake-3.11.3.tar.gz cd cmake-3.11.3 ./configure make sudo make install
最后检查一下,
cmake --version
输出如下:
到此,cmake已经安装成功
必须要安装最新版本的cmake,在之后安装D415驱动的时候会因为版本问题导致驱动安装失败,切记切记!
- 接下来就是安装ROS系统了,这个大家可以参考ros的官方安装指南。 ubuntu16.04对应kinetic版本,18.04对应最新的Melodic,简单罗列一下吧:
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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt-get update sudo apt-get install ros-kinetic-desktop-full
这个时候遇到了这个问题:
上网搜索了一下,是因为没有开启更新
全部打开就可以了
之后,我们继续
sudo rosdep init rosdep update echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc
安装D415驱动
当然啦,如果严格按照上述的步骤的话,接下来的安装是不会有问题的,在这里还是推荐大家去官方的网站安装https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
这里面有详细的步骤以及解释,总结一下,命令大概如下:
/
sudo apt-key adv --keyserver keys.gnupg.net --recv-key C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C8B3A55A6F3EFCDE Ubuntu 16 LTS: sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u Ubuntu 18 LTS: sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u sudo rm -f /etc/apt/sources.list.d/realsense-public.list sudo apt-get update sudo apt-get install librealsense2-dkms sudo apt-get install librealsense2-utils #到这里安装基本结束,可以使用下一个代码打开工作站,确认安装 realsense-viewer
这个时候发现插上d415还是没有画面,这是因为我们没有安装驱动,所以接下来安装驱动
这里我们可以先下载源码,https://github.com/IntelRealSense/librealsense/releases/tag/v2.16.1
选择最后一个。tar.gz文件,下载之后解压,具体也可以参考原文:https://blog.csdn.net/riancy_riancy/article/details/83270836 ,运行下列命令
/
拔掉摄像头和电脑的连接 sudo apt-get update sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev sudo apt-get install libglfw3-dev cd librealsense(tab)(刚才下载的文件,不过是解压之后的) sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules && udevadm trigger ./scripts/patch-ubuntu-kernel-4.16.sh (或者./scripts/patch-realsense-ubuntu-lts.sh) mkdir build && cd build cmake ..
这个时候运行realsense-viewer还是出不来图像,这是因为我们还需要一个文件,叫Signed_Image_UVC_5_10_13.bin,
下载链接在这里:https://downloadcenter.intel.com/download/28377/Latest-Firmware-for-Intel-RealSense-D400-Product-Family?v=t 下载时候注意解压,路径不能包含中文,否则可能会出错
在链接里Available Downloads选项是下载选项,Detailed Description里面有安装步骤的链接,选择linux环境安装,点击进入后,有一个pdf文档的链接,文档不大,按照里面的步骤就可以顺利配置成功。
大致配置如下:
//
#添加 Intel server 到 list of repositories: echo 'deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main' | sudo tee /etc/apt/sources.list.d/realsense-public.list #注册the servers public key: sudo apt-key adv --keyserver keys.gnupg.net --recv-key 6F3EFCDE sudo apt-get update #安装the intel-realsense-dfu(有星号)包: sudo apt-get install intel-realsense-dfu* #将相机连接上电脑,USB3.0接口,输入lsusb,查询对应 “Intel Corp”的bus号和device号: lsusb #升级D400系列的相机固件(一次即可) intel-realsense-dfu -b 002 -d 003 -f -i /home/intel/downloads/Signed_Image_UVC_5_9_2_0.bin
这里解释一下这个代码:
intel-realsense-dfu -b 002 -d 003 -f -i /home/wk/intel/downloads/Signed_Image_UVC_5_10_13_0.bin
-b是器件的Bus号,使用lsusb命令可以查询的到,这里,我们的Bus号就是002
-d就是Device,这里就是007
-i后面是我们刚刚下载的文件的地址
所以代码应为
intel-realsense-dfu -b 002 -d 007 -f -i /home/wk/intel/downloads/Signed_Image_UVC_5_10_13_0.bin
这个时候连接上传感器,输入命令realsense-viewer,就可以看到成功输出图像了
ROS+D415
接上文,在完整的安装上一篇博客的依赖项
sudo apt-get install librealsense2-dkms sudo apt-get install librealsense2-utils sudo apt-get install librealsense2-dev sudo apt-get install librealsense2-dbg
之后,接下来就可以继续在ros上运行D415
在 https://github.com/intel-ros/realsense 中,有具体的安装步骤,总结如下:
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src/ Clone the latest Intel® RealSense™ ROS from here into 'catkin_ws/src/' (务必去链接处下载2.1.2,2.1.3支持只D435i,当然,各取所需嘛) catkin_init_workspace cd .. catkin_make clean catkin_make -DCATKIN_ENABLE_TESTING=False-DCMAKE_BUILD_TYPE=Release catkin_make install echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
附上官方的操作链接
(1)安装librealsence2 SDK
(2)配置ros+d415的ros通讯
然后是rviz设置:首先
然后是:
add-pointcloud2
topic设置一下
这样应该就没问题了,上图:
Python-Linux环境安装:
为了使python能调用D415需要我们导入pyrealsense2库:
- 使用命令命令行pip install --user pyrealsense2在线安装。
- 或者手动下载,地址https://pypi.org/project/pyrealsense2/ ,并把pyrealsense2文件夹复制到librealsense/wrappers/python/下。使用命令行python setup.py install --user运行setup.py文件完成安装
以下是运行官方DEMO的结果,源代码:,使用python直接运行wrappers/python/examples/python-tutorial-1-depth.py。下面是运行的结果:
Python-Windows环境安装:
现在只是使用了SDK显示,然而我想要做的是使用python读取,安装完成后在bin目录会有已经预编译好的python pyd文件,如下图:
将pyrealsense2.pyd文件复制到你的python site-package文件夹即可,我的路径是这个D:\anaconda\envs\py27\Lib\site-packages可以做一下参考。
以下是运行官方DEMO的结果,源代码:,使用python直接运行wrappers/python/examples/python-tutorial-1-depth.py。下面是运行的结果: