IntelRealSense for ROS

1. 依照官网教程安装相机

https://software.intel.com/zh-cn/realsense/zr300/get-started

2. 设定时间

网络时间设置
$ sudo apt update
$ sudo apt install chrony ntpdate
$ sudo ntpdate ntp.ubuntu.com
 
手动时间设置
$ sudo date -s "16:47 1/23/2017"

3. 设定储存库

将英特尔® 实感™ 软件储存库添加至 Ubuntu* 设备的 package manager(程序包管理器),以便设备知道何处下载额外软件。

$ echo 'deb "http://realsense-alm-public.s3.amazonaws.com/apt-repo" xenial main' | sudo tee /etc/apt/sources.list.d/realsense-latest.list
$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key D6FB2970
$ sudo apt update

4.安装英特尔® 实感™ 摄像头访问实用程序,获得高级摄像头控制,如反差和曝光设置。

$ sudo apt install librealsense-utils
$ cpp-capture

效果如下所示,注意摄像头的盖子要打开,而且ZR300一定要插在USB3.0口。正常应该是有6个画面。
IntelRealSense for ROS_第1张图片

5.安装运行时和样本,此安装允许运行所有 librealsense 中间件样本。

安装运行时后,就应能看到摄像头输出,并可运行英特尔® 实感™ 中间件样本,例如人体跟踪、对象库及同时定位和地图绘制 (SLAM)。如果在安装运行时和样本时,摄像头已插入,需将其拔出并插回,以确保所有设置均被应用。

$ sudo apt install librealsense-samples beignet-opencl-icd

6.安装开发工具,此步骤安装物体识别、人体跟踪和 SLAM 库至设备。

$ sudo apt install build-essentials git cmake libjpeg-dev libopencv-dev
$ git clone http://github.com/IntelRealSense/realsense_samples
$ cd realsense_samples
$ mkdir build
$ cd build
$ cmake
$ make

博主在此处出现了问题,在realsense_samples例子里面的realsense_ros_camera里launch文件,用跑demo_zr300_camera.launch跑不通,问题如下图。(我是在build文件夹创建之后并不能正常cmake)
IntelRealSense for ROS_第2张图片
Error:catkin_make Coule not find a package configuration file provided by "OpenCV"with anyof the follwoing names:OpenCVConfig.cmakeopencv-config.cmake
IntelRealSense for ROS_第3张图片
错误原因:没有运行roscore

rosnode list

7. cd catkin_ws/进入该文件夹进行cmake,$catkin_make。这里显示找不到opencv的路径(找不到OpenCVConfig.cmake)

是不是之前自己装ROS没有装opencv呢,其实ros的SDK会自动帮安装opencv3.3.1,所以问题不在这里,大家可以直接跳到下一步。不过自己还是踩了坑重新安装了opencv

https://blog.csdn.net/u011511601/article/details/79395713

注意pip和pip3的区别。

这里要提一句,下载git进行clone真的超级慢,上周开始用下载就缩短了两倍以上的时间。需要在ubuntu里面安装proxychain。这里就不展开,等以后总结了这个内容再贴链接过来。

8.发现python3进入以后,import cv2,依然会显示错误。依然是那个路径的问题,这是因为ubuntu运行默认之前的opencv2.7,所以安装了3.3.2 import cv会出错误。注意,不要尝试卸载操作,卸了之前的或者最新的3.3.1再重新来一遍,步骤太多。

另外,要把catkin文件夹内不相关的文件夹移出去(比如我移走了my_first_ros_pkg realsense_samples open_manipulator).有的在上述的截图问题中无法编译也有一部分原因是不相关的文件夹导致,移走会少一部分错误。接着找到那两个文件的位置:

sudo find / -name openCVConfig.cmake

IntelRealSense for ROS_第4张图片

9.进入目录$cd /usr/share/OpenCV.可以看到该文件在这,但是系统在cmake的时候就找不到了,这就是因为python的原因导致系统找不到OpenCVConfig.cmake文件。

  sudo gedit OpenCVConfig.cmake

IntelRealSense for ROS_第5张图片
利用ctrl+f进行搜索找到CONFIG语句,博主已经将该行程序注释掉,去掉CATHE语句,并改为下面一行程序。保存文件。

https://blog.csdn.net/qq_40313712/article/details/80642553(参考的是这篇文章的Q2)

这样就会把下面的错误解决。同时python3中import cv2错误也解决了。

 CMake Error in src/CMakeLists.txt:
  Imported target "opencv_viz" includes non-existent path
 
    "/usr/local/include/opencv"
  
 * The path was deleted, renamed, or moved to another location.
 
  * An install or uninstall procedure did not complete successfully.
 
  * The installation package was faulty and references files it does not
  provide.

10.返回到catkin_ws

$cd ~/catkin_ws 

重新进行编译,敲上$cm即可(其实就是catkin_make,ROS基础配置中有很多这种内容的定义需要自己配置,来简化时间)。结果如图6所示

11.可以通过输入命令$rostopic list来查看当前运行的话题信息。接着,

$roslaunch realsense_ros_camera camera_zr300.test

$rviz

即可在rviz中看到Intel RealSense ZR300的输出结果。如图6:
IntelRealSense for ROS_第6张图片

另外也可以用rqt查看二维的图像,不过对于点云来说当然不可以。

12.在rviz中,点Add增加PointCloud2,将话题修改为/camera/points。另外,将Fixed Frame 改为camera_depth_frame即可显示。

接下来自己会实际进行降噪等处理,之后进行物体识别,目标识别出一个杯子,并控制机械臂实际抓取杯子,还有要依据PCL库为基础进行杯子的目标识别。

你可能感兴趣的:(ROS)