当前位置: 代码迷 >> 综合 >> RealSense D435 在ROS kinetic 下的配置
  详细解决方案

RealSense D435 在ROS kinetic 下的配置

热度:66   发布时间:2023-10-22 04:01:00.0

上次刚说疫情期间在家没有称手的传感器,老师这就发货了一个Intel RealSense Depth Camera D435,感谢老板!之前安装配置ZED mini的时候,由于虚拟机和工控机没有GPU模块,所以安装双系统配置显卡驱动,费了九牛二虎之力总算在ROS中用上了ZED。结果没过多久,可能由于在windows10和ubuntu16双系统之间反复横跳,某天一开机,配置好的显卡驱动和CUDA就这么神奇的消失了。。

ZED相机获取深度是通过计算实现了,所以应对室外环境可能更适合一点,刚好实验室的小车需要室外SLAM,而且咱的模块化四轮独立驱动小车配置了一个带1060Ti的笔记本,配置CUDA会方便很多,所以我就不折腾ZED了,该换成Intel RealSense D435折腾,使用的场景就是室内机械臂运动规划环境检测和后期的视觉抓取所涉及的图像处理,毕竟RealSense是通过红外飞行时间获取深度的,更适合室内场景。

RealSense D435 在ROS kinetic 下的配置

本以为这次没有CUDA和显卡驱动的坑,应该很快就能配置使用,结果还是画了一天的时间,踩了不少坑,所以老规矩记录一下配置过程,防止以后师弟们继续踩坑,后续有什么问题会继续更新。。

一.windows上简单使用: 

windows上不做SDK安装,就只要下载Quality.Tool和Viewer就可以了,一个是用于深度距离配准的,Viewer就是用来显示RGBD信息的,直接双击使用,很简单。如果需要在window下开发,那就需要安装中间的SDK了。

RealSense D435 在ROS kinetic 下的配置

RealSense D435 在ROS kinetic 下的配置

二.Ubuntu16.04和ROS kinetic:

linux系统配置起来就有点复杂了,通过 uname -r 查看内核,我的是4.15,下载的SDK是最新版的2.0,我的安装参考链接https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

1.通过终端依次执行,安装必备的依赖:

Installing the packages:
Register the server's public key:$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE In case the public key still cannot be retrieved, check and specify proxy settings: export http_proxy="http://<proxy>:<port>"
, and rerun the command. See additional methods in the following link.Add the server to the list of repositories:
Ubuntu 16 LTS:
$ sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -uInstall the libraries (see section below if upgrading packages):
$ sudo apt-get install librealsense2-dkms
$ sudo apt-get install librealsense2-utilsThe above two lines will deploy librealsense2 udev rules, build and activate kernel modules, runtime library and executable demos and tools.Optionally install the developer and debug packages:
$ sudo apt-get install librealsense2-dev
$ sudo apt-get install librealsense2-dbgWith dev package installed, you can compile an application with librealsense using g++ -std=c++11 filename.cpp -lrealsense2 or an IDE of your choice.Reconnect the Intel RealSense depth camera and run: realsense-viewer to verify the installation.
Verify that the kernel is updated :
$ modinfo uvcvideo | grep "version:" should include realsense string

2.下载源码库

IntelRealSense官网下载source code:

https://github.com/IntelRealSense/librealsense/releases/tag/v2.33.1

3.解压编译

1.拔掉摄像头和电脑的连接
2.sudo apt-get update
3.sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
4.sudo apt-get install libglfw3-dev
# 将之前下载的包解压移动到某个目录下
5.cd librealsense
6.sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/sudo udevadm control --reload-rules && udevadm trigger
7../scripts/patch-realsense-ubuntu-lts.sh (或者 ./scripts/patch-ubuntu-kernel-4.16.sh)(时间过长,暂时跳过不管)
8. mkdir build && cd build
9. cmake …/
10. cmake …/ -DBUILD_EXAMPLES=true (可以跳过)
11. sudo make uninstall && make clean && make && sudo make install

在任意目录下敲,(连上摄像头)realsense-viewer,应该就可以看到和windows下一样的显示效果。如果不行,据说可能是firmware的问题。参考这个http://www.pianshen.com/article/6519141340/

~ 4.ROS包下载编译(通过前面的命令行,这步就可以忽略)

IntelRealSense官网下载source code:https://github.com/IntelRealSense/realsense-ros

$ sudo apt-get install ros-kinetic-realsense-camera

将下载的ROS包放入到自己的工作空间:

$ catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
$ catkin_make install
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

5 .碰到 ddynamic_reconfigure 问题

安装ROS Wrapper时可能会提示 ddynamic_reconfigure 没有安装,通过以下连接下载后安装在ros工作空间即可https://github.com/pal-robotics/ddynamic_reconfigure/tree/kinetic-devel ,编译ddynamic_reconfigure包:

# 我将这个包放到了上面的realsense-ros包一起了
$ catkin_make 
全部编译或者挨个包单独编译即可
# 启动相机节点
$ roslaunch realsense2_camera rs_camera.launch
# 在RVIZ中查看效果
$ rviz

 

 

 

  相关解决方案