为了关闭Intel D435i相机的双目红外结构光,发现它只能在ROS环境下才可以关闭,
windows下实现不了,所以就开始了漫漫的安装配置之路,希望对阅读的各位有所帮助。
一、Ubuntu16.04安装
若已经完成安装,可以直接跳过该部分。
这里不再过分花时间进行赘述,可以参考这篇博客,记录的很全面了。
Ubuntu16.04的安装
之后在安装后为了更好地进行全屏以及和windows进行文件共享,可以继续参考如下文章:
安装VMwareTools
其中,我在进行安装配置完成后遇到了Ubuntu连接不上网的问题,这对后续安装ROS影响很大,如果你也遇到了,解决方法如下:
Ubuntu16.04连接不上网的解决方案
二、Ubuntu16.04下的ROS安装
1、设置sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2、设置key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 76F1A20FF987672F
3、更新package
sudo apt-get update
4、安装ROS kinetic
sudo apt-get install ros-kinetic-desktop-full
5、初始化rosdep
sudo rosdep init
rosdep update
注意:这步有很大概率会出现问题,大多数问题都集中在第二步,如果是第一步报错,可以试着再重新执行一下,可能就会成功。第二步往往会会报出:the read operation is timed out
此时,依次执行如下命令:
sudo apt-get install python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep
执行完毕后再重新执行初始化rosdep就可以顺利执行成功了!
6、配置ros环境
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7、安装依赖
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
至此,ros安装成功。保险起见,进行测试是否安装成功。
(1)打开第一个终端,输入命令:
roscore
终端出现如下:
能够看到安装的ros版本号等。
(2)保持该终端不动,打开第二个终端,输入命令:
rosrun turtlesim turtlesim_node
小乌龟成功出现,但还无法移动。
(3)打开第三个终端,输入如下命令:
rosrun turtlesim turtle_teleop_key
此时可以通过方向键控制小乌龟进行移动。
(4)打开第四个终端,输入命令:
rosrun rqt_graph rqt_graph
能够查看ros的节点信息,ros安装完毕。
三、cmake升级替换
ubuntu 16.04 默认安装的 cmake 版本为 3.5,但是相机SDK编译需要更高的版本,所以需要升级cmake。
不能直接执行命令:sudo apt-get autoremove cmake,执行完后ROS将无法使用。因此可以建立软连接的方式。
首先进入任意文件夹下,这里选择下载文件夹中,并且以下载3.13为例子。
cd ~/Download
wget https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz
tar -xzvf cmake-3.13.0-Linux-x86_64.tar.gz
建立软连接:
# 解压出来的包,将其放在 /opt 目录下,其他目录也可以,主要别以后不小心删了
sudo mv cmake-3.13.0-Linux-x86_64 /opt/cmake-3.13.0
# 建立软链接
sudo ln -sf /opt/cmake-3.13.0/bin/* /usr/bin/
# 查看 cmake 版本
cmake --version
至此,对cmake升级替换完成,不会影响ROS的使用。
四、相机SDK安装(注意:安装时不要连接相机)
1、更新环境
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
2、下载包
git clone -b v2.50.0 https://github.com/IntelRealSense/librealsense.git
3、安装依赖
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev
4、安装realsense所需的内核模块
首先进入到clone的文件夹下
cd librealsense
./scripts/setup_udev_rules.sh
下一步的在运行脚本时候可能会失败,建议连接手机热点就可以成功。时间会比较长
./scripts/patch-realsense-ubuntu-lts.sh
5、编译安装
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true
sudo make uninstall && make clean && make -j8 && sudo make install
成功后,在终端打开viewer,连接摄像头就能看到内容
realsense-viewer
五、安装对应的ROS接口
以下方式二选一即可:
(1)直接安装
sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
(2)源码编译的安装方式
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
两个库均克隆到src下,注意需要安装和上述SDK对应的ros接口库,可以在如下位置找到文件并进行查看:
确定完毕后可以进行对应库的克隆。
git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
然后,执行编译:
cd ~/catkin_ws
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
-------分割线---------
此时,执行下列的命令启动RealSense的ROS节点。
roslaunch realsense2_camera rs_camera.launch
出现“RealSense Node Is Up!”就说明节点启动成功了,这个节点会发布以下一些Topic,我们可以利用rostopic list查看现有的Topic,或者利用RViz或者rqt_image_view等工具订阅这些Topic,就可以显示数据了。可以使用rqt_image_view订阅image_raw话题。
至此,安装完毕。终于可以关闭红外结构光了。
六、关闭红外结构光
打开一个新的终端,输入rosrun rqt_reconfigure rqt_reconfigure启动Reconfigure节点,如下。
将其设置为off,即可关闭红外结构光。
对比图如下:
注意:上述只是临时关闭,下一次使用又会自动打开。如果想要永久关闭,可以参考这篇文章:https://blog.csdn.net/Hanghang_/article/details/103612300
终于结束了,为了关闭这个可真不容易。
参考文章
1.https://zhaoxuhui.top/blog/2020/09/09/intel-realsense-d435i-installation-and-use.html#3%E6%B5%8B%E8%AF%95%E4%B8%8E%E4%BD%BF%E7%94%A8
2. https://blog.csdn.net/qq_38153833/article/details/124153434
3.https://blog.csdn.net/zou_albert/article/details/109449404