下载源码(指定2.50版本,为了与realsense-ros版本匹配)
sdk仓库地址(下载2.50版本):https://github.com/IntelRealSense/librealsense.git
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
./scripts/setup_udev_rules.sh
./scripts/patch-realsense-ubuntu-lts.sh
#这一条命令执行会比较慢,我是配置了Ubuntu终端因此速度快一些
其中最后一步涉及linux内核版本问题,需要更改内核版本
例如我的报错为Unsupported kernel version 5.15.0-46-generic . (具体的忘记了),他会输出所需的内核版本5.11,而我的当前内核版本为5.15,可以使用指令uname -r 查看自己的内核;因此我需要对内核进行降级。
参考链接:内核链接
与参考链接所作不同的是,我下载的内核部分为
之后执行代码
sudo dpkg -i *.deb
进行安装,安装之后可以执行代码
dpkg --list | grep linux-image
查看自己当前所拥有的所有内核,如我想要的5.11已经安装好了,接下来就是修改本机的内核版本了
如果直接使用此内核重启,在启动时会出现以下错误:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
这就需要update-initramfs
和更新grub。
# 将5.11.0-051100-generic替换你需要的version
sudo update-initramfs -u -k 5.11.0-051100-generic
修改grub使5.11.0-051100-generic为默认启动项
sudo nano /etc/default/grub
将GRUB_DEFAULT
一项修改为:
"Advanced options for Ubuntu>Ubuntu, with Linux 5.11.0-051100-generic"
最后修改完的文件如图
sudo update-grub
重启计算机
sudo reboot
uname -r
查看是否修改成功
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true
sudo make uninstall && make clean && make -j8 && sudo make install
测试
realsense-viewer
mkdir -p ~/realsense_ws/src && cd ~/realsense_ws/src
git clone -b 2.3.2 https://github.com/IntelRealSense/realsense-ros.git
sudo apt install ros-$ROS_DISTRO-ddynamic-reconfigure
cd ~/realsense_ws
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ~/realsense_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
roslaunch realsense2_camera rs_camera.launch
rostopic list
#查看话题列表
rviz
#打开rviz订阅几个节点就可以看到效果
到此realsense-ros安装完成,所有关于realsense的驱动都已经安装完了
参考博客:https://blog.csdn.net/qq_42037180/article/details/109163699
https://www.cnblogs.com/leebri/p/16786685.html