ubuntu16.04 Intel D435i 开发
- 背景
-
- intel Realsense D435i 环境配置
- 安装realsense D435i SDK以及realsense-ros
-
- 安装librealsense-sdk([参考了官方文档](https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide))
- 源码编译 realsense-ros
背景
选intel Realsense D435i,是看重了这款相机可以和机械臂搭建成eye-in-hand的机械臂平台。RealSense是通过红外飞行时间获取深度的,更适合室内场景(之前用的zed2的深度是通过双目计算深度,适用于室内室外,但对于很细的导线是无法双目匹配的)。至于选择ubuntu16.04,是因为机械臂的开发是在ubuntu16.04下进行的。
这次开发内容是:在工控机下通过yolov5+intel D435i 来识别物体,获取物体的三维坐标给到机械臂并进行控制。
intel Realsense D435i 环境配置
工控机安装ubuntu16.04系统(不讲啦)、安装ros-kinetic(可看回以前的文章)
安装realsense D435i SDK以及realsense-ros
隔了几天才写,尽量把安装过程都写正确。
先说说坑,再说正常流程
realsense-ros 要和 librealsense 版本匹配,个人建议先正常安装SDK和realsense-ros,查看realsense-ros支持的librealsense版本后再重新安装指定的SDK版本
你可以通过下图或者github的librealsense-ros中的可以看到realsense-ros需要对应的版本是realsense 2.50.0,其他人可能是直接更换这个版本,我是重新下载realsense指定的 2.50.。
安装librealsense-sdk(参考了官方文档)
正常安装如下
- 更新系统
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
- 下载源码
git clone -b v2.50.0 https://github.91chi.fun//github.com/IntelRealSense/librealsense.git
- 断开realsense的USB连接,安装依赖
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所需的内核模块
cd librealsense
./scripts/setup_udev_rules.sh
安装补丁包,执行比较慢,有V-p-n就好
./scripts/patch-realsense-ubuntu-lts.sh
编译安装
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
可能遇到的问题:
执行cmake时候版本太低,所以下载高版本的camke
apt-get安装cmake后卸载方法(参考这位博主)
sudo apt-get remove cmake
地址:https://cmake.org/download/
下载最新版本的cmake-3.23.1.tar.gz
cd cmake-3.23.0
sudo ./configure
sudo make
sudo make install
查看新版本
cmake --version
更新Cmake后出现CMake Error Could not find CMAKE_ROOT错误
新开一个终端就好啦,原因是该终端的hash表有缓存之前版本cmake的路径导致的。
源码编译 realsense-ros
创建工作空间
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
下载源码,并检查依赖
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^\d+\.\d+\.\d+" | tail -1`
sudo apt-get install ros-kinetic-ddynamic_reconfigure
编译
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
这期间会遇到 dddynamic_reconfigure 没有安装,下载,然后catkin_make
测试
启动roscre
roscore
调用点云图
roslaunch realsense2_camera rs_camera.launch filters:=pointcloud
rviz启动
rviz
如果你的python版本不是切换到python2.7那么你会启动不了roscore,切换方法如下
sudo update-alternatives --config python
选者手动就好啦,具体切换过程看这位:博主`