Jetson配置realsense D435i SDK以及realsense-ros

一、命令安装

# SDK
sudo apt install librealsense2
realsense-viewer #测试
# realsense-ros
sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
sudo apt-get install ros-noetic-rgbd-launch
roslaunch realsense2_camera rs_camera.launch #测试

命令安装比较方便简单,但对于版本的选择有局限性,有时候直接用命令安装会出现问题。普遍问题是realsense-viewer显示不出来图像,以及imu数据有topic但发布空数据,主要因素是SDK与realsense-ros的版本不匹配,这时我们需要源码安装。

二、源码安装

源码安装是成功率最高的一种方式,但有点麻烦。可以借鉴下面的博客

https://blog.csdn.net/qq_38364548/article/details/124784454

  1. 安装realsenseSDK

  • 下载源码(指定2.24.0版本,为了与realsense-ros版本匹配)

git clone -b v2.24.0 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

找不到包请换如下源(针对ubuntu18.04 arm架构)

sudo gedit /etc/apt/sources.list

deb http://ports.ubuntu.com/ bionic main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-updates main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-security main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-backports main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ bionic main universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main universe restricted
deb https://librealsense.intel.com/Debian/apt-repo bionic main
# deb-src https://librealsense.intel.com/Debian/apt-repo bionic main
sudo apt-get update
sudo apt-get upgrade
  • 安装realsense所需的内核模块

cd librealsense
./scripts/setup_udev_rules.sh
./scripts/patch-realsense-ubuntu-lts.sh
#这一条命令执行会比较慢,我是配置了Ubuntu终端翻墙因此速度快一些
  • 编译安装

mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true
sudo make uninstall && make clean && make -j8 && sudo make install
  • 测试

realsense-viewer

2.安装ros-realsense

  • 创建ros工作空间

mkdir -p ~/realsense_ws/src && cd ~/realsense_ws/src
  • 下载源码并检查依赖(指定2.2.7版本,与librealsense版本匹配)

git clone -b 2.2.7 https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/realsense2_camera 
git checkout `git tag | sort -V | grep -P "^\d+\.\d+\.\d+" | tail -1`
sudo apt-get install ros-melodic-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

三、半自动

realsense-ros采用源码安装,realsenseSDK采用指定版本的命令安装

1、安装realsenseSDK,确定版本

# Uninstall all realsense packages
sudo apt remove librealsense2 ros-melodic-realsense2-camera librealsense2-udev-rules ros-melodic-librealsense2 librealsense2-dev
 
# Reinstall librealsense2 at version 2.48.0 and place those packages on hold (to prevent
# automatic upgrades)
sudo apt install \
    librealsense2=2.48.0-5ubuntu5~1.gbp156c1b \
    librealsense2-udev-rules=2.48.0-5ubuntu5~1.gbp156c1b \
    librealsense2-utils=2.48.0-5ubuntu5~1.gbp156c1b \
    librealsense2-gl=2.48.0-5ubuntu5~1.gbp156c1b \
    librealsense2-net=2.48.0-5ubuntu5~1.gbp156c1b \
    librealsense2-dev=2.48.0-5ubuntu5~1.gbp156c1b
sudo apt-mark hold \
    librealsense2 \
    librealsense2-udev-rules \
    librealsense2-utils \
    librealsense2-gl \
    librealsense2-net \
    librealsense2-dev
    
# To remove the hold on the package versions, just run `sudo apt-mark unhold <package name>`

2.安装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 2.3.1
cd ..
catkin_init_workspace
cd ..
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

四、注意事项

  1. realsense-viewer启动不了

首先realsense-viewer是不能和ros一起启动的,再检查版本是否匹配。

  1. 无imu消息

  • 当realsense-viewer中显示不出来imu,检查usb的线接口是否是3.0,不是3.0会出现问题。

  • 启动rs_camera.launch无imu话题的问题,检查launch文件,默认是不开启的。

解决办法:改动~/catkin_ws/src/realsense-ros/realsense2_camera/launch/rs_camera.launch文件的一些参数

将
  <arg name="unite_imu_method"      default=""/>
改成
  <arg name="unite_imu_method"      default="linear_interpolation"/>
以及将
  <arg name="enable_gyro"         default="false"/>
  <arg name="enable_accel"        default="false"/>
改成
  <arg name="enable_gyro"         default="true"/>
  <arg name="enable_accel"        default="true"/>
  • 有imu话题,但无数据输出

SDK与ros_realsense的版本不匹配,与电脑的接口也有关系。

猜你喜欢

转载自blog.csdn.net/HUASHUDEYANJING/article/details/129323834